智能体运行框架(Agent Harness)
概述
智能体运行框架(harness)是围绕模型、使其真正可用的一切——所有并非模型本身的代码、配置与执行逻辑。其核心等式为:
智能体 = 模型 + 运行框架(harness)
原始模型接收数据(文本、图像、音频、视频)并输出文本,无法维持持久化状态、执行代码、访问实时知识,也无法搭建运行环境。运行框架提供了上述全部能力。凡不是模型的部分,皆属运行框架。
这一表述由 LangChain(Vivek Trivedy,2026 年 3 月)提出,它强制实现了清晰的关注点分离:模型承载智能,运行框架使智能得以发挥。
核心组件
运行框架的具体组成如下:
| 组件 | 说明 |
|---|---|
| 系统提示词(System Prompts) | 在智能体启动时注入的指令,用于塑造行为、角色设定与约束条件 |
| 工具、技能与 MCP | 可调用的函数及其描述;即模型可使用的动作空间 |
| 捆绑基础设施(Bundled Infrastructure) | 文件系统、沙箱、浏览器——即执行环境 |
| 编排逻辑 | 子智能体派生、任务移交、模型路由、循环控制 |
| 钩子/中间件(Hooks/Middleware) | 确定性执行包装器:上下文压缩触发器、续行逻辑、代码检查 |
运行框架存在的原因:从模型局限倒推
每个运行框架组件的存在,都是为了弥合模型原生能力与智能体实际所需之间的差距。
文件系统——持久化存储与上下文管理
模型只能操作其上下文窗口内的知识。文件系统通过以下方式解决这一问题:为智能体提供读取数据、代码与文档的工作空间;提供存放中间输出的位置,使数据可跨会话保留;并作为多智能体与人类协作的天然界面。
Git 为文件系统添加了版本管理,使智能体能够追踪工作进度、回滚错误并派生实验分支。文件系统可以说是最基础的运行框架原语,因为它解锁了所有其他能力。
Bash 与代码执行——通用工具
与其要求用户为每种可能的操作预先构建工具,不如给智能体提供一个 bash 工具,让其通过编写代码动态设计自己的工具。标准的智能体执行模式是 ReAct 循环——推理、通过工具调用行动、观察结果、循环往复。Bash 与代码执行使这一循环具备了通用能力。
沙箱——安全、可扩展的执行环境
在本地运行智能体生成的代码既有风险,又难以扩展。沙箱提供了以下能力:
- 安全隔离的代码执行
- 通过命令白名单与网络隔离保障安全
- 按需创建与销毁环境,实现弹性扩展
- 预装运行时、CLI 工具与浏览器,提供实用默认配置
浏览器、日志、截图与测试运行器为智能体提供了自我验证循环:编写代码 → 运行测试 → 检查日志 → 修复错误。
记忆与搜索——持续学习
模型除自身权重与当前上下文外,没有任何知识。运行框架通过以下方式扩展这一能力:
- 记忆文件标准(如 AGENTS.md)在智能体启动时注入上下文;随着智能体编辑这些文件,更新后的知识可跨会话持久保存——这是一种持续学习机制
- 网络搜索与 MCP 工具(如 Context7)提供超出训练截止日期的最新知识
钩子与中间件——确定性执行控制
钩子在预定节点拦截模型行为,以强制实现确定性结果:
- 上下文压缩钩子:在上下文接近窗口上限时触发,智能地归纳并卸载上下文,使智能体得以继续运行
- 工具调用内容卸载:保留大型工具输出的头尾 token,将完整输出卸载至文件系统
- 技能/渐进式披露:按需将相关工具描述加载至上下文,避免启动时工具过多导致上下文腐化
- Ralph 循环:一种钩子模式,拦截模型的退出尝试,在干净的上下文窗口中重新注入原始提示词,强制智能体继续推进直至完成目标
长程任务的编排
长程自主执行需要所有运行框架原语的复合叠加:
- 文件系统 + git 跨会话追踪工作进度;新智能体可快速了解项目历史
- 规划工具让智能体分解任务、追踪进展,并在学习过程中动态调整
- 子智能体派生将独立子任务并行委派,每个子任务拥有独立的上下文
- 自我验证循环(测试运行器、代码检查、浏览器验证)将解决方案锚定于可观测的结果
模型与运行框架的协同进化循环
现代智能体产品(Claude Code、Codex)在训练时将模型与运行框架纳入循环,由此形成反馈闭环:
- 发现实用的运行框架原语并将其添加进来
- 将这些原语纳入循环,对模型进行训练
- 模型在该运行框架内变得更强
- 发现新的原语
一个副作用是过拟合:修改工具逻辑可能导致模型性能下降,因为模型训练时期望的是特定的运行框架行为。这也意味着,对于特定任务而言,最佳运行框架未必是模型训练时所使用的那个——针对特定任务进行运行框架优化,可以在独立于模型能力的情况下带来显著的性能提升。
自动化运行框架优化
由于运行框架本质上是代码,可能的运行框架实现空间过于庞大,无法手工探索。近期研究表明,运行框架可通过智能体外循环自动搜索,从而产生优于手工设计版本的结果。
Meta-Harness(Lee 等,2026 年)将运行框架优化视为代码搜索问题:一个智能体提议者(具备完整文件系统访问权限的编码智能体,可访问历史候选方案的源码、评分和执行追踪)以迭代方式提出改进后的运行框架实现。核心成果如下:
- 在文本分类任务上,相较最先进的上下文管理基准,准确率提升 7.7 个百分点,且 token 用量减少 4 倍
- 在 200 道 IMO 级数学题上,准确率提升 4.7 个百分点,结果在五个搜索期间未见过的留存模型上平均得出
- 在 TerminalBench-2 智能体编码任务上超越所有手工设计的基准方案
搜索得到的运行框架可跨模型系列泛化——在一个模型上运行搜索,将结果部署在其他模型上同样有效。这使运行框架优化成为与模型无关的性能调节杠杆,与模型选择和提示词工程互为补充。
关键设计选择在于:为提议者提供原始执行追踪(而非压缩摘要)的访问权限,使其能够在提出针对性修改前诊断具体的失败模式。完整的系统架构与最佳实践详见 Harness Optimization。
运行框架与模型责任的演变
随着模型能力的增强,部分运行框架职责将被模型原生吸收(规划、自我验证、长程连贯性)。然而,运行框架将持续发挥价值,原因在于:
- 配置良好的环境、合适的工具、持久化状态与验证循环,能使任何模型都更高效,无论其基础智能如何
- 运行框架工程是在模型智能之外构建系统,而非仅仅弥补不足
代码作为运行框架的基底
2026 年的一项综述(Ning 等,arXiv:2605.18747)提出了一个互补视角:代码不仅是运行框架众多组件之一,而是日益成为整个运行框架的统一基底——智能体借助代码进行推理、行动、建模环境、接收反馈与协调配合。
代码具备纯文本运行框架所不具备的三种结构属性:
- 可执行性(Executability):模型输出成为可验证的操作,而非单纯的文本
- 可检查性(Inspectability):中间计算过程以结构化追踪的形式对外暴露
- 有状态性(Statefulness):任务进度跨上下文窗口持久表示
该综述将其组织为三个层次:(1)运行框架接口——连接智能体与推理、行动及环境建模的代码;(2)运行框架机制——规划、记忆、工具调用与迭代调试;(3)运行框架扩展——基于共享代码制品的多智能体协调。完整分类法详见 Code as Agent Harness。
形式化分类:ETCLOVG
2026 年的一项综述(已提交至 TMLR)提出 ETCLOVG 七层分类法,作为运行框架系统的形式化分类方案,将结构性支柱与控制面层次分离:
- 结构性支柱:执行(E)、工具(T)、上下文(C)、生命周期(L)——界定智能体能做什么
- 控制面:可观测性(O)、验证(V)、治理(G)——界定其运行的安全性与可靠性
一篇配套综述(Meng 等,arXiv:2605.29682)将六组件架构元组形式化为 H=(E,T,C,S,L,V)——执行循环、工具注册表、上下文管理器、状态存储、生命周期钩子、评测接口——采用标记转换系统语义区分安全不变式与活性保证。该综述对 23 个系统进行评测,发现仅 Claude Code、PRISM/OpenClaw、AIOS、OpenHands 和 SWE-agent 实现了全部六个组件。完整分类法、完备性矩阵与实证基准测试详见 LLM Harness Survey。
运行框架成熟度等级
以下是一套厂商中立的运行框架能力演进路径。仅当评测表明当前等级不足时,再向上推进。
| 等级 | 名称 | 能力 | 适用场景 |
|---|---|---|---|
| 0 | 仅答题助手 | 无工具执行 | 简短问答、起草、对提供内容的摘要 |
| 1 | 检索智能体 | 搜索并读取可信资源;无副作用 | 查找、研究、只读工作流 |
| 2 | 起草智能体 | 提议行动、起草消息、生成计划;不可提交 | 需审批前的内容创建、规划 |
| 3 | 审批门控执行者 | 经用户或策略明确审批后准备并执行动作 | CRM 更新、邮件发送、数据库写入 |
| 4 | 策略约束自主执行者 | 在严格范围、预算与审计管控内自主执行低风险操作 | 带护栏的范围化自动化 |
| 5 | 长程目标工作者 | 跨轮次或跨会话持续推进,直至达成可度量目标;需持久化状态、上下文压缩与检查点 | 多会话研究、大规模自动化 |
大多数智能体失败的根源在于起点过高——工具过于宽泛、缺少审批门控、在达到第 3 级之前未进行评测。
权威层级
运行框架应维护明确的权威层级,并按权威级别对内容进行标注。检索到的内容可能包含指令,但这些指令是数据,而非策略。
provider/system policy
→ organization policy
→ product/developer policy
→ workspace/project policy
→ domain or directory policy
→ user task
→ model-visible runtime reminders
→ tool observations
→ untrusted retrieved content
受信任的控制面(用户身份、凭证、审批记录、审计日志、计费、授权)必须置于模型定向计算之外。密钥、审批逻辑与授权决策,绝不能存在于模型提示词中。
参见
- Harness Engineering
- Loop Engineering — 设计一个有计划、自我驱动的系统,通过自动化、工作树、技能、连接器、子智能体与外化状态来提示智能体
- Pi (pi.dev) — 极简开源终端编码智能体运行框架;四工具核心(read、write、edit、bash),系统提示词不足 1K token,支持 15+ 厂商,可通过 TypeScript 包完全扩展
- Flue — 开源 TypeScript 智能体运行框架;实现了"智能体 = 模型 + 运行框架"模式,内置沙箱、会话与技能
- Harness Optimization — 使用 Meta-Harness(Lee 等,2026 年)进行自动化运行框架搜索
- Harness Self-Evolution — 在自进化智能体中区分运行框架更新能力(HUC)与运行框架受益能力(HBC)(Lin 等,KDD 2026)
- Code as Agent Harness — 代码作为智能体基底的综述分类法(Ning 等,2026 年)
- LLM Harness Survey — ETCLOVG 分类法、运行框架完备性矩阵、九项技术挑战、实证基准测试
- Agentic Engineering Levels — 运行框架工程是 8 级从业者进阶路径中的第 6 级
- Context Engineering Strategies
- Agent Memory Management
- Agentic Design Patterns
- Production Best Practices: Deployment
- Context Engineering: Key Challenges
参考资料
- agents-best-practices — DenisSergeevitch (2025) — 厂商中立的智能体运行框架技能;涵盖循环不变式、成熟度等级、权限模型、规划模式、上下文压缩与启动门控
- Agent Harness for Large Language Model Agents: A Survey — Meng et al., arXiv:2605.29682 (2026) — 基于 LTS 语义的 H=(E,T,C,S,L,V) 形式化模型;23 个系统的运行框架完备性矩阵;八个未来方向;110+ 篇论文注释
- Agent Harness Engineering: A Survey — picrew et al., OpenReview / TMLR submission (2026) — 提出 ETCLOVG 七层分类法;评测 23+ 个系统;确立运行框架设计是决定性性能约束(工具格式优化:在 SWE-bench 上从 6.7% 提升至 68.3%)
- Meta-Harness: End-to-End Optimization of Model Harnesses — Lee, Nair, Zhang, Lee, Khattab, Finn; arXiv:2603.28052 (March 2026) — 自动化运行框架搜索;基于文件系统历史的智能体提议者;文本分类准确率提升 7.7 个百分点,IMO 数学推理提升 4.7 个百分点,在 TerminalBench-2 上超越手工设计的基准
- The Anatomy of an Agent Harness — Vivek Trivedy, LangChain (March 10, 2026) — 定义运行框架概念,并从模型局限推导出核心组件
- Harness Engineering: Leveraging Codex in an Agent-First World — Ryan Lopopolo, OpenAI (February 11, 2026) — 使用零手写代码构建百万行代码库的真实运行框架工程经验
- Harness Engineering for Coding Agent Users — Birgitta Böckeler, martinfowler.com (April 2, 2026) — 前馈/反馈框架、调节分类与 harnessability(可框架化适配性)概念
- Code as Agent Harness: Toward Executable, Verifiable, and Stateful Agent Systems — Ning et al., arXiv:2605.18747 (May 2026) — 197 篇论文综述,确立可执行性、可检查性与有状态性为运行框架的结构属性;三层分类法(接口、机制、扩展)
- Harness Updating Is Not Harness Benefit — Lin et al., arXiv:2605.30621 (KDD 2026, Oral) — 证明运行框架更新能力(HUC)与运行框架受益能力(HBC)在实证上是独立的;基础任务性能无法预测两者