
本文深入解析 LangChain 文章《The Anatomy of an Agent Harness》阐述 Agent Model Harness 的理论框架。模型提供推理能力Harness 则负责上下文注入、控制、行动、持久化、观察与验证。文章系统化梳理 Harness 各模块功能从模型视角解释 Harness 的必要性并指导如何从目标行为反推 Harness 需要的工程能力。核心内容涵盖文件系统、Bash 和代码执行、Sandbox 和验证工具、记忆与搜索机制以及对抗上下文紊乱的策略揭示 Harness 在长视野自主执行中的关键作用并展望 Harness 与模型训练的共同演化未来。LangChain 在 2026 年 3 月发布这篇文章用Agent Model Harness建立了一套理解 Agent 系统的统一框架。模型提供推理能力Harness 则补上上下文注入、控制、行动、持久化、观察与验证Agent 的实际能力取决于模型与外部运行系统的组合想让模型表现出某种可靠行为就要从目标行为反推 Harness 需要提供哪些工程能力。这篇文章其实是对 “agent harness” 这个概念的一次系统化澄清。作者不是简单介绍几个 agent 组件而是试图建立一个更统一的理解框架如果把 agent 看成一个真正能干活的系统那么模型只负责智能本身而其他让智能变得可执行、可持续、可验证的部分都属于 harness。它和很多泛泛谈 agent 的文章不太一样的地方在于作者没有停留在术语解释而是顺着“想让 agent 做什么”这个线索一步步推导出 harness 到底该包含哪些能力。整篇文章的结构也很清楚:前半部分定义 harness 以及它的必要性中间部分按能力模块拆解 harness最后再谈 harness 和模型训练的耦合以及未来的发展方向。1. 先定义什么是 Harness文章一开始就先下了一个非常鲜明的判断Agent Model Harness。这个公式其实就是全文的逻辑起点。作者接着给了一个很利落的说法如果某部分不是模型那它大概率就是 harness。这里的 harness 被定义为所有不属于模型本体、但又参与 agent 执行的代码、配置和运行逻辑。作者举了一些具体例子system promptstools、skills、MCP 及其描述文件系统、sandbox、browser 这类基础设施编排逻辑比如 子代理、交接、模型路由hooks / middleware比如 压缩、续传、代码检查这里有一个特别值得注意的点作者刻意把 harness 定义得很宽。因为在他看来只有先接受这个宽定义大家才会认真意识到agent 的能力并不只取决于模型而是取决于围绕模型设计的整个系统。这张图基本就是全文的总纲。包含中间的Model以及四周的Context InjectionControlActionPersistObserve Verify。意思很明确模型在中心负责 reasoning 和 deciding但真正让它变成 agent 的是外层 harness 提供的上下文注入、控制机制、行动能力、持久化能力以及观察和验证能力。换句话说agent 不是“模型自己会了很多东西”而是模型被放进了一套完整的执行回路。这一节很重要它把大家平时零碎感知到的 agent 组件用一个统一概念串起来了。以前很多人会把 prompt、tool、memory、sandbox、browser 当成并列插件看待这篇文章则是在说它们其实都属于同一个系统层也就是 harness 层。2. 从模型视角解释为什么必须有 Harness定义完 harness 之后文章立刻切换到模型视角去解释为什么模型本身不够为什么必须要有 harness。作者这里的论证很朴素但很有说服力。模型本质上做的事情还是输入一些数据然后输出文本。哪怕模型再强这个基础形式并没有变。也因此它天然做不到一些大家希望 agent 能做的事情比如在各种交互中保持持久状态执行代码获取实时知识搭环境、装依赖、完成真实工作这些都不是模型原生能力而是 harness 级或者层的能力。作者这里举了一个最基础的例子聊天。大家觉得“聊天”是模型天然会的其实不是。所谓聊天体验本质上就是 harness 在外面包了一层 while loop持续维护历史消息再把新的用户输入拼进去。换句话说连最常见的聊天产品本质上也是一种 harness可以理解为harness层级的记忆层。所谓 agent并不是“更聪明一点的模型”而是“被包进某种运行机制里的模型”。 模型只是一种概率生成器agent 则是一种被系统化包装后的工作单元。3. 反过来推想要什么行为就补什么 Harness接下来作者开始讲整篇文章的方法论核心不要从组件清单出发理解 harness而要从目标行为出发反推 harness。这个非常重要也就是说先问自己我到底希望 agent 表现出什么能力模型原生做不到什么那么系统层应该补什么也就是从希望 Agent 实现的行为推导出需要 Harness 添加的功能。这张图很有概括性。左边是希望 agent 具备的行为右边是 harness 实际补进去的能力想持续处理真实数据对应 文件系统与 Git想编写和执行代码对应 Bash 与代码执行环境想在安全前提下执行任务并使用默认工具对应 沙箱环境与工具链想保留记忆并接入新知识对应 记忆文件、网页搜索与 MCP想在长上下文中维持性能对应 上下文压缩、工具卸载与 Skills想完成长链路复杂任务对应 Ralph 循环、规划与验证这个映射非常关键你可以直接设计到自己的项目中当然你会用一些框架他们底层肯定会这样给你封装好因为它说明 harness 不是“功能越多越好”而是每个模块都对应某类模型缺口。作者实际上是在给 agent 设计建立一个更实用的原则harness 的价值来自它解决了某个具体行为缺口。4. 文件系统最基础也最核心的 Harness 能力接下来文章正式进入模块拆解第一部分讲的是文件系统。作者先给出目标希望 agent 能有持久存储能和真实数据交互能把放不进 上下文 的信息卸载出去还能跨 会话 持续工作。这个目标一出来其实就已经说明单靠 context window 是不够的。作者认为文件系统几乎是最基础的 harness 能力。原因有三点文件系统给 agent 提供了一个真实 workspace。它可以读代码、读文档、读数据而不是每次都靠用户复制粘贴。这一点不仅提升体验更关键的是它让 autonomous agent 成为可能。因为真正自主执行的 agent不可能指望用户一直手动搬运上下文。文件系统是 context 的卸载层。模型的上下文窗口再大也是有限的而真实任务往往会产生很多中间状态、草稿、日志、临时结果、计划文件。如果这些都硬塞进 context 里系统很快就会崩。文件系统让 agent 可以把信息逐步外存化只在需要时再读回来。文件系统还是协作界面。多个 agent 以及人类都可以通过共享文件协作。作者特意提到 agent teams这说明在他看来文件系统不仅是存储层也是多 agent 协作的公共状态层。而 git 则是在文件系统基础上进一步增加了版本能力。加上 git 之后agent 可以追踪修改、回滚错误、开分支试验。这就让“持续工作”和“试错探索”都更可控了。文件系统对于 agent 来说不只是一个工具而是一个承载记忆、协作和长程执行的底座。5. Bash 和代码执行给 Agent 一个通用工具讲完存储下一步就是执行能力。作者在这里提出的目标是希望 agent 能自主解决问题而不是每遇到一个需求都要人类提前帮它设计工具这才是Agent的核心。这个问题很现实因为今天很多 agent 系统表面上支持工具调用但实际上可做的事完全被预定义工具集限制住了。作者认为更合理的做法是给 agent 一个通用工具也就是 bash 加代码执行能力。这样一来模型就不再局限于固定的工具表而是可以通过写脚本、调用命令、拼装临时代码的方式现场为自己造出解决问题的路径。这背后其实是一种很典型的 agent 设计转向。传统工具调用更像是在给模型一个“有限按钮面板”模型只能按你预先提供的按钮做事而 bash code execution 则更像是直接给模型一台电脑让它自己想办法。作者这里还提到今天主流 agent 仍然大量依赖 ReAct loop也就是“思考 - 调工具 - 观察结果 - 再思考”的循环。问题在于harness 只能执行它有逻辑支持的工具。如果没有一个足够通用的执行接口agent 的行动空间就会被严重卡死。所以在当下bash 实际上已经成了很多 agent 的默认通用策略。核心可以概括成一句话 与其为每一种任务都提前造专用工具不如让 agent 具备用代码创造工具的能力。6. Sandbox 和验证工具给 Agent 一个能安全工作、还能自证的环境有了文件系统和代码执行能力之后作者马上指出一个问题这些能力总得有个地方运行而且不能乱跑。于是文章进入 sandbox 这一节。这一节的目标是让 agent 拥有一个“默认配置正确”的执行环境能够安全行动、观察结果并持续推进任务。作者认为如果让 agent 直接在本地环境运行代码风险太大而且也不适合大规模 agent workload。所以更合理的做法是 harness 去连接 sandbox让 agent 在隔离环境中运行代码、查看文件、装依赖、完成任务。这里其实有两个层面的意义。安全sandbox 能做 allow-list、网络隔离、权限限制避免 agent 直接影响真实主机环境。规模化因为 sandbox 可以按需创建、并行扩展、做完销毁所以它更适合大规模 agent 任务分发。除此之外好的环境还必须自带好的默认工具。 也就是说harness 不只是提供一个空隔离箱子还要把运行时、包管理器、git、测试工具、浏览器等都预先配置好。这样 agent 才能真正有能力完成任务。作者特别点到 browsers、logs、screenshots、test runners 这些工具因为在他看来它们的重要性不只是“帮助调试”而是帮助 agent 构建 self-verification loop。agent 能写代码是一回事能不能自己运行、自己观察、自己发现错误并修正是另一回事。后者才是 agent 变得真正有工作能力的关键。这一节最值得注意的一点是执行环境本身也是 harness 设计的一部分。 模型并不会自己配置环境环境在哪里、有什么工具、能访问什么、怎样验证产出全部都是 harness 层的决策。7. Memory 和 Search给 Agent 持续学习和接入新知识的能力这部分的记忆和搜索这其实是在补模型的知识缺口。作者的出发点很明确模型只有权重里的知识和当前上下文里的知识除此之外并没有额外记忆。既然我们通常拿不到模型权重去更新那么“增加知识”的唯一办法就是 context injection。这里文章先讲 memory。作者再次把文件系统拉回来说明它为什么是一个底层最原始的功能。像AGENTS.md这样的 memory file会在 agent 启动时被注入到 context 中agent 在执行过程中又可以继续编辑这个文件而 harness 会把更新后的版本重新作为未来 session 的上下文输入。这种机制本质上就是一种通过外部文件实现的持续性学习不仅仅是人需要进步agent也是。这一点非常重要因为它说明 agent 所谓的“记住偏好”“记住项目约定”“记住上次的发现”很多时候并不是模型真的学会了而是 harness 帮它把知识写到了一个持久化载体里再在下一轮启动时读回来。随后作者讲 search 和 MCP。原因也很简单模型有一个知识截止时间的。它不知道训练之后出现的新数据、新库版本、新文档内容。所以要让 agent 获得新知识就必须给它 Web Search 或 Context7 这类 MCP 工具让它接触训练后出现的信息。这里的核心其实可以压缩成两层memory 负责跨会话延续解决“把过去发生过的事情带到未来”search / MCP 负责跨知识截止时间补全,解决“把训练后才出现的事情带进当前任务”这两者一起构成了 agent 连接“过去经验”和“当前世界”的能力。8. 对抗 上下文紊乱Context RotHarness 其实也是上下文工程系统这里讲一个做 agent 非常现实但是大家可能会经常忽略的问题上下文紊乱Context Rot。作者引用这个概念是为了说明随着上下文窗口被不断填满模型的推理和执行效果会逐渐下降。也就是说上下文不是越多越好反而是一种稀缺资源需要被主动管理。这里作者甚至直接说了一句很有代表性的话如今的 harnesses 主要是用于良好情境工程的传递机制today’s harnesses are largely delivery mechanisms for good context engineering。换句话说当下很多 harness 的本质工作就是在替模型管上下文。作者接着讲了三个关键策略压缩。当上下文快满时如果什么都不做最差情况可能就是直接超窗报错。harness 的做法是把已有上下文做智能总结和外存把最关键的信息保留成压缩版本让 agent 能继续工作。这个过程其实是在做“连续性维护”。工具调用卸载。很多工具输出非常长比如日志、命令输出、测试报告如果原样塞进上下文会造成大量噪音。于是 harness 可以只保留一部分头尾关键片段把完整输出存到文件系统里需要时再读。这是在做“噪音控制”。skills。作者提到如果一开始就把太多 tools 或 MCP server 说明都加载进 context会让 agent 在开工之前就被上下文污染。所以 skills 作为一种 渐进披露progressive disclosure) 机制只在相关时披露能力而不是一次性把所有东西都塞给模型。harness 不只是提供更多能力也负责控制能力暴露的节奏。因为在 agent 系统里“给太多”和“给太少”一样都会出问题。上下文管理本身已经成了 agent 设计的主战场之一。9. Long Horizon Autonomous Execution真正复杂的长视野任务为什么离不开 Harness 组合拳文章接着进入一个更具野心的话题长视野的自主执行。coding agents 的“王冠”是自主创建软件也就是让 agent 自主完成复杂的软件开发任务。但现实中今天的模型仍然会遇到很多问题比如过早停止不擅长拆解复杂任务任务跨多个 context window 后开始失去一致性所以长任务能力绝不是单一功能能解决的而是前面那些 harness 层的部件 叠加后的结果。文件系统和 git 因为长任务往往会生成百万级 token 的中间过程这些内容不可能都留在 context 里必须由文件系统持续记录工作状态。加上 git 之后新接手的 agent 也能快速理解项目现状和历史。拉尔夫环Ralph Loop就是 harness 在模型打算“退出”时通过 钩子 拦住这次退出把原始目标重新注入一个干净上下文窗口里逼着 agent 继续朝完成目标推进。它之所以可行还是因为文件系统已经把前一轮状态保留下来了所以新的上下文虽然是“干净”的任务状态却没有丢。planning 和 self-verification复杂任务离不开计划拆解而 harness 可以通过 prompting 和 planning 来帮助模型形成更稳定的执行节奏。完成每个步骤之后再通过测试、hook 或模型自检去验证正确性让错误尽早暴露并回流到下一轮修复中。长程自主执行能力本质上不是某个神奇模型能力而是持久化、计划、观察、验证和继续执行机制共同作用的结果。 也就是说agent 之所以能“连续干很多事”不是因为模型突然拥有了无限注意力而是 harness 在不断给它搭桥续命。10. Harness 的未来模型训练和 Harness 正在共同演化前面的内容都偏“现在怎样搭 agent”后面这部分开始讲未来趋势。像 Claude Code、Codex 这种产品如今的 post-training 已经不是只训练模型本身而是把 harness 一起放进训练回路里之前我们的 Codex 讲解中已经说过了。这样模型就会越来越擅长那些 harness 设计者认为它应该原生擅长的动作比如文件系统操作、bash 执行、planning、subagent 并行。在Terminal Bench2.0基准测试中他们团队展示了如何仅通过更换Harness将Coding Agent 的排名从 Top 30 提升到 Top 5。于是一个反馈循环出现了先发现某个有用的 harness 最基础的能力把它做进产品 harness再用这种 harness 去训练下一代模型模型因此更擅长在这类 harness 中工作这张图表达的就是这个自我进化发现 基础能力加到 harness 里再拿带 harness 的环境训练下一代模型最后模型在这种 harness 下表现更好循环继续。但这里也有一个副作用这种共同演化会带来某种过拟合。比如模型可能非常适应某个具体工具逻辑一旦换了另一种 patch 方式、tool schema 或执行习惯性能就会下降。从理论上讲真正足够智能的模型不该这么敏感但现实中训练时反复见到的 harness 结构会塑造它的工作偏好。文章里用 Terminal Bench 2.0 举例说明同一个模型在不同 harness 里表现差异可以非常大单靠改 harness 就能显著提升成绩。这一点其实是在强调harness 本身仍然是一个高度可优化的独立变量。11. Harness Engineering 接下来会走向哪里随着模型越来越强今天很多属于 harness 的能力将来可能会逐渐被模型吸收。比如 planning、更稳定的 self-verification、长时程一致性这些未来都可能更“内生化”需要的上下文注入会变少。认为就像 prompt engineering 到今天依然有价值一样harness engineering 未来也会持续存在。原因在于harness 不只是临时修补模型缺陷它也在围绕模型智能去设计系统效率。哪怕模型本身变得更强一个配置好的环境、正确的工具、持久状态和验证闭环依然能让同一个模型工作得更高效。最后列了一些他们正在探索的问题怎样在共享代码库上并行编排数百个 agent怎样让 agent 分析自己的 traces识别并修复 harness 级故障怎样能够动态地为特定任务组装合适的工具和上下文而不是预先配置这篇文章最值得记住的 5 个判断agent 不等于模型agent 是模型加上一整套外围执行系统。 很多大家以为是模型能力的东西其实都来自 harness。harness 最好的理解方式不是看它有哪些组件而是看它在补哪些行为缺口。 想让 agent 能长期工作、能记忆、能执行、能验证、能跨上下文持续推进就得为这些行为逐项补系统能力。文件系统在 agent 里不是普通工具而是基础设施。 它同时承担工作区、外部记忆、协作面和长任务状态存储层的角色。context management 已经成了 harness 的核心工作之一。 compaction、tool offloading、skills 这些设计本质上都是为了对抗 context rot。未来 agent 的竞争越来越会体现在 harness 设计上。 模型会继续进步但能不能把模型的智能稳定变成生产力很大程度上还是取决于 harness。最后当下AI大模型是当下实打实的优质风口岗位缺口大、发展前景广、薪资待遇突出对比内卷严重、涨薪晋升困难的传统技术岗是普通人转行逆袭的绝佳选择。但很多想要入局大模型领域的朋友都面临无系统学习路径、无实战资源、求职无方向的难题一个人硬啃最容易走弯路、浪费大量时间精力。这里我结合多年一线实战与教学经验整理出一套零基础大模型专属资料包含系统化学习路线图零基础到精通大模型学习书籍 文档电子版2026 最新行业报告项目实战 配套源码大厂面试真题需要的朋友微信扫描下方 CSDN 官方认证二维码免费领取保证 100% 免费。扫码免费领取全部内容下面简单介绍一下资料包含的内容1、大模型系统化学习路线图专属定制从零基础入门到企业级实战的全阶段学习体系划分清晰的四大学习阶段规避碎片化学习弊端适配新手2、0基础到进阶视频教程配套完整高清实操教程覆盖Prompt提示工程、RAG知识库搭建、Agent智能体开发、模型微调、部署落地等核心知识点所有课程搭配实操演示零基础也能轻松看懂、上手实操。3、大模型学习书籍 文档汇总30本行业经典AI、大模型、深度学习精选书籍涵盖理论原理、开发实战、算法基础、AI产品思维等各类内容4、AI大模型最新行业报告整理2024-2026年最新大模型行业白皮书、市场分析报告清晰展现行业发展趋势、技术迭代方向、岗位需求变化帮助学习者精准把握行业风口找准学习和就业方向5、大厂面试真题汇总了常见的AI大模型面试问题、知识点梳理和面经参考方便求职时针对性准备。6、大模型项目实战 配套源码包含GPT应用开发、RAG私有知识库、智能问答系统等多个企业级实战项目配套完整可运行源码从简易Demo到完整商业应用全覆盖帮助学习者将理论转化为落地实战能力积累项目经验。7、适合谁学传统后端 / Java / 前端开发想转型 AI 应用大学生、应届生想拿更好的 offer产品经理、运营想武装职业竞争力技术负责人想给团队落地提效学习是反人性的但回报是真金白银。技术会更新赛道会切换但只要你先动手机会就永远站在你这边。8、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。想要入局AI大模型赛道、抢占行业红利的朋友微信扫描下方CSDN官方认证二维码即可100%免费领取全套学习资料