AI agent 生成程式碼的品質,無法只靠「選更好的模型」解決。Thoughtworks 的 Birgitta Böckeler 在 2026 年初發展出兩個互補的概念:Context Engineering(事前設計 agent 能看到的)和 Harness Engineering(事後把 agent 框住)——合起來才是在企業規模維持 AI 編碼品質的完整架構。

Context Engineering:給 Agent 看什麼,比怎麼提示更關鍵

來源:Birgitta Böckeler(Thoughtworks),Context Engineering for Coding Agents,2026-02-05

Böckeler 把 Context Engineering 定義為「策劃模型能看到什麼,以取得更好的結果」。

兩種 Prompt 類型

類型定義範例
Instructions直接指令,告訴 agent 做什麼「按照這個 pattern 寫 E2E 測試」
Guidance通則與護欄,告訴 agent 怎麼做事「測試必須互相獨立」

三種 Context 介面類型

  1. Tools:內建能力(bash 執行、file search)
  2. MCP Servers:提供結構化 API 存取的自訂程式
  3. Skills:依需求載入的任務特定資源(Agent Skills)

決策授權模型(這是架構決策,不是技術細節)

控制權屬機制說明
LLM 控制Skills何時 / 是否載入由模型決定;靈活但不可預期
人類控制Slash commands自動化降低,但控制更強
軟體觸發Hooks在生命週期事件確定性地載入

關鍵警告:Context 視窗越大不等於越好。過度填充的 context 會降低效果、增加成本。「防止幻覺」這種說法是誤導性的——語言模型仍是機率系統,任何 context 設計只能降低機率,不能保證結果。

Claude Code(January 2026)具體機制對照:

機制類型用途
CLAUDE.mdGuidance全專案通則
RulesGuidance路徑範圍的指引(如 *.ts 檔案)
SkillsInstructions / Guidance惰性載入任務特定資源
SubagentsFull config需要獨立 context 的複雜任務
MCP ServersData / Action結構化 API 整合
HooksScripts確定性檔案 / 指令自動化

Harness Engineering:把 Agent 的弱點框住

來源:Birgitta Böckeler(Thoughtworks),Harness Engineering - first thoughts,2026-02-17

Harness 的定義:包含「引導(guides)」和「感測器(sensors)」的框架,兩者可以是計算式(程式碼)或推論式(LLM)的。

Böckeler 識別三個類別:

類別一:Context Engineering(脈絡工程)

  • 加入可觀測性資料的知識庫
  • 動態脈絡(含瀏覽器導航能力)
  • 這一項與 Context Engineering 直接對應——Harness 的第一層就是確保 context 品質

類別二:架構約束(Architectural Constraints)

  • 自訂 linter 搭配 AI agent 監測(確定性 + 推論式的組合)
  • 結構性測試框架(ArchUnit)
  • Pre-commit hooks
  • 模組邊界強制執行

類別三:熵管理(Entropy Management)

  • 定期執行的 agent,偵測文件不一致和架構違規
  • 類似「垃圾回收」,防止 AI 生成的技術債悄悄堆積
  • 被 Böckeler 稱為「Garbage Collection」

核心原則:「Agent 卡住的地方,是訊號——找出缺少了什麼工具、護欄或文件,把解法餵回程式碼庫。」這種迭代讓 harness 本身成為自我改進的系統。

長期預測:Böckeler 認為 harness 可能演化成「AI-first 開發的 service template」,推動技術棧和架構拓撲走向標準化——以可維護性而非自然語言靈活性為優化目標。

Technology Radar Vol.34 對應 Blip

Adopt(立即採用):

  • Context engineering:把 context 視窗當設計面,從靜態 prompt 進化到 progressive context disclosure;已成為 AI 編碼的核心紀律
  • Curated shared instructions(CLAUDE.md / AGENTS.md 等):把 AI 引導固化進 service template;讓 AI 輔助在整個團隊一致和高品質

Trial(值得試):

  • Agent Skills:開放標準,把 instructions / scripts / 資源打包成模組;減少 token 消耗,防指令膨脹
  • Feedback sensors for coding agents:把 compiler / linter / tests 接進 agentic workflow,讓失敗觸發自我修正,而非只在最後報錯
  • Progressive context disclosure:讓 agent 先輕量探索再選需要的資訊,而非一次前置所有 context

Caution(要注意的):

  • Agent instruction bloat:指令隨時間堆積、互相衝突;模型對深埋內容的注意力會下降;手寫版本通常優於 LLM 生成版本

主張 vs 可佐證

  • 可佐證:Context engineering 和 Harness Engineering 是 Böckeler 在 Thoughtworks 實際交付中觀察到的實踐;Tech Radar Adopt 代表 Thoughtworks 已在多個客戶案例中驗證。Agent instruction bloat 的 Caution 評等有工程觀察支持(模型注意力下降在研究中有文獻)。
  • 主張:「Harness 可能成為 AI-first 開發的 service template 標準」是 Böckeler 的預測,尚無廣泛實證;Context 過度填充降低效果有工程直覺支撐,但缺乏公開的系統性量測數據;三分類框架是 Böckeler 對 OpenAI 案例的觀察整理,樣本有限。
  • 收斂結論Context Engineering(事前設計)和 Harness Engineering(事後框住)是同一枚硬幣的兩面。 只做 context 設計而不做 harness,AI 生成的混亂會悄悄累積;只做 harness 而不投資 context 設計,agent 效能無法最大化。兩者合起來,才是工程師 on-the-loop 時能維持系統品質的基礎設施。

來源: