Claude Code 动态工作流上手:一个会话铺开几百个子 agent,是真能打还是噱头

cover

哈喽,我是飞飞。

昨天那篇 Opus 4.8 的结尾,我留了个钩子,说等摸到动态工作流再单独跟你聊。今天就来兑现。

我开了 Max 的权限点进去,找了个真实任务试手,盯着它自己写脚本、一口气铺开几十个子 agent 分头干活。

这东西到底是真能打还是噱头,我盯了两天,心里大概有数了。

先说它到底在干嘛:Claude 自己写脚本,把活拆给几十个分身

说白了,动态工作流就是把「开很多分身一起干活」这件事自动化了。

你给它一个任务,它先自己规划,写出一段编排脚本。然后在同一个会话里同时拉起几十到几百个子 agent,每个啃一小块。跑完汇总给你之前,它还会自己验一遍。

以前这套编排是我手搓的体力活。一个大任务,我得自己拆成几块,开好几个会话分头让它看不同的目录,最后再一段段把结果拼起来。现在这部分它自己包圆了。

我点完任务退到一边,眼看着它在终端里先吐出一段规划,把大任务切成一格一格,然后唰地一下并行拉起一片 agent,每个头上挂着自己负责的那块。那一刻确实有点科幻感,像看一个工头当场招了一群临时工,分完活就各自埋头干了。

官方放了个挺唬人的案例:把 Bun 这个项目从 Zig 移植到 Rust,整整 75 万行 Rust 代码,从首次提交到合并只花了 11 天,跑完原有测试套件 99.8% 通过,过程里几百个 agent 并行干,每个文件还配两个 agent 互相 review。

这个数字是 Anthropic 自己晒的,不是我跑出来的,你听个量级就行。但它至少说明一件事:这功能瞄准的是那种一个人短时间根本啃不动的大活。

真正让我觉得有点东西的,是它让 agent 互相挑刺

光是「开几百个分身」其实不稀奇,我自己手动也能开一堆会话。

它真正不一样的地方在验证这块。一批 agent 从不同角度去找问题,另一批 agent 专门盯着前面那批的结论挑刺、试图反驳,两边来回顶,一直顶到答案收敛了才算数。

这套机制治的是单趟跑最容易犯的毛病:自说自话。一个 agent 自己找、自己确认,很容易把「看着对其实站不住」的结论也当成数。多塞一组专门唱反调的进去,那些虚的 finding 当场就被筛掉了。

简单讲,它不是让更多人一起点头,是让一拨人专门负责摇头。这一下就比我手搓那套「开几个会话各看各的、最后我自己拍板」靠谱多了,因为交叉验证这步以前全压在我一个人身上。

一个会话里,Claude 先把大任务铺给几十个并行子 agent,再让另一批 agent 交叉验证、互相反驳,最后收敛成一个结果

我拿它扫了遍老项目找隐患,省的是编排那段力气

我手上有个跑了一年多的老项目,正好拿它试水。

我让它在整个库里找并发和边界上的隐患。点下去之后,它自己铺开了十几个子 agent,分头去扒不同模块。我起身倒了杯咖啡,回来的时候候选问题已经列出来了,每一条边上还标着「另一组验过」。

其中有一条我印象挺深:它揪出某个缓存的读写在高并发下会脏读,还顺手把触发它的那条调用链贴了出来,从入口一路标到出问题的那行。这种藏在三四层调用底下的坑,我自己肉眼扫一遍很难逮着。

这事我自己也能干,但得全程盯着。开几个会话分头让它看不同目录,中间防着它跑偏,最后一条条汇总、再自己复核有没有误报。动态工作流把拆活、铺 agent、交叉验证、汇总这一整串体力活都接走了,我只要在最后看它端上来的结果。

我得说句实话,它列的问题我还是逐条核了一遍,不是条条都对。有两条它判成隐患的,我点进去一看其实早加过锁了,属于误报,我手动划掉了。但跟我上次手搓那回比,真漏掉的明显少。对一个天天靠它兜底 review 的人来说,少漏一个并发的坑,可能就少一次半夜被报警电话薅起来的经历。

它烧 token 烧得凶,所以我只在大活上开

爽归爽,有个代价得说在前面:它特别费 token。

官方自己都写明了,动态工作流消耗的 token 比一次普通的 Claude Code 会话多得多。毕竟几十上百个 agent 同时跑,每个都在烧。

所以我给自己立了条规矩:小活绝对不开它。改个变量名、补段注释、写个一次性的小脚本,这种几秒钟的事开动态工作流,光是它规划、写脚本、调度的开销就够你等半天,token 还白烧一大把,纯属杀鸡用牛刀。

我现在愿意开它的,基本都是这几类:跨好几个仓库或者整个服务去找 bug、做安全审计,要的就是它铺得开还每条都验;几千个文件起步的大迁移,框架切换、API 弃用替换、语言移植;还有那种单趟跑一遍肯定会漏、必须多角度交叉看的活。

反过来,有两种活我试都不试。一种是单点的深度推理,比如一个难算法、一段绕人的业务逻辑,这种活靠的是往深里想,几十个分身铺得再开也帮不上忙。另一种是我自己都没想清楚要什么的探索性任务,需求一含糊,它写出来的编排脚本就跟着跑偏,越并行越离谱。

别神化:它接走的是体力活,没接走你的判断

说了这么多好话,还是得接着昨天那盆冷水往下泼。

动态工作流再能并行,它自动化掉的也只是「拆任务、铺 agent、交叉验证、汇总结果」这一串体力活。至于你到底要解决什么问题、问题该怎么拆、最后端上来的结果信不信,这些还是你的事,一样也甩不掉。

还是我那个老项目,它跑完顺手建议我把一处底层接口的返回结构统一改掉,理由列得头头是道。可那个接口还有另一个端在用,真按它说的改,对面立马崩。我是因为早年在这个接口上栽过一次,才一眼看出来不能动;换个不熟这块的人,很可能就真顺着它的建议改下去了。这种藏在业务里、只有我自己知道的隐性约束,它铺再多 agent 也扒不出来。

另外提醒一句,这功能现在还是研究预览阶段,开放给 Max、Team 和企业版,企业版还得管理员手动打开、默认是关着的。所以不是你想点就一定点得开,得先看自己的账号在不在范围里。

下一个想拿它开刀的,是我那个攒了半年的跨库重构

绕回最开始那个问题:真能打还是噱头?我的答案是,看你拿它干什么。大活上它是真省事,把我以前最烦的编排和交叉验证全接走了;小活上它就是个烧钱的累赘。能不能用好它,关键不在它多能并行,在你分不分得清手上这活到底配不配开它。

我自己接下来想拿它啃的,是一个攒了半年没敢动的跨库重构。一直拖着,就是因为手搓编排太累。这回正好拿它跟我那套手工流程正面比一比,看到底能省下多少事。等跑完我再回来跟你交底。

你拿动态工作流跑过什么活吗?哪类让你觉得这 token 烧得值,哪类又纯粹是烧钱玩?评论区聊聊,我想对一对自己的判断。


参考资料

  • [[claude-code-dynamic-workflows-official]]

相关洞察

  • [[claude-code-dynamic-workflows]]