本文深入探讨 Anthropic、OpenAI、Perplexity 和 LangChain 真正在构建什么。涵盖编排循环、工具、记忆、上下文管理,以及将无状态大语言模型转变为全能智能体的其他一切。
你已经构建了一个聊天机器人。也许你还用几个工具搭了一个 ReAct 循环。演示时它能跑通。但当你试图构建生产级系统时,轮子就掉了:模型忘了三步前做了什么,工具调用无声地失败,上下文窗口塞满了垃圾。
问题不在你的模型。而在模型周围的一切。
LangChain 证明了这一点:当他们只改变包裹大语言模型的基础设施(同样的模型,同样的权重),就从 TerminalBench 2.0 的前 30 名之外跃升至第 5 名。另一个研究项目通过让大语言模型优化基础设施本身,达到了 76.4% 的通过率,超越了人工设计的系统。
那套基础设施现在有了名字:智能体驾驭层(Agent Harness)。
一、什么是智能体 Harness?
这个术语在 2026 年初被正式提出,但概念早已存在。Harness 是包裹大语言模型的完整软件基础设施:编排循环、工具、记忆、上下文管理、状态持久化、错误处理和安全护栏。Anthropic 的 Claude Code 文档说得简单:SDK 就是"驱动 Claude Code 的智能体 Harness"。OpenAI 的 Codex 团队也使用同样的表述,明确将"智能体"和"Harness"这两个词等同起来,指代让大语言模型变得有用的非模型基础设施。
我很喜欢 LangChain 的 Vivek Trivedy 提出的那个经典公式:“如果你不是模型,你就是 Harness。”
这里有个容易让人混淆的区别。"智能体"是涌现出来的行为:那个以目标为导向、使用工具、自我修正的、用户与之交互的实体。而 Harness 是产生这种行为的机器。当有人说"我构建了一个智能体"时,他们的意思其实是他们构建了一个 Harness,然后把它指向了一个模型。
Beren Millidge 在 2023 年的文章《脚手架式大语言模型作为自然语言计算机》中把这个类比说得很精确。一个原始的大语言模型就像一台没有内存、没有硬盘、没有 I/O 的 CPU。上下文窗口充当内存(快但有限)。外部数据库充当硬盘存储(大但慢)。工具集成充当设备驱动。Harness 就是操作系统。正如 Millidge 所写:“我们重新发明了冯·诺依曼架构”,因为这是任何计算系统的自然抽象。
二、三个工程层级
模型周围有三个同心圆的工程层级:
- 提示工程(Prompt Engineering):精心制作模型接收的指令。
- 上下文工程(Context Engineering):管理模型在什么时间看到什么内容。
- 驾驭工程(Harness Engineering):涵盖以上两者,再加上整个应用基础设施:工具编排、状态持久化、错误恢复、验证循环、安全执行和生命周期管理。
Harness 不是提示词的外包装。它是让自主智能体行为成为可能的完整系统。
三、生产级 Harness 的 12 个组件
综合 Anthropic、OpenAI、LangChain 以及更广泛的实践者社区的观点,一个生产级智能体 Harness 包含十二个不同的组件。我们逐一剖析。
- 编排循环(The Orchestration Loop)
这是心跳。它实现了思考-行动-观察(TAO)循环,也叫 ReAct 循环。循环的运行方式是:组装提示词 → 调用大语言模型 → 解析输出 → 执行任何工具调用 → 将结果反馈回去 → 重复直到完成。
从机制上讲,它通常只是一个 while 循环。复杂性存在于循环管理的一切之中,而不是循环本身。Anthropic 将他们的运行时描述为一个"笨循环",所有智能都存在于模型中。Harness 只是管理轮次。
- 工具(Tools)
工具是智能体的双手。它们被定义为模式(名称、描述、参数类型),注入到大语言模型的上下文中,让模型知道有哪些可用工具。工具层处理注册、模式验证、参数提取、沙盒化执行、结果捕获,以及将结果格式化回大语言模型可读的观察内容。
Claude Code 提供六大类工具:文件操作、搜索、执行、网络访问、代码智能和子智能体生成。OpenAI 的 Agents SDK 支持函数工具(通过@function_tool)、托管工具(WebSearch、CodeInterpreter、FileSearch)和 MCP 服务器工具。
- 记忆(Memory)
记忆在多个时间尺度上运作。短期记忆是单次会话内的对话历史。长期记忆跨会话持久化:Anthropic 使用CLAUDE.md项目文件和自动生成的MEMORY.md文件;LangGraph 使用按命名空间组织的 JSON 存储;OpenAI 支持由 SQLite 或 Redis 支撑的会话(Sessions)。
Claude Code 实现了一个三层层级结构:一个轻量级索引(每条约 150 个字符,始终加载)、按需拉取的详细主题文件、以及仅通过搜索访问的原始转录文本。一个关键的设计原则是:智能体将自己的记忆视为"提示",在行动前会针对实际状态进行验证。
- 上下文管理(Context Management)
这是许多智能体无声失败的地方。核心问题是上下文腐烂(context rot):当关键内容落在窗口中间位置时,模型性能下降 30% 以上(Chroma 的研究,与斯坦福的"Lost in the Middle"发现相互印证)。即使是百万 token 的窗口,随着上下文增长,指令遵循能力也会下降。
生产级策略包括:
- 压缩(Compaction):接近限制时总结对话历史(Claude Code 保留架构决策和未解决的 bug,同时丢弃冗余的工具输出)。
- 观察屏蔽(Observation Masking):JetBrains 的 Junie 隐藏旧的工具输出,但保留工具调用可见。
- 即时检索(Just-in-time Retrieval):维护轻量级标识符并动态加载数据(Claude Code 使用grep、glob、head、tail,而不是加载完整文件)。
- 子智能体委托(Sub-agent Delegation):每个子智能体进行广泛探索,但只返回 1,000 到 2,000 token 的浓缩摘要。
Anthropic 的上下文工程指南指出目标是:找到最小的高信号 token 集合,以最大化期望结果的可能性。
- 提示词构建(Prompt Construction)
这负责组装模型在每一步实际看到的内容。它是分层的:系统提示词、工具定义、记忆文件、对话历史,以及当前用户消息。
OpenAI 的 Codex 使用严格的优先级栈:服务器控制的系统消息(最高优先级)、工具定义、开发者指令、用户指令(级联的AGENTS.md文件,32 KiB 限制),然后是对话历史。
- 输出解析(Output Parsing)
现代 Harness 依赖原生工具调用,模型返回结构化的 tool_calls 对象,而不是必须解析的自由文本。Harness 检查:有工具调用吗?执行它们并循环。没有工具调用?那就是最终答案。
对于结构化输出,OpenAI 和 LangChain 都支持通过 Pydantic 模型进行模式约束的响应。像RetryWithErrorOutputParser 这样的传统方法(将原始提示词、失败的完成内容和解析错误反馈给模型)在边缘情况下仍然可用。
- 状态管理(State Management)
LangGraph 将状态建模为流经图节点的类型化字典,通过 reducer 合并更新。检查点发生在超级步骤边界,支持中断后恢复和时间旅行调试。OpenAI 提供四种互斥策略:应用内存、SDK 会话、服务器端 Conversations API,或轻量级的 previous_response_id 链式调用。Claude Code 采取了不同方法:用 git 提交作为检查点,用进度文件作为结构化草稿本。
- 错误处理(Error Handling)
这之所以重要,是因为:一个 10 步流程,如果每步成功率 99%,端到端成功率也只有约 90.4%。错误会快速复合。
LangGraph 区分四种错误类型:瞬态错误(带退避的重试)、大语言模型可恢复错误(将错误作为 ToolMessage 返回,让模型自行调整)、用户可修复错误(中断以获取人工输入)、以及意外错误(冒泡以供调试)。Anthropic 在工具处理程序内部捕获失败,并将它们作为错误结果返回,以保持循环运行。Stripe 的生产级 Harness 将重试次数上限设为两次。
- 护栏与安全(Guardrails and Safety)
OpenAI 的 SDK 实现了三个层级:输入护栏(在第一个智能体上运行)、输出护栏(在最终输出上运行)、工具护栏(在每次工具调用上运行)。一个"绊线(tripwire)"机制在触发时立即停止智能体。
Anthropic 在架构上将权限执行与模型推理分离。模型决定尝试什么;工具系统决定允许什么。Claude Code 独立控制约 40 个离散的工具能力,分为三个阶段:项目加载时的信任建立、每次工具调用前的权限检查、以及高风险操作的显式用户确认。
- 验证循环(Verification Loops)
这是区分玩具演示和生产级智能体的东西。Anthropic 推荐三种方法:基于规则的反馈(测试、linter、类型检查器)、视觉反馈(通过 Playwright 截图用于 UI 任务)、以及大语言模型作为裁判(一个单独的子智能体评估输出)。
Claude Code 的创建者 Boris Cherny 指出,给模型一种验证其工作的方式能将质量提升 2 到 3 倍。
- 子智能体编排(Subagent Orchestration)
Claude Code 支持三种执行模型:Fork(父上下文的字节级相同副本)、Teammate(单独的终端面板,基于文件的邮箱通信)、以及 Worktree (拥有自己的 git 工作树,每个智能体一个独立分支)。OpenAI 的 SDK 支持智能体作为工具(专家处理有界的子任务)和交接(handoffs,专家完全接管控制)。LangGraph 将子智能体实现为嵌套状态图。
四、循环运转:逐步拆解
既然你已经了解了各个组件,让我们追踪它们如何在一个循环中协同工作。
第 1 步(提示词组装):Harness 构建完整输入:系统提示词 + 工具模式 + 记忆文件 + 对话历史 + 当前用户消息。重要上下文被放置在提示词的开头和结尾(基于"Lost in the Middle"发现)。
第 2 步(大语言模型推理):组装的提示词被发送到模型 API。模型生成输出 token:文本、工具调用请求,或两者兼有。
第 3 步(输出分类):如果模型只产生了文本而没有工具调用,循环结束。如果它请求了工具调用,进入执行阶段。如果请求了交接,更新当前智能体并重新开始。
第 4 步(工具执行):对于每个工具调用,Harness 验证参数、检查权限、在沙盒环境中执行、并捕获结果。只读操作可以并发运行;变更操作串行运行。
第 5 步(结果打包):工具结果被格式化为大语言模型可读的消息。错误被捕获并作为错误结果返回,以便模型自我纠正。
第 6 步(上下文更新):结果被追加到对话历史。如果接近上下文窗口限制,Harness 触发压缩。
第 7 步(循环):返回第 1 步。重复直到终止。
终止条件是分层设置的:模型产生没有工具调用的响应、超过最大轮次限制、token 预算耗尽、护栏绊线触发、用户中断、或返回安全拒绝。一个简单问题可能需要 1 到 2 轮。一个复杂的重构任务可以跨多轮串联几十个工具调用。
对于跨越多个上下文窗口的长时间运行任务,Anthropic 开发了一种两阶段的"Ralph Loop"模式:一个初始化智能体设置环境(初始化脚本、进度文件、功能列表、初始 git 提交),然后每个后续会话中的编码智能体读取 git 日志和进度文件来定位自己,挑选最高优先级的未完成功能,进行工作,提交,并写入摘要。文件系统提供了跨上下文窗口的连续性。
五、真实 Harness 如何实现这一模式
Anthropic 的 Claude Agent SDK 通过单个query() 函数暴露 Harness,该函数创建智能体循环并返回一个异步迭代器来流式传输消息。运行时是一个"笨循环"。所有智能都存在于模型中。Claude Code 使用一个收集-行动-验证循环:收集上下文(搜索文件、阅读代码)、采取行动(编辑文件、运行命令)、验证结果(运行测试、检查输出),重复。
OpenAI 的 Agents SDK 通过Runner类实现 Harness,具有三种模式:异步、同步和流式。该 SDK 是"代码优先"的:工作流逻辑用原生 Python 表达,而不是图 DSL。Codex Harness 在此基础上扩展了三层架构:Codex Core(智能体代码 + 运行时)、App Server(双向 JSON-RPC API)和客户端界面(CLI、VS Code、网页应用)。所有界面共享同一个 Harness,这就是为什么"Codex 模型在 Codex 界面上感觉比在通用聊天窗口中更好"。
LangGraph 将 Harness 建模为显式状态图。两个节点(llm_call和tool_node)通过条件边连接:如果存在工具调用,路由到 tool_node;如果不存在,路由到 END。LangGraph 从 LangChain 的 AgentExecutor 进化而来,后者在 v0.2 中被弃用,因为它难以扩展且缺乏多智能体支持。LangChain 的 Deep Agents 明确使用了"智能体 Harness"这一术语:内置工具、规划(write_todos工具)、用于上下文管理的文件系统、子智能体生成和持久化记忆。
CrewAI 实现了基于角色的多智能体架构:Agent(围绕大语言模型的 Harness,由角色、目标、背景故事和工具定义)、Task(工作单元)和 Crew(智能体集合)。CrewAI 的 Flows 层增加了"在关键处注入智能的确定性骨架",管理路由和验证,而 Crews 处理自主协作。
AutoGen(正在演变为 Microsoft Agent Framework)开创了对话驱动的编排。其三层架构(Core、AgentChat、Extensions)支持五种编排模式:顺序、并发(扇出/扇入)、群聊、交接和 magentic(一个管理智能体维护动态任务账本,协调专家)。
六、脚手架隐喻
脚手架隐喻不是装饰性的。它是精确的。建筑脚手架是临时基础设施,让工人能够建造他们 otherwise 无法到达的结构。它不做建造工作。但没有它,工人就上不了高层。
关键洞察:建筑完工时,脚手架会被拆除。随着模型改进,Harness 复杂性应该降低。Manus 在六个月内重写了五次,每次重写都移除了复杂性。复杂的工具定义变成了通用的 shell 执行。"管理智能体"变成了简单的结构化交接。
这指向了共同进化原则:模型现在会在特定的 Harness 在环的情况下进行后训练。Claude Code 的模型学会了使用它被训练时所用的特定 Harness。改变工具实现可能会降低性能,因为这种紧密耦合。
Harness 设计的"未来验证测试":如果性能随着更强大的模型而提升,且无需增加 Harness 复杂性,那么设计就是合理的。
七、定义每个 Harness 的七个决策
每个 Harness 架构师都面临七个选择:
- 单智能体 vs. 多智能体。
Anthropic 和 OpenAI 都说:先最大化单智能体。多智能体系统增加开销(额外的路由大语言模型调用、交接时的上下文丢失)。只有当工具过载超过约 10 个重叠工具,或存在明显分离的任务域时,才进行拆分。
- ReAct vs. 计划-执行。
ReAct 在每一步交错推理和行动(灵活但每步成本更高)。计划-执行将计划与执行分离。LLMCompiler 报告称比顺序 ReAct 快 3.6 倍。
- 上下文窗口管理策略。
五种生产级方法:基于时间的清除、对话总结、观察屏蔽、结构化笔记和子智能体委托。ACON 研究表明,通过优先保留推理痕迹而非原始工具输出,token 减少了 26% 到 54%,同时保持了 95% 以上的准确率。
- 验证循环设计。
计算验证(测试、linter)提供确定性的 ground truth。推理验证(大语言模型作为裁判)捕获语义问题但增加延迟。Martin Fowler 的 Thoughtworks 团队将其框定为引导器(前馈,在行动前引导)与传感器(反馈,在行动后观察)。
- 权限和安全架构。
宽松(快但风险高,自动批准大多数操作)vs. 严格(安全但慢,每个操作都需要批准)。选择取决于部署上下文。
- 工具范围策略。
更多工具通常意味着更差的性能。Vercel 从 v0 中移除了 80% 的工具,结果反而更好。Claude Code 通过懒加载实现了 95% 的上下文缩减。原则:只暴露当前步骤所需的最小工具集。
- Harness 厚度。
多少逻辑存在于 Harness 中,多少留给模型。Anthropic 押注簿 Harness 和模型改进。基于图的 Harness 押注显式控制。Anthropic 经常从 Claude Code 的 Harness 中删除规划步骤,因为新版本模型内化了这种能力。
八、Harness 就是产品
两个使用相同模型的产品,仅凭 Harness 设计就可能产生截然不同的性能。TerminalBench 的证据很明确:只改变 Harness,智能体就跃升了 20 多个排名位置。
Harness 不是一个已解决的问题,也不是一个商品化层。这里才是硬核工程所在:将上下文作为稀缺资源管理、设计能在失败复合前捕获它们的验证循环、构建提供连续性而不产生幻觉的记忆系统、以及做出架构赌注:该建多少脚手架,又该留给模型多少。
这个领域正朝着更薄的 Harness 发展,因为大模型在改进。但 Harness 本身不会消失。即使是最强大的模型,也需要某种东西来管理它的上下文窗口、执行它的工具调用、持久化它的状态、并验证它的工作。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~