标准实验组
实验:PRIME
Experiment · 标准实验组prime
EXPERIMENT
实验记录:PRIME(RLM coding agent)— 标准实验组
场景1
场景1 正常模式(基线)
关键证据
- 核心:常驻 Python REPL(
packages/agent+core/tools/ipython.ts)+/goal持久目标 +rlm()递归子代 - 控制论:设定值 r 由
/goal持久化,RLM 执行
场景2
场景2 故障注入 — 递归深度超限(T 环限幅,可逆注入点)
注入点
- 环境变量
RLM_DEPTH/RLM_MAX_DEPTH,测试源码file-operations.test.ts:163-168严格校验非负整数,非法值抛"RLM_DEPTH must be a non-negative integer"。
触发行为
RLM_DEPTH < RLM_MAX_DEPTH(默认 2);超深度 host 拒绝rlm.run并 raise 到 Python——执行器硬约束 u_sat。
控制论
- KT-ctrl-034 安全边际/硬约束限幅——深度限幅防递归爆炸。
回滚
- 改回
RLM_MAX_DEPTH=2。
场景3
场景3 上下文污染(M 环信息滤波,可逆注入点)
注入点
- compaction
keepRecentTokens=20k,contextTokens > contextWindow - reserveTokens触发。
触发行为
- 向后找 cut point 保留近期 token,生成结构化 summary(读/改文件累计跟踪),
CompactionEntry含firstKeptEntryId;重复 compaction 从上次边界起算。
控制论
- KT-ctrl-011 卡尔曼更新 + KT-ctrl-014 信息降维(只保留增量信息)。
回滚
- 调回 20k。
场景4
场景4 超长循环 — Autonomous bounded continuation(R 环误差回灌,可逆注入点)
注入点
- autonomous
maxContinuations=3/maxTurns=12/maxTokens=80k/timeoutMs=30min+ gate 配置。
触发行为
shouldAutonomouslyContinue根据 gateResult/limitReason 决定;gate 失败时buildAutonomousGateFailureContinuation将失败命令/输出/bounded 提示注入下一轮("Fix the failure, then produce terminal evidence")——负反馈误差 e 直接回灌执行器。
控制论
- KT-ctrl-044 MPC 滚动时域(前瞻一组、只进一步、根据门重算)。
回滚
- 改回 maxContinuations=3。
- | 场景 | 控制论环节 | 可逆注入点 | 行为 | 强弱项 |
- |------|-----------|-----------|------|-------|
- | 1 正常 | 设定值+执行 | 默认 | RLM REPL 运行 | 基线 |
- | 2 超深递归 | T 环限幅 | RLM_DEPTH/MAX_DEPTH | host 拒绝 rlm.run | 强(防爆炸) |
- | 3 上下文污染 | M 环信息滤波 | compaction keepRecentTokens | 压力压缩| 强(只留增量) |
- | 4 超长循环 | R 环误差回灌 | maxContinuations+gate | gate 失败注入下一轮 | 强(MPC 式) |
整体控制论结论
- PRIME 的可逆注入点高度集中在 R 环(/refine + gate + autonomous)与 M 环(continual harness)——它把「自我改进」做成持久可撤销的状态(snapshot rollback),比 opencode/dsh 更有「自整定」色彩。但 E 环默认 gate 为空(
commands:[]= 开环),/refine与 auto-refine review 仍是同一 LLM 自评(共模偏置)。印证 phase3 画像:R 环最强、E 环最弱。 > ⚠️ 契约遵守确认:本次实验为纯源码分析(未实机运行、未修改任何源码/配置文件、无破坏)。可逆注入点为理论定位,实际注入需在隔离环境执行且可回滚。