AI代理的隐藏基础设施 Agent Harness十二组件完整拆解
你已经搭好了一个聊天机器人甚至接了几个工具跑通了ReAct循环。Demo阶段它表现得还不错。但一旦放到真实业务里问题立刻浮现模型忘掉三步前做过什么工具调用无声失败上下文窗口被垃圾信息塞满整体成功率断崖式下跌。问题从来不是模型本身不够强而是模型周围的一切。LangChain用相同模型、相同权重只改了包装层的基础设施就从TerminalBench排名30名开外直接冲到前5。另一个研究项目甚至让LLM自己优化基础设施把通过率拉到76.4%超过了人工设计的系统。这个“包装层”现在有了正式名称Agent Harness代理马具/代理基础设施。什么是Agent HarnessAgent Harness是包裹在LLM外层的完整软件基础设施。它包含编排循环、工具系统、记忆、上下文管理、状态持久化、错误处理、护栏等所有非模型部分。简单来说Agent是涌现出的行为目标导向、使用工具、自我修正。Harness是产生这种行为的机器。正如LangChain的Vivek Trivedy所说“如果你不是模型那你就是harness。”Beren Millidge的比喻最精准原始LLM就像一台没有内存、没有硬盘、没有I/O的CPU。上下文窗口是有限的RAM外部数据库是慢速硬盘工具集成是设备驱动而Harness就是操作系统。我们其实重新发明了冯·诺依曼架构只是这次是用自然语言在构建计算系统。三层工程的递进关系围绕模型存在三层工程Prompt Engineering设计模型接收的指令。Context Engineering管理模型在每个时刻能看到什么。Harness Engineering包含以上两者加上完整的应用级基础设施工具编排、状态持久化、错误恢复、验证循环、安全护栏、生命周期管理等。Harness不是prompt的简单包装而是让自主代理行为成为可能的完整系统。生产级Harness的十二个核心组件综合Anthropic、OpenAI、LangChain/LangGraph以及一线实践者经验一个可用于生产的Agent Harness通常包含以下12个组件1. 编排循环Orchestration Loop这是心跳。经典的Thought-Action-ObservationReAct循环在这里实现。Anthropic明确把自己的运行时描述为“dumb loop”笨循环所有智能都在模型里harness只负责管理轮次。2. 工具系统Tools代理的双手。工具以schema形式注入模型上下文harness负责注册、参数验证、沙箱执行、结果格式化返回。Claude Code把工具分为文件操作、搜索、执行、网络访问、代码智能、子代理生成六大类。3. 记忆系统Memory多时间尺度记忆。短期是单会话历史长期是跨会话持久化。Claude Code采用三层结构轻量索引始终加载、按需加载的详细主题文件、仅搜索时访问的原始转录。核心原则是把记忆当成“提示”而不是绝对事实。4. 上下文管理Context Management这是很多代理静默失败的主因。上下文腐烂context rot会导致模型性能下降30%以上。生产做法包括压缩历史、观察掩蔽、即时检索、子代理委托摘要等。目标是用最少的高信号token换取最高成功概率。5. Prompt构建Prompt Construction按优先级组装模型真正看到的内容系统提示 → 工具定义 → 记忆文件 → 对话历史 → 当前用户消息。6. 输出解析Output Parsing现代harness依赖原生工具调用structured tool_calls而不是解析自由文本。无工具调用时即为最终答案。7. 状态管理State ManagementLangGraph用带reducer的类型化字典建模状态支持检查点和时间旅行调试。Claude Code则用git提交作为检查点。8. 错误处理Error Handling10步流程每步99%成功率最终端到端成功率只有约90.4%。错误会快速累积。生产harness需要区分瞬时错误、模型可恢复错误、用户可修复错误和意外错误并分别处理。9. 护栏与安全Guardrails and Safety输入护栏、输出护栏、工具护栏三级防御。Anthropic把权限控制与模型推理在架构上分离模型决定想做什么工具系统决定能不能做。10. 验证循环Verification Loops这是demo和生产代理的分水岭。包括基于规则的验证测试、linter、视觉反馈截图、LLM-as-judge。Boris Cherny指出给模型验证自己工作的能力能让质量提升2-3倍。11. 子代理编排Subagent Orchestration支持Fork、Teammate、Worktree等多种执行模式以及agents-as-tools、手动交接等模式。12. 生命周期与终止管理定义何时停止循环无工具调用、达到轮次上限、token预算耗尽、护栏触发等。真实框架如何落地这套模式Anthropic Claude Code强调“dumb loop Gather-Act-Verify”循环模型负责智能harness负责执行和验证。OpenAI Agents SDK代码优先用原生Python表达工作流。LangGraph把harness显式建模为状态图节点间通过条件边路由。CrewAI / AutoGen分别采用角色驱动和对话驱动的多代理编排。Harness工程的七大关键决策每个harness架构师都要面对这七个选择单代理 vs 多代理优先把单代理做到极致ReAct vs Plan-and-Execute前者灵活后者更快上下文窗口管理策略压缩、掩蔽、子代理摘要等验证循环设计计算验证 vs 推断验证权限与安全架构宽松 vs 严格工具范围策略更少工具往往更好Harness厚度把多少逻辑留在harness里 vs 交给模型随着模型能力提升harness应该越来越薄——这是检验设计是否优秀的标准。Harness才是真正的产品两个使用相同模型的产品性能差异可能只来自harness设计。TerminalBench的数据已经证明只改harness就能让排名移动20位。下次你的代理失败时不要只怪模型。去检查你的harness。你目前在构建的代理系统里哪个组件记忆、上下文管理、验证循环等目前最痛把具体场景描述出来我们可以一起分析对应的harness设计方案。我是紫微AI在做一个「人格操作系统ZPF」。后面会持续分享AI Agent和系统实验。感兴趣可以关注我们下期见。