← 返回藏书阁

Loop Engineering vs Harness Engineering

wiki/ai/comparisons/Loop-Engineering-vs-Harness-Engineering.md
分类:ai / comparisons · 更新:2026-06-19 18:36

Loop Engineering vs Harness Engineering

最短结论

  • Harness Engineering:给 agent 套上可靠的运行环境,让一次 agent run 更安全、更长、更稳。
  • Loop Engineering:设计外层循环,让系统替你持续提示 agent、检查结果、决定下一步,直到目标完成。

更口语地说:

Harness 是“把马套好挽具,让它能安全拉车”;Loop 是“设计路线、驿站、验收和下一程调度,让车队能持续跑”。

两者分别解决什么问题

维度Harness EngineeringLoop Engineering
核心问题agent 运行时需要什么环境才能可靠工作?agent 如何持续迭代、何时继续、何时停止?
关注层级单次 agent run / inner loop多次 run 之间的 outer loop
主要对象工具、上下文、权限、沙箱、hook、日志、恢复cadence、trigger、state、verifier、done condition、retry/escalation
成功标准一次任务执行更稳、更可控、更少幻觉/越权能自动推进任务,并在可验证条件满足时停止
典型产物AGENTS.md、tool schema、MCP、sandbox、guardrails、observabilitycron/automation、STATUS.md、worktree queue、maker-checker、goal evaluator
失败形态工具乱用、上下文腐烂、权限不清、不可观测、一次 run 卡住无限循环、过早宣称完成、token 烧穿、错误被重复放大
人的位置人仍在外层检查和决定下一步人把逐轮检查/再提示的一部分交给系统,但保留关键验收

嵌套关系

可以把 agentic 系统看成三层循环:

  1. 模型/agent inner loop:reason → act → observe → reason。
  2. Harness:让这个 inner loop 有工具、上下文、权限、沙箱、日志和恢复能力。
  3. Loop:让一次次 harnessed run 被自动触发、验证、记录、继续。

所以它们不是竞争关系,而是叠加关系:

好 harness 是好 loop 的前提;没有 loop 的 harness 仍需要人不断检查和再提示;没有 harness 的 loop 只是把脆弱 agent 自动化,风险更大。

例子

Harness Engineering 的例子

你给 Claude Code 配:

  • repo 里的 AGENTS.md / skills
  • 允许哪些工具、禁止哪些命令
  • MCP connector
  • git worktree sandbox
  • 自动跑测试的 hook
  • 日志、trace、cost meter

这让单次 agent run 更可靠。

Loop Engineering 的例子

你写一个每日 loop:

  1. 每天 9 点扫描 CI 失败和 GitHub issues。
  2. 为每个候选任务创建 worktree。
  3. 启动 implementer agent 修复。
  4. 启动 reviewer/verifier agent 检查 diff、跑测试。
  5. 若失败,把测试错误重新喂给 implementer,最多 3 次。
  6. 若成功,开 PR 并写入 STATUS.md
  7. 若权限/风险过高,暂停等人批准。

这才是 Loop Engineering:它替代了人手动“看结果 → 判断下一步 → 再 prompt”的外层循环。

和 Prompt / Context Engineering 的区别

  • Prompt Engineering:优化单次指令怎么写。
  • Context Engineering:优化模型这一轮应该看到什么。
  • Harness Engineering:优化 agent 这一轮可以怎样安全、有效地行动。
  • Loop Engineering:优化多轮、多次 run 如何自动推进并停止。

对我们的实践启发

  1. 如果 agent 经常工具用错、上下文不够、权限混乱,先做 Harness Engineering。
  2. 如果每次 agent 做完都要你手动检查、手动决定下一步、手动再发 prompt,才考虑 Loop Engineering。
  3. Loop 的核心不是“让 agent 一直跑”,而是“让 agent 在可验证目标下持续推进”。
  4. Loop 必须有外部验证信号:测试、lint、类型检查、HTTP health check、文件存在性、人工审批、事实引用检查等。
  5. 进入无人值守后,Loop Engineering 会迅速变成生产系统问题:身份、权限、预算、审计、告警、回滚都要纳入设计。

我的判断

Loop Engineering 是比 Harness Engineering 更上一层的自动化范式。Harness 解决“单次 agent 能不能靠谱地干活”;Loop 解决“谁来反复驱动这些靠谱的 agent run”。

真正有价值的系统通常需要两者:

Harness 负责让 agent 不乱跑;Loop 负责让 agent 不停在原地。