Agentforce DX 开发指南

Agentforce DX 完整开发指南:环境搭建(VS Code + Salesforce CLI + Extension Pack)、三种开发者环境选择(Sandbox/Scratch Org/Developer Edition)、Agent Spec 生成与迭代、Authoring Bundle 工作流、Agent Script 编码与 Vibes 辅助、发布与同步元数据、预览与调试(Simulated/Live/Trace)。将 Agent 开发融入 Salesforce DevOps。...

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

使用 Agentforce DX 构建 Agent

s127

Agentforce DX 是 Salesforce DX 工具链的扩展,让 Agent 开发融入现代 DevOps 流程。它将 Agent 作为元数据管理,提供 CLI 命令和 VS Code 扩展来在 Agentforce Studio 之外创建、预览和测试 Agent,并在本地 DX 项目与 Scratch Org、Sandbox、生产环境之间迁移 Agent 元数据。

Agentforce Builder UI 和 Testing Center 让你通过点击而非代码来创建和测试 Agent。但现代 DevOps 流程要求将 Agent 源代码存储在版本控制系统(VCS)中作为生产环境的唯一真相源,Agentforce DX 使之成为可能。

什么是 Agentforce DX?

s128

Agentforce DX 提供低代码工具(Agentforce Builder、Flow Builder)和专业代码工具(VS Code、Salesforce CLI)之间的灵活切换。典型的迭代开发流程:

  1. 本地创作:生成 Authoring Bundle(含 Agent Script 蓝图),编码脚本,预览 Agent
  2. 发布到 Org:发布 Bundle,在 Agentforce Builder UI 中继续编辑
  3. 拉取变更:将 Org 中的元数据变更拉回本地 DX 项目
  4. 编码自定义动作:用 VS Code + Vibes 创建 Apex 类,更新 Agent Script
  5. 部署:将本地更新部署回 Org
  6. 提交 VCS:定期将变更提交到 GitHub(真相源)

反馈与更新:通过 GitHub Issues 提交反馈,查看周发布说明了解最新变更。

设置开发环境

s129

设置 Agentforce DX 环境与标准 Salesforce DX 环境类似,增加了一些 Agent 特定任务。

安装专业代码工具

s130
  1. 下载安装 VS Code
  2. VS Code Marketplace 安装 Salesforce Extension Pack(含 Agentforce DX、Agent Script Language Server、Apex、Vibes 等扩展)
  3. 安装 Salesforce CLI
  4. 在 VS Code 集成终端运行 sf search agent 查看可用命令
  5. 使用 sf agent generate authoring-bundle --help 查看命令详情

AI 工具选择:推荐使用 Agentforce Vibes Extension(安全 AI 模型)。也可使用 Cursor、Claude Code 等第三方 AI 工具,配合 sf-skills 仓库中的 Agentforce Skills。

两个 Vibes 产品:Agentforce Vibes Extension(VS Code 扩展,本地安装)和 Agentforce Vibes IDE(基于 Web 的 VS Code,预装 Salesforce Extension Pack + CLI)。

开发者环境选择

s131
环境特点适用场景
Sandbox生产 Org 的副本,含元数据。Developer/Developer Pro 可频繁刷新Agent 依赖 Data Library/Data 360 时;集成和用户测试
Scratch Org空环境,快速创建,源驱动开发不依赖 Data Library 的 Agent;全新功能开发
Developer Edition免费,含 Agentforce + Data 360学习和原型验证

推荐:Agent 依赖 Data Library 时使用 Sandbox。组合 Data 360 和 Agentforce 是创建成功 Agent 的最佳方式。

创建项目、授权 Org 与 Agent 用户

s132

创建 Salesforce DX 项目(Agent 模板)

Agent 模板创建含示例 Agent(Local Info Agent)的 DX 项目,包含三种子代理类型(Apex/Prompt Template/Flow)和 Scratch Org 配置文件:

# VS Code: View > Command Palette > SFDX: Create Project > Agent 模板
# 或 CLI:
sf template generate project --name agentforcedx --template agent
cd agentforcedx

授权 Org

# VS Code: SFDX: Authorize an Org
# 或 CLI:
sf org login web --alias agentforce --set-default
# CI/CD 系统使用 JWT 授权流程

启用 Einstein 和 Agentforce

  1. 如需 Data 360:Setup > Data Cloud Setup Home > Turn On Data 360(最多 60 分钟)
  2. Setup > Einstein Setup > Turn on Einstein
  3. Setup > Agentforce Agents > 启用 Agentforce

系统权限

系统管理员自动拥有所有权限。非管理员需要:发布 Bundle(Modify All Data + Manage AI Agents)、预览 Agent(Agent Platform Builder)。生成/验证 Bundle 无需额外权限。

创建 Agent 用户

sf org create agent-user --target-org my-org
# 自定义名称:
sf org create agent-user --first-name Service --last-name Agent --base-username service-agent@corp.com --target-org my-org

命令自动:创建 Einstein Agent User 配置文件用户、分配必需权限集(AgentforceServiceAgentBase/AgentforceServiceAgentUser/EinsteinGPTPromptTemplateUser)、生成全局唯一用户名。Agent 用户无密码,不能登录 Salesforce。

使用 Agentforce DX 创作 Agent

s133

创作 Agent 指生成和编码 Agent Script 文件,然后发布到开发 Org。Agent Script 是下一代 Agentforce Agent 的基础——结合自然语言的灵活性和程序化表达式的可靠性。

Agent 的 Agent Script 文件是 AiAuthoringBundle(Authoring Bundle)元数据组件的一部分。可以从零在 DX 项目中生成,也可以先在 Org 中创建然后拉取。

创作新 Agent 的工作流

s134
  1. (可选但推荐)生成 Agent Spec:sf agent generate agent-spec 创建 YAML 文件
  2. 生成 Authoring Bundle:基于 Spec 文件生成含 Agent Script 的 Bundle
  3. 编码 Agent Script:在 VS Code 中编辑 .agent 文件(语法高亮/linting/验证)
  4. 预览 Agent:交互式测试,模拟或 Live 模式
  5. 发布 Bundle:发布到 Org,同步元数据

拉取并修改已有 Agent 的工作流

s135
  1. 在 Agentforce Builder 中创建 Agent(使用新版 Builder,非 Legacy)
  2. 拉取所有 Authoring Bundle:sf project retrieve start --metadata AiAuthoringBundle --metadata Agent --target-org <org>
  3. 在 VS Code 中编码 Agent Script 文件
  4. 预览 → 发布

生成 Agent Spec 文件

s136

Agent Spec 是 YAML 格式文件,包含 Agent 基本信息和 LLM 生成的子代理列表。虽然可选,但强烈推荐——它让后续生成的 Agent Script 文件更贴合你的特定需求。

生成与迭代优化

s137
# 交互式生成
sf agent generate agent-spec --target-org my-org

# 使用 Flag 跳过提示
sf agent generate agent-spec --type customer \
  --company-name "Coral Cloud Resorts" \
  --company-description "Provide a luxury experience." \
  --max-topics 4 --tone formal

# 迭代改进:传入已有 Spec 文件 + 优化属性
sf agent generate agent-spec --spec specs/agentSpec.yaml \
  --role "Manage luxury resort concierge services including bookings, dining, spa, and activities"

迭代策略:Spec 文件上部是你提供的 Agent 属性,下部是 LLM 生成的子代理列表。反复运行命令,每次传入最新 Spec + 优化属性,LLM 生成的子代理列表逐步改进。

Flags:--type(customer/internal)、--company-name--company-description--role--max-topics--tone。使用 --help 查看完整列表。

生成 Authoring Bundle

s138

Authoring Bundle 包含 Agent 的蓝图——Agent Script 文件(.agent)。可以从 Agent Spec 文件或直接从模板生成。

VS Code 与 CLI 生成

s139
# 基于 Spec 文件生成
sf agent generate authoring-bundle --spec specs/agentSpec.yaml

# 不基于 Spec(生成样板 Agent Script)
sf agent generate authoring-bundle --agent-name MyAgent

# VS Code: Command Palette > SFDX: Generate Agent Authoring Bundle

生成的 Bundle 在 aiAuthoringbundles/ 目录下。每个 Bundle 包含 Agent Script 文件(.agent)和相关配置。可以先发布空 Bundle 在 Org 中创建 Agent 元数据(不推荐——基于 Agent Script 的 Agent 更灵活易维护)。

编码 Agent Script 文件

s140

Agent Script 文件(.agent)是 Agent 的完整蓝图。Agentforce DX 在 VS Code 中完全支持 Agent Script 语言:语法高亮、linting、内部验证。

Agent Script 概览与编码工作流

s141

Agent Script 文件结构:system(指令+消息)、config(developer_name/default_agent_user/description)、variables(全局变量)、start_agent(入口+路由)、subagent(子代理+动作)。

编码循环:编辑 .agent 文件 → 保存 → sf agent validate 验证编译 → 预览测试 → 再编辑。Agent Script 是编译型语言,保存版本时编译为底层元数据。

# 验证 Agent Script 文件
sf agent validate authoring-bundle --file aiAuthoringbundles/MyAgent/MyAgent.agent

Vibe Coding + Sample Prompts + 验证

s142

Agentforce Vibes 辅助编码:用自然语言描述需求(如"如果订单总额超 $100 则免运费"),Vibes 自动生成对应的 Agent Script 代码。Vibes 也支持自动代码补全。

Sample Prompts(示例提示词):在 Agent Script 中添加 sample_prompts 属性,定义 Agent 能处理的示例用户问题。有助于测试和文档化。

编码提示:Agent Script 中指定 default_agent_user 为之前创建的 Agent 用户名。使用 sf agent validate 频繁验证确保编译通过。

发布 Authoring Bundle 到 Org

s143

发布工作流

s144
# 发布到默认 Org
sf agent publish authoring-bundle --file aiAuthoringbundles/MyAgent/MyAgent.agent

# VS Code: Command Palette > SFDX: Publish Agent Authoring Bundle

发布过程:自动创建底层 Agent 元数据(AiAuthoringBundle + Agent 类型)→ 同步元数据到 Org → Agent 可在 Agentforce Builder 中打开编辑 → 可 Commit Version + Activate。

发布后 Agent 进入"Ready to Test"状态。可在 Org 的 Testing Center 中测试,也可继续在 VS Code 中编码和重新发布。

同步开发 Org 与 DX 项目

s145

拉取、部署与删除 Agent 元数据

s146
# 拉取所有 Authoring Bundle 和 Agent 元数据
sf project retrieve start --metadata AiAuthoringBundle --metadata Agent --target-org my-org

# 拉取特定 Bundle 及其所有版本
sf project retrieve start --metadata "AiAuthoringBundle:Local_Info_Agent*" --target-org my-org

# 部署本地元数据到 Org
sf project deploy start --target-org my-org

# 删除 Agent(需先停用)
sf agent delete --target-org my-org --agent-name MyAgent

同步原则:VCS(GitHub)是真相源。在 Org 中做的任何变更都应拉回本地 DX 项目并提交到 VCS。在本地做的变更都应部署到 Org。

Agent 元数据:浅析

s147

元数据类型:Bundle 与 Agent

s148
元数据类型说明
AiAuthoringBundle包含 Agent Script 文件(.agent)的 Authoring Bundle。每个 Agent 一个 Bundle,支持版本管理
AgentAgent 实例元数据。引用 Authoring Bundle + 版本号 + 激活状态 + 连接配置(Messaging/Voice 等)

Bundle 文件在 aiAuthoringbundles/<AgentName>/ 下,含 <AgentName>.agent(Agent Script)和版本子目录。Agent 元数据在 agents/ 下。

预览和调试 Agent

s149

预览类型与模式

s150
维度选项
预览类型Simulated(模拟):动作返回 mock 数据(未实现真实动作时)
Live:动作调用真实 Flow/Apex/Prompt
预览位置VS Code 内置面板 / CLI 命令 / Agentforce Builder UI
Trace开启后输出每个推理步骤的详细日志(响应时间、工具选择、Prompt 内容)

VS Code 交互式预览

s151
# CLI 预览
sf agent preview authoring-bundle --file aiAuthoringbundles/MyAgent/MyAgent.agent

# VS Code: 右键 .agent 文件 > SFDX: Preview Agent
# 或 Command Palette > SFDX: Preview Agent Authoring Bundle

VS Code 预览面板支持:输入 utterance(用户发言)、查看 Agent 响应、切换 Simulated/Live 模式、开启 Trace 查看推理细节、配合 Apex Replay Debugger 断点调试。

程序化预览与会话 Trace 文件

s152
# 带 Trace 的 CLI 预览
sf agent preview authoring-bundle --file aiAuthoringbundles/MyAgent/MyAgent.agent --trace

# 生成会话 Trace 文件(JSON 格式,含完整推理链)
# Trace 文件可用于分析 Agent 行为、排查问题、回归测试

Trace 文件包含:每次客户发言的完整推理过程、选择的工具和原因、LLM 输入/输出 Prompt、每个步骤的时间戳。适合深度调试和 CI/CD 自动化测试。

Agentforce DX 将 Agent 开发完全融入现代 Salesforce DevOps 流程。建议配合 Agent Script 开发指南Agent 测试Agent 管理 章节形成完整的开发-测试-部署知识体系。