Claude Agent 开发实战
0 / 7 节 · 0%
退出
3 节 / 共 7第二章 · 编排 已验证可复现

多步编排:让 Agent 稳定完成长任务

单步调用很稳,十步串起来就开始飘。这节记录我们把一个 12 步流程从 40% 做到 90% 成功率的过程。

可复现前提: 流程为"新员工入职环境准备",12 步。mock 版本在 demos/onboarding-agent,不接内部系统也能跑通。

起点:40% 成功率

最初的做法是把 12 步全写进一个 prompt,让它自己按顺序做。问题:

  • 中间某步失败后,它会假装成功继续往下走
  • 步骤顺序偶尔颠倒
  • 长会话后期开始遗忘前面的产出

改动一:显式的状态清单(+22 个点)

让 Agent 每完成一步就更新一个状态文件,每步开始前先读它。

state.jsonjson
{
  "steps": [
    { "id": "create_account", "status": "done", "result": "u_8812" },
    { "id": "assign_licenses", "status": "failed", "error": "配额不足" },
    { "id": "setup_repo_access", "status": "pending" }
  ]
}

把状态放在上下文之外的文件里,是这次提升最大的一步改动。上下文会遗忘,文件不会。

改动二:每步定义验收条件(+18 个点)

每步不只写"做什么",还写"怎么算做完了":

代码text
步骤 3:配置仓库权限
完成标准:执行 `praxis repo check --user <id>` 返回 3 个仓库均为 write
若不满足:重试一次;仍失败则标记 failed 并继续下一步,最后统一汇报

这条解决了"假装成功"的问题。

改动三:失败不中断,最后汇总(+10 个点)

早期版本一步失败就整个中止,人工接手时不知道做到哪了。现在的规则是:可跳过的步骤失败后标记并继续,最后输出一份"已完成 / 需人工处理"的清单。

现在的数字

连续 50 次真实入职流程:45 次全自动完成,5 次部分完成并正确汇报了失败项,0 次假装成功。最后这个数字比 90% 更重要。

4.7/ 5
3 位同事评分
这篇实践你能照着复现吗?给它打个分:
每人一次,可随时修改