# RRSI 与 MSE:研究结论和升级方案 研究日期:2026-09-30。状态:设计提案,未实施、未安装、未运行付费模型或复现论文基准。 建议保留 MSE 的通用插件核心,吸收 RRSI 的实验记录、比较评测和成本约束,升级为“能证明哪些经验有效,并撤回无效经验”的系统。先改善学习证据,再扩大自动优化范围。 ## 1. 本轮核验基线 - RRSI:官方仓库固定提交 [be50316e1db05914068a973f322770ef08ed7ba1](https://github.com/google-research/rrsi/tree/be50316e1db05914068a973f322770ef08ed7ba1),论文采用 [arXiv v2,2026-09-23](https://arxiv.org/abs/2609.24972v2)。阅读了论文、README,以及 selection/history/critic/evaluate/loop 等实现;没有执行外部项目代码。 - MSE 通用产品:本机 `mse/learning-product`,包名 `@missher/dsh-mse-learning`,版本 `0.8.0-alpha.4`。父工作树 HEAD 为 `5dc7842964a6fdf4113ad115d89be3a08c433027`,存在既有未提交修改,因此 HEAD 不能独自代表本轮源码快照。 - 本文比较当前磁盘源码,不重新判定日常安装是否激活。README 和 PROJECT_CONTEXT 中仍含历史安装说明;实际安装事实应另查对应回执和进程。 - 本轮只新增本文,保留业务源码、版本、包、日常 profile、Hermes 数据及已有脏工作。 ## 2. 相似之处与互补关系 两者都能在不训练模型权重的情况下改变 Agent 后续行为。MSE 当前侧重使用过程中的经验保存与召回;RRSI 围绕冻结模型修改 harness,也就是模型周围的提示、工具和执行流程,再通过评测选出版本。它不是面向任意 Agent 的即插即用记忆插件。[RRSI 官方概述](https://github.com/google-research/rrsi/tree/be50316e1db05914068a973f322770ef08ed7ba1#overview) | 维度 | 当前 MSE 0.8 通用核心 | RRSI | 建议结合方式 | | --- | --- | --- | --- | | 持久对象 | 纠错、方法、版本、采用与检查记录 | harness 修改和实验历史 | 保留轻量经验库,增加独立实验账本 | | 改进对象 | 下次任务召回的少量经验 | 提示、控制流、工具、记忆等源码或配置 | 首先优化经验和有限召回策略 | | 有效性依据 | 同一方法在不同会话获得检查通过记录 | 候选与当前版本的分数、成本及其他准入条件 | 比较有无该方法的结果,检验未参与生成的任务 | | 使用方式 | 核心配合 DSH、Hermes 生命周期适配 | 按任务域接评测环境并运行优化 | 在线保持轻量,评测在隔离环境执行 | 上表中的 RRSI 流程依据其 [主循环](https://github.com/google-research/rrsi/blob/be50316e1db05914068a973f322770ef08ed7ba1/rrsi/loop.py);结合方式是本项目建议,并非论文已经验证的 MSE 效果。 ## 3. 值得吸收的机制及边界 1. **一次少改,方便判断原因。** RRSI 逐步收紧独立改动数量。MSE 第一版直接限制每个实验只改变一条方法或一个召回参数,避免把多个变化的总收益分摊给每条经验。[预算实现](https://github.com/google-research/rrsi/blob/be50316e1db05914068a973f322770ef08ed7ba1/rrsi/schedule.py) 2. **保留反证。** RRSI 记录假设、组件、修改、收益和判决;实际给提案器的默认历史为最近 40 条,其中未取得测量的门禁失败最多 4 条。它没有保证同义失败假设永不重提。MSE 应增加可检索的失败假设索引,并区分“被证伪”“没测成”“输给其他候选”。[历史实现](https://github.com/google-research/rrsi/blob/be50316e1db05914068a973f322770ef08ed7ba1/rrsi/history.py#L166) 3. **效果与成本共同决定晋升。** RRSI 要求分数不低于已接受版本路径上的历史最佳分数减去噪声容忍值;增益较大时检查成本额度,噪声区间内仍可能凭降成本或结构新颖性入选。MSE 应借用保守比较的思路,不把“新颖”当作日常经验自动晋升的依据。[选择器](https://github.com/google-research/rrsi/blob/be50316e1db05914068a973f322770ef08ed7ba1/rrsi/selection.py#L81) 4. **筛掉针对考题的投机。** RRSI 的 critic 在评测前检查候选内容。MSE 的对应动作是检查来源、适用条件和泛化边界,防止把某一次任务的特殊值学成普遍规则。用户明确的项目要求应保留在项目范围,不能因此被当作“过拟合”删除。[critic](https://github.com/google-research/rrsi/blob/be50316e1db05914068a973f322770ef08ed7ba1/rrsi/critic.py) 5. **精简也要验证。** RRSI 生成删除候选清单,仍需再提案和评测。MSE 可以借鉴为方法休眠、替换和回滚;低频但重要的用户纠错不按使用频率自动删除。[精简逻辑](https://github.com/google-research/rrsi/blob/be50316e1db05914068a973f322770ef08ed7ba1/rrsi/history.py#L143) 成本不能照宣传数字推断。论文 workspace 实验的 policy tokens/trial:原始 Agent 为 1.56m,RRSI 为 2.42m,未经约束的进化为 3.80m。因此 RRSI 比原始 Agent 约多 55%,比未经约束的进化约少 36%;这些是作者报告数据及据此计算,非本机复现,也不是单次上下文长度。[论文表 2](https://arxiv.org/html/2609.24972v2#S4.T2) 代码还显示,任一侧缺少成本时,相对成本变化被记为 0;搜索模型客户端没有把分析、提案、critic 的 usage 汇入上述选择成本。MSE 需要单独记录成本未知和后台优化费用。[评测成本](https://github.com/google-research/rrsi/blob/be50316e1db05914068a973f322770ef08ed7ba1/rrsi/evaluate.py#L104)、[搜索调用](https://github.com/google-research/rrsi/blob/be50316e1db05914068a973f322770ef08ed7ba1/rrsi/llm.py#L92) ## 4. MSE 现状与优先修复项 以下均为本轮源码复核,不是本轮动态测试。 | 当前能力或缺口 | 代码位置 | 对方案的影响 | | --- | --- | --- | | 私有、加锁、原子写入的持久经验库 | `learning-product/src/store.mjs` | 沿用存储边界,无需重做记忆底座 | | 默认每轮 768 UTF-8 字节、最多 2 条;每会话累计 1536 字节;同版本只提供一次 | `src/index.mjs:128–176` | 保留上限,完整实验历史不进主对话 | | 本地词项召回,candidate 也可被召回 | `src/index.mjs:147–160` | 新方案将推断方法候选默认转入离线评测;这是明确的行为变化,实施时需回归 | | 两个不同会话检查通过且无失败即 tested | `src/index.mjs:198–227` | 只是通过记录,无法证明方法带来提升 | | 一个回合可将同一结果归给两条经验 | `src/index.mjs:208–227` | 需按检查项绑定经验,不能把相关性当因果 | | 90 天到期、显式 supersedes;无效果/成本驱动的淘汰 | `src/index.mjs:102–125` | 增加方法版本的评测和撤回记录 | | SDK/CLI + DSH/Hermes 薄适配器,没有通用 MCP Server | `src/cli.mjs`、`adapters/` | 沿用一个核心,各宿主实现能力和证据契约 | **问题:暂停后排队的复盘仍可能执行并写回。原因:** `adapters/harness.mjs:20–22` 排队 review,`:99` 暂停只取消活动 turns;DSH review 的 lifetime signal 仅在卸载时取消。**影响:** 学习开关无法完整约束后台写入。**推荐方案:** 在启动及结算时检查同一 controller generation;暂停取消请求并撤销旧票据资格,不删除已有经验。 **问题:请求尚未发出也可能被计为经验失败。原因:** `adapters/harness.mjs:49–59` 在消息提交时 accept,并把回合 error 统一归为 failed。**影响:** 准入阻断或基础设施故障会污染经验评分。**推荐方案:** 区分消息提交、请求实际包含、请求结果及任务检查;没有足够证据时记 unknown,失败必须关联具体检查项。 MSE 旧产品不是从未做过实验:`agent-product/src/method-evaluator.ts` 已有日期/空值两类登记方法的固定隔离评测,检查误修改、回归和范围泄漏;`agent-product/src/lifecycle.ts:466–487` 有 treatment/control 晋升逻辑。优先复用这些契约、检查器与用例,经过适配测试后纳入 0.8 核心。旧实现的少量样本门槛不是通用统计保证,也不能直接复制实时状态、旧信誉或全部依赖。 ## 5. 建议的下一阶段设计 ### 阶段 A:可信证据与可撤回经验 先修复上述两项问题,再建立统一事件语义。保持 `prepare → accept/cancel → complete` 外部使用方式,补充宿主能力声明与内部阶段记录: `观察 → 提供经验 → 确认请求包含 → 获得结果 → 按检查项验证` 核心不要求所有宿主都能提供全部阶段。DSH/Hermes 各自声明可提供的证据,缺失阶段降低结论等级;不能靠模型自评补全。任何宿主缺口先列出具体扩展点,不默认修改宿主或新建兼容插件。 新增独立、有界的实验账本,建议字段: | 字段组 | 内容 | | --- | --- | | 身份 | lessonId、revision、scope、host/model/tool/checker 版本 | | 假设 | 方法、适用条件、排除条件、语义指纹、来源引用 | | 证据 | 样本集版本、独立检查项、baseline/candidate 结果、是否实际采用 | | 成本 | 请求输入/输出用量、时延、后台优化用量;缺失显式为 unknown | | 判决 | accepted/rejected/inconclusive/superseded、理由、回退版本 | 拒绝理由影响后续行为:明确反例可阻止同环境中的重复候选;网络失败、成本未知、未胜出只表示未证实。环境或工具版本变化后允许重新评估。账本有容量与保留期、幂等事件和原子写入;保留摘要与来源引用,不默认保存整段私人聊天。 ### 阶段 B:小规模离线评测与选择 默认评测方法候选,用户明确纠错继续按原范围即时生效。首批复用旧产品已有的日期、空值受限检查器;数值排序和命令环境作为后续新增任务族,需另建检查器与隔离用例,不急于覆盖任意工作。 每个实验只比较一个变化。适用于纯转换的方法可以直接回放工件;涉及规划、提示或工具行为的方法,需要在同样的隔离任务快照上重新运行基线与候选。仅用旧轨迹重新打分,无法证明新提示能改变模型行为。 评测分三类数据:用于生成方法的案例、开发比较集、最终封存验收集。按任务族/来源/时间去重,防止近似副本跨集合;验收集不反复回流给提案器调参,用过后不能继续宣称它完全未见。包含失败案例、原本正确案例、无关案例与边界反例。 晋升规则建议: - 来源、作用域和独立检查先通过,任何关键回归都不能靠平均得分抵消。 - 使用相同模型、工具和任务设置比较两组;涉及随机生成时重复测量并报告不确定性,样本不足保留候选。不要照搬 RRSI 的噪声参数。 - 改善需达到预先登记的实际意义门槛;准确性相当时可优先更低成本的方法。具体阈值由本机基线校准,不能事后为晋升改门槛。 - 总量和分任务族结果同时报告,避免总体提升掩盖某类任务退步。 - 成本未知时不以“零增长”放行;确定性纯函数检查的零模型成本可单独明确记录。 - 候选不自动进入日常召回。通过离线准入后标明 validated;真实采用结果另外记录,不能把离线通过写成线上成功。 后台生成/评测独立设置每日调用、token、时长及并发上限。初版手动触发小批次,并发 1;没有配置预算时不启动模型评测。保留任务当前模型路由,不借研究更换用户模型。 ### 阶段 C:让经验参与检查,并渐进扩展到其他 Agent 可以确定性检查的经验,转为有明确范围的检查器,例如来源日期、未知值、命令运行环境。工具或提交前扩展点可用时,在该环节检查;只能观察任务结束的宿主只报告结果,不宣称具备事前阻止能力。 不能可靠机器检查的经验,继续用短提示召回。检查器失败时只对被检查的经验记反证;发现持续退步可将方法版本休眠,并恢复此前版本。用户偏好由后续用户要求或显式替换裁决,不按实验分数删除。 跨 Agent 继续使用同一核心和独立状态目录。可携带的内容是脱敏、带适用条件和版本的“方法工件”;目标宿主重新确认工具能力及效果,不继承其他宿主的成功计数。通用 JSON/SDK 事件契约优先于新增 MCP;MCP 本身不能提供请求采用和可信结果证据。 阶段 A/B 稳定后,才考虑用离线选择器优化召回阈值、排序和提示模板。自动编辑并发布 DSH/Hermes 宿主代码属于另一类交付,留待独立方案。 ## 6. 上下文成本与“不重犯”的验收 在线阶段保留当前预算:每轮默认 768 字节/2 条,每会话累计提供 1536 字节,无关任务不注入。历史、反证、评测轨迹留在本地;后台提案只读取与候选相关的有限摘要。实现简单检查的规则优先不占模型提示。 这些是 UTF-8 字节约束,不是实际 token 费用保证。已有提示可能随历史多次发送,后台也有独立调用;需分别记录主任务和学习过程的 token/时延。宿主压缩后当前去重策略不会自动补回旧经验,因此不能保证长会话始终记得。初版保留该边界,后续若使用宿主支持的可替换提示槽,必须另外验证实际发送内容和成本,不能通过重复追加绕开预算。 | 验收层 | 必须证明的行为 | | --- | --- | | 生命周期 | 暂停后新旧后台任务都不能写回;取消、重启和重复事件不重复结算 | | 归因 | 请求准入/网络错误不算经验失败;模型声称成功不能制造 verified | | 持久化 | 进程重启、新会话仍可正确召回;旧版本迟到证据不能污染新版本 | | 评测 | 同一基线比较、未见样本验收;误修改、范围泄漏和关键回归为零;不完整证据不得晋升 | | 泛化 | 换措辞、换项目、无关任务、相反适用条件分别测;DSH 通过不自动代表 Hermes 通过 | | 成本 | 主对话字节硬上限保留;真实请求用量与后台用量分账,超预算停止新实验 | | 长期效果 | 按“同类错误再次出现次数 / 可判定的再次遇到机会数”统计;未被检查的任务不当成功 | “错误不再犯”的产品目标应落到可测的重复错误率下降:对能被检查器完整覆盖的规则可提供更强约束,对开放任务只能用可信证据逐步提高可靠性。两次成功、召回次数增加、通过单元测试,都不足以证明长期有效。 ## 7. 建议实施顺序与范围 推荐下一次实施以 **阶段 A + 阶段 B 的最小闭环** 为范围:修复证据链,复用旧产品受限检查器,增加实验账本、单方法评测和可回退晋升。随后再做阶段 C 的执行环节检查和跨 Agent 方法工件。 建议修改范围集中在 `learning-product/src/`、现有 `adapters/` 及对应测试;旧 `agent-product` 先作为只读参考。不增加常驻向量服务、RRSI 运行时依赖或第二个兼容包。新状态格式需要备份、显式迁移和降级策略;历史 tested 仅保留原有观察等级,不自动升级成因果验证。 本轮完成的是源码与文献研究、风险辨别及可执行方案。尚未证明 MSE 升级后的收益,也未复现 RRSI 基准。具体开发版本号、模型评测预算及正式宿主安装应随下一阶段实施明确。