second brain
reading
← 全部阅读
目录
2026-09-23 约 5 分钟

Harness 自改进 × Memory 评测 × 成本可控回归:把系统改进变成可验收闭环

Agent 系统改进正在分化成三条必须分开验收的工程线:harness 如何自改进且不绑死部署面、memory 如何用任务完成与成本共同打分、回归如何在轨迹信息上做可负担抽样。它们共同反对同一坏默认:只看终点分数、只训一个 harness、只报准确率。

agentic-engineeringharnessself-improvementmemoryevaluationSWE

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$ / taskp95 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 proberetention 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 或换个分布就塌。

当日 dig 工作日志(去重 / ingest / ops)

2026-09-23: dig — Harness-Zero / RRSI / DolphinBench / Trajectory Subset / EvoPathBench / VibeMemBench / CHART / AgentRouter

  • 窗口:~2026-09-21 → 2026-09-23(Asia/Shanghai)。起始 live tip eaa88aca103f9f112c2e91cb349cc4b913728b1e(Auto-save after SB-20260922 dig tip ee36ad9b…);已去重 SB-20260922/21/20/19 及 handoff 更早列表,并排除 tip 上的 open-knowledge Auto-save(非 dig keepers)。
  • 周二 arXiv announce(ET 2026-09-22)已上线;从窗口内 primary sources 筛选 8 篇。跳过医疗、纯视觉、广告、仅标题相关与已覆盖 survey/replace 噪声。
  • Ingest(原文 title / abstract / authors,未翻译)
  • Research consolidate(中文 reading face)
  • Articles:大文件就地折入延后;本 dig 以 research + digest 为权威。
  • Open follow-ups:Harness-Zero × Designer-RSI / Chalupa serving harness;RRSI × GraphSkillEvo rejection memory;CHART × Empirical Harness Design;DolphinBench × MACE pairing;VibeMemBench × AdaRepair-Mem;EvoPathBench × RRSI 选择器;Trajectory Subset × Chronicle / Efficient Benchmarking;AgentRouter × StepKV / On-Demand Attention。
  • brain/log.md 未改(digest 为当日权威)。