只向前流动的 harness 状态会过时
语言模型智能体在处理一长串任务时,可以不改变模型权重而获得改进:办法是在模型周围维持一个持久的运行时脚手架。论文把这个脚手架称为 harness,它保存记忆、反思和提示,智能体在行动前读取这些内容,在完成一个实例后写入新内容。现有 harness 大多只让这个状态朝一个方向演化:从已完成的轨迹中提取有用信息,存起来,之后再检索。
论文指出了这种单向流动的代价。一条记忆或反思一旦写入,就很少根据它后来被检索时实际发挥的效果进行修订。有些系统通过增加或删除条目来保持存储内容连贯,另一些系统则用额外的训练或验证数据来优化 harness。在严格的在线流式协议下,每个实例只到达一次,既没有回放也没有留出集,这两条路都无法修正过时或过度自信的条目。一旦分布发生偏移,这类条目就会持续误导决策。
修订追问本应捕捉到什么信息
ReHarness 在熟悉的向前读取和写入之外增加了一个反向步骤,从而闭合循环。每个实例结束后,一个修订智能体重新审视该实例检索到的反思,追问:过去经验中的哪些信息本可以以不同方式捕捉,从而更好地指导当前这个实例?已完成的轨迹则作为反馈,说明检索到的指导是否有帮助。
关键约束是接地。修订后的反思中任何新内容,都必须仍能由最初产生它的源轨迹支持;后续轨迹只能用来细化匹配条件,并指出源轨迹本身已经支持的遗漏。这正是修订与简单把最新结果复制进记忆的区别。修订后的状态随后被带入下一个实例,于是反馈沿着文本形式的 harness 状态向后传播,既不需要回放实例,也不需要更新模型参数。
超过 95% 的论断保持源接地
论文首先检查修订是否遵守这一约束。每条修订后的反思被拆解为事实性论断,并分为三类:能由源轨迹蕴含的为接地,只能由后续轨迹蕴含的为泄漏,两者都不能蕴含的为无支持。在三个骨干模型上,超过 95% 的论断保持源接地,泄漏率为 0.8–2.1%,无支持论断为 0.5–2.6%。修订对这些比例的影响很小,每次修订接地率最多下降 0.3%。
这一点很重要,因为修订机制很容易变成把当前答案偷运进过去经验的通道,那样会抬高后续得分,却没有教会任何可复用的东西。测得的比例表明,骨干模型基本遵守了接地指令,把后续轨迹当作反馈,而不是当作内容来源。
反事实回放证明修订确有内容
仅靠接地检查无法说明修订是否有用。论文因此做了一个反事实回放,暂时改变流式协议:用已完成的轨迹修订 harness 状态后,把修订后的状态重新用于同一个实例,而不是下一个实例。这相当于追问:过去哪些信息本应被不同地捕捉,才能帮助这个实例。
在 Claude 上的 CL-Bench 中,平均归一化增益从无修订的 0.144 升到 ReHarness 的 0.217,反事实回放下为 0.335,且反事实回放在所有任务上都优于 ReHarness。作者将此解读为反向机制产生了有意义的修订,而非表面改动。回放本身违反在线协议,因此只作为诊断手段;ReHarness 只把修订后的状态用于下一个流式实例,仍在每个任务上优于无修订基线,增益最大的是数据库探索、销售预测和盲频谱监测。
两个案例展示过度泛化与过时被纠正
定性例子让机制变得具体。在盲频谱监测中,记忆智能体从五个观测到的发射机峰值过度泛化,建议编造看似合理的频道来填补静默间隙。这条反思被检索后,决策智能体加入了未观测到的发射机,奖励降到 0.219。把这一结果作为反馈,修订智能体将该假设标记为推测性,并把指导改为优先保留已确认的峰值;下一次检索得到 0.367 的奖励。
在数据库探索中,一条早期反思固化了“评分价格来自名为 prc 的列”这一信念。模式变更引入 prc_v2 后,检索到的旧规则让智能体只检查 prc,得分为 0。把这次失败反馈回去后,修订把规则改为不要假定哪一列是评分列,并枚举所有类似价格的列。下一次检索检查了两列,用两次查询解决了任务,奖励为 0.867。这些只是单个示例轨迹,不是总体估计,但它们展示了设计针对的两种失败模式:流早期的过度泛化,以及偏移后的过时策略。
增益跨骨干成立,但有例外
主要比较报告了 Claude Opus 4.8、GPT-5.5 和 Gemini 3.7 Flash 在每个任务上的归一化增益,对照对象包括记忆方法(Mem0、RBank)、反思与提示方法(DoT、ACE、GEPA-Online),以及保留完整或前 k 条原始轨迹的两个原始上下文基线。ReHarness 在每个骨干模型区块中都取得最高平均值:Claude 为 0.305,GPT-5.5 为 0.358,Gemini 3.7 Flash 为 0.408。
逐任务看并不均匀,论文也如实说明。在 GPT-5.5 上,ReHarness 在 cohort 上达到 0.816,但在 codebase 上为 0.407,低于 Full Raw 的 0.471。在 Gemini 3.7 Flash 上,它在 cohort 上达到 0.930,与 Full Raw 的 0.945 基本持平,在 codebase 上为 0.226,而 Full Raw 为 0.182。作者还报告 ReHarness 在可被利用的扑克任务上表现不佳,因为下游奖励给反向修订提供的是噪声信号。论文报告的稳定性—可塑性分解显示,两个分量的平均增益都最高,作者将其解读为跨偏移的稳健迁移以及之后的有效适应。
输入 token 节省抵消额外输出
修订并非免费:ReHarness 在向前写入时做一次反思调用,在反向修订时做 k 次修订调用,此外还有所有方法共用的决策调用。论文测量了在 Claude 上对全部 CL-Bench 任务做一次 rollout 的净效果。ReHarness 消耗约 37.19M 输入 token 和 4.38M 输出 token,总计约 41.57M;Top-K Raw 约 52.66M,Full Raw 约 142.12M,分别是 ReHarness 总 token 量的 1.3 倍和 3.4 倍。
节省来自输入 token:紧凑的反思缩小了决策时反复出现的上下文,而原始轨迹在长回合、多轮实例中会放大这部分开销。在启用提示缓存并按 Claude API 定价时,报告的成本约为 Top-K Raw 85 美元、ReHarness 254 美元、Full Raw 314 美元。因此 ReHarness 比 Top-K Raw 贵,但归一化增益更高,为 0.217 对 0.165;它比 Full Raw 便宜,增益也更高,为 0.217 对 0.191。论文还指出一项剩余开销:原始轨迹仍需存储,以备将来修订。
本文引用的文献
Recurrent Harness for Agentic Continual Learning
ReHarness 在严格在线流式协议下,为只向前流动的智能体 harness 增加了对检索到的反思的反向修订,使超过 95% 的修订论断保持源接地,并在三个骨干模型上分别取得 CL-Bench 最高的平均归一化增益。
