高级 📋 6 个步骤 第 527 / 529 篇

让 Claude 托管智能体自己写工作流:dynamic workflows 公测实操——开启配置、事件流跟踪与限额治理

10-9 公测的动态工作流实操:multiagent_20261001 开启、系统提示词定义触发、workflow_run.* 事件流跟踪,1000 子智能体与预算限额逐条治理。

2026.10.13· 20 分钟阅读· 约 3242 字· 🔀 Claude Managed Agents / 🔀 多智能体编排

十月中旬的多智能体编排圈有个值得认真对待的变化:Anthropic 在 10 月 9 日的平台发行说明里,给 Claude Managed Agents(托管智能体)上线了动态工作流(dynamic workflows)公测。它的特殊之处在于反转了传统的编排责任——过去是工程师预先写好 DAG、定义好每个分支,现在是主智能体自己写编排程序:决定拆成几个阶段、每阶段派多少个子智能体、结果如何合并,然后交给服务端在后台执行。官方给的定义只有一句话:「工作流是一个程序,它分阶段运行许多智能体并合并它们的结果。」单次运行最多可协调 1000 个子智能体。官方在 11.6 万行代码库埋 70 个 bug 的测试里,单智能体每轮只能找出 14 到 27 个,工作流三轮稳定找出 66 个——对代码库级审查、批量文档审阅这类可拆分任务,差距是数量级的。本篇把开启配置、提示词指引、事件流跟踪、限额治理完整走一遍。

🎯 适合人群:已经在用 Claude API、想处理「单智能体上下文装不下」的大型任务(代码库审查、批量文档、安全审计)的开发者与技术负责人。前置要求:Claude API 密钥、Managed Agents 公测资格(beta 头 managed-agents-2026-04-01)。

先理解:编排责任从工程师转移给模型

传统多智能体系统里,你是架构师:节点 A 读文件、节点 B 调用模型、失败走重试分支,全部固化在代码里。动态工作流把这个过程交给模型——你在系统提示词里告诉它「什么情况下值得起一个工作流」,它接到符合条件的大任务时自己生成一份编排程序,说明分几个阶段、每阶段跑哪些子智能体、上一阶段的产物怎么传给下一阶段,甚至能在程序里写重试逻辑(比如「修订稿打回重写,直到评审通过或达到轮数上限」)。服务端按这份程序起会话线程、跑完合并结果,整个过程主智能体不必干等——工作流在后台异步执行,主智能体可以继续干活或者直接结束本轮。

监听模型也变了:你不需要轮询。运行事件(workflow_run.* 系列)直接推送到会话的事件流上,阶段级事件告诉你跑到哪个里程碑,线程级事件告诉你哪些子智能体在跑、谁完成了,线程内的消息还有自己独立的流。这套事件模型让前端可以实时渲染进度条,不用自己造轮询器。

这是公测特性,细节还会动。beta 头与配置类型都带版本号(managed-agents-2026-04-01、multiagent_20261001),说明接口还会演进;官方文档目前没有给出工作流单独的定价、失败恢复与资源隔离细节。动手前以 platform.claude.com 的当前文档为准,别拿本篇当长期契约。

Step 1:开启动态工作流

1 两处配置缺一不可
# 1) 请求带上 beta 头:
#    anthropic-beta: managed-agents-2026-04-01
#
# 2) 更新智能体的 multiagent 字段:
{
  "multiagent": {
    "type": "multiagent_20261001",
    "workflows": { "type": "enabled" }
  }
}
# 保存后该智能体即具备「写工作流」的能力

这两个配置是开关:beta 头声明你使用托管智能体公测能力,multiagent 字段里的 workflows.enabled 决定这个智能体能不能起工作流。注意开关是按智能体粒度的——同一个会话里可以有一个开了工作流的智能体和若干没开的,互不影响。配置好之后可以先创建一个测试智能体,跑一轮普通对话确认基础链路没坏,再进入下一步。

💡 建议为工作流场景单建一个智能体,而不是改造日常主力:工作流智能体的系统提示词会写得「很重」(见下一步),混用会干扰普通对话的行文风格。

Step 2:用系统提示词告诉它「什么时候起工作流」

2 指引写清楚触发条件与产出要求
# 系统提示词示例(代码审查场景):
# 「当任务是审查整个代码库或超过 20 个文件时,
#  启动一次工作流运行:
#  - 阶段 1:按模块拆分,每个子智能体审查一个
#    模块,输出 bug 清单(文件、行号、严重级别)
#  - 阶段 2:交叉复核阶段 1 的发现,
#    剔除误报
#  - 阶段 3:合并成最终报告
#  小于 20 个文件的任务直接自己处理,不起工作流。」

这段提示词就是你的「编排策略」:什么时候值得起工作流、怎么分阶段、每个阶段产出什么。官方明确说启动由智能体判断——只有智能体能发起工作流运行,向会话发事件不会触发一个。所以触发条件要写得可判断(阈值、任务类型),否则它要么该起不起,要么小任务也大动干戈烧 token。

指引太模糊是成本失控的常见起点。「遇到大任务就用工作流」这种写法没有判断边界,智能体的阈值感和你的预算很难对齐。给出明确的数字门槛(文件数、文档量),并且规定「拿不准时先问我」。

Step 3:发起任务并跟踪 workflow_run 事件

3 事件流就是你的控制台
# 会话事件流上会出现的事件(示意):
#   workflow_run.started        运行启动
#   workflow_run.phase_started  进入某阶段
#   workflow_run.thread_started 某子智能体线程启动
#   workflow_run.thread_message 子智能体产出了消息
#   workflow_run.phase_completed阶段完成
#   workflow_run.completed      运行结束
#
# 前端消费示例(伪代码):
# for event in session_stream:
#     if event.type.startswith("workflow_run."):
#         render_progress(event)   # 阶段/线程级进度

把任务发给智能体(比如「审查这个仓库的认证模块」),它判断符合条件后会写程序并启动运行。你订阅会话事件流,就能看到阶段推进与每个子智能体的动静——每个子智能体跑在自己的会话线程里,线程内的消息有独立的流可以读,也就是说你既能看「全局进度条」也能钻进任意一个子智能体看它到底读了什么文件、得出了什么结论。审计与调试都靠这层可见性。

💡 事件不触发 webhook。如果你的系统习惯用 webhook 回调感知任务完成,这里要改造成订阅事件流——官方文档明确运行事件不会推 webhook,漏掉这点会让集成干等回调等到超时。

Step 4:吃透四条限额

4 限额表直接决定你的架构
# 官方文档列出的限额:
#   一次运行内启动的智能体总数   1000
#     → 超限:不再启动新智能体,运行报错结束
#   运行生命周期                默认 24 小时
#     → 智能体可自设更短;超时以错误结束
#   单会话同时打开的运行数      默认 10
#     → 超限:拒绝再起新运行
#   会话预算                    由你设置
#     → 预算耗尽:所有打开的运行暂停,
#        会话进入空闲,直到调高或移除预算

四条限额里有三条的默认值可以直接用,会话预算这一条强烈建议自己设——工作流的 token 消耗是主智能体模式的几十倍量级,官方自己都提醒「这类工作流会大量消耗 token,建议从小任务开始」。还有两个容易踩的语义细节:暂停不等于结束,暂停中的运行时钟照走,挂着不管仍可能超时报错;运行打开期间无法更新该会话的智能体配置(会报错),要改配置先等运行结束。

权限策略作用于运行内每个子智能体的工具调用。一次启动可能演变成几百个智能体各自调工具——如果它们能写 CRM、发消息、退款,扇出会把一次小错误放大成一场事故。开工作流前先把工具权限收到「这个任务真正需要的子集」。

Step 5:成本与风控三板斧

5 小范围试点、人工检查点、预算闸门
# 上线前自查清单:
#   1) 从一个 20-50 文件的小仓库跑通全链路,
#      记录 token 消耗作为基线
#   2) 关键产出(最终报告、写操作)设人工确认点,
#      未复核前不落库不外发
#   3) 会话预算从保守值起步,观察一周再放宽
#   4) 子智能体工具权限按任务最小化

官方的 bug 测试数字(66/70 对 14-27)来自「可按模块干净拆分」的任务——子任务之间依赖越少,扇出的收益越大。换成论证链强耦合的任务(比如写一份逻辑严密的长报告),拆分收益没有公开数据支撑,别默认套用。媒体上也不乏对「智能体集群大量浪费 token」的批评,冷静的做法是拿自己的真实负载跑 A/B:同样任务,单智能体跑一遍、工作流跑一遍,比质量和总成本,用数据说话。

💡 试点阶段把每次运行的 workflow_run_id 与成本记录到表格里,积累十几次后你就有自己的换算表:这类仓库审查平均消耗多少 token、值不值得——这比任何外部评测都可靠。

Step 6:和 Claude Code 版的工作流怎么选

6 同一能力,两种跑法
# 决策参考:
#   Claude Code(客户端跑脚本)
#     → 个人开发者的本机仓库分析,代码与数据不出本机
#   Managed Agents 动态工作流(服务端跑程序)
#     → 团队级服务化:异步执行、事件流可集成、
#        限额与预算由平台兜底
# 两边都是 beta,先在低风险任务上练手感

Claude Code 在今年 5 月下旬以研究预览的形式引入过工作流,脚本跑在你自己的机器上;托管智能体版则是程序跑在 Anthropic 服务端,多了异步执行、平台级限额、事件流集成这些「服务化」属性。个人开发者做本机代码分析,Claude Code 版更顺手也更省心——代码不用上传;要把它做进产品或团队流水线(比如每天定时对主分支做安全审计、结果推到内部系统),托管版的事件流与预算管控才是为此设计的。

把视角拉远一点:动态工作流代表了一个明显的方向——编排的写法正在从「工程师写死流程图」走向「模型现场生成程序」。你今天写的那份系统提示词,就是未来工程师的核心交付物:定义什么任务值得拆、怎么拆、结果谁验收。把这套提示词当代码管理,版本化、评审、持续迭代,是现在就能做对的事。

官方测试数字不能直接外推到你的负载。66/70 是官方选定的可拆分任务上的结果;The Decoder 等媒体也提醒结论能否推广要由用户自验。采购决策前务必用自己的任务跑对照实验。

常见问题 FAQ

Q:1000 个子智能体的并发是多少?运行内并发线程有上限(有公开资料提及 64 并发线程),但确切数字以官方 Workflow runs 文档当前版本为准;即便并发受限,1000 的总量上限意味着长任务会被排队执行,工期要按并发折算。

Q:工作流失败了怎么办?失败处理写在程序里:编排程序可以捕获单个子智能体的失败并决定重试或忽略,也可以让失败直接终止运行。失败恢复、断点续跑这类平台能力官方尚未公布细节,把它当 beta 的已知空白对待。

Q:能和 MCP 工具结合吗?托管智能体本身的工具体系(含 MCP)对运行内的子智能体可用,但每个工具调用都受权限策略约束。扇出场景下尤其要先审一遍工具清单,把写操作类工具从默认权限里摘出去。

Q:跑一次大概多少钱?官方没有公布工作流单独定价;运行内所有模型请求计入会话预算与 token 计费。参考量级:一次多阶段、几十个子智能体的运行,token 消耗通常是单智能体同任务的十倍以上——先用小仓库实测再估算大任务成本。

← 返回教程中心