原始文档的离线阅读副本 · 原始文件
RSIAgent 工程分析与 RSI Memory 设计更新
事实截止:2026-10-14。本文是本地源码审查与选定测试的分析,不是完整安全审计、 官方测评复现或对论文结果的独立审计。
1. 来源与复验范围
- 仓库:
https://github.com/AetherLabsAI/RSIAgent.git - 本地副本:
references/RSIAgent/ - 固定版本:
4d7ef43770dda341fccd9a5743db92407687c615,提交日期 2026-10-02。 - 许可证:Apache-2.0。未把上游代码复制到 DSH 插件,副本测试后工作区干净。
- 依据:README、
docs/ARCHITECTURE.md、docs/PAPER.md、运行代码、配置与测试。 - 仓库声明论文为 arXiv:2609.15364,附有 PDF;本轮未通读 PDF, 在线 GitHub/arXiv 抓取未返回可读正文,不能声称独立核对了论文全文。
使用现有 STATE-Bench Python 环境,不安装新依赖、不调用模型、不启动 VM:
cd references/RSIAgent
/Users/tjzhong/.qbot-dsh/tmp/state-bench/STATE-Bench/.venv/bin/python -m pytest -q \
tests/test_self_evolving_loop.py tests/test_self_evolving_charters.py \
tests/test_target_isolation.py tests/test_memory_retrieval_lifecycle.py
/Users/tjzhong/.qbot-dsh/tmp/state-bench/STATE-Bench/.venv/bin/python -m pytest -q \
tests/test_recursive_improvement_framework.py tests/test_phase2_stop_policy.py \
tests/test_verifier_isolation.py tests/test_phase1_wave_recovery.py \
tests/test_unified_evolution.py tests/test_no_leakage.py
结果:第一批 74 通过;第二批 109 通过、4 失败,共 183 通过、4 失败。
失败均为 test_model_stdout_truncation_cannot_erase_trusted_readiness 参数实例:
本机 macOS 无 /proc/self/fd/1,生成日志为
chown: /proc/self/fd/1: No such file or directory,实际退出码 125。
这暴露了选定测试的 Linux 环境依赖;不能据此判断 Linux 隔离有缺陷,
也不能宣称完整测试通过。没有在 Linux 复验,没有运行官方 benchmark。
2. 真正值得参考的架构
模型权重固定,改进载体是跨任务持续存在的经验文件和练习过程。 它不是简单的“会话总结 + 向量召回”。
| 角色 / 阶段 | 实际职责 | 对我们的启示 |
|---|---|---|
| Actor | 执行任务,在可信 PASS/FAIL 后提炼并协调记忆 | 经验需要修订与消歧,不只追加 |
| Verifier | 检查任务产物,不依赖 Actor 的私有记忆和对话历史 | 执行者不能给自己的任务结果背书 |
| Curriculum | 选择下一项练习、判断继续或停止 | 从被动等待失败转向主动补足能力缺口 |
| Host | 隔离、边界审计、日志、提交与恢复 | 控制面必须在模型外维护不变量 |
| Phase 1 / Broad | 并行探索,共同父记忆,波次屏障后有序合并 | 并行学习必须处理冲突与部分提交 |
| Phase 2 / Deep | 目标尝试、学习、相关练习、新 Actor 重测 | 练习应针对可证伪的能力假设 |
| Phase 3 | 冻结记忆,禁写回与课程学习,封闭正式评分 | 确认评测不再为学习提供反馈 |
主要实现入口:
core/self_evolving_loop.py、explore/unified_evolution.py、
explore/target_learning.py、explore/commit.py、explore/phase1_wave.py、
explore/charter.py、benchmarks/osworld/pipeline.py。
记忆使用文件清单和按需搜索/读取,也会在重复低信息动作、验证失败、
上下文折叠时提醒检索。是否优于我们的 prompt 注入需要实验,不能直接推定。
成功与失败都允许学习;READY/STALLED 是课程状态,不是正确性评分。
验证不确定或基础设施错误不计为 PASS。
Verifier 的私有视图、回滚镜像与挂载隔离值得参考,但本地 VM 回滚并不撤销 远程共享服务上的副作用。我们仍须禁止对生产连接器重复执行不可逆动作。
3. 不能照搬的证据结论
该仓库区分 held-out generalization 与 target-conditioned adaptation; 公开示例采用后者。对同一目标练习后重测不等于未见任务泛化。
根据 docs/PAPER.md 的自述,OSWorld 部分得分从 71.97 到 78.98,
ALE 从 83.75 到 84.82。但 OSWorld 82 题中的 RSI 行只有 41 个 RSI 结果,
另 41 题保留基线;ALE 67 题中有 19 个 RSI 结果、48 个保留基线。
记录包含选定重试、checkpoint、预算或协议差异与本地重评分。
四题阶段消融也选择了已有提升的探索性子集。
这些是作者报告的聚合结果,不是同协议配对重复实验的独立审计。
更关键的是 explore/target_learning.py::_promote_learning 的提交路径:
可信任务结果 → distillation → reconciliation → diagnosis → memory audit
→ journal → install。这里审计任务边界与记忆合法性,
没有在每次安装前执行无记忆/候选记忆的独立收益配对门禁。
不能把该函数名称中的 promote 等同于我们定义的生产收益准入。
我们必须分清三件事:
- 任务正确性:该次任务是否真的完成。
- 经验来源与条件:建议是否来自可信轨迹,条件、排除范围是否清楚。
- 经验正向效果:在冻结的新任务上,它相对对照救回了什么、损失了什么。
前两层不能替代第三层;即便练习题全通过,生产记忆仍可保持未发布。 也没有足够证据把上游课程自主选择等同于运行时自动重写 Host 算法。
4. 对我们设计的调整
双轨学习,而不是只等线上失败
保留真实用户任务的被动影子采集,新增主动、可回滚沙箱练习。 线上轨迹提出能力缺口;练习验证失败机制、尝试修订并生成反例。 不在用户工作区后台改代码,不导入私有日常会话。
最小 CurriculumController
先用确定性策略验证闭环,再增加模型课程提议。
动作可为 ABSTAIN / PROPOSE / PRACTICE / RECONCILE / REQUEST_EVALUATION。
Controller 可以安排练习,不能修改评分、绕过门禁或开启未经授权的工具。
执行沿用原生 DSH Session、默认 system prompt 和模型参数,不另建直接 LLM 链路。
Host 控制每日费用、并发、尝试次数、停止与取消,不让模型无限决定“再练一次”。
三层验证与三层记忆
OutcomeVerifier 判断任务;ExperienceGrounding 校验来源与适用边界;
BenefitEvaluator 判断冻结候选的独立配对收益。
学习层可以使用未证实假设,不表示生产可以使用它。
明确 draft -> practiceSnapshot -> confirmedRelease:
草稿和练习版本不可变、可追溯;线上召回只读取已确认的 release。
修订用 supersedes / contradicts 与版本 lineage 表达,
不覆盖原始证据,也不让 Actor 随意改生产目录。
有选择地学习成功
当前 0.1.10 的成功安全轨迹直接跳过抽取;这是现状,不在本轮悄悄改动。 目标应允许从信息量高的成功中学习,如可信失败后的有效修复或可复现高质量路径。 是否触发由可审计信号、预算和收益决定,不对每条成功都调用学习模型。
把召回策略纳入评测
保留无记忆、直接注入、实际召回诊断;另比较关键词、语义与 Agent 按需读取。 按需读取仅暴露确认版本的只读视图,保留读取内容、版本和请求级 receipt。 不允许标为“无记忆”的 Agent 通过文件或工具拿到经验。 触发式检索是否有效需要对照,不能凭检索发生次数判断收益。
自动化先解决边界与恢复
区分 unknown、verifier-unresolved、stalled、budget-exhausted、 infra-error、quarantined,不把基础设施错误写成失败经验。 确定可恢复的任务边界、独占锁与 checkpoint,记录学习和验证全成本。 沙箱练习、数据保留、生产灰度与自动回滚是目标模块,尚未实现。
5. 落地顺序
- 选一个可复现任务域,实现任务级边界、可信 OutcomeVerifier 和可回滚沙箱。
- 通过原生 DSH owned Session 跑最小课程:一次假设、有限练习、可定位验证、 修订或停止;未知不得制造候选,所有来源和费用可审计。
- 比较被动学习与主动练习,在同预算下做 A/B/C/D 和静态提示等简单替代对照。
- 冻结候选、检索与环境;独立留出确认,禁止课程访问确认题或评分反馈。
- 证据达标后机器准入、限定发布、灰度、退化回滚;人不逐条批准。
- 再扩展并行波次、选择性成功学习、按需检索与学习策略自演进。
第一轮不复刻 Python Harness、不引入整套 QEMU/Windows 部署、 不允许自由写生产 memory,不照抄上游大输出/长 watchdog 参数。 当前交付仍是 DSH 插件 0.1.10;本轮交付是源码分析与目标设计更新, 不改变安装包、不新增正向效果声明。