AI 前沿·阅读约 2 分钟·
Harness 工程:决定 AI 能否自我改进的隐藏层

Harness 工程:决定 AI 能否自我改进的隐藏层

Lilian Weng 深度解析:围绕基座模型的 harness 系统(工作流、记忆、工具编排)如何决定 AI 的能力上限,以及递归自我改进的工程路径

原文来源:Lil'Log — 递归自我改进的近期路径不在模型本身,而在模型外围的 harness 系统:如何设计工作流、管理记忆、编排工具,决定了模型能发挥出多大能力。

递归自我改进(Recursive Self-Improvement,RSI)这个概念可以追溯到 1965 年,计算机科学家 I. J. Good 在论文里设想了一种"超级智能机器":它能超越人类的一切智力活动,还能设计出更好的机器来改进自己。2008 年,Yudkowsky 用"递归自我改进"描述了一个更具体的闭环:AI 用当前智力去改进产生自己智力的认知机制。

这个闭环在今天有两种实现方式:模型直接改写自己的权重,或者更宽泛地说——模型改进自己的训练管线部署系统,从而让下一代模型在经济上有价值的任务上表现更好。Lilian Weng 在这篇文章里明确强调"部署系统",因为原始模型和真实世界上下文之间的那一层,重要性不亚于模型本身的原始智力。

这一层就是 harness:包围基座模型、负责编排执行的系统。它决定模型如何思考和规划、如何调用工具和行动、如何感知和管理上下文、如何存储工件、如何评估结果。成功的编码 agent 产品——Claude Code、Codex——本质上都是 harness 工程的产品。

三大设计模式

Weng 总结了 harness 设计的三个核心模式。

模式一:工作流自动化。 定义一个让模型可以操作、测试、迭代的工作流,是自动化的关键设计。Karpathy 的 autoresearch 仓库是构建这种工作流的干净范例。常见的工作流是一个目标导向的循环:规划 → 执行 → 观察/测试 → 改进 → 再执行,直到目标达成。Codex 的 agent loop 就是典型:agent 调用工具,工具响应影响模型的下一次生成。重点在于,工作流图强调模型分析自己的轨迹和失败案例,然后通过"agent runtime"迭代,而不是靠静态的提示词模板。

模式二:文件系统作为持久记忆。 长周期 agent 系统反复出现的一个模式,是用简单的方式控制丰富的状态和工件。harness 不应该把整个工作流和日志都塞进上下文,而应该把持久状态保存在文件里。在长周期 agentic rollout 中,实验日志、代码 diff、论文摘要、错误轨迹,往往比模型训练的上下文窗口长得多。学会读写和编辑文件系统(通常通过 bash 命令)是 LLM 的基础技能,所以用文件这种简单形式管理持久记忆,天然受益于核心模型能力的提升。

模式三:子代理与后台任务。 harness 可以派生出多个并行执行的子代理,并监控后台任务。当主 agent 需要搜索多个假设、并发运行实验、或委派隔离的子任务而不污染主上下文时,这很有用。父 agent 需要一个小的进程管理器:启动任务、检查日志、取消失败运行、把结果合并回主线程。关键设计是让并行显式化、可检查——如果子代理的输出只存在于临时的聊天上下文里,很快就会过时并被隐藏;如果存成文件、日志和状态记录,模型就能在中断后恢复,并推理自己的执行历史。

—— 广告 ——

编码 Agent 的 Harness 案例

主流编码 agent 的核心接口在 Claude Code、Codex、OpenCode 和 Cursor 之间已经趋于稳定:一个循环,加上一套工具。工具集通常包括:文件系统(glob/grep/ls 发现、read 读取、write/edit/apply_patch 修改)、shell 执行(bash、PowerShell)、IO 与 git 工具、外部上下文(MCP、Skills)、web 搜索与浏览器、工件生成、后台进程(cron)、以及 agent 委派(spawn_agent、resume_agent、wait_agent 等)。

Weng 的预测是:harness 工程会朝元方法论方向发展——改进"获得更好答案的机制",而不仅仅是答案本身。harness 系统本身成为优化目标,启发式规则越来越少,通用机制越来越多。最终,许多 harness 改进会被内化到核心模型行为中,但模型与外部上下文和工具的接口应该保留。提示词工程的历史已经演示过这个模式:手动提示技巧随着指令微调和推理能力的提升变得不那么重要,但"指定目标、约束、上下文和评估"的需求从未消失。

Harness 优化的三个层次

优化对象的演进大致是:指令提示词 → 结构化上下文 → 工作流 → harness 代码 → 优化器代码。模型越强,我们就能优化越复杂的目标。

上下文工程。 ACE(Agentic Context Engineering)把上下文当成一本不断演化的手册,而不是越来越长的提示词:生成器产出任务轨迹,反思器从成功和失败的轨迹中提炼洞察,策展器用增量的条目化方式更新结构化上下文。MCE(Meta Context Engineering)更进一步,把"如何管理上下文"的机制与"上下文里有什么"的内容分开,在元优化层做 skill 进化,在基础层做上下文优化。Meta-Harness 则再深一层:优化的对象是决定"什么信息该存、该取、该展示给模型"的代码——它是"优化 harness 的 harness"。

工作流设计。 AI Scientist 系统构建了完整的科研管线:提出想法、写代码、跑实验、分析结果、写论文、做同行评审。ScientistOne 把可验证性作为核心设计约束,每个论断都必须追溯到证据来源。Autodata agent 像数据科学家一样工作,管理挑战者、弱求解器、强求解器和验证器,生成"难度刚好"的训练数据。ADAS 把 agent 设计本身形式化为优化问题:元 agent 用代码编写新 agent,评估后放回档案库。AFlow 把 agentic 工作流表示成图,用蒙特卡洛树搜索优化。

自改进 harness。 STOP(Self-Taught Optimizer)是递归脚手架改进的早期例子:它的目标不是直接改进答案,而是改进改进器本身。实验中发现,STOP 用 GPT-4 时能持续提升下游性能,但用较弱的模型(GPT-3.5、Mixtral)反而退化——递归结构本身不够,基座模型必须足够强才能改进机制。Self-Harness 用"弱点挖掘 → 有界 harness 提议 → 验证"的循环改进 harness。AHE(Agentic Harness Engineering)认为瓶颈在可观测性:当一次 rollout 失败时,必须知道哪个组件该负责,每次编辑都要有证据支撑。

进化搜索也是一条重要路线。AlphaEvolve 是编码 agent 进化搜索系统:存储候选程序池,冻结的 LLM 生成改进 diff,反复评估保留成功者。Darwin Gödel Machine 明确让 agent 允许修改自己的 harness 代码库,在固定模型下进化出堪比手工设计的编码 agent。

未来挑战

Weng 列出了通向完整 RSI 的七个瓶颈:

  1. 弱而模糊的评估器。很多研究论断没有快速精确的验证器,真实世界任务也是如此。自我改进循环目前只在评估指标可测量、客观的任务上表现最好。
  2. 上下文与记忆生命周期。记忆会随 agent 自主性增强而增长,harness 需要管理上下文和记忆来弥补长上下文生成的局限。Weng 认为上下文工程应该成为智力的核心部分,而不只是软件系统层。
  3. 负面结果。文献偏向成功结果,LLM 训练数据也以成功案例为主,导致模型不擅长判断何时该放弃假设、报告负面结果。研究 harness 应该让失败的尝试容易被保留——从失败中学习是缩小搜索空间的最好方式。
  4. 多样性崩溃。进化和强化学习循环倾向于利用已知的高奖励模式,需要机制防止群体坍缩成同一解决方案的变体。
  5. 奖励黑客。自我改进循环优化它得到的任何信号:单元测试会导致过拟合测试,judge 模型会被钻空子,benchmark 分数会被利用 benchmark 的缺陷。评估器和权限控制应该放在循环之外。
  6. 长期成功。以编码 agent 为例,很多优化目标太短期:能完成手头任务,但难以保护由成百上千工程师共同维护的仓库的长期健康。
  7. 人类的角色。人应该向上移动,而不是被移出循环——在正确的时间、正确的抽象层级提供监督。

这是一篇信息密度极高的综述,覆盖了从设计模式到优化方法再到开放问题的完整图景。对做 agent 产品的人来说,最有价值的洞察或许是:模型能力的天花板是固定的,但 harness 决定了你实际能触达的高度。当大家都在用同样的基座模型时,harness 工程就是那个拉开差距的杠杆。

分享到
微博Twitter

© 2026 四月

原文链接:https://www.aprilzz.com/ai/harness-engineering-self-improvement