Harness 设计:面向长时应用开发的生成-评估闭环

本文最后更新于 2026年4月8日 下午

Harness  这词刚出现我是有点懵的,一度以为 A÷ 又在搞什么“颠覆”的新技术了,然后去读了一遍他们新发的文章Link ,其实感觉和 25 年比较容易水的多智能体系统 (Multi-Agent-Systems, MAS) 某些地方有点类似,这里做个简单记录,说不定我们 MAS 又能复活了哪?

为什么直观的方法总会失败

上下文窗口增长导致不连贯

长时间执行会持续累积对话与中间产物。随着上下文接近上限,模型更容易出现目标漂移、遗漏约束、或在后续阶段忘记早期做出的设计承诺。

基本大家在开发的过程中都会发现,随着上下文不断累积,模型的表现会越来越差,以致于模型会忘掉细节,忘记最开始的目标,导致项目跑偏。其实在 cc(claude code) 中这个问题一直很明显,有经验的大佬建议不要使用 /compact 这个命令来进行上下文压缩,cc 的上下文压缩实在做的一般,完全不如新开一个会话继续工作,后面也会提到这一点。

模型上下文窗口焦虑

A 的研究员发现 sonnet-4.5 会在快接近上下文窗口上限的时候表现出一定焦虑行为,具体体现在提前进行收尾工作,过早的进行总结并减少探索,同时也会跳过还没有完成的工作。

/compact 与 /reset 的差异

  • compact:在同一 会话内对早期内容做摘要压缩,保持连续性,但并不提供干净的重新开始。
  • reset:清空上下文,启动一个新会话,但是需要依赖结构化 handoff 把状态与下一步带过去。它能缓解连贯性退化与 context anxiety,同时也引入了编排复杂度、token 开销与延迟。

自我评估过于乐观

当让同一个模型评估自己的产出时,最常见问题是它会“自信地表扬自己”,导致系统在质量上缺少可靠的负反馈,这种情况在较为主观的场景中更为常见。即便在可验证的任务里,也可能出现判断力较差,从而放过实际的 bug 或产品缺陷。

Harness 的核心设计

闭环反馈控制系统

而在 Harness 早期尝试中使用了 Planner→Generator→Evaluator 来进行长时间的复杂任务,Evaluator 的反馈会直接作为下一次生成的 Context。Harness 设计的核心是确保这个“反馈-修正”循环能无限次跑下去,直到通过验证。

状态显式化与去上下文依赖

A 的研究员在早期尝试中维护一个显式的、版本化的 Manifest 来作为 Agent 在长程任务中的指导。同时在每一轮迭代后,Harness 会要求 Agent 总结当前状态并更新 Manifest ,然后清空无关的推理过程。这保证了即使任务运行了 10 个小时,Agent 看到的依然是精简、准确的当前进度。

沙盒环境和可观测的工具

Harness 需要提供一个确定的执行环境,Agent 的每一个动作都会在沙盒中进行, Harness 会负责记录 Agent 对环境造成的所有改变,这也为如果后续某条路径失败,整体开发进度撤回上一个成功的状态提供便利。

人在回路

在 Harness 尝试中提到了一个很重要的点是要把主观判断变成可打分的准则,对于主观任务来说更是如此,比如在前端设计中,好看这种描述就太笼统了,如果你将其拆分成易于评估的维度,那可能整体的效果会好很多。当 Evaluator 给分不准时,人的工作是去优化那套打分标准。

总结

在长时间的复杂任务开发中,提升可靠性的往往不在模型本身,而在 Harness 设计

  • 用角色分离获得更可信的批评与纠偏;
  • 让推进单位可控、可验证;
  • 让状态可交接、可回放;
  • 用稳定的评估维度把迭代变成可观测,量化的过程,进而更好的闭环。

就像文章中提到 Opus4.6 在做这些尝试的时候出来了,研究员也会通过消融的方式来判断现有的 Harness 设计哪些是不必要的,哪些是可以保留的?随着模型能力的提升,这些设计并不会被一一剔除,反而会有一些新的有趣的结构能够焕发生机。

特别经典的一环,在多数 LLM-Based-MAS 论文中,Planner→Generator→Evaluator 是不得不品的一环,在 Agent 这个概念相对早期的时候 (25年初),大多数的 MAS 文章都是通过通过多模型配合闭环,来讲更低 token 消耗更高性能表现的故事,值得一提的是他们刷的几乎全是大模型的榜,当时看来纯粹是烂炒 (现在回过去看也是 😓 )。

Harness 的出现代表了一个新的阶段,因为本人不是软工方面出身,对于 A÷ 这个 Harness 实践中蕴含了多少软工的精髓不甚了解,所以我会选择在烂炒的 MAS 中来谈谈新的可能性:

在早期 Agent 能力比较烂的时候,那个时候调用工具概念刚火起来,MCP 还是个新生协议,做 MAS 纯粹是挂羊头卖狗肉。认真讲起来它更像是在做工作流 (Workflow),即各个大模型的组合,通过文本进行信息交互来组成的系统,只是借用 Agent 这个名头来唬人。那个时候的评价标准也不复杂,一个新的 MAS 方法直接刷 LLM 的榜就行了,这就是我刚接触这个领域并对其槽点颇多的地方。

虽然一副说着过了很久的感觉,但是这其实是 25 年初的情况,从 cc 走入千家万户到龙虾奇怪的掀起一波热度,说到底也就过了一年。接着 A÷ 提出了 Harness 的概念,说不定一些早期的 MAS 的研究在当前 Agent 的能力加持下,能够焕发出新的可能?再不济也能再水几篇吧。


Harness 设计:面向长时应用开发的生成-评估闭环
https://catdfd.com/2026/04/08/Harness-design-for-long-running-application-development/
作者
Gargantua
发布于
2026年4月8日
许可协议