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 的兩大目標

  1. 提高 Agent 首次產出正確結果的機率
  2. 在問題到達人眼之前,透過回饋迴圈自我修正

附帶效益:減少無效 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