Claude Code 動態工作流:讓 AI 自己寫 Harness,這事靠譜嗎

作者:Feisky
日期:2026年6月3日 下午7:54
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

Claude Code動態工作流:AI自己寫調度腳本,解決單Agent退化問題

整理版摘要

呢篇文章係由Anthropic工程師Thariq ShihiparSid Bidasaria撰寫,再由Feisky編譯整理。文章主要講Claude Code嘅動態工作流功能,背景係單Agent喺長時間運行、大規模並行同對抗性驗證任務上,會出現偷懶、自我偏愛同目標漂移呢三種退化模式。Anthropic之前已經針對特定任務整咗定製Harness,而家佢哋將呢個能力泛化,令Claude Code可以自己寫調度邏輯。

動態工作流嘅核心係用獨立子Agent各自佔一個乾淨嘅上下文窗口,由一個確定性嘅JavaScript腳本調度佢哋嘅執行順序。文章介紹咗六種基本調度模式:分類路由、扇出合併、對抗驗證、生成過濾、錦標賽模式同循環到完成,仲可以組合使用。實際應用包括大規模遷移重構、深度驗證、排序、規則遵守、根因分析同大規模分流等。

不過動態工作流消耗token較多,適合複雜高價值任務,日常簡單編程就唔需要用。開啓方法係喺Prompt要求或使用觸發詞ultracode,仲可以保存腳本重用。總體而言,對於探索性任務,讓Claude自己決定調度方式能發現新拆法,但對於熟悉任務,靜態工作流更可控。作者亦提到呢種Harness可能只係過渡,未來模型夠強就會內化呢啲邏輯。

  • 結論:動態工作流有效解決單Agent喺複雜任務嘅退化問題,尤其適合可拆分並行同需要驗證嘅場景
  • 方法Claude Code根據任務自動生成JavaScript調度腳本,用獨立子Agent分工,支援六種調度模式。
  • 差異:相比靜態工作流,動態工作流由AI自己決定拆分方式,更靈活但token消耗更大。
  • 啟發:對於探索性任務,讓AI自己設計工作流可能發現更優解;對於重複任務,可將動態工作流保存為靜態。
  • 可行動點:嘗試用「ultracode」觸發動態工作流,搭配具體模式名稱(如「扇出合併」「錦標賽模式」)描述需求,並用「/loop」同「/goal」控制執行。
值得記低
連結 claude.com

原文:A harness for every task: dynamic workflows in Claude Code

Anthropic官方博客,詳細介紹動態工作流嘅設計同應用

連結 code.claude.com

動態工作流文檔

Claude Code官方文檔,包含用法同配置

筆記 x.com

前作:Bun 重寫(Jarred Sumner)

Bun從Zig重寫成Rust嘅工作流案例

整理重點

單Agent有咩問題?

Claude Code默認係單Agent模式,一個上下文窗口搞定規劃同執行。對於大部分編程任務已經夠用,但喺長時間運行、大規模並行同對抗性驗證嘅場景,會出現三種退化模式。

偷懶:叫佢做一輪安全審查,50個檢查項查到20個就話完成。

自我偏愛:叫佢評判自己嘅產出,佢自然傾向俾好評,嚴格驗證場景下係致命。

目標漂移:上下文壓縮係有損,每壓縮一次,原始需求嘅邊緣條件同約束細節就丟一點。

呢三個問題唔係模型能力問題,而係單上下文窗口同時承擔規劃同執行帶來嘅架構侷限。

整理重點

動態工作流點樣運作?

動態工作流嘅核心係用獨立子Agent各自佔一個乾淨嘅上下文窗口,每個子Agent只做一件事,由一個確定性嘅JavaScript腳本調度佢哋嘅執行順序同依賴關係。

文章介紹咗六種基本調度模式,可以組合使用:

  1. 1 分類路由:一個分類Agent判斷任務類型,分發俾唔同處理Agent。
  2. 2 扇出合併:將任務拆成好多小步,每個小步一個獨立Agent,最後一個合併Agent匯總結果。咁樣每個子Agent有乾淨上下文,互不污染。
  3. 3 對抗驗證:每個生成Agent配一個獨立驗證Agent,專門挑剔,直接針對自我偏愛問題。
  4. 4 生成過濾:先大量生成,再按標準篩選去重,只留通過驗證嘅。
  5. 5 錦標賽模式:N個Agent用唔同策略做同一件事,兩兩比較淘汰,留低贏家。
  6. 6 循環到完成:唔設固定輪次,一直跑到滿足停止條件為止。

例如可以先用扇出,每個分支內部做對抗驗證,合併時再跑一輪錦標賽揀最優方案。

整理重點

邊啲場景最啱用?

原文列咗唔少場景,以下係幾個實用例子

大規模遷移同重構BunZig重寫成Rust就用咗工作流,每個修改點一個獨立Agent,避免交叉污染。

深度驗證:技術文章嘅事實性聲明,每個聲明派一個子Agent去核實,仲可以驗證信息源嘅可靠性。

排序:對1000條工單按嚴重程度排序,用錦標賽模式兩兩比較,比較判斷比絕對評分可靠。

規則遵守:用工作流做驗證層,一條規則一個驗證Agent,用懷疑論者視角檢查違規。

根因分析:分別從日誌、文件變更、數據狀態生成獨立假設,每個假設面對驗證者同反駁者,避免單Agent認定假設一路追。

大規模分流:對每條工單做分類、去重、甚至自動修復,仲有「隔離區」設計模式,讀寫分離,避免prompt injection。

整理重點

點樣用先有效?

開啟動態工作流有兩種方法:直接喺Prompt要求Claude創建工作流,或者用觸發詞ultracode。描述調度模式要具體,直接講「用扇出合併」或者「對抗驗證」。

原文俾咗幾個實用嘅Prompt示例,可以參考:

實際Prompt示例 text
• 呢個測試大概50次跑掛一次。用工作流復現佢,形成競爭性假設,唔揾到經得起驗證嘅根因唔準停。
• 用工作流掃我最近50個session,揾到我反覆在糾正嘅模式,把重複出現嘅提煉成CLAUDE.md規則。
• 拎我嘅商業計劃,用工作流讓唔同Agent分別從投資人、客戶、競爭對手嘅視角撕佢。
• 呢個文件夾有80份簡歷,用工作流按後端崗位排名,前10名交叉驗證一遍。先用AskUserQuestion問我評分標準。
• 用工作流將我哋嘅User模型全局重新命名成Account。

對於可重複嘅工作流,可以搭配/loop設置定期執行,/goal設置硬性完成條件。工作流好容易跑飛,喺Prompt加一句「用10k token」可以限制消耗。運行時按s可以保存腳本,存到~/.claude/workflows或者通過Skill分發俾團隊。

整理重點

最後諗一諗

三個月前《點解單Agent搞唔掂複雜應用?》講嘅Generator-Evaluator模式需要人手動搭建,三個Agent跑6個鐘花200美金。而家動態工作流將「搭建Harness」呢件事都交俾Claude Code自己。

對於已經有經驗嘅任務類型,自己寫靜態工作流更可控;

對於探索性任務,讓Claude Code自己決定調度方式確實能發現你冇諗到嘅拆法。

兩者唔矛盾,動態工作流可以保存落嚟變成靜態嘅。

題記:呢篇文係編譯自 Anthropic 官方博客《A harness for every task: dynamic workflows in Claude Code》[1]》,由 Anthropic 工程師 Thariq Shihipar 同 Sid Bidasaria 寫嘅。

Claude Code 嘅預設模式係單 Agent,一個上下文窗口搞掂計劃同執行。大多數編程任務咁就夠好用了。

但係都有好多情況你點最佳化都做唔好。單 Agent 喺長時間運行、大規模並行、需要對抗性驗證嘅任務上,有三個已知嘅退化模式:

第一個係偷懶。叫佢做一輪安全審查,50 個檢查項查到 20 個就話完成咗。呢個唔係幻覺,而係 Agent 喺長上下文裏面嘅行為退化。第二個係自我偏愛。叫佢評判自己嘅產出,佢自然傾向俾好評,需要嚴格驗證嘅情況底下呢個係致命嘅。第三個係目標漂移。上下文壓縮係有損嘅,每次壓縮一次,原始需求裏面嘅邊緣條件、約束細節就會丟咗啲。時間耐咗之後,Agent 正在優化嘅目標可能已經偏離咗你最初俾佢嘅任務。

呢三個問題唔係模型能力問題,而係單上下文窗口同時承擔計劃同執行帶嚟嘅架構侷限。Anthropic 明顯都好清楚呢點,所以之前陸續搞咗 Research、安全審計、Agent Teams、Code Review 呢啲定製 Harness,每個都係針對特定任務類型寫死咗嘅調度邏輯。

上個禮拜佢哋將呢個能力泛化咗:Claude Code 而家可以自己寫調度邏輯,針對當前任務即時生成編排腳本,即係 Dynamic Workflows。

工作原理

動態工作流嘅核心思路係:用獨立嘅子 Agent 各自佔一個乾淨嘅上下文窗口,每個子 Agent 只做一件事,由一個確定性嘅 JavaScript 腳本來調度佢哋嘅執行順序同依賴關係。

圖片

動態 vs 靜態:分別喺邊

之前用 Claude Agent SDK 或者 claude -p 嚟編排多個 Claude Code 實例,本質上係靜態工作流。你要提前寫好腳本,考慮各種邊界情況,寫出嚟嘅嘢往往比較通用。

動態工作流唔一樣。Claude Code 自己睇任務,自己寫調度腳本,針對當前呢一個具體任務量身定製。Opus 4.8 嘅能力已經足夠令佢自己寫出高質量嘅 Harness。

圖片

我自己試咗一下,感受係:對於啲你本來就知道點樣拆分嘅任務,靜態工作流更可控。但係對於『我大概知道要做啲咩,但唔確定最優嘅拆分方式』嘅情況,令 Claude Code 自己決定點樣調度確實省事。

六種調度模式

Claude Code 喺構建動態工作流嘅時候會組合使用幾種基本模式:

圖片

最基礎嘅係分類路由,一個分類 Agent 判斷任務類型,分發俾唔同嘅處理 Agent。亦都可以反過來,喺最後加一個分類器決定輸出格式。

用得最多嘅係扇出合併。將任務拆成好多小步,每個小步一個獨立 Agent,最後一個合併 Agent 彙總結果。好處係每個子 Agent 有乾淨嘅上下文,互相唔會污染。

對抗驗證係直接針對自我偏愛問題嘅解法:每個生成 Agent 配一個獨立嘅驗證 Agent,專門揾毛病。生成過濾類似,先大量生成,再按標準篩選去重,只留通過驗證嘅。

然後係錦標賽模式。N 個 Agent 用唔同策略做同一件事,兩兩比較淘汰,留下贏家。最後係循環到完成,唔設固定輪次,一直做到滿足停止條件為止。

呢啲模式可以組合。例如先扇出,每個分支內部做對抗驗證,合併時再跑一輪錦標賽揀最佳方案。

實際上可以做到啲咩

咁呢啲模式實際上可以用喺邊?原文列咗唔少情況,我揀幾個覺得實用嘅講。

大規模遷移同重構

Bun 由 Zig 重寫成 Rust 就用咗工作流。核心思路係:將需要改嘅地方拆成獨立單元(調用點、失敗嘅測試、模塊),每個單元派一個子 Agent 喺獨立嘅 worktree 裏面修,另一個 Agent 做對抗性 Review,通過咗再合併。

呢個情況我覺得價值最大。平時做大規模重構最頭痛嘅就係改嚇改嚇上下文冇咗,或者改咗 A 唔記得 B 都要跟住改。每個修改點一個獨立 Agent,自然避免咗交叉污染。

深度驗證

圖片

如果你寫咗一篇技術文章,裏面有大量事實性聲明,可以用工作流叫一個 Agent 先將所有事實性聲明提取出嚟,然後每個聲明派一個子 Agent 去核實。仲可以再加一層,驗證核實 Agent 引用嘅資訊源本身係咪可靠。

排序

圖片

對定性內容排序(例如按 Bug 嚴重程度排 1000 條工單),單次 Prompt 嘅質量會隨數量急劇下降。工作流嘅做法係用錦標賽模式,兩兩比較。比較判斷比絕對評分可靠得多,而且每次比較係一個獨立 Agent,確定性嘅循環邏輯只負責維護對陣表。

規則遵守

圖片

有時候明明喺 CLAUDE.md 裏面寫咗規則,但 Claude Code 做嚇做嚇就唔記得咗。呢個時候,就可以用工作流做一個驗證層:一條規則一個驗證 Agent,每個驗證 Agent 用懷疑論者嘅角度去檢查係咪違規。

反過來都得:掃最近嘅 session 日誌同 Code Review 評論,揾反覆出現嘅糾正,聚類、驗證(呢條規則真係防得住之前嘅錯誤嗎?),然後將確認有效嘅提煉成新嘅 CLAUDE.md 規則。

根因分析

除錯最怕嘅係認定咗一個假設就一路追到底。單 Agent 喺一個上下文窗口裏面特別容易犯呢個錯誤。工作流可以結構性地避免:分別從日誌、檔案變更、數據狀態生成獨立假設,每個假設面對一組驗證者同反駁者。

呢個模式唔只適用於程式碼。銷售數據下降、數據管道故障、任何需要事後回顧嘅情況都能用。

大規模分流

圖片

每個團隊都有處理唔完嘅支援佇列。工作流可以對每條工單做分類、去重(同已有嘅 ticket 對比)、嘗試自動修復或升級俾人。

呢度有個有意思嘅設計模式叫隔離區:讀不可信外部內容嘅 Agent 唔允許執行高權限操作,高權限操作由另一個 Agent 負責。讀同寫分離,避免 prompt injection 導致嘅越權。

幾時唔需要工作流

動態工作流消耗嘅 token 明顯更多,適合複雜、高價值嘅任務。

日常寫程式碼,問自己一個問題:呢件事真係需要 5 個 Reviewer 組成嘅評審團嗎?大多數常規編程任務可能並唔需要。

我嘅判斷標準係:如果你喺 Prompt 裏面一句話描述清楚要做啲咩,而且做完之後你自己可以快速驗證結果,咁就唔需要工作流。需要工作流嘅情況通常有兩個特徵:任務可以被拆成獨立嘅並行單元,或者驗證成本高到你唔想自己一個個檢查。

用法同技巧

開啓動態工作流嘅方法有兩種:直接喺 Prompt 裏面要求 Claude 創建工作流,或者用觸發詞 ultracode

描述調度模式嘅時候要具體。唔係『用工作流做呢件事』就完咗,而係話俾 Claude Code 聽你想要咩嘢嘅驗證方式、咩嘢嘅並行策略。上面嗰六種模式嘅名可以直接用喺 Prompt 裏面。

對於可重複嘅工作流(分流、監控、驗證),搭配 /loop 設定定期執行,/goal 設定硬性完成條件。工作流好容易跑飛,喺 Prompt 裏面加一句『用 10k token』(大概一兩輪對話嘅量)就能限制消耗。

工作流運行時按 s 可以保存腳本,存到 ~/.claude/workflows 或者透過 Skill 分發俾團隊。

圖片
圖片

幾個實際嘅 Prompt 示例

原文俾咗一組示例 Prompt,我覺得比理論解釋更直觀:

  • • 呢個測試大概 50 次會死一次。用工作流復現佢,形成競爭性假設,唔揾到經得起驗證嘅根因唔準停。
  • • 用工作流掃我最近 50 個 session,揾到我反覆喺糾正嘅模式,將重複出現嘅提煉成 CLAUDE.md 規則。
  • • 拿我嘅商業計劃,用工作流令唔同 Agent 分別從投資人、客戶、競爭對手嘅角度撕爆佢。
  • • 呢個資料夾有 80 份簡歷,用工作流按後端崗位排名,前 10 名交叉驗證一遍。先用 AskUserQuestion 問我評分標準。
  • • 用工作流將我哋嘅 User 模型全局重新命名成 Account。

共同點好明顯:都係可以拆分成獨立嘅並行單元嘅任務,而且都需要某種形式嘅驗證或對抗。

寫喺最後

三個月前嘅《點解單 Agent 搞唔掂複雜應用?Anthropic 嘅 Harness 設計俾咗答案》,當時傾緊嘅係 Anthropic 用 Generator-Evaluator 模式做長時間全棧開發。嗰套架構需要人手動搭建,三個 Agent 跑 6 個鐘花 200 美金。

動態工作流嘅思路係將『搭建 Harness』呢件事都交俾 Claude Code 自己。唔再需要你預先諗好點樣拆分、點樣驗證、點樣合併,Claude 睇咗任務之後自己決定。

呢個係咪靠譜?講真,我嘅體感係:對於你已經有經驗嘅任務類型,自己寫靜態工作流更可控;對於探索性嘅任務,令 Claude Code 自己決定調度方式確實能發現一啲你諗唔到嘅拆法。兩者唔矛盾,動態工作流可以保存落嚟變成靜態嘅。

不過話說返轉頭,Harness 可能都好似 prompt engineering 咁,係大模型發展過程入面嘅一個中間狀態。模型唔夠強嘅時候需要人寫精巧嘅調度邏輯,需要多個 Agent 互相制衡先至可以將一件事做好;模型足夠強嘅時候,呢啲邏輯就會被內化。今日你仲喺度諗點樣編排子 Agent,或者下一代模型根本唔需要外部編排,自己就能喺內部完成任務分解同對抗驗證。當然,呢個『或者』到底要幾耐,冇人知道。


相關資源:

  • • 原文連結:https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code
  • • 動態工作流文件:https://code.claude.com/docs/en/workflows
  • • 前作:Bun 重寫(Jarred Sumner):https://x.com/jarredsumner/status/2060050578026189172

好啦,今日就傾到呢度。如果你都有探索 AI 編程同 AI Agent,歡迎關注 Feisky 公眾號,我會定期分享實踐入面嘅發現同踩坑經驗。


題記:本文編譯自 Anthropic 官方博客《A harness for every task: dynamic workflows in Claude Code[1]》,由 Anthropic 工程師 Thariq Shihipar 和 Sid Bidasaria 撰寫。

Claude Code 的默認模式是單 Agent,一個上下文窗口搞定規劃和執行。大多數編程任務這就足夠好用了。

但是也有很多場景你怎麼優化都跑不好。單 Agent 在長時間運行、大規模並行、需要對抗性驗證的任務上,有三個已知的退化模式:

第一個是偷懶。讓它做一輪安全審查,50 個檢查項查到 20 個就宣佈完成了。這不是幻覺,是 Agent 在長上下文裏的行為退化。第二個是自我偏愛。讓它評判自己的產出,它天然傾向於給好評,需要嚴格驗證的場景裏這是致命的。第三個是目標漂移。上下文壓縮是有損的,每壓縮一次,原始需求裏的邊緣條件、約束細節就丟一點。時間長了之後,Agent 在優化的目標可能已經偏離了你最初給它的任務。

這三個問題不是模型能力問題,是單上下文窗口同時承擔規劃和執行帶來的架構侷限。Anthropic 顯然也清楚這一點,所以之前陸續搞了 Research、安全審計、Agent Teams、Code Review 這些定製 Harness,每個都是針對特定任務類型寫死的調度邏輯。

上週他們把這個能力泛化了:Claude Code 現在可以自己寫調度邏輯,針對當前任務實時生成編排腳本,也就是 Dynamic Workflows。

工作原理

動態工作流的核心思路是:用獨立的子 Agent 各自佔一個乾淨的上下文窗口,每個子 Agent 只幹一件事,由一個確定性的 JavaScript 腳本來調度它們的執行順序和依賴關係。

圖片

動態 vs 靜態:區別在哪

之前用 Claude Agent SDK 或者 claude -p 來編排多個 Claude Code 實例,本質上是靜態工作流。你得提前寫好腳本,考慮各種邊界情況,寫出來的東西往往比較通用。

動態工作流不一樣。Claude Code 自己看任務,自己寫調度腳本,針對當前這一個具體任務量身定製。Opus 4.8 的能力已經足夠讓它自己寫出高質量的 Harness。

圖片

我自己試了一下,感受是:對於那些你本來就知道怎麼拆分的任務,靜態工作流更可控。但對於"我大概知道要做什麼,但不確定最優的拆分方式"的場景,讓 Claude Code 自己決定怎麼調度確實省事。

六種調度模式

Claude Code 在構建動態工作流時會組合使用幾種基本模式:

圖片

最基礎的是分類路由,一個分類 Agent 判斷任務類型,分發給不同的處理 Agent。也可以反過來,在最後加一個分類器決定輸出格式。

用得最多的是扇出合併。把任務拆成很多小步,每個小步一個獨立 Agent,最後一個合併 Agent 彙總結果。好處是每個子 Agent 有乾淨的上下文,互不污染。

對抗驗證是直接針對自我偏愛問題的解法:每個生成 Agent 配一個獨立的驗證 Agent,專門挑毛病。生成過濾類似,先大量生成,再按標準篩選去重,只留通過驗證的。

然後是錦標賽模式。N 個 Agent 用不同策略做同一件事,兩兩比較淘汰,留下贏家。最後是循環到完成,不設固定輪次,一直跑到滿足停止條件為止。

這些模式可以組合。比如先扇出,每個分支內部做對抗驗證,合併時再跑一輪錦標賽選最優方案。

實際能幹什麼

那這些模式實際能用在哪?原文列了不少場景,我挑幾個覺得實用的說。

大規模遷移和重構

Bun 從 Zig 重寫成 Rust 就用了工作流。核心思路是:把需要改的地方拆成獨立單元(調用點、失敗的測試、模塊),每個單元派一個子 Agent 在獨立的 worktree 裏修,另一個 Agent 做對抗性 Review,通過了再合併。

這個場景我覺得價值最大。平時做大規模重構最頭疼的就是改着改着上下文丟了,或者改了 A 忘了 B 也要跟着改。每個修改點一個獨立 Agent,天然避免了交叉污染。

深度驗證

圖片

如果你寫了一篇技術文章,裏面有大量事實性聲明,可以用工作流讓一個 Agent 先把所有事實性聲明提取出來,然後每個聲明派一個子 Agent 去核實。還可以再加一層,驗證核實 Agent 引用的信息源本身是否可靠。

排序

圖片

對定性內容排序(比如按 Bug 嚴重程度排 1000 條工單),單次 Prompt 的質量會隨數量急劇下降。工作流的做法是用錦標賽模式,兩兩比較。比較判斷比絕對評分可靠得多,而且每次比較是一個獨立 Agent,確定性的循環邏輯只負責維護對陣表。

規則遵守

圖片

有時候明明在 CLAUDE.md 裏寫了規則,但 Claude Code 跑着跑着就忘了。這時候,就可以用工作流做一個驗證層:一條規則一個驗證 Agent,每個驗證 Agent 用懷疑論者的視角去檢查是否違規。

反過來也行:掃最近的 session 日誌和 Code Review 評論,找反覆出現的糾正,聚類、驗證(這條規則真的能防住之前的錯誤嗎?),然後把確認有效的提煉成新的 CLAUDE.md 規則。

根因分析

調試最怕的是認定了一個假設就一路追到底。單 Agent 在一個上下文窗口裏特別容易犯這個錯誤。工作流可以結構性地避免:分別從日誌、文件變更、數據狀態生成獨立假設,每個假設面對一組驗證者和反駁者。

這個模式不只適用於代碼。銷售數據下降、數據管道故障、任何需要事後覆盤的場景都能用。

大規模分流

圖片

每個團隊都有處理不完的支持隊列。工作流可以對每條工單做分類、去重(跟已有的 ticket 對比)、嘗試自動修復或升級給人。

這裏有個有意思的設計模式叫隔離區:讀不可信外部內容的 Agent 不允許執行高權限操作,高權限操作由另一個 Agent 負責。讀和寫分離,避免 prompt injection 導致的越權。

什麼時候不需要工作流

動態工作流消耗的 token 顯著更多,適合複雜、高價值的任務。

日常寫代碼,問自己一個問題:這件事真的需要 5 個 Reviewer 組成的評審團嗎?大多數常規編程任務可能並不需要。

我的判斷標準是:如果你能在 Prompt 裏一句話描述清楚要做什麼,而且做完之後你自己能快速驗證結果,那就不需要工作流。需要工作流的場景通常有兩個特徵:任務可以被拆成獨立的並行單元,或者驗證成本高到你不想自己一個個檢查。

用法和技巧

開啓動態工作流的方法有兩種:直接在 Prompt 裏要求 Claude 創建工作流,或者用觸發詞 ultracode

描述調度模式的時候要具體。不是”用工作流做這件事”就完了,而是告訴 Claude Code 你想要什麼樣的驗證方式、什麼樣的並行策略。上面那六種模式的名字可以直接用在 Prompt 裏。

對於可重複的工作流(分流、監控、驗證),搭配 /loop 設置定期執行,/goal 設置硬性完成條件。工作流很容易跑飛,在 Prompt 里加一句“用 10k token”(大概一兩輪對話的量)就能限制消耗。

工作流運行時按 s 可以保存腳本,存到 ~/.claude/workflows 或者通過 Skill 分發給團隊。

圖片
圖片

幾個實際的 Prompt 示例

原文給了一組示例 Prompt,我覺得比理論解釋更直觀:

  • • 這個測試大概 50 次跑掛一次。用工作流復現它,形成競爭性假設,不找到經得起驗證的根因不許停。
  • • 用工作流掃我最近 50 個 session,找到我反覆在糾正的模式,把重複出現的提煉成 CLAUDE.md 規則。
  • • 拿我的商業計劃,用工作流讓不同 Agent 分別從投資人、客戶、競爭對手的視角撕它。
  • • 這個文件夾有 80 份簡歷,用工作流按後端崗位排名,前 10 名交叉驗證一遍。先用 AskUserQuestion 問我評分標準。
  • • 用工作流把我們的 User 模型全局重命名成 Account。

共同點很明顯:都是可以拆分成獨立並行單元的任務,並且都需要某種形式的驗證或對抗。

寫在最後

三個月前的《為什麼單 Agent 搞不定複雜應用?Anthropic 的 Harness 設計給出了答案》,當時聊的是 Anthropic 用 Generator-Evaluator 模式做長時間全棧開發。那套架構需要人手動搭建,三個 Agent 跑 6 小時花 200 美元。

動態工作流的思路是把"搭建 Harness"這件事也交給 Claude Code 自己。不再需要你預先想好怎麼拆分、怎麼驗證、怎麼合併,Claude 看了任務之後自己決定。

這是不是靠譜?說實話,我的體感是:對於你已經有經驗的任務類型,自己寫靜態工作流更可控;對於探索性的任務,讓 Claude Code 自己決定調度方式確實能發現一些你沒想到的拆法。兩者不矛盾,動態工作流可以保存下來變成靜態的。

不過話說回來,Harness 可能也像 prompt engineering 一樣,是大模型發展過程中的一箇中間狀態。模型不夠強的時候需要人寫精巧的調度邏輯,需要多個 Agent 互相制衡才能把一件事做好;模型足夠強了,這些邏輯就會被內化。今天你還在想怎麼編排子 Agent,也許下一代模型根本不需要外部編排,自己就能在內部完成任務分解和對抗驗證。當然,這個"也許"到底要多久,沒人知道。


相關資源:

  • • 原文連結:https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code
  • • 動態工作流文檔:https://code.claude.com/docs/en/workflows
  • • 前作:Bun 重寫(Jarred Sumner):https://x.com/jarredsumner/status/2060050578026189172

好了,今天就聊到這兒。如果你也在探索 AI 編程和 AI Agent,歡迎關注 Feisky 公眾號,我會定期分享實踐中的發現和踩坑經驗。