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 介面類型
- Tools:內建能力(bash 執行、file search)
- MCP Servers:提供結構化 API 存取的自訂程式
- Skills:依需求載入的任務特定資源(Agent Skills)
決策授權模型(這是架構決策,不是技術細節)
| 控制權屬 | 機制 | 說明 |
|---|---|---|
| LLM 控制 | Skills | 何時 / 是否載入由模型決定;靈活但不可預期 |
| 人類控制 | Slash commands | 自動化降低,但控制更強 |
| 軟體觸發 | Hooks | 在生命週期事件確定性地載入 |
關鍵警告:Context 視窗越大不等於越好。過度填充的 context 會降低效果、增加成本。「防止幻覺」這種說法是誤導性的——語言模型仍是機率系統,任何 context 設計只能降低機率,不能保證結果。
Claude Code(January 2026)具體機制對照:
| 機制 | 類型 | 用途 |
|---|---|---|
| CLAUDE.md | Guidance | 全專案通則 |
| Rules | Guidance | 路徑範圍的指引(如 *.ts 檔案) |
| Skills | Instructions / Guidance | 惰性載入任務特定資源 |
| Subagents | Full config | 需要獨立 context 的複雜任務 |
| MCP Servers | Data / Action | 結構化 API 整合 |
| Hooks | Scripts | 確定性檔案 / 指令自動化 |
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 時能維持系統品質的基礎設施。
來源:
- Context Engineering for Coding Agents — Birgitta Böckeler (Thoughtworks), 2026-02-05
- Harness Engineering - first thoughts — Birgitta Böckeler (Thoughtworks), 2026-02-17
- Technology Radar Vol.34 — Thoughtworks, 2026-04(Context engineering: Adopt;Agent Skills: Trial;Feedback sensors: Trial)