关于 agentforce-2025
这是一份 Salesforce Agentforce 参考技能,介绍其 Agent 平台、设计组件、应用场景、集成方式和运维建议,面向构建或配置客服、销售、电商及内部运营 Agent 的团队。
主要功能
- 01Atlas Reasoning Engine 概览
- 02Agent 类型与任务示例
- 03Builder 工作流参考
- 04Platform Events 集成
- 05外部 AI 提供商示例
- 06监控与安全建议
适用场景
- 01设计客户服务 Agent
- 02自动处理销售线索资格评估
- 03通过平台事件触发操作
- 04跟踪 Agent 成效与合规情况
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ josiahsiegel/ claude-plugin-marketplace --skill agentforce-2025安装后在 Claude Code 中输入/agentforce-2025确认已加载。
附带文件references/agentforce-builder.md
详细介绍
🚨 关键指南
Windows 文件路径要求
强制要求:在 Windows 上始终使用反斜杠表示文件路径
在 Windows 上使用 Edit 或 Write 工具时,文件路径必须使用反斜杠(\),不得使用正斜杠(/)。
示例:
- ❌ 错误:
D:/repos/project/file.tsx - ✅ 正确:
D:\repos\project\file.tsx
适用于:
- Edit 工具的 file_path 参数
- Write 工具的 file_path 参数
- Windows 系统上的所有文件操作
文档指南
除非用户明确要求,否则绝不创建新的文档文件。
- 优先事项:更新现有的 README.md 文件,而不是创建新的文档
- 保持仓库整洁:保持仓库根目录整洁——除非用户另有要求,否则只保留 README.md
- 风格:文档应简洁、直接且专业——避免使用 AI 生成式语气
- 用户偏好:只有在用户明确要求编写文档时,才创建额外的 .md 文件
Agentforce:Salesforce 的 AI Agent(2025)
什么是 Agentforce?
Agentforce 是 Salesforce 的企业级 AI Agent 平台,可让自主、主动的应用为员工和客户执行专门任务。Agentforce Agent 使用大模型(LLM)和 Atlas Reasoning Engine 分析上下文、推理决策,并自主采取行动。
主要区别:Agentforce 代表着从 Einstein Copilot(对话式助手)向自主 Agent 的演进,这些 Agent 无需人工提示即可完成任务。
核心架构
Atlas Reasoning Engine
Atlas Reasoning Engine 是 Agentforce 的核心,使 Agent 能够:
- 理解:分析客户交互或自动触发的完整上下文
- 决策:结合大模型和业务逻辑进行推理
- 行动:在任何系统中自主执行操作
- 学习:根据结果和反馈不断改进
Agent 组件
┌─────────────────────────────────────────────────┐
│ Agentforce Agent │
├─────────────────────────────────────────────────┤
│ 1. Topics (what agent handles) │
│ 2. Actions (what agent can do) │
│ 3. Instructions (how agent behaves) │
│ 4. Channel Integrations (where agent works) │
│ 5. Data Sources (what agent knows) │
└─────────────────────────────────────────────────┘
Agentforce 2.0(2024 年 12 月正式发布)
Agentforce 2.0 是面向企业的数字劳动力平台,通过 AI Agent 打造规模不受限的劳动力队伍。主要增强功能:
- 预构建技能库:借助开箱即用的功能,快速自定义 Agent
- 工作流集成:MuleSoft for Flow、MuleSoft API Catalog、Topic Center(2025 年第 1 季度)
- Slack 部署:原生集成 Slack,支持协作型 Agent
- 增强的 RAG:改进检索增强生成,提供准确的回答
- 高级推理:Atlas Reasoning Engine 的能力更加完善
- 定价:每次对话 2 美元(2024 年 10 月 25 日正式发布)
Agentforce Builder 工作流
Agentforce Builder 的详细工作流——包括 Agent 创建、主题、指令、操作、依据、测试、发布、Data Cloud 集成、信任与防护机制,以及部署方式——详见 references/agentforce-builder.md。构建或配置 Agent 时,请加载该参考文档,而不要仅仅选择一种架构。
Agent 类型和使用场景
1. 服务 Agent(客户支持)
功能:
- 根据知识库回答常见问题
- 查询订单/账户状态
- 处理退货和换货
- 重置密码并解锁账户
- 创建案例并转交给专员
- 提供故障排除步骤
示例流程:
Customer: "Where is my order #12345?"
↓
Agent: Validates order number
↓
Agent: Queries Order object
↓
Agent: Retrieves tracking information
↓
Agent: "Your order #12345 shipped yesterday and will arrive Thursday.
Tracking: UPS 1Z999AA10123456784. Need anything else?"
2. 销售开发 Agent(SDR)
功能:
- 筛选主动联系的潜在客户
- 回答产品问题
- 使用销售手册处理异议
- 为客户预约销售代表
- 发送跟进邮件
- 根据客户互动更新潜在客户评分
示例流程:
Lead: "Tell me about your enterprise plan"
↓
Agent: Retrieves product information
↓
Agent: Explains features, pricing
↓
Agent: Detects buying intent
↓
Agent: "Would you like to schedule a demo with our sales team?"
↓
Agent: Creates meeting, updates lead status to "Meeting Scheduled"
3. 个人购物 Agent(电子商务)
功能:
- 根据偏好推荐产品
- 回答产品问题
- 检查库存和供货情况
- 处理订单和付款
- 应用折扣和促销优惠
- 处理购物车弃购
4. 运营 Agent(内部自动化)
功能:
- 处理员工请求(休假、设备)
- 根据规则自动审批
- 为新员工办理入职
- 生成报告和洞察
- 监控系统运行状况
- 根据事件触发工作流
将 Agentforce 与平台事件集成
发布事件以触发 Agentforce 操作:
// Publish event when order status changes
public class OrderEventPublisher {
public static void publishOrderUpdate(Id orderId, String newStatus) {
OrderStatusChangeEvent__e event = new OrderStatusChangeEvent__e(
OrderId__c = orderId,
NewStatus__c = newStatus,
Timestamp__c = System.now()
);
EventBus.publish(event);
// Agentforce subscribes to this event
// Triggers proactive customer notification
}
}
// Trigger
trigger OrderTrigger on Order (after update) {
for (Order ord : Trigger.new) {
if (ord.Status != Trigger.oldMap.get(ord.Id).Status) {
OrderEventPublisher.publishOrderUpdate(ord.Id, ord.Status);
}
}
}
Agentforce 流(订阅 OrderStatusChangeEvent__e):
1. Receive event
2. Query order and customer details
3. Determine notification channel (email, SMS, push)
4. Generate personalized message using LLM
5. Send notification via preferred channel
6. Log interaction in Customer timeline
将 Agentforce 与外部 AI 系统集成
将 Agentforce 与外部 AI 提供商集成:
OpenAI GPT 集成
public class AgentOpenAIIntegration {
@InvocableMethod(label='Generate Response with GPT-4')
public static List<String> generateResponse(List<AIRequest> requests) {
List<String> responses = new List<String>();
for (AIRequest req : requests) {
HttpRequest httpReq = new HttpRequest();
httpReq.setEndpoint('callout:OpenAI/v1/chat/completions');
httpReq.setMethod('POST');
httpReq.setHeader('Content-Type', 'application/json');
Map<String, Object> payload = new Map<String, Object>{
'model' => 'gpt-4',
'messages' => new List<Object>{
new Map<String, String>{
'role' => 'system',
'content' => req.systemPrompt
},
new Map<String, String>{
'role' => 'user',
'content' => req.userMessage
}
},
'temperature' => 0.7,
'max_tokens' => 500
};
httpReq.setBody(JSON.serialize(payload));
Http http = new Http();
HttpResponse httpRes = http.send(httpReq);
if (httpRes.getStatusCode() == 200) {
Map<String, Object> result = (Map<String, Object>)JSON.deserializeUntyped(httpRes.getBody());
List<Object> choices = (List<Object>)result.get('choices');
Map<String, Object> choice = (Map<String, Object>)choices[0];
Map<String, Object> message = (Map<String, Object>)choice.get('message');
responses.add((String)message.get('content'));
}
}
return responses;
}
public class AIRequest {
@InvocableVariable(required=true)
public String systemPrompt;
@InvocableVariable(required=true)
public String userMessage;
}
}
Anthropic Claude 集成
public class AgentClaudeIntegration {
@InvocableMethod(label='Generate Response with Claude')
public static List<String> generateResponse(List<AIRequest> requests) {
List<String> responses = new List<String>();
for (AIRequest req : requests) {
HttpRequest httpReq = new HttpRequest();
httpReq.setEndpoint('callout:Anthropic/v1/messages');
httpReq.setMethod('POST');
httpReq.setHeader('Content-Type', 'application/json');
httpReq.setHeader('anthropic-version', '2023-06-01');
Map<String, Object> payload = new Map<String, Object>{
'model' => 'claude-3-5-sonnet-20241022',
'max_tokens' => 1024,
'system' => req.systemPrompt,
'messages' => new List<Object>{
new Map<String, String>{
'role' => 'user',
'content' => req.userMessage
}
}
};
httpReq.setBody(JSON.serialize(payload));
Http http = new Http();
HttpResponse httpRes = http.send(httpReq);
if (httpRes.getStatusCode() == 200) {
Map<String, Object> result = (Map<String, Object>)JSON.deserializeUntyped(httpRes.getBody());
List<Object> content = (List<Object>)result.get('content');
Map<String, Object> contentBlock = (Map<String, Object>)content[0];
responses.add((String)contentBlock.get('text'));
}
}
return responses;
}
}
监控与分析
Agent 性能指标
跟踪 Agent 的成效:
- 解决率:无需升级处理即可解决的交互占比
- 平均处理时长:解决客户请求所需的时间
- 客户满意度:交互后的调查评分
- 自助解决率:由 Agent 而非人工处理的交互占比
- 操作成功率:成功执行操作的占比
自定义报告对象:
public class AgentInteractionLogger {
public static void logInteraction(String agentName, String topic,
Boolean resolved, Decimal duration) {
AgentInteraction__c interaction = new AgentInteraction__c(
AgentName__c = agentName,
Topic__c = topic,
Resolved__c = resolved,
Duration__c = duration,
Timestamp__c = System.now()
);
insert interaction;
}
}
分析仪表板查询
-- Resolution rate by agent
SELECT AgentName__c,
COUNT(Id) as TotalInteractions,
SUM(CASE WHEN Resolved__c = true THEN 1 ELSE 0 END) as Resolved,
AVG(Duration__c) as AvgDuration
FROM AgentInteraction__c
WHERE CreatedDate = LAST_N_DAYS:30
GROUP BY AgentName__c
-- Top topics requiring human escalation
SELECT Topic__c,
COUNT(Id) as Escalations
FROM AgentInteraction__c
WHERE Resolved__c = false
AND CreatedDate = LAST_N_DAYS:30
GROUP BY Topic__c
ORDER BY COUNT(Id) DESC
LIMIT 10
最佳实践
安全与合规
- 字段级安全:在 SOQL 中始终使用 WITH SECURITY_ENFORCED
- 数据访问:使用
with sharing关键字遵循共享规则 - 个人身份信息保护:切勿记录敏感数据(SSN、信用卡、密码)
- 审计跟踪:记录所有 Agent 操作以满足合规要求
- 人工监督:对影响重大的操作要求审批
性能优化
- 批处理:将类似操作分组,以减少 API 调用
- 缓存:缓存频繁访问的数据(产品目录、常见问题解答)
- 异步执行:对非关键操作使用 @future 或 Queueable
- 速率限制:为外部 API 调用实施限流
- 超时处理:设置适当的超时时间和重试逻辑
用户体验
- 响应时间:力争在 3 秒内响应
- 个性化:使用客户数据提供个性化响应
- 透明度:明确标示 Agent 与人工交互
- 升级处理:在需要时提供便捷的人工客服转接途径
- 反馈闭环:收集用户反馈以改进 Agent
测试
- 单元测试:独立测试各项操作
- 集成测试:测试 Agent 的端到端流程
- 负载测试:模拟高并发量以测试可扩展性
- 用户验收测试:在沙盒环境中由真实用户验证
- A/B 测试:比较不同的 Agent 配置
Agentforce 定价与许可(2025)
- Agentforce Service Agent:每次对话 2 美元(2024 年 10 月正式发布)
- Agentforce Sales Development Agent:每次对话 2 美元
- 自定义 Agent:可通过 Einstein 1 Edition 或附加组件使用
- Agent 运行次数:每年免费提供 600 次编排运行(Enterprise+)
- 按量计费模式:根据对话次数付费
- 愿景:到 2025 年底,通过 Agentforce 部署 10 亿个 Agent
Spring '25 和 Summer '25 更新
Spring '25(API 63.0)- 2025 年第 2 季度推出
- 增强型服务 Agent:新增 4 个 Agent 操作和 1 个主题
- Salesforce LLM 开放连接器:连接任意 LLM(OpenAI、Claude、自定义模型)
- 对话上下文测试:指定语言、应用和页面类型,以实现精准测试
- Einstein Decision 元素:根据电子邮件互动指标自动执行流程路径
- Einstein 驱动的流程创建:Flow Builder 中新增 Einstein 面板
Summer '25(API 64.0)- 2025 年第 3 季度推出
- 混合搜索:结合语义搜索与关键词搜索,提高准确性
- 多语言语义搜索:跨语言案例相似性搜索(例如,法语 → 英语)
- 报告公式生成:使用自然语言描述创建复杂公式
- AI 驱动的客户摘要:为服务 Agent 自动生成洞察
资源
- Agentforce Platform:https://www.salesforce.com/agentforce/
- Agentforce Builder Documentation:https://help.salesforce.com/s/articleView?id=sf.einstein_studio.htm
- Einstein 1 Studio:https://help.salesforce.com/s/articleView?id=sf.einstein_studio.htm
- Atlas Reasoning Engine:Winter '26 发行说明中的技术文档
- Agentforce Trailhead:在 Trailhead 上搜索“Agentforce”以查找模块
- LLM Open Connector:Spring '25 发行说明
从 Einstein Copilot 迁移
重要:Einstein Copilot 已于 2025 年 1 月停用,并更名为“Agentforce (Default)”。它现在是 Agentforce Agent 之一。
如果你使用的是 Einstein Copilot(现称 Agentforce Assistant),迁移路径如下:
Einstein Copilot → Agentforce (Default)
- Automatically migrated in January 2025
- Conversational UI remains the same
- Add autonomous triggers and workflows
- Convert Copilot Actions to Agent Actions
- Add proactive agent behaviors
- Enable multi-channel deployment (including Slack in 2.0)
操作迁移示例:
// Einstein Copilot Action (reactive)
@InvocableMethod(label='Copilot: Get Account Info')
public static List<Account> getAccountInfo(List<Id> accountIds) {
return [SELECT Id, Name, Industry FROM Account WHERE Id IN :accountIds];
}
// Agentforce Action (proactive + reactive)
@InvocableMethod(label='Agent: Monitor and Alert on Account Changes')
public static void monitorAccounts(List<Id> accountIds) {
// Not only retrieve data, but also:
// 1. Monitor for changes
// 2. Detect anomalies (sudden revenue drop)
// 3. Proactively alert account manager
// 4. Suggest next best actions
}
Agentforce 标志着一种范式转变:从对话式助手转向自主 Agent。后者能够在无需人工干预的情况下完成复杂的多步骤任务,同时保持可信度和安全性。