大家在管 AI Coding Agent,可能都搞錯方向了
來源: Facebook — DavidKo Learning Journey 作者: davidko(David Ko) 日期: 2026-05-26(估計) 標籤: aicoding 軟體測試 harnessengineering aiagent feedforward feedback thoughtworks
文章概述
David Ko 分享從 Thoughtworks 的 Birgitta Boeckeler 與 Chris Ford 對談中得到的啟發, 探討「Harness Engineering」——如何透過感測器(sensors)而非責備(nagging)來引導 AI Coding Agent。
核心論點:與其塞滿 markdown 規則檔(AGENTS.md, CLAUDE.md)來「嘮叨」AI agent, 不如建立一套 feedback 系統,讓 agent 自己從錯誤中學習。
核心概念
Feedforward(引導)vs Feedback(回饋)
- Feedforward(引導):像教小孩騎腳踏車時先扶著——給予規則、指南、限制條件
- Feedback(回饋):腳踏車裝輔助輪讓小孩自己感受到傾斜——讓環境自動回饋行為結果
兩者缺一不可。
Sensors(感測器)類型
| 類型 | 工具/技術 | 特徵 |
|---|---|---|
| Linter | ESLint, Ruff | 語法規則檢查 |
| Static Analysis | SonarQube, CodeQL | 靜態程式碼分析 |
| Test Coverage | Jest, pytest-cov | 測試涵蓋率 |
| Mutation Testing | Stryker, PIT | 突變測試 |
| Dependency Scanning | Dependabot, Snyk | 依賴安全性掃描 |
| Structural Testing | ArchUnit | 架構約束測試 |
| AI Code Review | LLM-as-Judge | AI 程式碼審查 |
CPU vs GPU 工具分類
| 類型 | 特徵 | 範例 |
|---|---|---|
| CPU tools | 確定性、快速、低成本 | Linter, Type Checker, Unit Tests |
| GPU tools | 非確定性、慢、高成本 | AI Code Review, LLM as Judge |
Shift-Left 策略
將 sensors 盡可能左移(提早執行):
- Pre-commit(最快):linter, type checker, 快速測試
- Pipeline(較慢/昂貴):整合測試、mutation testing、AI review
- Continuous Monitoring:長期監控與回饋
未解決的問題
- AI 自己寫測試 → 如何驗證「功能正確性」?(測試本身可能也有 bug)
- 人類角色轉變:從「審查 AI 寫的程式」→「設計讓 AI 能自我審查的系統」
參考資料
- Martin Fowler 文章: https://martinfowler.com/articles/harness-engineering.html
- YouTube: Thoughtworks “Harness engineering beyond skills”
- 敏捷測試課程: https://agile3uncles.com/course/agile-testing/t006/
- GenAI 敏捷領導力: https://agile3uncles.com/products/a005/