Harness Engineering
概述
Harness Engineering 是一套為 Coding Agent 使用者設計的心智模型與工程方法,目的是提升對 AI 生成程式碼的信任度、減少人工審查負擔,同時維持系統品質。
核心公式:
Agent = Model + Harness
其中 Harness 泛指 AI Agent 中除了模型本身以外的所有部分。Coding Agent 通常內建部分 Harness(如系統提示、程式碼檢索機制、協調系統),但也允許使用者為特定專案與系統建立外層 Harness(Outer Harness)。
來源:https://martinfowler.com/articles/harness-engineering.html, 2026-04-05
外層 Harness 的兩大目標
- 提高 Agent 首次產出正確結果的機率
- 在問題到達人眼之前,透過回饋迴圈自我修正
附帶效益:減少無效 token 消耗。
來源:https://martinfowler.com/articles/harness-engineering.html, 2026-04-05
Feedforward 與 Feedback 控制
| 類型 | 中文 | 說明 |
|---|---|---|
| Guides(前饋控制) | 引導 | 預測 Agent 行為,在行動前介入導正,提高首次產出品質 |
| Sensors(反饋控制) | 感測器 | 行動後觀察結果,讓 Agent 自我修正;可輸出針對 LLM 優化的訊號(如包含修正指令的客製 linter 訊息) |
注意:
- 只有 Feedback:Agent 重複犯相同錯誤
- 只有 Feedforward:Agent 有規則卻無從得知是否有效
- 兩者搭配才能形成有效的引導迴圈(Steering Loop)
來源:https://martinfowler.com/articles/harness-engineering.html, 2026-04-05
執行類型:Computational vs Inferential
| 類型 | 執行方式 | 速度 | 確定性 | 範例 |
|---|---|---|---|---|
| Computational(計算型) | CPU | 毫秒至秒級 | 確定性高 | 測試、linter、型別檢查、結構分析 |
| Inferential(推論型) | GPU / NPU | 較慢、較貴 | 非確定性 | AI 程式碼審查、LLM as Judge、語意分析 |
- Computational Guides:以確定性工具提升產出品質
- Computational Sensors:夠快夠便宜,可在每次變更時與 Agent 並行執行
- Inferential Controls:雖然較貴且非確定,但能提供豐富語意判斷;搭配強力模型時可大幅提升信任度
來源:https://martinfowler.com/articles/harness-engineering.html, 2026-04-05
實際範例
| 項目 | 方向 | 類型 | 實作範例 |
|---|---|---|---|
| 程式碼慣例 | Feedforward | Inferential | AGENTS.md、Skills |
| 新專案初始化指引 | Feedforward | Both | 含指令的 Skill + Bootstrap 腳本 |
| Code Mods | Feedforward | Computational | 整合 OpenRewrite recipes 的工具 |
| 結構測試 | Feedback | Computational | 執行 ArchUnit 模組邊界檢查的 pre-commit hook |
| 審查指引 | Feedback | Inferential | Skills |
來源:https://martinfowler.com/articles/harness-engineering.html, 2026-04-05
Regulation Categories(調節分類)
文章提及三類 Harness 調節維度(詳細內容待補充):
- Maintainability Harness:可維護性相關控制
- Architecture Fitness Harness:架構適應性相關控制
- Behaviour Harness:行為相關控制
來源:https://martinfowler.com/articles/harness-engineering.html, 2026-04-05
Harnessability(可套用性)
指系統本身對 Harness 的友善程度——設計良好的系統架構應便於 Harness 的安裝與運作。
來源:https://martinfowler.com/articles/harness-engineering.html, 2026-04-05
與 Context Engineering 的關係
Context Engineering 提供使 Guides 與 Sensors 對 Agent 可用的手段。 為 Coding Agent 建立 User Harness,本質上是 Context Engineering 的一種特定形式。
來源:https://martinfowler.com/articles/harness-engineering.html, 2026-04-05
Ambient Affordances 與 Ashby's Law
文章亦引用了以下概念(詳細論述待補充):
- Ambient Affordances:環境中隱性提供的行動線索
- Ashby's Law of Requisite Variety:系統控制者需要與系統同等複雜度的多樣性,才能有效調節
來源:https://martinfowler.com/articles/harness-engineering.html, 2026-04-05
人類的角色
在此框架下,人類的工作是透過不斷迭代 Harness(Guides 與 Sensors)來引導 Agent,而非直接審查每一行 AI 生成的程式碼。
來源:https://martinfowler.com/articles/harness-engineering.html, 2026-04-05