跳转至

代码即智能体运行框架(Code as Agent Harness)

概述

"代码即智能体运行框架(Code as Agent Harness)"是一套调查研究框架,重新定义了代码在智能体 AI 系统中的角色。该框架不再将代码仅仅视为生成产物(即目标输出),而是认为代码正越来越多地扮演可执行、可检查、有状态的运行框架(harness)角色——智能体借助它进行推理、执行动作、对环境建模、接收反馈并完成协调。

核心洞察:代码具备三项特性,使其天然适合作为智能体的基底:

特性 含义
可执行性 模型输出转化为可验证的操作,而非单纯的文本
可检查性 中间计算过程以结构化追踪的形式暴露出来,便于调试与审计
有状态性 任务进度得以持久化表示,支持长时间跨度的执行

这一框架由 Ning 等人(UIUC、Meta、Stanford)在 2026 年的调查研究中提出,综合了 40 余个子类别的 197 篇论文,为代码作为现代智能体系统基础设施层这一统一视角奠定了理论基础。

三层框架

该调查将"代码即运行框架"的概念组织为三个相互关联的层次。

第一层:运行框架接口(Harness Interface)

运行框架接口是代码将智能体与推理、动作和环境建模——即三大基本智能体功能——相连接的层次。

接口 代码的角色 实现机制
推理 将内部逻辑外化为可验证的计算过程 解释器、符号求解器、执行追踪和过程奖励对中间推理步骤进行检验与修正
动作 生成的程序充当策略、工具调用和可复用技能 代码即动作(code-as-action)可适用于具身环境、GUI/OS 环境和软件系统
环境建模 表示状态、动态特性和反馈 代码仓库、模拟器和测试套件充当智能体进行推理的环境模型

第二层:运行框架机制(Harness Mechanisms)

运行框架机制是内部控制系统,负责管理基于代码的智能体如何在长时间跨度内运转。

机制 描述
规划 构建智能体将意图分解为可执行步骤的方式;代码为"程序即计划"提供了自然的表示形式
记忆 管理哪些信息保留在上下文中,哪些存储于外部;代码产物(文件、差异、测试结果)充当持久化记忆
工具调用 将带类型的模式(schema)、沙箱和验证机制作为可调用接口暴露出来
迭代调试 通过编译反馈、运行时错误和测试信号,将执行失败转化为诊断与修正动作
反馈驱动控制 利用执行结果自适应地优化智能体行为,使运行框架具备可靠性与自我改进能力

第三层:运行框架扩展(Harness Scaling)

运行框架扩展解决的是多智能体在共享代码产物上的协调问题。代码成为公共工作空间,支持大规模结构化自主运行。

维度 方法
角色专业化 智能体专门化为合成者、代码理解者或验证者
交互模式 智能体通过共享代码产物进行协作、互评与辩论
工作流拓扑 分层式、自适应式和执行驱动式的多智能体工作流
状态收敛 基于测试门控和共识机制,达成对正确性的共同认可

以代码为共享运行框架的多智能体系统中,代码仓库、测试、追踪和结构化产物构成了公共工作空间,智能体通过它相互协调、检查并改进彼此的行为。

应用场景

该调查识别出"代码即运行框架"模式得到应用的七大主要场景:

领域 代码运行框架的角色
代码助手 代码仓库作为持久化的程序世界;仓库级记忆管理;测试套件作为反馈机制
GUI/OS 智能体 屏幕状态以结构化代码渲染;动作模式(schema)通过编程接口统一
科学发现 假设以方程式编码;实验方案以可执行脚本表示;结果以计算笔记本呈现
具身机器人 可复用技能模块以代码库形式积累;通过可审计的代码运行框架实现真实世界部署
个性化与推荐 用户状态和偏好模型以可检查的数据结构表示
DevOps 基础设施即代码(Infrastructure-as-Code),使智能体能够推理并修改部署状态
企业工作流 业务流程逻辑以可验证、可审计的代码产物编码

与智能体运行框架概念的关系

"代码即运行框架"视角对面向实践者的运行框架进行了延伸与补充:

  • LangChain 运行框架解剖(智能体 = 模型 + 运行框架)将代码执行视为运行框架的一个组件。Ning 等人的调查则将代码提升为统一基底,而非单一组件。
  • 前馈/反馈运行框架工程模型(Böckeler,Thoughtworks)与调查中的运行框架机制直接对应:引导(guides)对应规划/记忆机制;传感器(sensors)对应反馈驱动控制和迭代调试机制。
  • 调查中的运行框架接口层在形式上描述了 LangChain 运行框架所称的"捆绑基础设施"——但将其建立在可验证计算之上,而非工具访问之上。

三层分类体系为实践者提供了理论支撑,有助于理解以代码为中心的智能体系统为何优于纯自然语言编排:可执行性、可检查性和有状态性是文本型运行框架所不具备的结构性优势。

最佳实践

挑战/领域 描述 解决方案/建议
推理验证 自然语言推理过程无法验证 将推理过程路由至代码执行或符号求解器,以获得可验证的中间步骤
长时记忆 上下文窗口限制了智能体的保留能力 使用代码产物(文件、差异、测试状态)作为持久化记忆,其生命周期超越任何单一上下文窗口
多智能体协调 智能体间以散文形式交接会导致静默失败 使用共享代码产物(测试、模式、结构化输出)作为协调界面
反馈回路设计 反馈稀疏时智能体容易重复犯错 构建迭代调试循环:编译 → 运行 → 测试 → 观察 → 修复
环境不透明 智能体无法验证环境状态 以代码(仿真、测试套件)表示环境状态,使智能体可直接检查
工具接口脆弱 无类型工具接口导致静默失败 通过带类型模式(typed schema)暴露工具,并配合沙箱执行和内置验证

参见

参考资料