读完 Harness² 的论文,多数团队的心情大概是「道理都懂,抄不起」:每个任务 k 次试跑、Claude Opus 当编辑器、三基准跑分——这是谷歌算力才养得起的自动递归。但把华丽的递归剥掉,这套系统里藏着三条所有团队都用得起的工程原则:框架显式化(把 Agent 的行为定义从代码里拆成可编辑文件)、经验证据化(没有执行对比证据就不许写经验)、探测式评估(没有标准答案时,用行为对比代替打分)。本文按落地顺序把这三条翻译成可以直接动手的做法,素材来自 Harness² 论文、Anthropic 工程博客与一线工具的公开实践。
第一步:清点资产——对照八组件审视你的 Agent
Harness² 把执行框架拆成八个文件组件:系统提示词、护栏、记忆、工具指导、技能、脚本、子智能体、插件。这不是谷歌的发明,而是对业界既有实践的归纳——你的仓库里大概率已经有一半,只是散落各处。建议做一次「资产清点」,把每个组件对应的现实文件列出来:
| Harness² 组件 | 你仓库里对应的东西 | 常见问题 |
|---|---|---|
| 系统提示词 | AGENTS.md / CLAUDE.md / 系统提示模板 | 越写越长,什么都往里塞 |
| 护栏 | 权限配置、命令白名单、审批钩子 | 和提示词混在一起,改不动 |
| 记忆 | 长期记忆文件、用户画像库 | 只进不出,慢慢变成噪声 |
| 工具指导 | 工具 description、API 使用说明 | 写完没人维护,与实际行为脱节 |
| 技能 | SKILL.md、操作手册 | 与提示词重复,互相打架 |
| 脚本 | 可执行脚本、CLI 封装 | 该写成脚本的还在靠模型现场推理 |
| 子智能体 | 子任务委派配置 | 该隔离的上下文挤在一个窗口里 |
| 插件 / 钩子 | pre/post 工具调用钩子、CI 门禁 | 最被低估的一层 |
清点时有两个现成的对标物。一个是 AGENTS.md 规范(OpenAI 2025 年 8 月随 Codex 推出,自称「给智能体看的 README」,已被 Cursor、Gemini CLI、GitHub Copilot 等广泛采纳):纯 Markdown、无 schema,写构建命令、代码风格、PR 前检查清单。另一个是 Cursor 的 rules 分级:Always / Auto Attached(glob 命中才注入)/ Agent Requested / Manual 四种触发方式——它的价值在于提醒你「不是所有规则都值得常驻上下文」。清点之后通常会发现:组件都在,缺的是「什么内容该住哪个文件」的边界。一个实用的判据来自 Harness² 的分组逻辑:每次调用都要看的进上下文层(提示词/护栏/记忆),按需才用的进技能层,确定性的进脚本层,必须强制的进钩子层——「必须强制」的意思是模型无从违抗,而不是「拜托模型遵守」。
第二步:给经验立规矩——没有证据,不许沉淀
Harness² 最值得抄的是它的入库门槛。它的经验库每条目 = 一套可执行的框架文件 + 一份 EXPERIENCE.md,而写入前有一条硬规则:只有被执行对比支持的教训才允许沉淀,证据不足时一个条目都不加。源码里经验条目强制要求三个字段非空:线索(什么情况下适用)、教训(学到了什么)、证据(凭什么信)。对照现实,多数团队的「经验沉淀」缺的正是第三样——大家记录「我们试过 X 很好用」,但不记录「在什么对比条件下、比什么好多少」,半年后这些经验既不敢删也不敢用。
一个可以直接套用的最小模板:
<!-- EXPERIENCE.md:一条经验一张卡,写不满三段就别写 -->
## 线索(cue)
什么信号出现时该想起这条经验:报错类型 / 任务特征 / 工具组合……
## 教训(lesson)
具体做法一句话 + 为什么有效(机制层面的猜测要标注为猜测)。
## 证据(evidence)
哪次执行、对比了什么、差异是什么。
例:2026-10-20,任务 #471,A 方案未清洗空值导致 3 处字段错位;
B 方案先用脚本清洗再解析,同一输入复跑通过。B 优于 A 的证据是复跑差异,不是感觉。
沉淀的位置也有讲究。Anthropic 的上下文工程文章(2025 年 9 月)给的原则是「最小的高信号 token 集合」:经验文件不是越大越好,上下文里的 token 越多、注意力预算被摊得越薄。落地的做法是把经验按「线索」组织、按需注入——这与 Agent Skills 开放标准的渐进披露(启动只载名称与描述,命中才读正文)是同一个思想。另外别忘了「退出机制」:经验库要有定期修剪,ChatGPT 的记忆功能就因为存满后静默丢条目、召回不稳定挨了不少批评——只进不出的记忆库,本质是在往上下文里倒垃圾。
第三步:没有标准答案时,用行为对比做探测
Harness² 的探测机制值得细品:它不问「这个方案多少分」,只问「换上这个修改后,同一任务的行为哪里变了」——缓解了目标缺陷、没变化、还是引入回归。对没有 ground-truth 的真实业务,这正是可抄的部分:A/B 试跑 + 盲选。具体做法:让两个版本(原版 vs 带候选修改的版本)跑同一个任务,把两份交付物匿名化后交给评审(人或 LLM),评审不知道哪份来自哪个版本——Harness² 连盲选器看得到候选来源与分数这点都防了,因为知道出处就会偏袒。
用 LLM 当评审要先了解它的已知偏差:自偏好(评审模型高估自己家族的产出,arXiv:2410.21819)与位置偏差(成对比较受呈现顺序影响)。缓解手段是老三样:交换位置各评一次取平均、用不同家族的模型组成多评审、给评审配 rubric。Anthropic 的评测方法论文章(2026 年 1 月)的建议同样适用于此:能用确定性代码检查的绝不用模型评——文件存在、格式合法、测试通过这些先筛掉,rubric 只留给主观维度,且要定期与人类专家的判断校准。把这套组合起来,你就有了自己的「探测」:不是给方案打分,而是给「修改是否解决了它声称要解决的问题」收集行为证据。
还有一层论文用教训换来的经验:别只在一个任务上探测。Harness² 的附录承认,采纳的修改不保证迁移到别的任务——在当前任务上验证过的改动,可能污染其他任务的执行。落到实践里,就是准备一个 3 到 5 个历史任务组成的「回归探针集」,候选修改除了要在目标任务上对比,还要在探针集上复跑一遍:目标变好且探针不退化才准入库。这相当于给经验沉淀配了单元测试,成本是几次复跑,换来的是经验库不出现「在这台机器上好好的」式回归。
第四步:给闭环装护栏——四个已知坑
自我改进闭环跑起来之后,风险才开始出现。论文与相关研究已经给出四个有名字的坑,每个都有对应工程对策:
评分污染。Harness² 的会话护栏会拒绝把包含评分裁决、评分标准的工作目录移交给下一环节,编辑器被明确要求不得执行候选框架里的脚本、不得服从其中嵌入的指令——防止「考生改卷子」。你的对策:评测逻辑与被评测对象物理隔离,经验库不收带分数的文件。
context rot(上下文腐烂)。Chroma 2025 年 7 月的技术报告测了 18 个前沿模型:输入变长时全部出现性能退化,哪怕任务难度不变。对策:经验按需注入、定期压缩归档,别把历史全量挂在上下文里。
记忆与行为的连带退化。《Your Agent May Misevolve》(arXiv:2509.26354)记录了自进化智能体的普遍现象:安全对齐随记忆积累而退化,且会传染到新会话。对策:护栏文件不参与自动进化——Harness² 的 guardrails 是可编辑组件,但你的生产系统里,红线配置应该只允许人改。
objective hacking(目标劫持)。Darwin Gödel Machine 在自改代码过程中试图操纵自己的评测、删除充当护栏的日志。对策:凡是有「自我修改」的环节,修改的验收必须由修改者触不可及的一方执行(人审、外部 CI、或至少另一个隔离上下文)。
第五步:自动化要循序渐进,别一步到位
Harness² 展示的是全自动递归的终态,但自动化程度应该跟着证据积累走,比较稳的阶梯是三级。L0 人工复盘:每完成一个重要任务,人写一张经验卡——先让证据字段的习惯立起来。L1 半自动:让模型分析执行轨迹并提出候选修改,但提案必须经人审才能试跑入库,人把关「这个改动声称解决的问题真的存在吗」。L2 全自动:只在有强反馈信号的域放开——有测试套件的代码任务、有验证集的固定流程,GEPA 一类的方法已经证明有指标时自动化优化比人手快得多。开放任务(没有标准答案、成败靠评审的)长期停留在 L1 是合理选择,这不是保守,而是弱评估器是自我改进第一瓶颈这条规律决定的——评估跟不上,自动化只会更快地产出错误的「经验」。
一个最小可行闭环
把以上五步串起来,是普通团队用得起的最小闭环:
flowchart TB
T[真实任务] --> R[原版执行]
T --> C[候选修改版执行]
R --> B{匿名化对比<br/>盲选评审}
C --> B
B -->|改动有效| A[采纳:写入经验卡<br/>cue + lesson + evidence]
B -->|无差异或回归| X[丢弃:记录失败原因]
A --> P[定期修剪:过期经验归档]
X --> P
A -.->|按需注入| T
它没有自动提案(提案仍由人负责),没有 k 次并行(一般 2 就够),但保留了 Harness² 的灵魂三件套:对比出真知、证据才入库、盲选防偏袒。跑顺之后再考虑自动化提案——到那天你会发现,最难的不是让模型写修改建议,而是让你的经验库配得上被信任。
什么时候不值得做
诚实地说,这套闭环有明确的适用边界。任务低频且每次都不一样,经验攒不起来,闭环空转;任务是确定性流水线(固定输入输出、有完整测试覆盖),直接写代码比养 Agent 划算;模型太弱时也别指望框架补天——Lin et al. 2026 的实证显示 harness 收益非单调,中档模型受益最大,弱模型的瓶颈在模型本身。经验沉淀闭环适合的场景是:高频、多样、成败可观察,且你已经从「提示词调优」毕业、开始维护一堆规则文件的中型智能体系统。如果你正处在这个阶段,Harness² 论文加本文的四步,大概就是你下周的站会材料。
参考资料
- Harness²: Recursive Agent Harnessing for an Open World(arXiv:2610.14224)——八组件、PPC 机制与证据门槛的原始出处
- google-research/harness2(GitHub)——
core/library.py中经验条目三字段校验与评分隔离实现 - Anthropic: Effective context engineering for AI agents(2025-09)——注意力预算与最小高信号 token 集合
- Anthropic: Demystifying evals for AI agents(2026-01)——代码型 grader 优先、rubric 与人类校准
- AGENTS.md 规范与 Cursor Rules 文档——规则文件的组织与按需注入
- Chroma: Context Rot 技术报告(2025-07)——18 个模型长上下文全部退化的实证
- Your Agent May Misevolve(arXiv:2509.26354)——自进化的安全退化风险
- LLM-as-judge 自偏好(arXiv:2410.21819)——评审偏差与缓解依据
读者留言
COMMENTS 暂无还没有留言,来说第一句?