Agent 系统改进正在分化成三条必须分开验收的工程线:harness 如何自改进且不绑死部署面、memory 如何用任务完成与成本共同打分、回归如何在轨迹信息上做可负担抽样。它们共同反对同一坏默认:只看终点分数、只训一个 harness、只报准确率。
01找 · 读
一、Harness:从「外挂提分」到「可蒸馏、可正则、可轮换」
Harness-Zero:把最优 harness 的行为蒸馏进权重
Harness-Zero指出,harness 增益往往绑在部署时的那套外挂上:领域、实例、模型不同,最优 harness 也不同。通用 agent 要么用次优共享 harness,要么在膨胀的专用 harness 集合上做路由。作者把问题改成 harness distillation:训练时用领域/实例优化 harness 做指导,把诱导出的行为写入模型权重,使收益在单一固定 target harness 下仍能保留。
难点是两套 harness 的动作空间与可用信息不一致,优化 harness 的轨迹不能直接当 target 的监督。Harness-Zero 用 agent-as-harness:让优化 harness 下的 agent 充当可查询的教师接口,为目标 harness 下的学生生成可对齐的指导信号,从而完成跨 harness 蒸馏。
对实践
生产上应拆清两层接口:training_harness(可贵、可重)与 serving_harness(稳定、可审计)。新行为先在专用 harness 里跑通,再要求蒸馏到固定 serving harness;验收条件是「卸掉训练时外挂后,行为是否仍在」。不要把「换一个更好的 system prompt」误当成可迁移的产品能力。
RRSI:递归自改进必须正则化,否则只会背训练集
RRSI针对 harness 级 recursive self-improvement(RSI):自动提出并选择 harness 组件编辑,能在分布内大幅涨分,却常在 OOD 基准上缩水甚至消失。RRSI 把正则化原则写进候选提案与选择——proposer 使用时间退火的编辑预算,限制候选相对父 harness 能改多少;选择阶段同时惩罚过拟合训练任务的编辑。
结果是:递归演化不再只追求训练任务上的最大增益,而是在「改进幅度」与「分布外保持」之间做约束搜索。
对实践
任何自动改 AGENTS.md / skills / prompts / 控制流 的夜间环,都应带三件套:(1) 编辑预算上限、(2) 训练任务增益、(3) 固定 OOD 探针集。候选若只抬训练分、探针回退,直接 reject 并写入拒绝记忆,避免下一轮重复提案。
CHART:训练时轮换 harness,避免行为绑死在表面形式上
CHART发现 search agent 在固定 harness 下学会的并行搜索,换一个语义不变、措辞不同的 harness 后会退回串行搜索——行为是 harness-local 的。简单「多 harness 增强」不够;GRPO 依赖并行相对串行的 reward gap,而不同 harness 表面形式会扭曲这个 gap。
CHART 提出 harness-rotation curriculum:训练过程中系统化轮换 harness,迫使策略抓住任务结构而非某套 prompt 的表层线索,从而得到更 harness-robust 的搜索行为。
对实践
评测 agent「会不会某能力」时,至少准备 同一任务、两套以上 harness 措辞。若只在训练 harness 上通过,能力声明必须降级为「harness-conditioned」。上线前的 prompt 改版,应跑 CHART 式 rotation smoke test,而不是只看旧 harness 回归绿。
02找 · 读
二、Memory:用任务完成、成本与过程能力一起验收
DolphinBench:记忆系统要报准确率 × 成本 × 延迟
DolphinBench批评现有 memory benchmark 多是对话问答:问题本身已经提示「该召回什么」。它改成三个知识工作 persona、每人约 500k token 历史,用 依赖历史才能完成的真实任务 评测;每题经「有历史成功 / 无历史失败」双重验证。提交必须同时报告 accuracy、total cost、latency,从而画出 memory 配置的 Pareto 前沿。
关键观察:最高分配置未必最贵;同一 memory 系统在不同 model×harness 上的排名会换位——记忆表现是三者耦合,不是 memory 模块的孤立属性。
对实践
内部 memory 选型表至少三列:task_success、$ / task、p95 latency。禁止只按 recall@k 或问答准确率定标。换模型或换 harness 后,原 memory 冠军要重测,不要假设排名可迁移。
VibeMemBench:编码 agent 的记忆要用可执行仓库结果说话
VibeMemBench指出:仓库 benchmark 测改代码但不隔离 memory;memory benchmark 测召回但不测下游编码结果。它在 90 个 SWE-rebench V2 仓库、111 个目标、3,634 条历史轨迹上,让 agent 在声明的 memory 条件下改代码,用可执行测试判定是否解决;且只保留「注入历史经验确实抬高可执行结果」的目标,避免无效题。
对实践
给 coding agent 加 memory 时,门禁应是 同仓库可执行 pass 的配对实验(有记忆 vs 无记忆 / 错记忆),而不是「检索到了相似 issue」。若记忆不能改变测试结果,就不要进默认上下文。
EvoPathBench:自演化要看能力何时出现、是否被后续更新毁掉
EvoPathBench强调:自演化 agent 把反馈写成持久 artifacts(memory/skills),终点分数无法回答「能力何时出现、后来是增强、保持还是削弱」。基准固定基座模型与工具,在演化检查点冻结 artifacts,于 held-out episode 上测目标能力:泛化、保留、规则适应。
发现包括:相近未见任务上的增益常在分布偏移下变弱;保留损失集中在少数演化路径;没有方法可靠完成规则适应;候选 artifacts 的 held-out 潜力经常高于最终被选中的更新——候选评估与选择本身是瓶颈。
对实践
技能/记忆演化流水线要存 checkpoint 级能力曲线,而不是只存「本周总分」。上线门禁加三条:generalization probe、retention probe(学了无关任务后旧能力是否掉)、rule-adaptation probe。选择器若系统性地不如最佳候选,优先修选择,而不是只加大提案量。
03找 · 读
三、成本:回归子集与步骤级路由,把评测/推理预算花在刀刃上
Trajectory-Aware Subset Selection:用轨迹嵌入做低方差 SWE 回归子集
Trajectory-Aware Benchmark Subset Selection面对现实:每次更新 SWE-agent 都全量跑基准,可能消耗数亿 token。随机或按历史 pass/fail 分层抽样方差大、代表性差。方法先按最近全量结果的 pass/fail 分层以保持历史通过率,再在层内用 轨迹嵌入 做确定性子集选择,用行为多样性代替随机点名。
对实践
日常 CI 用「轨迹覆盖子集」,发布再用全量。子集选择特征优先来自失败/成功轨迹的行为嵌入,而不是只看题目文本或上次是否通过。与此前 Efficient Benchmarking / Chronicle 同一方向:把回归成本当成一等设计约束。
AgentRouter:轨迹内步骤复杂度不均,应按步路由模型档位
AgentRouter估计:企业 agent 把轨迹每一步都打到 frontier,会有 60–80% 预算浪费在小模型同样能做的子任务上。现有路由多优化单轮 query,忽略 同轨迹内 规划步与格式化步的复杂度差异。AgentRouter 用约 12M 参数分类器、五维可在路由时提取的特征,将每步映射到四档模型;在 A100 上每步开销 <5ms。
对实践
默认「全程一个模型」应改为步骤级策略:规划/疑难调试走高档,格式化、简单检索、样板编辑走低档。路由特征写进轨迹日志,便于事后审计「这笔钱花在哪类步」。先在回放轨迹上离线估节省,再打开在线路由。
04找 · 读
总览
flowchart TB
subgraph harness [Harness 闭环]
hz[Harness-Zero 蒸馏]
rrsi[RRSI 正则 RSI]
chart[CHART harness 轮换]
end
subgraph memory [Memory 验收]
dol[DolphinBench 准确率×成本×延迟]
vibe[VibeMemBench 可执行仓库结果]
evo[EvoPathBench 过程能力曲线]
end
subgraph cost [成本控制]
traj[轨迹感知回归子集]
route[AgentRouter 步骤级路由]
end
chart --> hz
rrsi --> hz
hz --> evo
dol --> vibe
evo --> vibe
traj --> evo
route --> traj
三条线应同时存在于生产门禁:harness 改动可在轮换与 OOD 探针下存活,并尽量蒸馏进权重;memory 用任务完成与成本共同验收,并用 checkpoint 看过程能力;评测与推理都按轨迹信息花预算。缺任何一条,系统改进都会看起来很强、换个 prompt 或换个分布就塌。