Agentforce DX Agent 管理指南

Agentforce DX 管理完整指南:激活/停用/Builder 打开(VS Code + CLI)、元数据迁移到新 Org(7 步流程+Draft/Committed/Legacy 三种 Agent 类型元数据表示+Manifest 三种示例)、完整问题排查(环境设置/Agent Script/Authoring Bundle/发布/同步/预览/测试/CI/CD 共 15 个常见问题+解决方案)。...

📅 2026/7/22 ✍️ ponybai 🏷️ agentforce, salesforce, devops

使用 Agentforce DX 管理 Agent

s163

使用 Agentforce DX,你可以直接从 VS Code 或 CLI 命令激活、停用和在 Builder 中打开 Agent。

激活、停用与在 Builder 中打开

s164

激活 / 停用 Agent

激活使 Agent 在连接的通道上对用户可用。停用则结束其所有开放交互,使其对所有连接不可达。

VS Code:右键 .bot-meta.xml.botVersion-meta.xmlAFDX: Activate/Deactivate Agent

# CLI 激活(交互式选择)
sf agent activate --target-org my-org

# 直接激活(指定版本和 API 名称)
sf agent activate --api-name MyAgent --version 2 --target-org my-org

# CLI 停用
sf agent deactivate --target-org my-org

在 Builder 中打开 Agent

VS Code:右键 .agent 文件 → AFDX: Open Authoring Bundle in Default Org

# 按 API 名称打开
sf org open agent --api-name Local_Agent_Info

# 按 Authoring Bundle API 名称打开
sf org open agent --authoring-bundle Local_Agent_Info

# 指定版本、浏览器
sf org open agent --api-name MyAgent --version 2 --browser chrome --private

使用元数据将 Agent 迁移到新 Org

s165

创建 Agent 后,可以通过检索和部署元数据将其迁移到另一个 Org(如从 Sandbox 到 Production)。

理解 Agent 元数据类型

s166
Agent 类型元数据表示可编辑
Draft Agent(草稿)AiAuthoringBundle
Committed Agent(已提交)AiAuthoringBundle + Bot + BotVersion
Legacy Agent(传统)Bot + BotVersionn/a

关键概念:Draft(未提交)Agent 和版本仅用 AiAuthoringBundle 表示。Committed Agent 需要 AiAuthoringBundle + Bot/BotVersion。Legacy Agent 没有提交阶段。

迁移步骤 1-4:环境准备到版本匹配

s167

Step 1:设置本地环境 — 安装 Salesforce CLI、授权源和目标 Org(sf org login web --alias org-alias)、确保两个 Org 都启用了 Einstein 和 Agentforce。

Step 2:创建 DX 项目sf template generate project --name myproject --template standard --manifest

Step 3:定义 Manifest — 编辑 manifest/package.xml。关键元数据类型:Bot(Agent 顶层)、BotVersion(特定版本)、AiAuthoringBundle(Agent Script + 元数据)、GenAiPlannerBundle(推理引擎)、GenAiPlugin/GenAiFunction(子代理/动作)、ApexClass/Flow/GenAiPromptTemplate

Step 4:处理版本不匹配 — 当保存次数 > 提交次数时,AiAuthoringBundle 版本号可能与 Bot/BotVersion 不匹配。在 bundle-meta.xmltarget 元数据中找到正确的匹配版本。

迁移步骤 5-7:检索到部署

s168

Step 5:检索元数据sf project retrieve start --manifest manifest/package.xml --target-org source-org

Step 6:更新用户名(可选) — 使用 string replacement 将源 Org Agent 用户名替换为目标 Org 的用户名。在 sfdx-project.json 中配置 replacements,用环境变量 TARGET_AGENT_USER 替换。Draft Agent 可自动替换;Committed Agent 需手动配置。

Step 7:部署sf project deploy start --source-dir force-app --target-org my-target切勿修改检索到的元数据后上传——可能损坏 Org。部署后需分配 Agent 用户和权限。

提示:Committed Agent 不可编辑。如需更改,先创建新版本再添加用户。

Manifest 示例总结

s169
Manifest 类型适用场景注意事项
All Agents检索所有 Agent(含 Legacy)* 通配符;大型 Org 建议列出具体类型而非通配
Single Agent Version检索单个 Agent 的特定版本 + 依赖部署单版本前必须先部署完整 Agent;用 NGA_Service_Agent.v2 格式
Mismatched VersionsAuthoringBundle 版本号 ≠ Bot 版本号用 bundle-meta.xml 的 target 找正确版本

Agentforce DX 问题排查

s170

环境设置 + Agent Script + Authoring Bundle 问题

s171

Agentforce 未启用:Setup > Einstein Setup 启用 Einstein;Setup > Agentforce Agents 启用 Agentforce。Scratch Org 确保 def 文件含 AgentforceStandardAgents feature。

Agent Script 验证失败:常见原因:缩进不对齐、块名后缺冒号、引用未声明变量、不支持的表达式。VS Code Agent Script Language 扩展提供内联错误高亮。

验证通过但预览失败:检查 config 块的 default_agent_user 是否为开发 Org 中的有效活跃 Agent 用户。

生成的 .agent 文件内容过少:使用 --spec flag 传入 Agent Spec 文件。无 Spec 时命令只生成默认模板。

Spec 细节模糊:Spec 质量影响生成结果。提供清晰描述、具体业务流程、详细动作说明、示例用户场景后重新生成。

误用 agent create:agent create 创建不基于 Agent Script 的传统 Agent,部分 DX 命令不兼容。改用 Authoring Bundle 工作流。

发布 + 同步 + 预览问题

s172

发布成功但 Builder 中看不到 Agent:sf org display 确认 Org;刷新 Builder 页面。

Apex/Flow 变更在 Live Preview 中未生效:发布 Bundle 不会自动部署 Apex/Flow。先 sf project deploy start --metadata "ApexClass:MyClass" 再发布。

拉取不到所有 Bundle 版本:使用通配符 "AiAuthoringBundle:My_Agent*",否则只拉取未版本化的 draft bundle。

部署失败 missing required metadata:Committed Agent 需同时有 AiAuthoringBundleBot/BotVersion。使用包含所有必要类型的完整 manifest。

Simulated vs Live 模式选择:Simulated(动作未实现时、测试纯脚本逻辑时);Live(Apex/Flow/Prompt 已部署时使用,需配合 Apex Replay Debugger 调试)。Apex 断点只在 Live 模式生效。

多个预览会话冲突:sf agent preview sessions --api-name My_Agent 列出 → sf agent preview send --session-id <id> 指定会话 → sf agent preview stop --session-id <id> 停用多余会话。

测试与 CI/CD 问题

s173

agent test create 报 Agent 不存在:必须先发布 Agent 到 Org 才能创建测试。

本地测试通过但 CI 失败:检查:CI 环境是否使用 JWT 授权(Web login 不可用);Agent 是否已激活;异步测试是否用 --waitagent test resume 轮询结果(注意 exit code 1 表示执行错误而非断言失败)。

Metric 分数偏低:通常因 Agent 指令或动作描述过于模糊。优化 start_agent 系统指令、添加更详细的子代理动作描述、使用 Agent Preview + Trace 分析推理偏差。

掌握 Agent 生命周期管理是生产级 Agent 部署的关键。建议配合 CI/CD 流水线实现自动化的激活-测试-部署流程。