# Improving Deep Agents with Harness Engineering：通过 Harness 工程将 Agent 从第 30 名提升至第 5 名

> 原文链接：https://blog.langchain.com/improving-deep-agents-with-harness-engineering/
> 作者/来源：LangChain
> 阅读日期：2026-04-02

## 一句话总结
通过仅修改 harness（系统 prompt、工具选择、middleware）而不更换底层模型，将编码 agent 在 Terminal Bench 2.0 上的排名从第 30 名提升至第 5 名（从 52.8% 到 66.5%，提升 13.7 个百分点），证明了 harness engineering 的巨大杠杆效应。

## 核心论点

文章的核心主张极具说服力：**在底层模型不变的情况下，仅通过优化 harness 就能实现巨大的性能提升**。这里的 harness 指的是围绕模型的系统架构——system prompt、tool 选择、执行工作流和 middleware。作者将 harness 的目标定义为"将模型固有的尖峰智能（spiky intelligence）塑造为我们关心的任务所需的能力形态"。

文章详细记录了五个关键改进。最重要的是 **Build-and-Self-Verify Loop**：团队发现 agent 最常见的失败模式是"写完代码、目视确认、然后停止"——不运行测试验证。通过 PreCompletionChecklistMiddleware 在 agent 退出前强制执行验证检查，大幅提升了任务完成率。第二个关键改进是 **Environmental Context Injection**——通过 LocalContextMiddleware 主动注入目录结构、可用工具、测试标准和时间预算等上下文信息，减少 agent 的探索错误。

另一个精彩发现是 **doom loop（死循环）** 问题：agent 经常对同一文件反复进行不成功的修改（有时超过 10 次）。LoopDetectionMiddleware 追踪每个文件的编辑次数，在过度编辑时建议 agent 重新考虑方法。此外，团队发现了 **reasoning sandwich** 策略——在规划和验证阶段使用高强度推理，在实现阶段降低推理强度，避免了全程最大推理导致的超时。

## 关键概念

- **Harness（围套/外壳）**：围绕模型的系统架构，包括 system prompt、tool 选择、执行工作流和 middleware。其目标是"塑造模型的尖峰智能以适应目标任务"。
- **Middleware**：插入到模型执行流程中的钩子，可在 tool call 前后和 agent 退出前注入逻辑。文中的三个 middleware：PreCompletionChecklistMiddleware、LocalContextMiddleware、LoopDetectionMiddleware。
- **Build-and-Self-Verify Loop**：强制 agent 在提交前验证解决方案的执行循环：规划 → 构建 → 验证（基于任务规格而非目视）→ 修复。
- **Doom Loop（死循环）**：agent 对失败方案进行重复无效变体尝试的模式。
- **Reasoning Sandwich**：在规划和验证阶段使用高强度推理（xhigh），在实现阶段使用较低强度，平衡推理质量和时间预算。
- **Proactive Context Engineering（主动上下文工程）**：预先提供环境信息而非让 agent 自行探索。
- **Model-Specific Harness Tuning**：同一 harness 对不同模型效果不同（Claude Opus 4.6 得 59.6% vs Codex 的更高分），需按模型迭代优化。

## 实践建议
1. 在优化模型之前先优化 harness——harness engineering 的 ROI 通常更高
2. 为 agent 设计 self-verification 机制，不要信任 agent 的自我报告
3. 主动注入环境上下文（目录结构、工具、标准），减少 agent 的盲目探索
4. 实现 loop detection 防止 agent 陷入死循环
5. 使用 reasoning sandwich 策略平衡推理深度和时间预算
6. 构建基于 trace 的自动分析系统，避免手动分析导致的过拟合
7. 为不同模型准备不同的 harness 配置，因为 prompt 敏感度因模型而异

## 独到观点
文章最独特的贡献是**用具体数据证明了 harness engineering 的杠杆效应**。从第 30 名到第 5 名、13.7 个百分点的提升，全部来自 harness 改进而非模型更换——这是对"模型决定一切"观点的有力反驳。Middleware 模式的引入（PreCompletionChecklist、LocalContext、LoopDetection）为 harness engineering 提供了可复用的设计模式。Reasoning sandwich 策略的发现也很独到——它揭示了一个反直觉的事实：更多推理不一定更好，关键是在正确的阶段分配推理资源。基于 trace 的自动分析系统（Agent Skill 自动分析实验结果并建议改进）则展示了一种元级别的工程方法论。

## 与其他文章的关联
- 与 [LangChain: Evaluating Deep Agents](31-langchain-evaluating-deep-agents.md) 是姊妹篇，前者聚焦评估方法，本文聚焦改进手段
- Harness 概念直接对应 [LangChain: Frameworks, Runtimes, and Harnesses](34-langchain-frameworks-runtimes-harnesses.md) 中 harness 层的定义
- Context engineering 实践与 [12-Factor Agents](25-humanlayer-12-factor-agents.md) Factor 3"Own Your Context Window"高度一致
- Self-verification loop 呼应了 [OpenHands: Learning to Verify AI Code](33-openhands-verify-ai-code.md) 中代码验证的主题
- Model-specific harness tuning 与 [OpenHands: Evaluating Agent Skills](28-openhands-evaluating-skills.md) 中 skill 效果因模型而异的发现一致
- 基础设施配置的影响印证了 [Anthropic: Infrastructure Noise](30-anthropic-infrastructure-noise.md) 的核心论点
