AI Coding Harness Engineering(AI 編碼的牽引工程)

概述

從 Thoughtworks 的 Birgitta Boeckeler 與 Chris Ford 對談中發展出的概念。 核心思想:引導 AI Coding Agent 不應靠「嘮叨」(nagging)——塞滿 markdown 規則檔, 而應建立一套 feedback 系統,讓 agent 自己從環境回饋中學習。

核心架構

Feedforward(引導)vs Feedback(回饋)

Feedforward(引導)── 事前給規則、指南、限制條件(如同教騎車時先扶著)
Feedback(回饋)  ── 讓環境自動回饋行為結果(如同裝輔助輪讓小孩感受傾斜)

兩者需並用,缺一不可。光是 feedforward(寫一堆規則)會變成 nagging(嘮叨)。

Sensors(感測器)分類

類別工具時機成本
LinterESLint, Ruff, pylintpre-commit
Static AnalysisSonarQube, CodeQLpre-commit/pipeline
測試涵蓋率Jest, pytest-covpipeline
突變測試Stryker, PITpipeline
依賴掃描Dependabot, Snykpre-commit/pipeline
架構測試ArchUnitpipeline
AI Code ReviewLLM-as-Judgepipeline

CPU vs GPU 工具分類

  • CPU tools:確定性、快速、低成本(linter, type checker, unit tests)
  • GPU tools:非確定性、慢、高成本(AI code review, LLM as judge)

Shift-Left 策略

Pre-commit (最快/便宜) → Pipeline (較慢/昂貴) → Continuous Monitoring
   Linter, Type Checker       整合測試, Mutation        長期監控
   Quick Tests                 AI Review

未解決的問題

  • 功能正確性驗證:當 AI 自己寫測試時,如何確保測試本身是對的? → 測試的測試?無限遞迴問題
  • 人類角色轉變: 從「審查 AI 寫的程式」→「設計讓 AI 能自我審查的系統」

相關連結

來源