Workflow
模型与Harness共同进化
icon
搜索文档
同一个模型,换个Harness排名跳了25位:智能体基础设施完全解剖
深思SenseAI· 2026-04-08 07:59
文章核心观点 - 智能体的表现差异主要源于包裹大模型的外部软件基础设施(Agent Harness),而非模型本身,优化Harness能带来显著的性能提升[2][3] - Harness是一个完整的软件系统,负责编排、工具调用、记忆、上下文管理等,是智能体行为得以产生的“机器”,其复杂程度可能超过业务逻辑[6] - 模型与Harness正在共同进化,选择Harness即选择了特定的运行生态,未来的竞争将是“模型+Harness”组合的系统之战[34][37][39] Harness的定义与重要性 - Harness被正式定义为包裹在大模型外部的全部软件基础设施,包括编排循环、工具调用、记忆系统、上下文管理、状态持久化、错误处理和安全护栏[6] - 它被类比为冯·诺依曼架构中的“操作系统”,而模型权重是“CPU”,上下文窗口是“RAM”,外部数据库是“磁盘”[8] - 行业实践表明,仅优化Harness就可使智能体在TerminalBench 2.0排行榜上的排名从30名开外跃升至第5名[2] Harness的工程层次与核心组件 - 围绕模型的工程分为三层:提示工程、上下文工程和Harness工程,其中Harness工程包含前两者并加上完整的应用基础设施[9] - 一个生产级Harness包含12个独立组件,关键组件包括作为“心跳”的编排循环(执行Thought-Action-Observation循环)和作为“手”的工具系统[10][11][12] - 记忆系统采用多层结构运作,如Claude Code实现了轻量索引、详细主题文件和原始对话记录三级层级,智能体在行动前会先验证记忆[14] 上下文管理与性能优化 - 核心挑战是“上下文腐烂”,即关键内容位于上下文窗口中间时,模型性能可能下降超过30%[18] - 生产环境策略包括压缩对话历史、遮蔽旧工具输出、按需检索数据以及委派子智能体返回精炼摘要(如1000-2000 token)[19] - 通过优先保留推理轨迹而非原始工具输出,可实现26-54%的token缩减,同时保持95%以上的准确率[21] 错误处理与安全设计 - 错误具有复合效应,一个10步流程若每步成功率为99%,端到端成功率仅约90.4%[22] - 错误被分类为瞬态错误、模型可恢复错误、用户可修复错误和意外错误,生产系统会设定重试上限(如2次)[23] - 安全设计采用多层护栏,例如分为输入护栏、输出护栏和工具护栏,并将权限执行与模型推理分离,Claude Code独立控制约40个离散工具能力[24] 验证循环与质量保障 - 验证循环是区分玩具demo与生产级智能体的关键,方式包括规则验证、视觉验证和“模型即裁判”[25] - 为模型提供验证自己工作的方式,可将输出质量提升2到3倍[26][27] - 子智能体编排支持多种执行模式,如Fork(复制上下文)、Teammate(通过文件通信)和Worktree(隔离git分支)[25] Harness的关键设计抉择 - 设计抉择包括单智能体与多智能体选择,建议先将单智能体做到极致,多智能体会增加调用开销和上下文丢失风险[29] - 工具范围策略遵循“少即是多”原则,工具越多表现可能越差,应只暴露当前步骤所需的最小工具集,延迟加载可实现95%的上下文缩减[29] - 需权衡Harness的“厚度”,即多少逻辑放在Harness中,多少留给模型,存在“薄Harness+模型改进”与“显式控制”两种不同理念[30] 行业主要框架的实现与趋势 - 主要框架设计哲学各异:Claude Agent SDK采用“傻循环”理念;OpenAI Agents SDK强调代码优先;LangGraph基于显式状态图;CrewAI注重角色分工[32] - 模型与Harness共同进化趋势明显,例如Codex模型在其特定Harness上表现更好,更换Harness可能导致性能下降[34] - 行业正趋向统一的Harness概念,LangChain从AgentExecutor演进到LangGraph,并明确使用“Agent Harness”术语[34] - AutoGen(正演变为Microsoft Agent Framework)采用对话驱动编排,其三层架构支持五种多智能体协作模式[35] Harness的演进与未来启示 - Harness被隐喻为“脚手架”,随着模型能力增强,其复杂度应降低,理想设计是模型升级后Harness能自动瘦身[36][37] - 对于AI产品团队,应将主要精力(如80%)放在Harness优化上,这可能比更换模型更有效[39] - 真正的产品差距在模型之外,即Harness设计,两个使用相同模型的产品可因Harness不同而表现天差地别[38][39][41] - Harness作为管理上下文、工具、状态和验证的结构性需求不会消失,如同操作系统不会因CPU变快而消失[42]