Agent Harness 工程实战:从脚手架到自进化,构建永不退化的智能体系统
系统讲解 Harness 工程的核心概念、设计模式与自进化机制,帮助读者从模型之外的角度提升 Agent 稳定性与能力上限。
Agent Harness 工程实战:从脚手架到自进化,构建永不退化的智能体系统
系统讲解 Harness 工程的核心概念、设计模式与自进化机制,帮助读者从模型之外的角度提升 Agent 稳定性与能力上限。
本文系统讲解 Agent Harness 工程的核心概念、设计模式与自进化机制。从工作流自动化、文件系统持久化记忆、子智能体并行等基础范式出发,深入剖析 ACE、MCE、Meta-Harness 等多层级优化链路,并结合 SEAGym 评测框架分析自进化过程中的泛化、遗忘与稳定性问题。最后讨论七大瓶颈与未来方向,帮助读者从模型之外的角度提升 Agent 的稳定性与能力上限。
引言:为什么 Harness 比模型权重更重要?
递归自我改进(Recursive Self-Improvement, RSI)的概念最早可追溯至 I. J. Good 于 1965 年提出的“超智能机器”——一种能在所有智力活动上超越人类、并能自主设计出更优下一代机器的系统。Yudkowsky 在 2008 年将其正式化为一个闭环反馈:AI 利用自身现有智能,迭代优化产生该智能的认知机制。
在现代 AI 体系中,RSI 有两种落地形式:狭义上,模型直接改写自身权重;广义上,模型优化训练流水线与部署系统,从而催生性能更强的后继模型。然而,近期内直接让模型重写权重的路径并不现实,真正的突破口在于模型外部的那层系统——Harness。
Harness(约束系统/控制壳)是包裹基础大模型的完整配套架构,负责编排执行流程、定义模型思考与规划范式、调度工具调用、管控上下文感知、持久化存储产出物,并完成结果评估。Claude Code、Codex、Cursor 等成功产品的经验表明,Harness 层的设计质量往往比模型权重本身更能决定智能体的实际表现。
本文将从 Harness 的设计范式、多层级优化链路、自进化机制、评测方法论以及当前瓶颈五个维度,系统梳理这一正在重构 AI 演进范式的关键技术方向。
Harness 的三大设计范式
与早期“Agent = LLM + 记忆 + 工具 + 规划 + 行动”的公式相比,Harness 工程额外包含了工作流设计、评估、权限控制和持久化状态管理。它已不再是简单的提示词模板,而更接近运行时软件系统设计。整体设计应遵循简洁通用原则,并借鉴成熟的软件工程实践——Harness 与操作系统存在强烈类比:封装复杂逻辑,对外暴露简洁接口。
范式一:工作流自动化
定义一个模型可以在其中运行、测试和迭代的标准化流程,是实现自动化的关键。常见的工作流遵循目标导向闭环:规划 → 执行 → 观察/测试 → 改进 → 再次执行,直至目标达成。流程中可主动向用户发起问询以厘清需求。
以 Karpathy 的 autoresearch 项目为例,其核心循环如下:
bash、grep、edit)执行计划。关键亮点在于:模型通过“智能体运行时”分析自身的执行轨迹与失败案例,动态迭代方案,而非依赖静态提示词模板。这种设计使得智能体能够从错误中学习,逐步提升任务成功率。
范式二:文件系统作为持久化记忆
长周期智能体系统面临一个核心矛盾:任务执行过程中产生的实验日志、代码补丁、论文摘要、报错记录等产出物,数据体量往往远超模型上下文窗口上限。Harness 不应将所有信息塞入上下文,而应将持久化状态存储在文件系统中。
读写、编辑文件系统(通常通过 bash 命令)是 LLM 的基础能力。因此,以文件形式管理持久记忆,能够自然受益于核心模型能力的提升。具体实现中,Harness 可维护一个工作目录,包含:
experiments/:存放每次实验的配置、日志与结果。code/:存放待修改的源代码与补丁。memory/:存放从历史轨迹中提炼的经验笔记。state.json:记录当前任务进度与上下文摘要。当模型需要回顾历史信息时,通过 cat、grep 等命令按需读取,而非将全部历史塞入提示词。这种方式既突破了上下文窗口限制,又使得模型能够对自身执行历史进行推理。
范式三:子智能体与后台异步任务
一套 Harness 可派生多个子智能体并行执行任务,并监控后台进程。当主智能体需要同时验证多组假设、批量运行实验,或拆分独立子任务(避免污染主上下文)时,该设计价值尤为突出。
父智能体需要一个小型进程管理器,负责:
核心设计准则:并行流程必须可观测、可追溯。子智能体的输出应落地为文件、日志、状态快照,而非仅存于临时对话上下文。这样模型可在中断后恢复进度,并回溯完整执行历史做推理分析。
案例:编程 Agent 的 Harness 设计
主流编程 Agent(Claude Code、Codex、OpenCode、Cursor)的核心接口已趋于稳定,通常使用以下循环:
ls, find, globgrep, rgcat, head, tailedit, sed, patchbash, pythongrep 日志, diff这套工具集使得编程 Agent 能够在完整代码库内完成开发、调试全流程,功能对标人类开发者使用的 IDE。
Harness 的多层级优化链路
Harness 系统的优化对象存在清晰的演进路径:指令提示词 → 结构化上下文 → 工作流 → Harness 代码 → 优化器代码。随着模型能力增强,优化目标逐步复杂化,通用自动化方案成为主流。
上下文工程:从 ACE 到 MCE 到 Meta-Harness
#### ACE:智能体上下文工程
传统做法将所有工具返回结果与模型生成文本简单拼接进上下文,随着任务规模扩张,上下文极易冗余失控。ACE(Agentic Context Engineering, Zhang et al., 2025)将上下文视为一本不断演化的“操作手册”,而非持续增长的提示词。它由三个组件协同维护:
ACE 实现了从历史轨迹中自主提炼经验,但更新规则与整体工作流仍为人工定义,距离完全自迭代存在差距。
#### MCE:元上下文工程
MCE(Meta Context Engineering, Ye et al., 2026)将上下文管理机制与上下文内容解耦,搭建双层优化架构:
一个 MCE 技能定义了一个上下文函数,输入包含静态组件(提示词、知识库、代码库)与动态算子(检索、筛选、过滤、格式化)。双层优化逻辑为:内层在给定技能下求解最优上下文配置,外层在验证集上迭代搜索最优技能方案。技能数据库记录历史技能与评估指标,元智能体自主交叉融合历史技能,生成适配当前任务的新技能。
MCE 不强制固定上下文结构,依靠自由形式技能存储任务核心知识,同步迭代技能与对应上下文。
#### Meta-Harness
Meta-Harness(Lee et al., 2026)将优化层级再向上提升一层:优化对象为管控信息存储、检索、向模型展示逻辑的底层代码。“Meta”代表这是一套用于优化其他 Harness 的元框架。
外层算法采用迭代搜索循环:
关键设计:全量执行历史存放于文件系统,智能体通过 grep、cat 等命令按需读取,而非全部塞入单个提示词上下文。这使得搜索空间足够大,足够强的编码智能体可利用人类工程师相同的设计空间。
工作流设计:从手工到自动搜索
工作流设计可由领域专家手工搭建,但更通用的方法是将其视为搜索问题。Automated Design of Agentic Systems(ADAS)将 agent 设计本身变成优化问题,靠元 agent 搜索运作:
AFlow 则进一步将工作流表示为有向无环图(DAG),通过蒙特卡洛树搜索迭代优化节点与边结构。
自进化 Harness:Self-Harness 与联合优化
Self-Harness 让 Harness 系统具备自我改进能力,典型流程为:
更激进的方案是同时优化 Harness 代码与模型权重。SIA(Self-Improving Agent)首次同步优化约束代码与模型 LoRA 权重,但该方向仍处于早期,存在奖励作弊与安全边界模糊等风险。
进化搜索:DGM 与 AlphaEvolve
进化搜索类方法将 Harness 设计视为程序搜索问题。Darwin Gödel Machine(DGM)使用遗传编程演化 agent 工作流,AlphaEvolve 则结合强化学习搜索最优工具使用策略。这类方法适合指标客观可量化的任务(如 GPU 内核开发、算法优化、代码生成),但计算成本高,评估模糊、依赖人工判断的领域效果差,且易出现种群同质化、多样性崩塌。
自进化 Agent 的评测:SEAGym
自进化 Agent 的评测不能沿用传统静态 benchmark。传统方法给定固定 Agent,在一组独立任务上运行后报告最终成功率,无法回答以下关键问题:
针对这一空白,清华大学团队提出了 SEAGym(Self-Evolving Agent Gym),一个专门用于评测自进化 Agent 的环境。
核心设计
SEAGym 将自进化过程形式化为与强化学习训练过程对齐的评测流程。每个 Agent snapshot 表示为 (M, H),其中 M 是固定基础模型,H 是可更新的 Harness 状态(包括 prompts、memories、skills、tools、middleware、runtime configuration 等)。在每一步中,环境采样一批训练任务,Agent 执行后根据自身更新规则修改 H。
SEAGym 不规定具体更新算法,不同自进化方法只需通过统一的 rollout/update 接口接入。这使得可以在同一协议下比较 ACE、TF-GRPO、AHE 等方法。
多视角评测
SEAGym 将评测视角拆分为多个维度:
这使得研究者可以看到自进化过程中的细粒度动态。例如,一个 snapshot 可能在 validation 上提升,但在 OOD 上下降;中间版本可能短暂变强,之后因错误的 middleware 修改而崩溃。
关键实验发现
发现一:Validation 提升不等于稳定泛化。 实验中,TF-GRPO 在 validation 上提升 17.1 个百分点,但 OOD 下降 2.5 个百分点。AHE 则在三个视角均取得提升(validation +17.1, ID +9.1, OOD +6.3)。只看 validation 曲线容易高估真实泛化能力。
发现二:自进化可能引入中间崩溃。 AHE 的 train replay 实验中,初始 Agent 可解决 34/80 个任务,最终可解决 43/80,但中间第 4 个 epoch 后一度跌至 6/80。分析发现是 Harness 修改了 middleware/runtime contract,导致 message construction 系统性错误。后续更新修复了该路径。如果只报告初始与最终分数,这种过程风险完全不可见。
发现三:Batch size 影响稳定性,且不是越大越好。 Batch 20 在 evidence diversity、per-task analysis depth、update frequency 与 harness stability 之间取得较平衡的结果。Batch 太小(10)导致更新证据不足、频率过高;Batch 太大(80)稀释每个任务的注意力,诱发粗糙修改。
发现四:训练来源多样性影响恢复能力。 Mixed-source(Terminal-Bench + HLE)比 HLE-only 更稳定。HLE-only run 的最终 snapshot 出现 collapse(三个视角均降到 0),但 best intermediate snapshot 仍有提升。单一 benchmark 可能将 Harness 推向局部最优,多样信号有助于从坏状态恢复。
当前瓶颈与未来方向
尽管 Harness 工程已取得显著进展,迈向完全递归自我改进仍存在七大核心瓶颈:
未来方向包括:发展更通用的评估框架(如 SEAGym 的扩展)、将 Harness 优化与模型权重联合训练、引入安全约束层防止恶意修改、以及设计可解释的更新日志与回溯机制。
总结
Harness 工程正在成为 AI 自我改进的核心战场。从工作流自动化到上下文工程,从进化搜索到自进化循环,这一方向揭示了智能体的能力提升不再只来自模型参数更新,也越来越来自模型外部系统的演化。对于开发者而言,理解并掌握 Harness 设计范式,将是在模型能力趋同的时代构建差异化竞争力的关键。
想深入了解 Agent 工作流设计,可参考 AI Agent 与多智能体;若关注 Harness 与模型联合优化,可阅读 模型微调;评测相关可参考 评估与基准。
FAQ
Q1: Harness 工程与传统 Agent 框架(如 LangChain)有何区别? 传统 Agent 框架主要提供工具调用与链式编排的抽象,而 Harness 工程更进一步,将工作流设计、持久化状态管理、评估、权限控制等视为一等公民,并强调系统本身的自我改进能力。Harness 更像一个运行时操作系统,而不仅是编排库。
Q2: 自进化 Harness 是否会导致智能体行为失控? 存在失控风险,尤其在 Self-Harness 开放底层系统编辑权限时。Agent 可能修改评估逻辑导致奖励作弊,或破坏 middleware contract 引发系统崩溃。当前最佳实践包括:使用沙箱环境隔离更新、保留完整更新日志与回溯能力、设置人工审批环节。
Q3: SEAGym 评测框架是否适用于生产环境? SEAGym 目前主要面向研究场景,用于诊断自进化过程中的泛化、遗忘与稳定性问题。生产环境可借鉴其多视角评测思路,但需适配具体业务指标与成本约束。
Q4: 小团队如何开始实践 Harness 工程? 建议从简单的文件系统持久化记忆与工作流自动化入手,例如使用开源项目 autoresearch 作为起点,逐步引入子智能体并行与上下文工程。无需一开始就追求全自动自进化,可先手工设计 Harness,再逐步自动化。
Q5: Harness 优化会替代模型微调吗? 不会替代,但会互补。Harness 优化主要改进模型与外部世界的交互方式,而微调改进模型内在能力。两者结合(如 SIA 方案)可能产生协同效应,但当前联合优化仍处早期,存在稳定性与安全性挑战。
Q6: 如何避免自进化过程中的奖励作弊? 可采取以下措施:使用多个独立评估函数交叉验证;保留原始任务作为回放集;限制 Harness 修改评估逻辑的权限;引入人类随机抽查;记录每次更新前后在固定基准上的表现差异。
Q7: Harness 工程需要掌握哪些编程技能? 需要熟悉 Python、bash 脚本、文件系统操作、基本的软件工程实践(版本控制、模块化设计)。若涉及进化搜索,还需了解遗传算法或强化学习基础。无需深入模型训练细节。
相关教程
系统拆解 Harness 的概念、架构、与模型的关系,以及如何通过 Harness 实现 Agent 的自进化与可控执行
深入解析多智能体系统的编排、记忆共享、冲突解决与安全防护,提供可落地的架构方案
从数据架构角度出发,结合 Skill、语义层和知识库,解决 Agent 落地中的指标口径、实时数据和权限等卡点。
对比主流AI编程工具,剖析架构、Harness、循环工程与企业落地经验
掌握四种循环模式,设计可验证的自动化开发流水线
对比上下文工程、RAG、记忆框架的优劣,并介绍记忆工程的最新实践