Claude Code · 2026-06-02 · 实操篇

一个任务,
配一套 harness

上一篇讲了 Dynamic Workflows 是什么。这一篇讲怎么用:长任务交给一个 Claude 从头干到尾,它会偷懒、会偏袒自己、会跑偏。把活拆成各自独立上下文的子 agent,按几种固定套路并行、对抗、淘汰——这才是 workflow 真正的用法。

1分类路由
2铺开合拢
3对抗验证
4生成筛选
5淘汰赛
6干到没活
GenAI Playbook · Claude Code 深度解析 · 六个 pattern × 三个失败模式
接着上一篇

前一篇讲「是什么」,
这一篇讲 「怎么用」

发布一周后,Claude Code 团队的 Thariq 和 Sid 又写了篇续篇。它不再解释 workflow 是什么,专讲哪几种套路反复好使、为什么长任务非得这么拆、哪些场景出乎意料地合适,以及——什么时候压根别用。

还没看「是什么」那篇?workflow 的本质(Claude 现写的 JS 编排脚本)、它和 Skill 的分界(谁持有 plan)、运行机制与硬限制、Bun 从 Zig 移植到 Rust 的旗舰案例——都在 《谁持有 Plan》 里。本篇默认你已经知道这些,不再重复。

开篇作者就把丑话说在前头:workflow 烧 token 多得多,只适合复杂、高价值的任务,而且最佳实践还在长。它不是万能锤——这句话,整篇都在反复强调。

“Keep in mind, best practices are still developing: dynamic workflows often use more tokens and are best suited for complex, high value tasks.”

— A harness for every task · claude.com/blog [官方]
为什么要拆

单个 context 跑长任务,
会犯的三个错

要懂那六个 pattern,得先懂它们在治什么病。默认 harness 干活时,规划和执行挤在同一个 context window 里——对很多编程任务这很好使,但碰上长时间跑、大规模并行、高度结构化或对抗性的任务,就会以三种方式塌掉。

Failure 01

Agentic laziness
偷懒

没干完就宣布干完了。50 项的安全审查,做到第 35 项就说「搞定」——剩下 15 项被它自己跳过了。

Failure 02

Self-preferential bias
自我偏袒

偏爱自己的产出。尤其让它拿着 rubric 去验证、评判自己刚做的东西时,它会下意识护着自己——既当运动员又当裁判。

Failure 03

Goal drift
目标漂移

跑了很多回合后,对原目标的忠实度一点点流失。compaction(上下文压缩)之后尤其严重,「别做 X」这类约束在一次次有损摘要里被丢掉。

解法是一句话:“Creating a workflow helps combat these by orchestrating separate Claude subagents with their own context windows and focused, isolated goals.”

— A harness for every task [官方]

偷懒——因为脚本拿着完整清单,循环不到末尾不算完,不靠模型自觉;偏袒——因为验证的是另一个独立 agent,不是自己;漂移——因为目标写在脚本里,不随 compaction 流失。三个 pattern 的根,都在这。

核心 · 交互

六个 pattern:Claude 搭 workflow 时反复用的套路

这六种可以组合着用——Claude 搭一个 workflow 时往往把它们拼起来。点一下,看每种套路的编排形状长什么样。

用例

一半的用例,根本不是写代码

作者特意说,要有创意地想 workflow 能用在哪——他发现「有时候在非技术工作上更有用」。下面这串,技术的非技术的混着来。

偏技术 非技术 / 跨职能

迁移与重构 技术

把任务拆成一串要逐个处理的东西——callsite、失败的测试、模块。每个改动开一个 agent 在自己的 worktree 里改,另一个 agent 对抗式审查,再 merge。Bun 从 Zig 到 Rust 就是这么干的(案例 nuance 见前作)。

深度研究 技术

自带的 /deep-research 就基于 workflow:铺开网搜、抓来源、对抗式验证每条 claim、合成带引用的报告。但不止网搜——也能从 Slack 上下文攒状态报告,或深挖代码库研究一个功能怎么实现的。

深度核查 技术

一份报告想把每条事实声明都查证、标出处:一个 agent 把所有声明拎出来,每条开一个子 agent 细查;甚至再加一个 agent 去检查查证者的来源够不够硬

排序 技术

1000+ 行塞进一个 prompt 排,质量会崩也塞不下。改用淘汰赛、两两比较的流水线,或并行分桶再合并。关键经验:成对比较比绝对打分可靠

根因调查 跨职能

让一批 agent 从不相交的证据各自生成假设——一个看日志、一个看文件、一个看数据,再过一组验证者和反驳者的面板。不只给代码用:销售(三月为什么掉单)、数据工程(pipeline 为什么挂)、任何复盘都行。

记忆与规则遵守 跨职能

有组规则 Claude 老是漏,哪怕写进 CLAUDE.md一条规则配一个 verifier agent 去查。反过来更妙——从最近 session 挖你反复纠正的点,对抗验证后蒸馏回 CLAUDE.md

探索与品味 跨职能

设计、起名这种「品味驱动」又能给 rubric 的活:让 Claude 探索一堆方案,给 review agent 一份「好方案长什么样」的 rubric,它觉得达标了就算完,也能用淘汰赛挑。

模型路由 技术

一个分类器 agent 决定用哪个模型。比如「解释 auth 模块怎么工作」该用哪个,取决于模块多少文件、代码库什么形状——分类器先调研,再路由到 Sonnet 还是 Opus

规模化分诊 Quarantine 隔离

处理不完的支持队列、bug 报告:一个 triage workflow 把每项分类、跟在跟的去重、再采取行动(尝试修复或升级给人)。这里有个安全 pattern 叫 quarantine(隔离)——读不可信公开内容的 agent,不许做高权限动作;高权限动作交给另一批专门负责行动的 agent。读和做分家,正是防 prompt injection 的结构性手段。配上 /loop 就能持续不断地分诊。(Evals 轻量评测也是同一路子:agent 在各自 worktree 跑出产物,再派比较 agent 拿 rubric 打分。)

什么时候别用

不是每件事,
都值得一个 5 人评审团

作者花了专门一节讲「别用」,态度很清楚:workflow 是新东西,很多场景能出奇效,但不是每个任务都需要,而且可能烧掉多得多的 token

⚠ 普通编程任务,先问自己一句

这真的需要更多算力吗?workflow 是用来把 Claude Code 推到你以前没法做的地方,不是给每件小事加码。作者举的例子很到位——

“most traditional coding tasks do not need a panel of 5 reviewers.”

用好的几个窍门

除了大任务,还能这么使

◇ Quick workflow

小任务也能开

不止大工程。可以让它做一次快速的对抗式审查——比如对一个假设挑挑刺,一句话的事。

◇ /loop + /goal

配着定时和硬目标

可重复的 workflow(triage、研究、验证)配 /loop 定时跑,配 /goal 设一个硬性的完成要求

◇ Token budget

给它封个顶

直接在 prompt 里写 "use 10k tokens" 之类,给这次任务的 token 用量设上限,免得失控。

◇ Save & Share

存下来、分享出去

菜单按 s 存,可 check 进 ~/.claude/workflows 或塞进 skill 分发。提示 Claude 把它当模板、而非必须逐字跑的脚本,灵活性更高。

两篇连起来看

逻辑是闭合的

前作回答「这东西是什么、为什么 plan 该交给代码」;本篇回答「拿到手怎么搭、怎么用、什么时候别用」。把两篇连起来,链条是闭合的:

因为单 context 跑长任务会偷懒、偏袒、漂移(本篇)
→  所以把 plan 从模型 context 搬进确定性脚本前作核心
→  搬进去之后,对抗验证 / 淘汰赛 / loop-until-dry / quarantine 才第一次从「指望模型记得」变成「代码强制执行」(本篇)

这正是 workflow 区别于「单纯并行跑更多 agent」的地方——它把怎么保证质量也写进了代码。