ARTICLE · 软件编程

换一套 Harness,比换两代模型还管用

作者:腾讯云开发者 来源:腾讯云开发者 2026-09-18 08:45 105 分钟 206 阅读 26002 字
编程与工程AI Agent系统设计开发者工具上下文工程
一语总结

本文系统性地阐述了 Agent Harness(模型外工程层)的设计架构,主张模型决定上限而 Harness 决定实际产出,详细解析了 Agentic Loop、工具系统、记忆与上下文管理及护栏四大子系统的构建原则与工程实践。

AI 总结

文章将 Agent Harness 比作「马具」,定义为模型之外的工程代码层,负责上下文组装、工具执行、错误回喂和任务接续。作者指出当前 Agent 的瓶颈已从模型能力转移到工程组织能力,同一个模型在不同 Harness 下的完成率差异显著。文章首先拆解了基于 ReAct 模式的 Agentic Loop 核心循环及其生产级边界处理(如轮次上限、原地打转检测、错误回喂等);随后详细分析了四大子系统:Tool 系统强调 Schema 与实现的解耦及描述质量;Memory & Context 系统探讨了优先级装箱模型、动态压缩策略以及 Context、Session 与 Memory 的本质区别;最后通过代码骨架展示了如何构建一个模型无关的最小化 Harness,强调工程实践中「先跑通循环,再补基础设施」的递进原则。

核心要点
  1. Harness 是决定 Agent 实际表现的核心,其价值往往超过模型迭代

    模型决定系统的能力上限,而 Harness(包括步数上限、工具暴露方式、上下文管理等)决定了实际能拿到的分数。同一个模型在不同 Harness 下完成率可差出十几到二十个百分点。

  2. Agentic Loop 的本质是「思考 $\rightarrow$ 执行 $\rightarrow$ 观察」的闭环

    一个生产级的循环必须包含轮次上限以防止 Token 浪费、原地打转检测以识别死循环、错误信息回喂以引导模型修正策略,以及对大输出的截断或摘要处理。

  3. Tool 系统应实现 Schema 与具体实现的严格解耦

    模型仅可见 JSON Schema(名称、描述、参数),而由 Harness 负责具体执行。这种分离允许在不改变模型认知的情况下修改实现、增加权限检查或通过 MCP 协议实现工具复用。

  4. Context 工程是 Harness 中杠杆最高的部分,需采用优先级装箱管理

    由于模型仅能基于当前收到的内容推理,必须建立优先级系统(如 System Prompt 最高,旧对话最低),在空间紧张时按优先级截断或压缩,并为模型回复预留足够的 Token 空间。

换一套 Harness,比换两代模型还管用

文章将 Agent Harness 比作「马具」,定义为模型之外的工程代码层,负责上下文组装、工具执行、错误回喂和任务接续。作者指出当前 Agent 的瓶颈已从模型能力转移到工程组织能力,同一个模型在不同 Harness 下的完成率差异显著。文章首先拆解了基于 ReAct 模式的 Agentic Loop 核心循环及其生产级边界处理(如轮次上限、原地打转检测、错误回喂等);随后详细分析了四大子系统:Tool 系统强调 Schema 与实现的解耦及描述质量;Memory & Context 系统探讨了优先级装箱模型、动态压缩策略以及 Context、Session 与 Memory 的本质区别;最后通过代码骨架展示了如何构建一个模型无关的最小化 Harness,强调工程实践中「先跑通循环,再补基础设施」的递进原则。

腾讯云开发者把 Agent Harness 讲透了:模型定上限,工程层定实际产出。文章拆开 Agentic Loop、工具 Schema、上下文装箱与护栏,还给出可跑的最小骨架。适合正在把 Demo Agent 推上生产的工程与架构同学。

文章金句

"

模型决定这套系统的上限,Harness 决定你实际能拿到多少。

"

先怀疑管道,再怀疑模型。

"

模型不知道你没告诉它的事。

"

把错误当成给模型的一条信息