《Agent Harness 十二大模块完全解析》 把 2026 年初才被全球 AI 社区正式命名的 “Agent Harness”(包裹 LLM 的操作系统级基础设施)做了一次较完整的拆解。这个术语被单独命名本身就是信号——Anthropic、OpenAI、LangChain、Perplexity 这些团队都在疯狂加码的,不再是”更大模型”,而是模型外面那一圈原本没有名字、看不见的架构。
两个实验数据说透了这件事。LangChain 做过一次对照:完全不动模型权重和底层算法,只优化包裹 LLM 的 Harness,就让智能体在 TerminalBench 2.0 从 30 名开外冲到第 5。另一项研究让 LLM 自主优化 Harness 架构,通过率飙到 76.4%,吊打人工设计的系统。LangChain 的维韦克·特里维迪(Vivek Trivedy)说过一句话:“If you’re not the model, you are the Harness.” 所谓”搭建智能体”,本质上不是造一个会思考的 AI,而是搭一套 Harness 对接给模型。
把 LLM 当没有外设的 CPU
这个概念新鲜的地方在于用计算机架构做类比:裸的大语言模型是一颗没有内存、没有硬盘、没有外设驱动的 CPU,只有核心计算能力。上下文窗口(Context Window)是临时内存;向量数据库和长期存储是硬盘;工具集成(Tool Integration)是设备驱动;Agent Harness 就是让这一切协同工作的操作系统。贝伦·米利奇(Beren Millidge)2023 年 AI’s Scaffolding 说得更直接——“我们通过 Agent Harness 重新发明了冯·诺依曼架构”。由此引出三个易混层级:最底是提示工程(Prompt Engineering),只管指令;中间是上下文工程(Context Engineering),管模型在不同阶段能看到哪些信息;最上是 Harness 工程,包含前两层,还涵盖工具编排、状态持久化、错误恢复、验证循环、安全管控等全套基础设施。把 Harness 当”给提示词套个壳”是认知错位——它是玩具 Demo 与生产智能体的本质区别。
十二个模块分三层读
信息层:围绕 Context Rot 作战
上下文管理(Context Management) 是信息层的核心痛点,一个词概括——Context Rot(上下文腐烂)。斯坦福 Lost in the Middle 与 Chroma 实验相互印证:关键信息落在上下文中间时,模型性能暴跌 30% 以上,百万级 Token 也救不了。四招应对——压缩(摘要旧历史)、观察屏蔽(隐藏旧工具输出但保留调用记录)、即时检索(Claude Code 用 grep/glob/head/tail 精准提取)、子智能体委派(复杂任务拆给子智能体,只回 1000–2000 Token 摘要)。Anthropic 把目标讲得很准:“找到最小的高信噪比 Token 集合”。
记忆(Memory) 和 提示词组装(Prompt Assembly) 是另外两块拼图。Claude Code 的三级记忆是行业标杆——第一层轻量索引(单条约 150 字符)常驻内存,第二层主题文件按需加载,第三层原始交互记录只通过搜索访问;原则是”智能体不依赖记忆,而是把记忆当提示,行动前与实际状态核对”。提示词组装定义每轮推理看到的世界,标准顺序是系统提示 → 工具定义 → 记忆总结 → 对话历史 → 当前用户消息;OpenAI Codex 还叠了一层优先级栈,核心规则不会被对话历史淹没。
执行层:把”智能”和”流程”解耦
编排循环(Orchestration Loop) 是智能体的心跳,ReAct / TAO(Thought-Action-Observation)都是它的实现,代码上就是个 while 循环,复杂度全在循环管理的细节里。Anthropic 给自家循环起了个外号——“dumb loop”:所有智能决策让模型做,Harness 只负责按流程转场、调度任务。工具(Tools) 是智能体与现实世界交互的唯一途径,要做注册、Schema 校验、参数提取、沙箱执行、结果捕获。工具调用与结构化输出(Tool Calling & Structured Output) 是模型和 Harness 之间的通用语言——现代生产级 Harness 完全依赖原生 tool_calls 结构化对象,判断逻辑因此极简。子 Agent 编排(Subagent Orchestration) 让单体升级成集群,Claude Code 有三种模式——Fork(父上下文精确副本)、Teammate(独立终端面板通信)、Worktree(独立 Git 工作树)。初始化与环境搭建 把上述模块串成标准执行周期,终止条件多层:无工具调用、达到最大轮次、Token 预算耗尽、护栏触发、用户中断、安全拒绝。
可靠性层:兜住 10×99%=90% 的数学事实
错误处理(Error Handling) 面对一个残酷数学:10 步流程每步 99% 成功率,端到端只剩约 90.4%,错误滚雪球。LangGraph 的四类错误分法很典型——瞬时错误(网络、限流)带退避重试,模型可恢复错误(参数、逻辑失误)包成工具消息让模型自修,用户可修复错误(权限、配置)中断等人,意外错误直接抛出便于调试。Stripe 更保守:重试次数严格限制在两次以内,避免无限重试榨干资源。
状态与检查点(State & Checkpointing) 解决长周期任务崩溃后无法恢复的痛点。LangGraph 把状态建模为类型化字典,在”超级步骤”边界触发检查点,甚至能做时光倒流式调试;Claude Code 的思路则是直接拿 Git 提交当检查点,用进度文件当结构化草稿本。
验证与反馈(Verification & Feedback) 是玩具级和生产级的分水岭。Anthropic 推荐三种:基于规则(测试用例、Linter、类型检查)、视觉反馈(Playwright 截图验 UI)、LLM-as-Judge(独立子智能体做裁判)。Claude Code 创始人鲍里斯·切尔尼(Boris Cherny)给过明确数字——自我验证机制让输出质量提升 2 到 3 倍。护栏(Guardrails) 则是企业级安全红线,Anthropic 在架构上把”权限执行”和”模型推理”彻底解耦——模型只负责想”想做什么”,工具系统判断”能做什么”,Claude Code 独立管控约 40 种离散工具能力,高风险操作必须用户明确确认。
五大框架的哲学差异
五个主流框架模块趋同、哲学各异。Anthropic Claude Agent SDK 是薄 Harness 哲学的极致——运行时极简 dumb loop,Gather-Act-Verify 流程,状态靠 Git 提交;OpenAI Agents SDK 代码优先,原生 Python 写工作流,侧重快速落地生产;LangGraph 用显式状态图组织 llm_call / tool_node 加条件边,支持嵌套,适合复杂多分支长流程;CrewAI 基于角色做多智能体编排,智能体/任务/团队解耦,Flows 层做路由与验证;AutoGen(已演进为 Microsoft Agent Framework) 是对话驱动编排的开创者,覆盖顺序、并发、群组聊天、交接、Magentic 五种模式。没有绝对优劣,只有场景适配。
薄 Harness 才是未来
脚手架是临时基础设施,楼建成就拆——模型能力越强,Harness 的复杂度就应该越低。Manus 半年内重构五次,每次都在做减法:复杂工具定义简化为通用 Shell 执行,管理智能体简化为结构化交接,性能反而一路提升。背后是”共同进化”:大模型在后训练阶段会把特定 Harness 纳入训练循环,内化的能力越多,外面需要的封装就越少。好 Harness 的判据是能通过”面向未来的测试”——模型升级后性能自然跟涨,不必加 Harness 复杂度。
落到工程选型,几个绕不开的抉择:
- 单 Agent 还是多 Agent:先榨干单体再拆,只有工具重叠超 10 个或任务域明显分离时才值得
- ReAct 还是 Plan-Execute:ReAct 灵活但每步成本高;Plan-Execute 分离规划与执行,LLMCompiler 比顺序 ReAct 快 3.6 倍
- 工具范围:工具越多性能越差,Vercel 砍掉 80% 的工具后性能反而提升,只暴露当前步骤所需的最小工具集
- Harness 厚度:薄 Harness 信任模型,厚 Harness 靠代码控制逻辑;模型越强越应偏薄
Demo 流畅的智能体到生产就翻车,答案从来不是”模型不行”,而是 Harness 架构不够完善。两个一样的模型,Harness 设计不同,性能可能天差地别。2026 年的 AI 竞争早已不是模型参数的内卷,而是 Harness 工程的较量——怎么把上下文当稀缺资源管理、怎么设计拦截错误的验证循环、怎么构建无幻觉的记忆系统、怎么平衡脚手架与模型的能力,这才是 AI 工程化真正的硬骨头。