Harness Engineering 是設計、建置、迭代 agent harness 的工程實踐,跟 Prompt Engineering / Context Engineering 並列。

Agent = Model + Harness。Harness 是 prompt 之外、把 instructions、tools、runtime guardrails、互動方式組裝成「agent 失敗時有外部機制把它拉回正軌」的系統——重點不是 prompt 多神,而是失敗 recovery 機制。

命名:OpenAI 用 Harness Engineering,Anthropic 用 harness design。兩者在同一個問題域,但重心不同:前者偏 agent-first engineering discipline,後者偏長任務 app development 的具體 harness 設計。

代表性架構:Planner / Generator / Evaluator

Anthropic 的 long-running app development harness 把複雜任務拆成三個主要角色,適合拿來理解「生成」與「評估」為什麼要分離:

角色職責重點
Planner規劃定義目標、範圍、驗收標準(產品層,非技術細節)
Generator實作根據 plan 交付,跟 git / tests / runtime 整合
Evaluator驗證站在對立面找 bug、找缺口;不跟 generator 共用自我評價

立場

  • Generator 不要自評:LLM 對自己輸出過度自信,主觀任務(UI / 產品完成度)尤其明顯——把評估獨立出來品質才會穩
  • 通用工具比客製 JSON schema 工具穩:LLM 對 grep / git / npm 這類通用 CLI 有更豐富訓練先驗,自訂工具 schema 越多越脆;但前提是資料本身已經結構化、命名一致、可被檔案系統與 CLI 讀懂(Vercel 在 text-to-SQL agent 拿掉 80% 工具後速度 / token / 成功率都改善)
  • 狀態外部化才能續跑:progress 文件、feature checklist、task graph、git commits——把「只存在對話裡」的資訊拉回 repo;compaction 可以降低重開 session 的頻率,但長任務仍需要 handoff artifacts、必要時 reset,以及可被下一輪 agent 接手的外部狀態

框架實作

  • GAN-Style-Harness — Planner / Generator / Evaluator 三角的具體實作
  • Superpowers框架 — 偏 TDD / implementation gates 的流派
  • GSD框架 — 偏 orchestration / fresh session 的流派
  • GStack框架 — 偏規劃 / design / QA 的 workflow pack
  • BMAD框架 — 偏 agile lifecycle / 12+ 軟體角色 persona 接力
  • Spec-Kit — 偏 Spec-Driven Development,以 spec 為 first-class artifact 驅動 code 生成

多 agent 協作機制(Subagent / Agent Teams / Forked subagent / worktrees)見 Claude-Code-多-Agent-協作

來源