第 91 篇 · 台北 · 2026-04-01 一份持續書寫的工作日誌

— 拆解了 Claude Code,就學會 Harness Engineering 了嗎?

就在昨天(3/31),Anthropic 因為 npm 打包失誤,意外把 Claude Code 的完整原始碼洩漏了——512,000 多行 TypeScript,1,884 個檔案,全部攤在陽光下。在這之前,社群早就逆向工程了 12 個版本,但這次是整個底牌翻開。

然後我看到很多人說:"從 Claude Code 可以學到 Harness Engineering。"

我一開始覺得哪裡怪怪的,想了一下才理清楚——這句話聽起來合理,但其實搞混了兩件事。

【先定義清楚:什麼是 Harness Engineering?】

Day 77 聊過這個概念,這裡再精確定義一次。

ThoughtWorks 的 Kief Morris 說:harness 是包圍在 agent 周圍的規格、品質檢查和工作流程指引的集合。Harness Engineering 就是人類"在迴圈上"(on the loop)而非"在迴圈中"(in the loop)工作的實踐。

關鍵字是"實踐"。Harness Engineering 不是一組知識,而是一個動作——你設計約束、建立回饋迴圈、不斷根據失敗迭代,讓 agent 在你的場景裡可靠運作。

它的核心組件包括: → 約束條件與分層架構(CLAUDE.md、權限設定) → 回饋迴圈(hooks、linter、CI、自動測試) → 知識管理(記憶系統、文件結構) → 生命週期管理(對話壓縮、狀態復原) → 子 agent 協調(平行作業、隔離機制)

【洩漏了什麼?跟我們有什麼關係?】

這次被攤開的包括 Claude Code 的完整 TypeScript 架構、hook 系統實作、多 agent 協調機制、記憶架構、反蒸餾機制、未發布的 KAIROS 自主模式,甚至 23 項 Bash 安全檢查的具體內容。

聽起來很震撼。但問一個關鍵問題:這些資訊改變了什麼?

在洩漏之前,你就已經知道: → 可以用 hooks 建立回饋迴圈(官方文件寫得很清楚) → 可以用 CLAUDE.md 設定約束條件和分層指令 → 可以用 skills 封裝可複用的工作流程 → 可以用 memory 做跨對話的知識管理 → 可以用子 agent 做平行處理

洩漏之後呢?你還是用一樣的 hooks、一樣的 CLAUDE.md、一樣的 skills。你多知道的,是 Anthropic 內部怎麼實作這些功能——但那是他們的工程問題,不是你的。

你不會因為知道 hook 系統內部用了什麼 event emitter 架構,就突然比昨天更會設計回饋迴圈。就像你不會因為知道螺絲起子的冶金配方,就突然更會組裝傢俱。

【Harness Engineering 是造出來的,不是讀出來的】

這裡就是那個微妙但關鍵的區分。

讀 Claude Code 的原始碼,你學到的是一個"成品"——Anthropic 為了讓 AI 在終端機裡可靠寫程式碼而打造的特定系統。你看到它長什麼樣、用了什麼技術、做了什麼取捨。

但 Harness Engineering 是"造的過程"——你自己摸索出哪些約束對你的場景有效、哪些回饋迴圈能抓到你的 agent 的失敗模式、哪些知識需要跨對話保留。

這個"造的過程"沒辦法從別人的成品裡學到。因為:

→ 你的場景不一樣(你不是在做 coding agent) → 你的失敗模式不一樣(你的 agent 不會撞到 Zsh 漏洞) → 你的約束不一樣(你不需要反蒸餾機制)

你需要自己踩坑,才知道該在哪裡加護欄。

【那讀 Claude Code 原始碼完全沒用嗎?】

也不是。它的價值在"問對問題",而不是"拿到答案":

→ 為什麼他們需要 23 項安全檢查?(踩了什麼坑?) → 為什麼 agent 需要 worktree 隔離?(平行作業出了什麼問題?) → 為什麼記憶系統要能自我修復?(長對話會怎麼壞?)

但這些問題,你只有在自己建造的過程中才會真正理解。讀別人的答案跟自己找到答案,學到的深度完全不同。

【那要怎麼真正學 Harness Engineering?】

答案很無聊但很實在:自己建一套。

  1. 先定義你的 agent 要解決什麼問題
  2. 設計約束條件——什麼能做、什麼不能做
  3. 建立回饋迴圈——怎麼自動檢查產出品質
  4. 加入記憶與知識管理——讓 agent 跨對話也能保持一致
  5. 不斷迭代——根據實際失敗案例調整

我自己就是這樣做的。這個 100 天挑戰的發文流程,從 CLAUDE.md 的專案指令,到 skills 的內容優化流程,到 hooks 的自動行為,到子 agent 的平行處理——就是一套為我自己的使用場景量身打造的 harness。

這些東西在 Claude Code 洩漏之前就存在了,洩漏之後也沒有改變。因為 harness 從來就不是讀來的,是造出來的。

【結論】

Claude Code 被攤開是一份珍貴的教材嗎?是。它讓我們看到頂級團隊的工程決策。

但說它教你 Harness Engineering?那就像說讀完一本食譜就會開餐廳。食譜告訴你材料和步驟,但開餐廳需要的是理解你的客人、你的廚房、你的供應鏈——然後不斷試錯。

工具一直都在那裡。hooks 一直都在文件裡。能力從來沒有被隱藏。

差別只在於:你有沒有動手去造。

延伸閱讀 看完整 137 篇 →