[AGENT] 26 分鐘閱讀OraCore 編輯部

駕馭工程:從「馬具」到「作業系統」,AI Agent 可靠性的終極密碼

Harness Engineering 是設計 AI Agent 外部控制框架的工程實踐,透過上下文工程、架構約束和垃圾回收,將不穩定的大模型轉變為可靠的生產系統。2026 年,決定 Agent 成敗的關鍵不是模型本身,而是包裹它的馬具。

分享 LinkedIn
駕馭工程:從「馬具」到「作業系統」,AI Agent 可靠性的終極密碼

引言:為什麼 GPT-5 還是會犯低級錯誤?

訂閱 AI 趨勢週報

每週精選模型發布、工具應用與深度分析,直送信箱。不定期,不騷擾。

不會寄垃圾信,隨時可取消。

你有沒有想過,為什麼最強大的 AI 模型也會莫名其妙地偏離軌道?

駕馭工程:從「馬具」到「作業系統」,AI Agent 可靠性的終極密碼

2025 年 8 月,OpenAI 內部一個小團隊開始了一個大膽的實驗:讓 Codex Agent 在空白倉庫中從零開始構建一個百萬行代碼的產品。最後,七個工程師透過 Agent 在五個月內完成了通常需要數年的工作——平均每名工程師每天合併 3.5 個 PR,項目進度隨著團隊擴大而加快,而非減慢。

但這個成就的代價不是更聰明的模型。實際上,整個項目的制約之一是「零行手動編寫的代碼」。成功的秘密隱藏在看不見的地方:包裹 Agent 的框架體系

這就是 Harness Engineering 的故事。

什麼是 Harness Engineering?

Harness Engineering(駕馭工程)是設計 AI Agent 外部控制與執行框架的工程實踐。如果 AI 模型是馬匹,那麼 Harness 就是騎手手中的韁繩、鞍具和一整套馴馬術——它決定了這匹馬去往何方、如何對待失控的時刻。

術語起源

這個概念由 HashiCorp 共同創辦人 Mitchell Hashimoto 在 2026 年 2 月正式命名。在他的文章《我的 AI 採納之旅》中,Hashimoto 將他的一個關鍵洞察命名為「Engineer the Harness」(工程化馬具):

「每當 Agent 犯錯時,不要寄希望於它下次做得更好。而是要工程化環境本身,使其無法再以同樣的方式犯同樣的錯誤。」

這一簡單的原則點燃了整個行業的思想火花。幾週後,OpenAI 發表了關於 Harness Engineering 的詳細報告,Anthropic 將其融入 Claude Code 的核心架構,Google DeepMind 用它優化了代碼生成流程。

為什麼叫「馬具」?

Harness 這個詞本身來自騎馬術語——它是連接騎手和馬匹的工具組。隱喻恰當得令人驚訝:

  • 馬 = 大模型 — 原始能力強大但性情不定
  • 騎手 = 開發者或使用者 — 希望控制方向和速度
  • 馬具 = Harness Engineering — 使控制成為可能的工程系統

沒有馬具,再強的馬也無法拉車。沒有馬具,再聰明的 Agent 也無法在生產環境中穩定運行。

三次演進:從 Prompt 到 Harness

AI 工程在過去三年經歷了三個截然不同的時代。理解這三次演進,你才能理解為什麼 Harness Engineering 在 2026 年會成為行業焦點。

駕馭工程:從「馬具」到「作業系統」,AI Agent 可靠性的終極密碼

第一代:Prompt Engineering(2023-2024)

時代特徵:魔法咒語

在 ChatGPT 推出的早期,開發者們迷上了 Prompting。經典思路是:寫得更聰明的指示,就能從模型中榨取更多智慧

  • 「讓我們一步步思考…」
  • 「你是一個資深軟體工程師…」
  • 「輸出 JSON 格式…」

這些技巧有效,但效果上限很低。當面對複雜、多步驟的任務時,Prompt Engineering 的局限性浮現:

  1. 上下文窗口詛咒 — 無論 Prompt 多詳細,它佔據的 token 空間與實際工作空間競爭
  2. 魔法數字 — 某個在你的案例中有效的 Prompt,在別人的環境中失效
  3. 零學習能力 — Agent 每次失敗都重新開始,無法從錯誤中積累經驗

第二代:Context Engineering(2024-2025)

時代特徵:動態知識管理

2024 年,Hugging Face 的 Philipp Schmid 發表了《新的 AI 技能不是 Prompting,而是 Context Engineering》。這篇文章改變了遊戲規則。

核心洞察:大多數 Agent 失敗不是因為模型太笨,而是因為上下文不夠好

Context Engineering 強調:

  • 動態上下文構建 — 根據當前任務動態組裝相關信息,而不是靜態 Prompt
  • 知識庫優化 — 建立可搜尋的文檔、代碼結構和 API 文檔,Agent 可以按需擷取
  • 工具發現 — Agent 不僅知道什麼工具存在,還知道何時使用、如何使用

到 2025 年中期,Context Engineering 已經成為 LangChain、OpenAI 和 Anthropic 的標準做法。但在實踐中,團隊發現了一個新的瓶頸:光有好的上下文還不夠

Agent 可能知道該怎麼做,但在複雜的多步工作流中仍會失控。為什麼?

第三代:Harness Engineering(2026~)

時代特徵:外部控制框架

Harness Engineering 回答的問題是:我們不只是給 Agent 更多信息,我們還要給它一個邊界清晰、可預測、可恢復的執行環境

這不是改進 Prompt,不是優化上下文,而是重新設計整個系統架構。

三代的演進軌跡:

Prompt Engineering
    ↓
  「寫得更好的魔法咒語」
    ↓
  失敗:上下文窗口有限
    ↓
Context Engineering
    ↓
  「動態組裝更相關的信息」
    ↓
  失敗:Agent 仍在複雜流程中失控
    ↓
Harness Engineering
    ↓
  「設計整個執行環境,讓 Agent 無法失控」

Philipp Schmid 的作業系統隱喻:比馬具更精確的類比

儘管「馬具」這個比喻很形象,但 Schmid 提出的「作業系統」隱喻更能捕捉 Harness Engineering 的本質。

四層計算棧

層級 傳統計算 AI Agent 系統 角色
應用 文字編輯器、遊戲、瀏覽器 具體任務的 Agent(如「編寫測試用例」) 用戶直接使用
作業系統 Windows、Linux、macOS Harness Engineering(Agent Harness) 管理資源、執行控制
RAM 8GB、16GB 的物理記憶體 上下文窗口 有限的工作空間
CPU Intel、AMD 處理器 大型語言模型 原始計算能力

為什麼作業系統隱喻更準確?

一個現代作業系統不只是「加快 CPU」,而是:

  1. 記憶體管理 — 在有限的 RAM 中運行龐大的應用

    • AI 類比:在有限的上下文窗口中處理複雜任務
  2. 進程排程 — 決定哪個任務何時運行、分配多少資源

    • AI 類比:將複雜任務分解為子任務,決定執行順序
  3. 驅動程式 — 標準化軟體與硬體的互動

    • AI 類比:標準化 Agent 與工具、API、數據庫的互動
  4. 權限管理 — 防止應用程序意外或惡意地造成損害

    • AI 類比:限制 Agent 可以執行的操作範圍
  5. 異常恢復 — 當應用程序崩潰時,作業系統恢復到一致狀態

    • AI 類比:當 Agent 陷入循環或做出錯誤決策時恢復執行

馬具比喻告訴我們「控制」的想法。OS 隱喻告訴我們「控制、管理、優化、恢復」的完整系統設計。

三大業界實踐

理論很好,但 Harness Engineering 如何在現實中運作?以下三個案例展示了不同的實踐方向。

OpenAI:7 人團隊 × 百萬行代碼的「馬具完美」

時間線:2025 年 8 月–2026 年 1 月

目標:用 Codex Agent 在空白倉庫中構建一個生產級應用

成果

  • 超過 100 萬行代碼
  • 1500+ pull requests 合併
  • 7 名工程師(從 3 人開始,後來擴展)
  • 3.5 PR/工程師/天 平均合併率
  • 速度隨著團隊擴大而加快(通常應該減慢)
  • 十分之一的時間相比手動編寫

這聽起來像科幻,但它基於一個鐵律:沒有人手工編寫任何代碼

OpenAI 的馬具四支柱

根據 OpenAI 發表的詳細報告,他們的馬具包含四個核心部分:

1. 上下文工程:持續增強的知識庫

OpenAI 構建了「持續增強的代碼庫知識庫 + Agent 對動態上下文(如可觀測性數據和瀏覽器導航)的存取」。

這不是靜態文檔。而是:

  • 代碼結構文檔 — 新建模組時,Harness 強制更新 architecture 文檔
  • API 與工具清單 — 可搜尋的工具索引,包含使用示例
  • 可觀測性集成 — Agent 可以查詢前一個 Agent 的執行日誌,學習為什麼它失敗了
2. 架構約束:LLM + 確定性雙層驗證

最有趣的部分:OpenAI 同時使用 LLM 和傳統 linter

  • LLM 層 — Agent 審查自己的代碼,確保邏輯正確
  • 確定性層 — 自訂 linter 和結構測試強制執行代碼風格、模組邊界、命名規範

為什麼雙層?因為 LLM 有時會遺漏,傳統 linter 不會。

3. 垃圾回收:熵的持續戰鬥

即使有好的 Harness,Agent 產生的代碼也會積累技術債:

  • 死代碼
  • 不必要的檔案
  • 過時的註解
  • 架構違規

OpenAI 的解決方案:定期運行清理 Agent,它們的唯一工作是尋找不一致之處並修復。這是垃圾回收。

4. 反饋迴路:失敗 → 信號 → 改進

OpenAI 採取的最重要哲學:

「當 Agent 失敗時,我們將其視為信號:識別缺少什麼 — 工具、護欄、文檔 — 並將其反饋到倉庫中。」

這不是「希望 Agent 做得更好」,而是「識別系統缺陷並修復系統」。

Anthropic:生成-評估分離架構

方法論:多 Agent 協作,而非單一超級 Agent

Anthropic 在 Claude Code 中內建的 Harness 採用了不同的模式:專門化的 Agent 團隊

三層 Agent 架構

  1. Orchestrator Agent (領導層)

    • 運行最聰明的模型(Claude Opus 4.5)
    • 分析用戶請求
    • 將工作分解為子任務
    • 協調執行順序
  2. Specialist Sub-agents(執行層)

    • 運行更快、更便宜的模型(Claude Sonnet 4、Haiku 4.5)
    • 並行執行專門任務
    • 如:一個 Agent 寫代碼,一個 Agent 寫測試,一個 Agent 寫文檔
  3. Verification Agent(驗證層)

    • 審查所有輸出
    • 檢查代碼正確性、文檔完整性、測試覆蓋
    • 在返回給用戶前提高品質

為什麼分離有效?

績效提升:內部評估顯示這個架構的性能比單個 Claude Opus 4 高出 90.2%

原因

  • 並行性 — 多個 Agents 可以同時工作,不會相互阻礙
  • 專業化 — 每個 Agent 優化於特定任務,而非通才
  • 可恢復性 — 一個 Sub-agent 失敗不影響其他的,Orchestrator 可以重新分配

Claude Code 正是這個 Harness 的公開實現。當你在 Claude Code 中寫代碼時,你看到的不是單一 Agent,而是一個完整的團隊在幕後運作。

Google DeepMind:循環驗證的 AlphaCode 2 範式

Google DeepMind 的方法強調迭代改進,而非一次性生成。

儘管 Google 沒有公開詳細的「Generator-Verifier-Reviser」(GVR) 架構論文,但他們在 AlphaCode 2 中展示的實踐反映了 Harness Engineering 的核心:

三階段循環

  1. Generator — 生成多個代碼候選(通常 > 100 個)
  2. Verifier — 在測試用例上驗證,排除失敗的候選
  3. Reviser — 對經過驗證的候選進行微調和最佳化

這不是線性的「寫一次,提交」,而是循環:Generator 可以看到 Verifier 的反饋,重新生成更好的候選。

與開源 CodeContests 競賽的成果

Google DeepMind 用 AlphaCode 2 在 CodeContests 競賽中的排名進入前 15% 的人類程式師。這超越了 GPT-4 和 Claude Opus 的單一生成性能。

差異在哪裡?Harness。不是模型本身,而是圍繞它的驗證和修訂系統。

反直覺經驗:Vercel 為什麼砍掉 80% 的工具

2026 年 2 月,Vercel 發表了一篇令人困惑的文章:《我們移除了 Agent 80% 的工具》。

結果?效能提升了。

故事背景

Vercel 建立了一個文本轉 SQL Agent,用於他們的 Vercel Data Platform。初始版本配備了許多精心設計的工具:

  • SQL 查詢執行器
  • 數據庫 schema 檢查器
  • 表統計工具
  • 自訂 Vercel API 包裝器
  • 錯誤處理工具
  • …… 還有更多

初始性能:80% 成功率。但過程很痛苦:

  • 平均 100 步才能完成一個查詢
  • 145,000 tokens(成本高)
  • 724 秒最壞情況下的延遲

大膽的決定

Vercel 團隊做了反直覺的事:刪除所有自訂工具,只保留一個通用工具:執行任意 bash 命令

新 Harness:

  • 給 Claude 檔案系統存取權限
  • 給 Claude 標準的 Unix 工具:catgrepls
  • 信任 Claude 自己理解如何導航

結果令人震驚

新版本:

  • 100% 成功率(相比 80%)
  • 19 步(相比 100)
  • 67,000 tokens(相比 145,000,節省 40%)
  • 141 秒(相比 724 秒,快 5 倍)

為什麼更少的工具 = 更好的性能?

Vercel 的假設是:模型變得更聰明了,上下文窗口變大了,也許最好的 Agent 架構就是幾乎沒有架構

深層原因:

  1. 認知超載 — 太多工具讓 Agent 困惑,它花時間思考該用哪個工具,而不是解決問題

  2. 信任與自由 — 當給予 Agent 基本但強大的原始工具,它反而表現得更好

  3. 通用性優於專門性 — 自訂工具可能遺漏邊界情況,通用工具更魯棒

這反映了 Harness Engineering 的一個深刻真理:最好的馬具不是限制性的,而是釋放潛力的

LangChain 實證:只改 Harness,排名從 30 到 5

LangChain 的案例是 Harness Engineering 有效性的最清晰證據。

基準線

LangChain 的深度 Agent(用於軟體開發任務)在 Terminal Bench 2.0 上排名第 30,分數 52.8%

Terminal Bench 是一個代碼生成基準,測試 Agent 在實際軟體開發場景中的表現。排名第 30 意味著有 29 個系統比它更好。

實驗設置

LangChain 的關鍵決定:保持模型固定,只改變 Harness

使用的模型:GPT-5.2-Codex(固定不變)

改變的變數:

  1. 系統 prompt
  2. 工具集合和工具設計
  3. 中間件掛鉤和控制流

核心發現

1. 驗證迴路是遊戲改變者

問題:Agent 寫完代碼後,自己讀了一遍,決定「看起來不錯」,就停止了。沒有實際執行測試。

解決方案:LangChain 實裝了 PreCompletionChecklistMiddleware,強制 Agent 執行驗證通過。

效果:單這一個掛鉤就貢獻了 13.7 百分點的改進。

2. 上下文注入優於口頭說教

問題:Agent 被淹沒在文檔中,遺漏關鍵細節。

解決方案LocalContextMiddleware 在代碼執行前掃描整個本地結構,主動注入相關信息(文件樹、關鍵檔案內容、測試命令)。

效果:上下文注入單獨貢獻了 7.2 百分點的改進。

3. 計算預算的詭異逆轉

發現:將推理預算設為最高(xhigh)實際上 降低了性能

  • xhigh 設置:53.9%(由於超時)
  • high 設置:63.6%(最佳性能)

理由:更多思考時間不一定更好;Agent 可能陷入分析癱瘓或超時。有時候,約束能改進性能

最終結果

經過這些改動,LangChain 的 Agent:

  • 排名上升到第 5
  • 分數從 52.8% → 66.5%
  • 僅改變 Harness,未改變模型

這是對 Harness Engineering 有效性最有力的證明:問題不是模型,而是如何使用它

Martin Fowler 的三大 Harness 組件

讓我們從更結構化的視角重新審視 Harness 的組成。Martin Fowler 與 Birgitta Böckeler 總結的框架已經成為業界標準。

1. 上下文工程(Context Engineering)

定義:持續增強的知識庫 + Agent 對動態數據的存取

上下文工程不是寫更詳細的 Prompt,而是:

構成要素

要素 描述 例子
靜態知識庫 代碼結構、API 文檔、架構決策 README.md、API docs 索引
動態上下文 實時數據,根據任務變化 當前檔案樹、相關代碼片段
工具發現 Agent 知道有什麼工具,為什麼需要它 精選的工具清單 + 使用示例
可觀測性積分 Agent 可以查詢前一次執行的日誌 錯誤日誌、性能數據

為什麼分開靜態和動態?

靜態文檔會過時。動態生成的上下文會過度膨脹。最佳實踐是混合

  • 核心架構和 API 文檔保持靜態更新
  • 執行時上下文動態生成(如檔案樹、最近編輯的檔案)
  • 兩者結合送給 Agent

2. 架構約束(Architectural Constraints)

定義:強制執行代碼結構和設計模式,既用 LLM 也用確定性工具

這是 Harness 的「守法者」。

雙層驗證方法

第一層:LLM 驗證

  • Agent 自己審查生成的代碼
  • 檢查邏輯正確性、命名、結構

缺點:LLM 有時會遺漏,或不嚴格執行。

第二層:確定性檢查

  • 自訂 linter
  • 結構測試(如:所有 user_ 前綴的函數必須在 user.ts 中)
  • 模組邊界檢查(如:data/ 層不能直接導入 ui/ 層)

架構約束的例子

假設你建立一個 Clean Architecture 應用。Harness 可以強制:

// 違規 ❌ — data 層不能導入 ui 層
import { Button } from '../ui/button';  // Linter 檢測並拒絕

// 正確 ✅
import { UserRepository } from './user.repository';  // Linter 允許

這不是建議,而是強制。每個 commit 都要通過。

3. 垃圾回收(Garbage Collection)

定義:定期運行清理 Agent,尋找並修復不一致之處

代碼熵是真實的。Agent 生成的代碼尤其容易積累技術債:

  • 死代碼(被移除的特性卻留下的函數)
  • 過時的註解
  • 遺漏的單元測試
  • 違反命名規範的變數
  • 文檔與實現不一致

Garbage Collection Agent 的運作方式

  1. 掃描 — 定期掃描整個代碼庫
  2. 檢測 — 識別不一致(用規則和 LLM)
  3. 報告 — 生成修復提案
  4. 修復 — 自動修復或標記待人工審查

例子

# 每週執行一次垃圾回收
$ npm run gc

結果:
- 找到 12 個已移除的 API 端點的死代碼
- 發現 3 個過時的文檔
- 識別 5 個違反命名規範的變數
- 建議修復(可自動應用或人工審查)

Harness Engineering 的六大核心模組

綜合前述實踐,Harness Engineering 的完整框架包含六個核心模組。

1. 上下文管理引擎

職責:在有限的上下文窗口中放置最相關的信息

實現方式

  • 聲明式上下文規則(「執行 Python 腳本時包含 .env 範本」)
  • 向量相似度搜尋(找到最相關的代碼片段)
  • 優先級佇列(重要信息優先)

工具:Supabase Vector DB、Pinecone、LangChain 的 RecursiveCharacterTextSplitter

2. 工具與能力層

職責:定義 Agent 可以做什麼,以及如何做

核心決定

  • 提供高層次抽象(如 run_command)還是細粒度工具? → Vercel 案例表明:高層次抽象更好
  • 工具有多少(Vercel 的教訓:越少越好,除非有明確的理由)

工具集合例子

  • 文件系統存取(read, write, delete)
  • 代碼執行(run Python, run bash)
  • 搜尋和瀏覽(Google search, Brave API)
  • 外部 API(Stripe, AWS, 自訂 API)

3. 控制流協調器

職責:決定任務執行的順序和分支

三種常見模式

a) 線性執行 — 一個步驟接一個

Plan → Code → Test → Deploy

b) 並行執行 — 多個 Agents 同時工作

Code Agent ──┐
Test Agent ─┼→ Verify
Doc Agent ──┘

c) 循環執行 — 生成 → 驗證 → 修訂 → 再驗證

Generate → Verify → Revise → Verify (loop)

4. 驗證與反饋層

職責:檢查輸出品質,提供可操作的反饋

驗證類型

驗證 方法 例子
語法驗證 確定性(Linter) TypeScript tsc --noEmit
邏輯驗證 自動化測試 Unit tests, Integration tests
風格驗證 規則引擎 Prettier, ESLint
語義驗證 LLM 審查 「這個函數名是否有意義?」
商業邏輯驗證 人工或規則 「這個功能符合產品需求嗎?」

5. 恢復與重試機制

職責:當 Agent 失敗時,優雅地恢復

故障模式與恢復

故障 症狀 恢復策略
工具超時 API 無響應超過 30 秒 指數退避重試 (1s, 2s, 4s)
上下文溢出 超過模型 token 限制 動態截斷或分解為子任務
無限循環 相同步驟重複 > 5 次 標記為失敗,回滾到檢查點
權限錯誤 「Access Denied」 告知用戶,不自動重試
模型拒絕 「I can't do this」 重新組織上下文或升級至更強模型

6. 可觀測性與學習層

職責:記錄執行軌跡,以便改進和調試

關鍵數據

  • 執行日誌 — 每一步做了什麼、為什麼
  • 決策點 — Agent 在哪裡做出選擇,基於什麼
  • 性能指標 — 花費的 token、執行時間、成功/失敗
  • 用戶反饋 — 「這個結果有幫助嗎?」

用途

  1. 即時除錯 — 當 Agent 失敗時,看清執行軌跡
  2. 持續改進 — 識別常見失敗模式,改進 Harness
  3. 訓練數據 — 為微調或強化學習提供數據

風險、爭議與工程挑戰

Harness Engineering 不是銀彈。它引入了新的複雜性和新的風險。

挑戰 1:文檔衰變與熵戰爭

問題:即使有好的 Harness,代碼庫中的知識仍會過時。

一個簡單的 markdown 文件會迅速衰變,變成過時的。太多指導會淹沒任務。

具體例子

# 我們的架構規則(寫於 2025 年 6 月)

1. 所有 API 回應應返回 { data, error }
2. 使用 PostgreSQL JSONB 儲存嵌套結構
3. Service 層應使用 dependency injection
... (還有 50 條規則)

6 個月後,#1 和 #3 改了,但文檔沒更新。Agent 遵循過時的規則。

解決方案(部分):

  • 將架構規則寫成可執行的測試(不是評論)
  • 使用 LLM 驗證來補充確定性檢查
  • 定期垃圾回收,審計文檔與實現的一致性

挑戰 2:模型迭代速度 vs Harness 穩定性

問題:Harness 是為特定模型設計的。當新模型推出時會發生什麼?

每個模型有不同的最優提示策略、工具使用模式、推理風格。為 GPT-5 設計的完美 Harness 可能在 Claude Opus 上表現糟糕。

例子

# 為 GPT-5 優化的 Harness
system_prompt = "Think step by step..."  # GPT-5 喜歡
tools = [file_read, bash_execute]  # 精簡工具集

# Claude Opus 可能更喜歡
system_prompt = "Analyze carefully, consider alternatives..."
tools = [file_read, bash_execute, web_search, ...]  # 更多工具

Philipp Schmid 的建議:「Build to Delete」— 設計 Harness 時,假設它會隨著每個新模型推出而被替換。

挑戰 3:過度工程化風險

問題:團隊可能投入過多精力優化 Harness,以至於過度複雜化。

紅旗

  • Harness 本身的代碼超過應用代碼本身
  • 有 10+ 層中間件,每層都做「優化」
  • 文檔與實現之間的同步變成夜間工作

平衡點

  • 從簡單開始(可能就是 Prompt + 一個驗證層)
  • 當看到具體瓶頸時再優化
  • 定期審計:Harness 是幫助還是礙事?

挑戰 4:可交付性與可解釋性

問題:複雜的 Harness 很難向非技術人員解釋。

用戶想知道:「為什麼 Agent 拒絕了我的請求?」

答案是:「因為架構約束層 3 的確定性檢查檢測到……」 太技術性了。

解決方案

  • 用戶可讀的拒絕消息
  • 提供修復建議,不只是「不行」
  • 提升路徑(「這個操作需要人工審查」)

挑戰 5:人工在迴路的治理困境

問題:在什麼地方讓人類介入?

太多人工干預,Agent 的優勢蕩然無存。太少人工干預,風險很高。

典型的治理層級

操作 人工干預
修改非關鍵檔案 自動,事後審查
刪除代碼 自動,事後審查
部署到生產環境 人工批准前置
修改 schema 或 API 人工批准前置
建立新的數據庫表 人工批准前置

沒有一個完美的答案。取決於風險承受度和信任度。

挑戰 6:學習曲線與技能轉移

問題:建立和維護 Harness 需要高度專業化的技能。

這不是每個團隊都有的。當建造 Harness 的人離職時會發生什麼?

長期解決方案

  • 將 Harness 最佳實踐開源化(LangChain、Anthropic 正在做這個)
  • 發展 Harness 工程師的職業路徑
  • 提供工具和框架,降低進入門檻

展望:競爭重心的轉移

2025 年,大家都在競爭最好的模型。2026 年,大家都在競爭最好的 Harness。

為什麼?

三個原因:

  1. 模型收斂

    • GPT-5、Claude Opus 4.5、Gemini 2.0 的能力越來越接近
    • 增量改進變得困難且昂貴
    • 基於模型本身的競爭優勢正在消蝕
  2. Harness 的倍增效應

    • 好的 Harness 可以讓現有模型性能提升 20-30%
    • LangChain 的案例:排名提升 25 位,分數提升 13.7 百分點
    • 成本:改進 Harness 而非訓練新模型
  3. 大規模部署的現實

    • 在生產環境中,可靠性比原始能力更重要
    • Agent 不失控比 Agent 智力 IQ 更有價值
    • Vercel 的案例:移除複雜性,反而改進了性能

新的分工

舊分工

AI 研究員 → 構建更好的模型 → 工程師 → 集成到產品

新分工

模型提供商(OpenAI、Anthropic、Google)
        ↓
     模型
        ↓
Harness 工程師 → 設計馬具 → 應用工程師 → 構建產品

Harness 工程師成為一個獨立的角色。不是模型專家,不是應用開發者,而是系統設計師

商業含義

如果競爭重心從模型轉向 Harness,這意味著:

  1. 較小的團隊可以與大公司競爭 — Harness 通常比模型開發更輕量級
  2. 開源工具變得更重要 — LangChain、LlamaIndex、Anthropic Agent SDK
  3. 諮詢和實施服務的機會 — 許多公司需要幫助構建他們的 Harness

結語

2026 年,Harness Engineering 已經從一個新想法演變為生產系統的關鍵組件。Mitchell Hashimoto 的簡單觀察——「工程化環境,使 Agent 無法失控」——已經成為推動 Agent 可靠性的工程學科。

七個工程師透過 Harness 生成了百萬行代碼。Vercel 透過刪除複雜性而獲得了簡單。Anthropic 透過協調多個 Agents 而超越單一超級 Agent。LangChain 透過改進 Harness 而跳升 25 名。

模型仍然重要,但它不再是故事的全部。真正的競爭發生在看不見的地方:系統的邊界、約束、驗證迴路和恢復機制中

對於想在 AI 時代構建可靠系統的工程師來說,Harness Engineering 不再是可選項。它是必需的。不是因為它很流行,而是因為它有效

參考來源

一手文章

  1. Mitchell Hashimoto - 我的 AI 採納之旅 — Harness Engineering 正式命名的起源
  2. Martin Fowler - Harness Engineering — 三大組件框架的經典闡述
  3. OpenAI - Harness Engineering: 在 Agent 優先的世界中運用 Codex — 百萬行代碼案例研究
  4. Philipp Schmid - Agent Harness 在 2026 年的重要性 — 作業系統隱喻和上下文工程
  5. Vercel - 我們移除了 Agent 80% 的工具 — 簡單性勝過複雜性的實證
  6. LangChain - 用 Harness 工程改進深度 Agents — Terminal Bench 2.0 從 30 到 5 的案例

二手分析

  1. Anthropic - 我們如何構建多 Agent 研究系統 — 協調 Agents 的架構模式
  2. Epsilla - Harness Engineering 演進 — Prompt → Context → Harness 的演進軌跡
  3. NxCode - Harness Engineering 完整指南 — 實踐模式總結
  4. SmartScope - Harness Engineering 與 Context Engineering 的區別 — 概念澄清

工具與SDK

  1. Claude Agent SDK 文檔 — 權限管理和掛鉤
  2. LangChain Agent Harness 架構 — 開源 Harness 設計模式