和固定流水线有什么不同
Anthropic 在 10 月 9 日的平台发布说明里,把动态工作流(Dynamic Workflows)推进到公开测试。它挂在 Claude Managed Agents 之下,核心变化是一句话:调度逻辑不再由开发者预先写死,而是由主智能体自己生成。官方对工作流的定义是,一个分阶段运行许多智能体并合并它们结果的程序。
过去的做法是工程师先画好一张有向无环图,哪一步调谁、按什么顺序,全部提前定义。现在开发者只需要在系统提示词里说明什么情况下适合开工作流,剩下的由模型自己判断:它会写出一段程序,决定用多少个智能体、分几个阶段、结果怎么合并,然后这段程序在 Anthropic 的服务器上以异步方式后台执行,前台会话不受阻塞。每个子智能体跑在独立的会话线程里,统一挂在一个 workflow_run_id 下,应用可以通过 workflow_run.* 事件流实时展示进度,不需要轮询。典型场景比如审阅几百份文档:第一阶段把文档分给多个读者,第二阶段交叉核对结论,第三阶段生成最终报告。
工作流是一次运行的程序,不是一次问答。它的状态是 completed,指的是程序跑完了,而不是里面的活儿都干成了。
四步开启
第一步,确认接口版本。功能需要 beta 头 managed-agents-2026-04-01,配置类型为 multiagent_20261001。第二步,打开工作流开关,在智能体的 multiagent 字段里把 type 设为 multiagent_20261001,并在 workflows 下把 type 设为 enabled。第三步,改系统提示词,告诉它在什么条件下应该发起一次工作流运行——注意只有智能体自己可以发起,直接往会话里推事件不会触发。第四步,接事件流做监控,订阅会话流上的 workflow_run.* 事件,按阶段与线程两个维度展示进度。
需要记住几组默认上限:单次工作流运行在其生命周期内最多可以涉及 1000 个智能体,但并发上限是 64 个线程,也就是说 1000 是累计数而不是同时数;默认运行时长 24 小时;每个会话最多同时打开 10 个工作流运行。计费方面,工作流运行本身不单独收费,每个智能体消耗的 token 按对应模型价格正常计费,另外 Managed Agents 按会话运行时长收取每小时 0.08 美元。
三个必须知道的坑
第一,完成不等于通过。官方文档明确写到,一次运行可以在内部线程存在失败的情况下以 completed 结束。如果你的代码读到这个状态就直接采用结果,可能拿到一份 400 份文档里有 30 份从未被审阅的报告。正确做法是逐线程读事件、统计失败数,只要大于零就自己判定任务失败。
第二,预算只能在创建会话时设定,事后补不了。达到预算时未完成的工作流会暂停,而且每个线程会先把当前这次模型请求跑完,所以实际消耗可能比上限超出一个请求乘以工作线程数。没有上限的扇出,等于给 API key 开了一张不封顶的账。
第三,写入类工具必须可重复调用。文档说明一次运行可能为同一份工作创建多个线程,也可能把失败的智能体放到新线程上重试。如果工具会发邮件、写数据库或发起退款,重复调用就是重复动作。做法是加幂等键,或者干脆把写操作移出工作流,交给人工或最后一个确定性的步骤执行。另外,工作流流量与普通 Messages API 共用速率限制,大批量任务建议单独开一个工作区或密钥,避免拖慢面向用户的功能。官方还提示 token 消耗可能很高,建议先从范围明确的小任务开始试。