深度拆解:AI Agent Harness 的 12 個核心組件 (The Anatomy of an Agent Harness)
原始來源與檔名:20260512_2026-05-12T093114+0800-深度拆解:AI Agent Harness 的构造【译】.md
來源:[[@dotey]] (原作者 [[@akshay_pachaar]]) / X (Twitter) — 2026-04-06
原始檔名:2026-05-12T093114+0800-深度拆解:AI Agent Harness 的构造【译】.md
NAPKIN | 餐巾紙
餐巾紙公式
AI Agent ≠ LLM Agent = LLM (CPU) + Context (RAM) + Tools (I/O Drivers) + Harness (Operating System) Harness = Orchestration Loop + Memory + State + Safety Guardrails
為什麼你在本地跑的 LangChain Demo 很酷,放進生產環境卻總是崩潰?因為模型沒有變,是你外圍的「腳手架 (Harness)」太脆弱。Harness 是包裹在模型外的一套作業系統,負責管理上下文、處理錯誤、驗證結果與調用工具。它解決了模型的失憶、幻覺與執行中斷。隨著模型變強,Harness 會變薄,但它永遠不會消失。
一句話
本文深度解剖了Anthropic, OpenAI, LangChain 都在建構的底層架構:AI Agent Harness(腳手架/治理框架)。文章將 Harness 拆解為 12 個核心模塊(編排循環、工具、記憶、上下文管理、錯誤處理、護欄等),並對比了 Claude Code, LangGraph, CrewAI 等框架的設計哲學。作者指出,「如果你不是模型本身,那你就是 Harness」,且強大的 Harness 設計能讓相同模型在基準測試中的排名產生 20 名以上的巨大差異。
餐巾紙草圖
[The 12-Component Agent Harness Architecture]
[ User Input ]
|
[ Prompt Construction ] <--- [ Context Management (Compression/JIT) ] <--- [ Memory (L1/L2/L3) ]
|
[ Orchestration Loop (ReAct) ] <--- [ Guardrails & Safety ]
|
[ LLM Inference ] -> Output Parsing
|
[ Tool Execution (Sandbox) ] ---> [ State Management / Error Handling ]
|
[ Verification Loops (LLM-as-judge) ] ---> Loop back to Orchestration
ROUND 1: SKELETON | 骨架掃描
“這篇文章在說什麼”
- 定義: “如果你不是模型本身,那你就是 Harness”。Harness 就像大模型的作業系統(馮·諾依曼架構中的 OS)。
- 工程三層次: 提示詞工程 (Prompt) -> 上下文工程 (Context) -> Harness 工程 (架構與生命週期管理)。
- 12 個核心組件:
- 編排循環: ReAct (Thought-Action-Observation) 的心臟,管理回合切換。
- 工具: 模型的雙手,在沙箱中執行並返回格式化結果。
- 記憶: 分為短期與長期。Agent 行動前必須驗證記憶與現實是否相符。
- 上下文管理: 對抗「上下文腐爛」。透過壓實 (Compaction)、即時檢索與子智能體委託。
- 提示詞構建: 層級化組裝 (系統 > 工具 > 歷史 > 用戶)。
- 輸出解析: 依賴原生 tool_calls 與 Pydantic 模式約束。
- 狀態管理: 存檔點 (Checkpointing) 讓中斷可恢復。
- 錯誤處理: 分流臨時、可恢復、需人為干預與意外錯誤,避免滾雪球效應。
- 護欄與安全: 模型決定想做什麼,Harness 決定允許做什麼。
- 驗證循環: 基於規則、視覺截圖或 LLM 作為裁判進行自我驗證。
- 子智能體編排: 支援 Clone, Teammate, Worktree 等多種協作模式。
- 協同進化原則: 腳手架會隨著模型變強而變薄(拆除冗餘),但必須動態更新以匹配模型的新能力。
ROUND 2: DISSECTION | 血肉解剖
“憑什麼這麼說”
核心論證鏈
- 模型只是運算單元,Harness 決定了生產力: 作者引用 TerminalBench 2.0 的數據,證明相同模型在更換 Harness 架構後,排名能狂升 25 名。這徹底粉碎了「只要模型夠強,一切都能解決」的迷思。大語言模型本質上是「無狀態」的,必須靠 Harness 來維持其時間連續性與執行連貫性。
- 對抗「上下文腐爛 (Context Rot)」是核心挑戰: 模型存在「Lost in the Middle」的物理缺陷。優秀的 Harness 不會無腦地把歷史記錄全塞進 Prompt,而是採用 Observation masking (隱藏舊輸出) 或 即時檢索 (如使用
grep代替加載全文)。這是區分「玩具」與「生產級 Agent」的分水嶺。 - 驗證與護欄的物理隔離: Anthropic 的設計哲學非常精闢:「模型決定想做什麼,但 Harness 決定允許做什麼」。把權限檢查硬編碼在 Harness 層(例如攔截特定的 Bash 命令),遠比在 Prompt 裡懇求模型「請不要刪除檔案」要可靠一萬倍。
關鍵證據
- 直接解剖了當前最前沿的架構(Claude Code、OpenAI Agents SDK、LangGraph),並比較了它們在「狀態管理」與「上下文壓縮」上的具體實作差異。這種橫向對比展現了極高的工程視野。
邊界條件
- 作者提醒,Harness 設計有七大決策點(如單/多智能體、ReAct/先規劃、驗證機制等)。沒有一體適用的完美 Harness。架構師必須根據業務容錯率,在「執行速度」與「安全護欄」之間做出取捨。
ROUND 3: SOUL | 靈魂提取
“還能怎么用”
- 知識連結: 本文與《Agent Harness Engineering》互為表裡。前者強調了「棘輪機制」等宏觀心法,本文則給出了微觀的 12 模塊解剖圖。這兩篇文章構成了一套完整的 Agent OS 系統設計教科書。
- 深層洞見: “建筑脚手架是临时性的基础设施…房子盖好后,脚手架是要拆除的。” (Scaffolding is temporary infrastructure… once the house is built, the scaffolding must be removed.) 這揭示了 AI 工程師的宿命。今天辛苦寫的記憶壓縮算法,明天可能會因為 GPT-6 的無限原生視窗而作廢。工程師必須學會寫「可拋棄的代碼」,隨時準備重構 Harness。
- 行動呼籲: 檢視你自己寫的 AI 應用或腳本。它具備「狀態存檔 (Checkpointing)」和「錯誤重試分流」機制嗎?如果在第 8 步 API 超時,它能從第 8 步恢復,還是必須從頭來過?補齊這兩個模塊,你的玩具就能進化為生產級工具。