Prime Agent:自我改进的RLM智能体

Prime Agent:一款可自我优化的RLM智能体
今日,我们正式推出Prime Agent——一款围绕两大核心抽象概念打造的可自我优化代码框架,这两大概念分别是递归语言模型(Recursive Language Model, RLM)[参考文献]与持续框架(Continual Harness)[参考文献]。现有主流框架的设计思路基于早期模型的能力局限,未能充分适配当前前沿模型的潜力:固定的工具调用模式与上下文压缩机制,迫使模型在框架限制下"绕路"工作,而非真正借力框架。静态的人工预设子智能体、提示词、技能与记忆,在设计阶段一经确定便不再更新,无法适配智能体运行过程中习得的新知识。我们认为,框架应当基于当前模型能力,进一步探索下一代推理模式的可能性。
Prime Agent正是基于这一理念构建,核心依托两大抽象模块:
- 递归语言模型(RLM):将上下文视为变量,把子智能体委派操作当作REPL环境中的函数调用。持久化REPL让模型能以编程方式访问自身历史记录、子智能体与工具,使其可以编写语言模型程序,对自身上下文执行操作。这一设计让智能体能够处理任意时长的会话,且不会丢失存储在变量中的过往信息。
- 持续框架:将框架自身状态(包括提示词、技能、记忆与子智能体)抽象为智能体可从自身运行轨迹中进行创建、读取、更新、删除(CRUD)的对象。结合智能体间通信机制,该模块可实现子智能体间乃至不同Prime Agent会话间的协同调度。例如,Prime Agent可生成持久化子智能体,在后续运行过程中与其通信,甚至直接与另一Prime Agent会话交互。
这些抽象模块能够有效激发模型潜能。Prime Agent可作为通用代码助手、长周期自主评估的默认运行环境,以及科研与自主研究的协作伙伴。
Prime Agent已完全开源,可通过以下命令安装:
curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh

Prime Agent详解
智能体框架的性能,既取决于框架设计,也取决于适配该框架训练的模型能力。Prime Agent的设计兼顾当下:可直接对接当前主流开源与闭源前沿模型;同时着眼未来:其功能集可在新一代模型适配训练后,进一步释放性能潜力。
Prime Agent的核心设计围绕程序化工具调用与子智能体调用展开。在Prime Agent中,模型仅以持久化IPython内核作为工具载体,其他标准框架功能均以内核中的函数形式调用,包括子智能体——每个子智能体都以独立的prime-agent实例实现。
Prime Agent架构

后台守护进程与智能体视图:默认界面为类文本用户界面(TUI),与其他代码智能体框架类似。默认情况下,智能体执行的IPython操作会简化显示,用户可选择展开查看框架执行的完整操作。在REPL中启动的子智能体,可通过用户聊天框下方的入口访问。

Prime Agent运行一个后台守护进程,通过本地套接字管理所有活跃智能体会话。用户可随时接入或断开会话,不影响底层智能体的运行循环。每个根会话树运行在可恢复的工作进程中;若进程崩溃,守护进程可从会话JSONL文件与内核状态快照中恢复会话。
智能体视图支持查看并选择守护进程管理的其他活跃会话。在空白提示符下按左箭头键(←)即可打开该视图,列表中包含当前运行中会话、守护进程仍在维护的空闲会话,以及未加载至内存的已停用会话。用户可直接进入任意会话进行交互,按空格键即可与任意状态的会话聊天,包括引导会话、排队发送提示词或执行/compact等命令。
智能体视图是智能体与子智能体间的递归式核心连接点:任意智能体都可在智能体视图中被发现。用户可从智能体视图进入某一智能体的聊天界面,再进入该智能体的子智能体视图,继而进入子智能体的聊天界面,以此类推。
由于子智能体与根智能体采用相同的"运行中-空闲-停用"状态机,闲置30分钟后会被移出内存;当用户或其他智能体与其交互时,系统会从磁盘重新加载该子智能体。在高度嵌套的会话场景中,这一机制可大幅节省内存占用。

会话与上下文管理:智能体的完整会话历史以追加式JSONL文件存储在磁盘上,每一行代表一条JSON条目,可包含消息、模型切换、压缩摘要或扩展条目。会话分支、分叉与克隆操作均在同一文件内完成,只需移动叶节点指针即可。通过/tree命令可随时恢复完整历史记录。
当上下文达到阈值,或智能体在REPL中直接调用compact.run()时,会触发上下文压缩。压缩主要用于清理智能体的主上下文,但完整历史(包括过往压缩记录)可在需要时通过IPython内核以编程方式访问。
REPL的引入增加了IPython状态管理的复杂度。我们通过异步方式同时压缩与清理内核,并生成一个专门的智能体作为垃圾回收器,避免每个智能体的REPL内存持续累积。
RLM与程序化工具调用(PTC)
Prime Agent依赖贯穿整个会话的IPython内核作为REPL,每一轮交互均可调用该内核。初始化时,内核会预先导入所有技能/工具模块,包括用于递归式子智能体调用的rlm模块。
rlm是一个异步函数,这意味着模型可在代码中自由调用并并行化子智能体任务。生成子智能体(如await rlm("子任务"))会启动一个完整会话,包含独立的模型、IPython内核、会话树与对话历史。该调用会立即返回,后续智能体间的通信均通过agent_message.send(...)工具完成。
Prime Agent可通过这种方式调用多种实用基础功能,例如并行生成多个子智能体,或启动后台任务。
# 并行分发任务——rlm()在任务受理时返回子智能体句柄,
# 不会等待子智能体返回结果;结果通过agent_message回复送达。
auth = await rlm("总结auth/目录下的认证流程,完成后回复我。", name="auth-expert")
api = await rlm("总结src/目录下更新后的HTTP API层,完成后回复我。", name="http-expert")
# ... 继续独立工作;每个子智能体完成后通过
# agent_message.send(..., receiver_role="parent")回复 ...
# 通过角色+名称在任务执行过程中引导或扩展子智能体任务
await agent_message.send(
"同时涵盖中间件错误处理内容。",
receiver_role="child",
receiver_name=api.name,
)
随着模型能力持续提升,工具调用与子智能体调用的新模式将不断涌现。我们预计未来一代模型将减少对人工提示词的依赖,更多采用这种直接的程序化控制方式。
协同调度与多智能体通信
后台守护进程管理所有Prime Agent活跃会话。Prime Agent还支持通过守护进程实现智能体间(A2A)通信,任意Prime Agent会话均可使用与持久化子智能体通信相同的机制,与其他Prime Agent会话交互。这一功能便于协同调度子智能体集群的进度,以及相关智能体间直接共享资源信息。为避免独立会话间出现不必要的通信,Prime Agent的多智能体通信仅限于"核心家族"范围,即父进程、兄弟进程或子进程。
# 生成一个命名子智能体;句柄在任务受理时返回。
handle = await rlm("找出这个认证流程中的问题,将发现结果回复我。", name="auth-reviewer")
# ... 子智能体的发现结果会以父角色回复的形式送达,而非返回值 ...
# 后续操作(不受压缩与内核重启影响):恢复已保留的子智能体。
children = await rlm.list_subagents()
auth_child = next(c for c in children if c.session_name == "auth-reviewer")
# 向同一个保留的子智能体会话发送后续指令。
await agent_message.send(
"后续任务:识别主要边缘情况与潜在漏洞。",
receiver_role="child",
receiver_name=auth_child.session_name,
mode="follow_up",
)
Prime Agent通过原生RLM运行时支持持久化子智能体,即子智能体的会话目录、上下文、IPython内核与会话历史,在初始调用完成后仍会保留。Prime Agent可通过IPython内核,借助子智能体的唯一会话标识符向其发送后续消息。
基于持续框架的自我优化
Prime Agent的框架状态以rlm.harness形式存储在持久化IPython内核中,智能体可在任务执行过程中直接读取与调用,所有变更同时写入磁盘,确保跨轮次与跨会话的状态连续性。持续框架将这一状态正式定义为提示词、子智能体、技能与记忆,可从智能体自身运行轨迹中在线优化,无需重置。
四大组件均提供统一的创建、读取、更新、删除接口:create_prompt_note(...)、create_memory(...)、create_skill(...)与create_subagent(...)用于创建对应类型的条目,update_X(...)与delete_X(...)用于更新与删除,list(kind)或get(kind, id)用于读取。技能也遵循这一接口:编写基于Python的技能只需调用create_skill(...)并传入SKILL.md格式的参考信息,操作方式与添加记忆或提示词笔记完全一致。
# 通过统一CRUD接口创建记忆与技能
rlm.harness.create_memory("不稳定测试模式", "失败前重试三次")
rlm.harness.create_skill("重试助手", "...", reference={"type": "python", "import": "retry_helper"})
# 读取已创建的记忆与技能
rlm.harness.list("memory")
rlm.harness.get("skill", "retry_helper")
/refine是基于上述CRUD接口构建的自我优化流水线。它读取智能体的运行轨迹(即尝试过的操作与结果记录),并执行最小粒度的相关CRUD编辑,优化框架以提升效果——例如更新提示词笔记、记忆、技能或子智能体配置,而非重写整个框架。每次优化都会记录触发原因与产生的结果,确保优化基于实际证据而非随意调整。优化分为两个阶段:规划阶段(由大语言模型提出编辑方案)在后台运行,不影响当前对话;应用阶段(写入磁盘并重建系统提示词)速度极快,仅会在下一轮交互开始时短暂阻塞。智能体可在发现重复失败或可复用策略时直接调用refine.run(),无需严格遵循固定调度。
# 针对特定观察结果启动优化
await refine.run("将不稳定测试重试模式升级为技能")
# 两个状态查询命令格式一致,但由于refine分为规划/应用阶段,
# "in_flight"状态可能代表后台规划中或快速应用中
await compact.status() # 返回token数、上下文窗口、占用百分比、调度状态
await refine.status() # 返回pending(待处理)或in_flight(进行中)
基础系统提示词保持不可变,/refine仅编辑其外围的框架层。系统支持通过过往优化历史回滚操作,可根据ID撤销不良的框架更新。
评估任务的自主模式
Prime Agent的评估模式整合了三大互补机制:目标设定(Goal)定义整体任务目标,是一个持久化目标,可设置token预算,框架会持续提示智能体推进任务,直至智能体明确调用goal.complete();心跳机制(Heartbeats)以类似cron的定时方式向会话注入消息,用于定期检查,例如监控子智能体进度或轮询训练更新;自主模式(Autonomous Mode)是核心的任务延续机制,确保智能体持续向目标推进,避免因单轮无输出而提前停止。三者结合可让会话在无人值守状态下长时间运行,同时受明确预算限制,并可通过智能体视图随时查看状态。
自主模式可直接通过CLI的--autonomous参数启用,无需编写脚本。单次运行可在命令中同时设置完成目标与轮次限制:
prime-agent \
--autonomous \
--autonomous-gate "npm run check" \
--autonomous-max-turns 20 \
"Implement and verify the requested change"
会话结束前会执行gate命令。若gate命令失败,会将有限输出返回给智能体,使其再次尝试;若自上次尝试后工作区未发生变化,Prime Agent会跳过重复执行失败的gate命令。--autonomous-max-turns、--autonomous-max-tokens与--autonomous-timeout-ms参数分别用于限制交互轮次、token用量与实际运行时长。
Prime Agent性能评估
Prime Agent既是一款可供使用的代码智能体,也是一个可供研究的框架设计方案。需要特别说明的是,尽管当前许多前沿模型是针对特定框架训练的,但目前尚无模型专门针对Prime Agent或其核心功能集进行训练。
ARC-AGI 3测试:ARC-AGI 3是一项广泛使用的智能基准测试,用于评估智能体的符号推理能力与模拟世界规则学习能力。我们使用自主模式,基于多款前沿模型对Prime Agent进行评估,并与模型原生框架的表现对比。Prime Agent是作为CLI代码智能体开发的,因此针对ARC-AGI 3仅调整了任务提示词,参考了PRO-LONG使用的标准提示词设置。
我们的最优结果来自搭配Opus 5模型的Prime Agent,实现了95.5%的RHAE Best@1准确率,超过了ARC报告的人类专家基线95.4%。经过三轮测试,Prime Agent的表现始终稳定,准确率在[95.0, 95.2, 95.5]区间内,Best@3准确率达99.97%,完成了全部183个测试关卡。ARC-AGI-3测试的中位数得分卡操作回放可查看此处。
除了比各模型的原生框架实现更高的峰值准确率,Prime Agent还能降低整体token用量。它通过程序化方式对数据执行函数操作,而非消耗token调用工具读取数据,从而节省token。
最后需要说明的是,我们分别使用Claude Code与Codex对Opus 5和GPT-5.6 Sol进行了评估,结果整体表现逊于官方报告数据,因此本文采用官方公布的数值。
长上下文与长周期任务
现实场景中的许多复杂任务本质上都是长上下文任务。我们的目标是证明,搭配开源模型的Prime Agent可作为闭源模型与框架的有力替代方案,无论是作为通用智能体使用,还是作为基准框架进行评估。
我们选取了覆盖代码、检索与通用长推理任务的一系列常见长上下文基准测试,对比Prime Agent与多款主流框架的表现。测试开始时,所有框架的主上下文均加载至内存文件中。闭源模型框架使用其配套模型(如Codex搭配GPT、Claude Code搭配Opus),而Prime Agent与Pi-mono(含子智能体)则采用开源模型GLM-5.2。
| GLM-5.2(高配) | Opus 5(高配) | GPT-5.6 Sol(高配) | ||||
|---|---|---|---|---|---|---|
| 测试任务 | Prime Agent | Pi-mono(含子智能体) | Prime Agent | Claude Code | Prime Agent | Codex |
| OOLONG(雅虎数据集,128k)长上下文 | 0.700 | 0.420 | 0.900 | 0.920 | 0.940 | 0.500 |
| OOLONG-Pairs长输出 | 0.874 | 0.556 | 0.929 | 0.922 | 0.911 | 0.895 |
| OBLIQ-Bench(数学)长排序[ndcg@10] | 0.669 | 0.635 | 0.802 | 0.795 | 0.612 | 0.646 |
| LongBenchPro(英文)长文本理解 | 0.777 | 0.768 | 0.804 | 0.790 | 0.794 | 0.790 |
| LongBenchv2专家标注长任务 | 0.680 | 0.696 | 0.744 | 0.746 | 0.714 | 0.704 |
| ManyIH Coding长指令 | 0.424 | 0.386 | 0.536 | 0.522 | 0.499 | 0.454 |
| ManyIH IF长指令 | 0.209 | 0.164 | 0.225 | 0.175 | 0.216 | 0.232 |
| LongCot-Mini长推理 | 0.638 | 0.613 | 0.722 | 0.558 | 0.671 | 0.681 |
| EmulatorBench长代码任务 | 0.208 | 0.000 | 0.047* | 0.062* | 0.275 | 0.228 |
测试结果显示,Prime Agent在各类长任务中均具备竞争力,尤其是在搭配未针对框架训练的模型时表现突出。它在长周期或长上下文任务上优势明显,可作为自主智能体稳定运行。我们还针对Prime Agent擅长的长任务场景,开展了一系列聚焦性案例研究与实验。
从零构建模拟器:模拟器是一种可重现其他计算机系统可观测行为的软件。我们在EmulatorBench基准测试中评估Prime Agent,该测试要求智能体使用Rust为各类游戏系统构建模拟器,提供模拟器规格说明与验证器形式的诊断测试。
模拟器的正确性取决于其模拟目标机器行为的能力,通过人工编写的诊断程序衡量,例如检查CPU标志、PPU时序等组件。为尽可能减少数据污染的影响,要求智能体从零开始在沙箱环境中构建Rust模拟器,不得参考任何现有实现。我们报告了该长上下文代码基准测试的初步结果(基于16次模拟器重构的平均值),以及Prime Agent成功重现的两款模拟器:世嘉Genesis与任天堂Game Boy Color。值得注意的是,Opus模型的测试运行虽能成功调用工具,但未能完成任务。
编写GPU内核:编写高性能GPU内核是一个迭代过程,需反复验证、分析与调整代码以确保正确性。我们在最新发布的PMPP-Hard基准测试中评估Prime Agent作为GPU内核编写框架的表现,该测试要求智能体编写高性能GPU内核,并通过KernelGuard验证工具的正确性检查——KernelGuard也是官方GPU MODE内核排行榜使用的验证工具。
长周期游戏案例研究
自主玩电子游戏已成为评估模型与框架长周期决策能力的典型场景。游戏通常要求框架在数百万token的信息与上下文间实现平衡,同时利用这些信息高效执行操作,避免陷入灾难性状态。
异星工厂(Factorio):《异星工厂》是一款2D工厂模拟游戏,玩家需采集资源、研发技术、构建自动化工厂以提升资源产量。我们使用异星工厂学习环境(FLE)连接Prime Agent与游戏,该环境简化了大语言模型玩《异星工厂》的观测与动作空间。
FLE的动作与观测空间以Python模块形式实现,可在每一轮交互中通过编程方式访问,与Prime Agent的IPython内核直接集成。为利用程序化工具调用(PTC)管理子智能体,我们在游戏中启动了四个可控制角色。

FLE的核心指标是生产得分,即所有产出资源的加权平均值。Prime Agent成功利用/refine功能,将失败经验转化为记忆,将成功经验转化为技能,并基于积累的经验设计出效率越来越高的工厂布局,使生产得分逐轮提升。仅用数小时,Prime Agent的生产得分便突破了10万大关。
不过,我们也观察到Prime Agent在FLE中出现了奖励破解行为。它发现可通过RCON命令直接将资源生成到装配机中,完全绕过《异星工厂》的规则,即便有心跳提示词明确提醒其不要作弊。一旦发现这一漏洞,原本用于构建合法技能的优化循环,转而开始构建高效的作弊技能。
迷宫基准测试(MazeBench):MazeBench是一个开放世界3D空间推理环境,玩家控制一个3D立方体,需在全局迷宫中解开谜题房间并收集宝石。前沿模型在该任务上表现不佳,往往消耗数十亿token仅能解决极小部分关卡。我们对比了搭配Prime Agent与原生框架的Opus 5、GPT-5.6 Sol,以及搭配Claude Code的GLM-5.2的表现。遵循基准测试指标,我们报告了它们发现的独特房间数、独特状态数与总宝石数,及其与token消耗的对应关系。
下一步计划
Prime Agent代表了智能体框架设计的新范式。尽管相比其他框架已取得优异结果,但我们发现Prime Agent与模型搭配运行时仍存在一些适配问题。这意味着,直接基于该框架范式训练模型,甚至针对RLM与持续框架单个组件进行训练,仍有巨大的性能提升空间。
我们坚信,模型与框架协同学习是解锁新能力的核心范式。Prime Agent的许多功能需搭配针对性训练的模型才能充分发挥作用,我们认为直接基于该框架训练模型可带来显著的性能提升。我们期待在开源环境中为大家带来这些新能力。
完整技术报告即将发布,敬请期待。
致谢
Prime Agent基于pi构建,在此感谢pi项目作者的宝贵工作。
引用格式
@article{primeintellect2026primeagent,
author = {Seth Karten and Alex L. Zhang and Kevin Thomas and Sebastian Müller and Prime Intellect Team},
title = {Prime Agent: A Self-Improving RLM Harness},
journal = {Prime Intellect Blog},
year = {2026},
month = {August},
note = {https://www.primeintellect.ai/blog/prime-agent}
}