嗯,我觉得我做到了,刚刚成功跑完了一个完整的数据迁移管道,用的是 OpenClaw。给数据迁移 HQ 的小伙伴们点赞!数据迁移 HQ 成功地提取数据、检查数据、连接目标系统、有错误就告诉我,我和这群代理一起把错误都解决了,然后代理团队加载了所有数据!加载完成后,还在对比数据!

昨天我展示了如何用代理组从 SF 提取数据,今天我能够指示所有代理跑完整流程了。

这次我一共配置了 12 个代理,每个代理各司其职,Boss 还是负责总协调,一旦有错误,Boss 会上报,作为用户,你可以看仪表板了解进度,有问题可以直接问 Boss 或让代理提供更多细节。

架构设计 链接到标题

组织结构如下(这是一个示例,你可以基于此扩展): 每个代理在自己的独立会话中运行,可以独立启动。

┌─────────────────────────────────────────────────────────┐
│              你(主 OpenClaw 会话)                       │
│                    (你的代理 Kimi)                      │
└────────────────────────┬────────────────────────────────┘
                         │ sessions_spawn()
                         ▼
┌─────────────────────────────────────────────────────────┐
│  1. 指挥代理(隔离会话)                                   │
│     - 启动并协调其他代理                                  │
│     - 在 shared/ 目录管理状态文件                          │
└────────────────────────┬────────────────────────────────┘
                         │ sessions_spawn() 为每个工作代理
         ┌───────────────┼───────────────┐
         ▼               ▼               ▼
┌────────────────┐ ┌──────────────┐ ┌──────────────┐
│ 2. 源连接器    │ │ 3. 数据提取器 │ │ 4. 分析器   │
└────────────────┘ └──────────────┘ └──────────────┘
┌────────────────┐ ┌──────────────┐ ┌──────────────┐
│ 5. 目标连接器  │ │ 6. 映射代理   │ │ 7. 数据转换器│
└────────────────┘ └──────────────┘ └──────────────┘
┌────────────────┐ ┌──────────────┐ ┌──────────────┐
│ 8. 验证器      │ │ 9. 加载器     │ │ 10. 错误处理 │
└────────────────┘ └──────────────┘ └──────────────┘

为什么要用独立的代理?

  • ✅ 每个都在与主会话完全隔离的环境中运行
  • ✅ 可以独立启动,用于一次性任务
  • ✅ 可复用 — 只需要源连接器就能探索任何系统
  • ✅ 可组合 — 可以混搭不同代理构建自定义管道
  • ✅ 持久化 — 会话在断开连接后仍然保留

这个系统协调多个专业 AI 代理来完成端到端的数据迁移。

整个流程有几个阶段:

初始化 → 源连接 → 提取 → 分析 → 目标连接 → 映射 → 转换 → 验证 → 加载 → 完成

这是基本设置,每个项目用户都可以根据自己的需求调整。

测试设置 链接到标题

我完成了一个测试,用两个 Salesforce Trailhead 环境,从一个提取账户数据,加载到另一个。中间遇到了一些错误,通过和代理一起解决这些问题,同时这也依赖于我自己对相关知识的了解。

这个测试展示了工具的能力以及什么叫"自动化"。主要障碍在于登录配置。

顺便说一句,写完之后才发现我把 panda 拼错了,看到"penda"的时候,它其实是"panda"(熊猫)。

运行测试 链接到标题

让我展示如何启动流程,我就是告诉 Boss 开始……用简单的英语!

你看,很简单对吧?

Kimi 启动 Boss 后,Boss 会问一些问题,这正是我的设计初衷——为不同项目提供灵活性: 底部是我给 Boss 的内容,然后流程启动。

下面截图有两部分:

  • 消息顶部是 Boss 正在运行、正在发生的事
  • 第二条消息是有错误,并列出了具体错误内容

仪表板也显示了各个代理的错误状态。

这时候我介入,看了 Salesforce 中的配置,修复后,让 Boss 派 Dave 再跑一次。

嗯,可惜我不够彻底,凭证/访问相关问题没有解决。

我又深入看了看,同时告诉 Boss 要怎么做。这样来回好几次,肯定漏了很多东西,就不全部展示了。

最终 Dave 跑通了,然后让 Boss 重启管道。

登录问题解决后,剩下的流程都顺利完成了。

这是最终仪表板:

哦,这里少了一张截图——我看仪表板的时候,Jake 的验证返回了 2/26 是有效的,这时候我问了"发生了什么?",让我意识到了什么——对于这次加载,我没有指定外部键,所以 Jake 无法进行匹配。这只是个 POC,就先放过了。

在对话中,Boss 在我们讨论后给出了最终结果:

好了!完成了!

再次确认 链接到标题

代理告诉我全部完成了,一切正常,但真的是这样吗?

我们登录 SF 看看!

再重复一下逻辑:我的需求是,从一个 Salesforce 环境的账户数据中提取,加载到另一个 Salesforce org,并在 name 字段末尾加上 penda。所以登录新的 Salesforce org 后,应该看到所有新账户记录的 name 末尾都有 penda。

源数据: 目标加载前: 目标加载后:

太棒了!

下一步 链接到标题

关于企业级应用:

  1. 这当然是个 POC,如果要让它达到企业级标准,可能需要迁移到 NemoClaw,它更安全,专为企业设计。
  2. 这个项目只是测试,所以很多细节我没有花时间完善。
  3. 连接可能不应该继续用 SOAP,应该用 MCP。
  4. 也许应该让 OpenClaw 连接 SFDX,那样 OpenClaw 能做的事就更多了。

这主要展示了 2026 年代理和自动化能做到什么。

这也主要用于 org 到 org 的迁移,我们也可以实现 csv 到 org,但我不确定的是:如果有多个数据源且逻辑极其复杂,代理还能做对吗?我相信可以,只需要更多完善和详细的指南。

关于这次实现我的看法?

我有更宏大的计划——想象一下,如果让 OpenClaw 学习 Salesforce 文档的一切,连接到 SFDX,这个代理本身就变成了 Salesforce 专家,还能和其他平台交互,比如 NetSuite,也许还能随时提供解决方案。

这个实现是一个测试,我想展示能力,更重要的是,我觉得可以把这个扩展到所有数据迁移相关的项目,区别只在于数据源和目标,也许还有一个"专家"。

为什么选择这条路而不是 Agentforce?

Agentforce 只能在 Salesforce 平台上做事,而且需要构建 Apex 代码、Flow、模板等,这些都是专门针对 Salesforce 的。当然,对于一直在 Salesforce 平台工作的人来说很棒,但它是有平台限制的。你能在 Azure 环境或 GCP 中运行 Salesforce Flow 吗?不能,因为 Salesforce Flow 只能在 Salesforce 内部运行。再往前一步,这个世界还有很多其他地方,如果能用 Salesforce 知识与外部世界沟通,不是更好吗?

我是不是在把自己搞失业?嗯,也许吧。

+++