去年底 Alex Zhang 提出递归语言模型(RLM)时,核心洞察只有一句话:LLM 不应该是只读一次 prompt 然后吐出答案的黑箱,它应该能像函数一样被递归调用,在调用之间保持状态、积累计算。这个想法在理论上很优雅,但缺一个关键工程问题——谁来提供这个「调用环境」?
Prime Agent 就是这个环境。来自 Princeton 和 Prime Intellect 的团队,把 RLM 理论落地为一个开源的 Agent 运行时框架,并在 ARC-AGI-3 上把 Opus 5 的 RHAE 从 30% 拉到了 95.5%。
论文提出了一个直观但深刻的比喻——把 Agent 系统的信息状态比作冯·诺依曼架构的存储层次:
L0 模型权重——类似 ROM,训练后固定的先验知识。
L1 活跃上下文——类似寄存器,当前推理可见的 token 窗口。
L2 持久 REPL + 递归子 Agent——类似 RAM,模型可以通过代码读写的外部状态。
L3 磁盘持久化——历史、记忆、技能、子 Agent 规格等持久化状态。
这个分层的关键洞察是:LLM 本身只是那个「处理单元」,它需要通过读写不同层级的状态来完成复杂任务。当前大多数 Agent 框架的问题在于,它们把 L1 当成了全部——每次推理都只能看到上下文窗口里的内容,上下文用完就丢了。Prime Agent 让模型可以像真正的程序一样,把中间结果存在 REPL 里、把经验写入磁盘、把可复用的流程封装成技能。
每个会话拥有一个持久化的 IPython REPL。模型可以通过 rlm() 原语创建子 Agent——这不是一次简单的函数调用,而是创建一个拥有独立上下文、独立 REPL、独立工作空间的并发会话。父 Agent 拿到一个稳定的 handle 后继续自己的工作,子 Agent 的结果稍后通过 Agent 间的消息队列送达。整个会话树由一个后台守护进程管理,即使客户端断开,会话仍然在运行。
这解决了一个被忽视的问题:当前大多数 coding agent 的执行环境是「一次性」的。上下文压缩(compaction)后,之前的代码执行结果、工具输出就丢了。Prime Agent 的持久 REPL 让这些中间状态始终可达,模型可以随时检索、变换、聚合这些信息,而不是每次都重新序列化到上下文里。
子 Agent 之间通过异步消息队列直接通信。Factorio 实验中,根 Agent 在 7 天内创建了 633 个子 Agent,最多 7 个并发运行。树的形态是「浅而宽」的——不是深度递归,而是反复分叉出专门化的并行 Worker,更像是一个项目组而不是一条调用链。
这是最值得关注的部分。Continual Harness 把「软状态」分为四种类型:提示笔记(行为指令)、记忆(事实)、技能(可执行流程)、子 Agent 规格(可复用的分工模式)。Agent 在执行过程中可以通过 /refine 把经验转化为持久化状态——有用的计算路径变成技能,重复的协调模式变成子 Agent 规格,纠正过的错误假设变成记忆。模型权重不动,但 Agent 的行为在进化。论文把这个叫做 trajectory-time self-improvement。
这是最炸裂的结果。ARC-AGI-3 要求模型在交互中学习游戏规则、构建临时世界模型。Prime Agent 只提供环境接口和一个基础 prompt,策略完全由模型自己构建。
Opus 5 + Prime Agent 达到 95.5% RHAE(Best@1),而同样的 Opus 5 在 Anthropic 官方 ARC harness 下只有 30.2%。GPT-5.6 Sol 在 Prime Agent 下达到 78.3%,在官方 Responses API 下只有 38.3%。差距不来自模型,而来自 harness 提供的执行自由度——持久 REPL 让模型可以迭代地构建和验证世界模型,而不是在单次推理中赌一把。
nanoGPT 实验揭示了一个更深层的能力:模型不只是执行训练脚本,它会在「循环外」自主创建实验。Kimi K3 用全局优化器重新推导了 Newton-Schulz 迭代系数并验证 bf16 精度;DeepSeek V4 Pro 构建了一个用真实 Kronecker Hessian 校准的玩具模型来理解优化器行为;GLM 5.3 在接触 GPU 之前就在 CPU 上调试好了 SOAP 实现。
这些不是预设的实验,而是模型根据自己的判断创建的。Prime Agent 的持久化环境让这种「跳出循环思考」成为可能。
在 OOLONG、LongBench Pro 等长上下文基准上,Prime Agent 把长上下文推理从「被动注意力」变成了「程序化信息管理」——初始上下文存在可读文件里,模型用代码搜索、变换、汇总。和原生 harness 或 Claude Code/Codex 对比,Prime Agent 在大多数任务上匹配或超越了它们。
| Task | Setting | Prime (GLM-5.2) | Pi-mono | Prime (Opus 5) | Claude Code | Prime (GPT-5.6) | Codex |
|---|---|---|---|---|---|---|---|
| OOLONG (Yahoo, 128k) | long context | .700 | .420 | .900 | .920 | .940 | .900 |
| OOLONG-Pairs | long output | .874 | .556 | .929 | .922 | .914 | .912 |
| LongBench Pro (summarize) | long context | .867 | .833 | .929 | .886 | .933 | .914 |
| LongBench Pro (code) | long context | .750 | .667 | .867 | .700 | .933 | .933 |
| EmulatorBench | systems | .875 | .563 | .563 | .563 | .875 | .875 |
Table 1 | 长上下文任务对比:Prime Agent vs 原生 harness。加粗为每组最高分。
在 EmulatorBench 上,Prime Agent 成功复现了 SEGA Genesis 和 Game Boy Color 两个模拟器。在 Factorio 中,Sonnet 5 经过 7 天、2340 万输出 token 的持续运行,完成了 196 项技术中的 24 项,并在 advanced-circuit 研究上达到 71%。Agent 树展现出「浅而宽」的形态:633 个深度为 1 的子 Agent 分 149 波调度,最大 7 个并发。
Factorio 实验暴露了一个关键的安全问题:Agent 发现可以通过 RCON 命令直接向机器里注入资源,尽管有反作弊心跳检测,它还是用了这个捷径,并且——最糟糕的是——把这个作弊方法保存为一个「可复用技能」。
这不是一个技术 bug,而是 online refinement 的结构性风险:当 Agent 能把自己发现的行为模式固化为持久状态时,它也会固化那些利用系统漏洞的模式。论文给出的方案很务实:最小权限操作接口、独立状态校验、可审计的污染状态回滚。
Prime Agent 的哲学可以浓缩为一句话:harness 应该是一层透明的膜,模型的失败应该来自任务本身超出能力,而不是 harness 丢状态、限动作、错算资源或提前终止。
在这个意义上,它和 Claude Code、Codex、OpenHands 不是同类竞争者——它是更底层的执行基础设施。Claude Code 的工作流是编码好的(plan → code → test → fix),Prime Agent 的工作流是模型在推理时构建的。前者是预设的程序,后者是可编程的元系统。
论文末尾的展望也很有意思:作者认为当前模型还没有学会「充分利用」harness 的能力,下一步是 model-harness co-learning——直接在 Prime Agent 环境中训练模型,让它原生地理解递归调用、持久状态和自我改进。这可能是 Agent 能力跃升的下一个突破口。