本文介绍 Claude Code 的动态工作流功能,解释什么是工作流、怎么用、七种常见模式(分类再动手、分头干活再汇总、对抗验证、生成再过滤、擂台赛、循环到完成为止),以及真实场景案例(代码迁移、深度研究、事实检查、排序大赛、抓坏习惯、多假设调试、分类排队、方案探索、轻量评估、智能选模型),并附赠什么时候别用和四个实用技巧。
写代码这件事,Claude Code 本来就很厉害。但你碰上那种特别麻烦的任务——比如测试一百次才失败一次、要从几千条聊天记录里挖问题、或者让不同角色互相挑刺——普通的干活方式就不太够用了。这时候你需要的是“动态工作流”。
说白了,就是让 Claude 自己给自己造一套新工具,专门对付眼前这个麻烦。这篇文章会告诉你这是啥玩意、怎么用、什么时候值得用,以及什么时候别瞎用。
啥是动态工作流
你让 Claude Code 干一件事,它本来是一边想一边做,所有东西都塞在同一个脑子里。对于改个 bug、加个函数这种事,挺好使。但任务一复杂,就容易出毛病。
比如你让它检查 50 个安全漏洞,它可能改了 20 个就跟你说“完事了”。这叫“懒病发作”。
又比如你让它自己检查自己写的代码,它大概率会说“我写得挺好”。这叫“自我偏爱”。
再比如你让它干一大串事,中间还要压缩记忆,最开始那些“千万别做 X”的要求可能就丢了。这叫“目标漂移”。
动态工作流就是专门治这些毛病的。它让 Claude 能同时开好几个“小 Claude”,每个有自己的小脑瓜、自己的任务、自己的上下文,互不干扰。你可以想象成你不再是只雇了一个全能管家,而是能随时叫来一整个装修队——电工、水管工、木匠各管一摊,干完就散。
技术上说,动态工作流就是一个 JavaScript 文件,里面用几个特殊函数来管这些小 Claude。你可以决定每个小 Claude 用哪个模型、要不要给它单独开一个工作目录(worktree)。如果任务中途断了,比如你关了终端,再打开它能接着干,不用从头来。
怎么让 Claude 给你造工作流
最简单的方法——直接跟它说“帮我做个工作流”。或者用个触发词“ultracode”,Claude Code 一听就知道你要造工作流。
但更好用的办法是心里有个数,知道工作流大概长啥样,然后你提需求的时候就能说得更清楚。Claude 造工作流的时候常用几种模式,你可以按需组合。
分类再动手
先派一个小 Claude 去判断任务属于哪一类,然后根据分类派不同的人去干。比如你扔给它一堆东西,它先分出来哪些是代码问题、哪些是文档问题、哪些是设计问题,再分别处理。反过来也行,干完活之后再分类整理结果。
分头干活再汇总
把一个大事拆成很多小步,每步单独派一个小 Claude 去干,最后把结果凑到一起。这招最适合那种小任务特别多、或者每个小任务需要自己的干净上下文的情况。比如你有 80 份简历要排序,就可以每个简历单独让一个小 Claude 看一遍,最后汇总排名。中间那步“汇总”就是个关卡——等所有小 Claude 都干完了,再把它们的结构化结果拼成一份。
对抗验证
派一个小 Claude 干活,再派另一个小 Claude 专门挑它的毛病。你给第二个小 Claude 一套标准,让它照着标准找茬。这能有效对抗“自我偏爱”——自己写的代码自己看不出问题,换个别人来一眼就看见了。
生成再过滤
先让一堆小 Claude 各自出主意,然后用一套标准去过滤,去掉重复的,只留下质量最高的。比如给你的命令行工具起名字,可以先让十个 Claude 各想十个名字,再让另一个 Claude 按“好记、没歧义、不撞名”的标准挑出前三。
擂台赛
不是分活干,而是让它们竞争。同时派 N 个小 Claude 用不同方法做同一个任务,再派一个裁判 Claude 两两对比,直到选出冠军。比如给一个商业计划书打分,可以同时派一个投资人视角的 Claude、一个客户视角的、一个竞争对手视角的,看谁挑出来的毛病最要命。
循环到完成为止
任务量不确定的时候,不用固定派几次人,而是一直派、一直派,直到某个条件满足为止。比如“没有新发现了”“日志里没有错误了”。适合那种你不知道要干多少轮才能结束的活。
举个真实例子:代码迁移
有人用工作流把 Zig 语言写的一套东西迁移到 Rust。怎么做的呢?先拆任务——每个需要改的函数、每个失败的测试、每个模块,都算一个独立小任务。每派一个小 Claude 去改一个,给它单独开个工作目录,改完之后再派另一个小 Claude 去审查,没问题就合并。你还可以告诉 Claude 别用太耗资源的命令,这样能同时跑很多个而不把电脑搞死。
搞研究:深度搜索
Claude Code 里内置了一个“深度研究”技能,就是用动态工作流做的。具体来说,它分头做网络搜索、抓来源、对抗性地验证每条信息的真假、最后合成一份带引用的报告。但你完全可以用同样套路去做别的研究——比如让你在 Slack 里翻半年聊天记录,找出反复出现的故障根因,或者让你深挖一个代码库搞清楚某个功能到底怎么工作的。
检查事实
你写了一篇技术博客,想确保每一条技术说法都准确。可以造一个工作流:先派一个 Claude 从文章里挑出所有事实性陈述,比如“API 返回 JSON 格式”“这个函数时间复杂度是 O(n log n)”。然后对每一条单独派一个小 Claude 去对照代码库验证。再派一个验证者去检查那个验证者,确保用的来源靠谱。最后汇总出一份报告。
排序大赛
你有一千多个工单,想按严重程度排序。如果你一股脑全扔进一个提示词里,质量会下降,而且上下文也塞不下。这时候可以用擂台赛模式。两两比较——工单 A 和工单 B,哪个更严重?每次比较都是一个独立的 Claude,只有比赛的“对阵表”和“当前在比哪一对”留在上下文里。这样虽然跑的次数多,但每次判断都干净、可靠。
抓你自己的坏习惯
有些错误你反复犯,就算写到 CLAUDE.md 配置文件里也还是犯。这时候可以造一个工作流:弄一列检查规则,每一条单独派一个“怀疑者”Claude 去检查。为了减少误报(觉得有问题其实没问题),再派一个“挑剔者”Claude 去审查这些规则本身。
反过来也行。把你最近几十次会话记录、代码评审意见都喂给工作流,让一堆并行的 Claude 聚类分析,找出“你老改的那些毛病”。然后对抗验证——这条规则真的能防止一次真实错误吗?最后把幸存下来的规则写回 CLAUDE.md。
调试:多个假设并行
调试最好的办法是想好几个独立假设,然后一个个验证。但如果你只有一个上下文窗口,Claude 容易偏心——它自己提出的假设,它自己验证的时候就会手下留情。工作流能从根本上防止这事:分别派不同的小 Claude 去从不同证据里生成假设。比如一个只看日志、一个只看代码文件、一个只看数据。每个假设生成之后,再派一组“陪审团”——有验证的、有反驳的——去审。
这招不只对代码有用。销售为什么三月下滑了?数据管道为什么挂了?任何事后分析都能用。
分类排队
每个团队都有处理不完的工单、bug 报告。一个分类工作流可以这样:先判断每个工单属于哪类,再去重(跟已经建了单的比),然后决定行动——能自动修的就自动修,修不了的升级给人。有一个有用的小技巧叫“隔离区”:那些要读不可信公开内容的 Claude,禁止它们执行高权限操作,这些操作由另外专门负责行动的 Claude 来做。配合 /loop 命令,可以让 Claude 一直跑这个分类流程。
探索多种方案
有些问题比较主观,比如设计或者起名字,没有绝对的对错,只有“好不好”。你可以让 Claude 先探索一大堆方案,再给一个评审 Claude 一套标准——什么算好方案。评审觉得某个方案达标了,任务就算完。或者用擂台赛按标准排序。
轻量级评估
你想测一下自己写的某个技能(skill)好不好用。可以派不同的小 Claude 去执行同一个任务,再派比较 Claude 去对比它们的输出质量。每次比较都是一次独立评估。
智能选模型
造一个分类 Claude,让它先判断任务复杂度,再决定用哪个模型。比如“解释一下认证模块怎么工作的”——这个任务用哪个模型好?取决于认证模块有多少文件、代码库长啥样。分类 Claude 可以先去做调研,然后根据复杂度路由到 Claude Sonnet 或者 Claude Opus。
什么时候别用
工作流很新,有些时候特别好使,但不需要每个任务都用。它会明显多用很多 tokens。普通编码任务,你先问问自己——真需要这么多计算资源吗?比如大部分日常改代码,不需要搞五个评审员在那挑刺。
几个小技巧
- 详细提示:提示词越具体、越接近上面说的那些模式,效果越好。
- 小任务也能用:不一定是大事才值得。你可以让它“快速做个对抗验证,看看我这个假设靠不靠谱”。
- 配合 /goal 和 /loop:对于能重复的任务(分类、研究、验证),用 /loop 定时跑,用 /goal 设一个硬性的完成条件。
- 设置 token 预算:你可以明确告诉工作流“用 10k tokens”,它会自己控制在限额内。
- 保存和分享:在工作流菜单按 s 就能保存。文件存在 ~/.claude/workflows 目录,或者通过技能(skill)分发。放技能里的时候,把工作流文件放技能文件夹,在技能配置文件里引用。
为了更灵活,你可以提示 Claude 把这些工作流当作模板,而不是必须逐字照搬的脚本。
动态工作流是扩展 Claude Code 能力的新路子。把它当成一个起点,怎么用得最好还在探索中。
作者:Thariq Shihipar 和 Sid Bidasaria(Anthropic 技术团队成员,负责 Claude Code)。原文发表于 X 平台。
-