Reed's News
← 返回精选

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

AI 60 Xeophon 2026/8/5 3168 字 原文 ↗

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的核心设计围绕程序化工具调用与子智能体调用展开。在Prime Agent中,模型仅以持久化IPython内核作为工具载体,其他标准框架功能均以内核中的函数形式调用,包括子智能体——每个子智能体都以独立的prime-agent实例实现。

Prime Agent架构

Prime Agent架构图

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

Prime Agent文本用户界面

Prime Agent运行一个后台守护进程,通过本地套接字管理所有活跃智能体会话。用户可随时接入或断开会话,不影响底层智能体的运行循环。每个根会话树运行在可恢复的工作进程中;若进程崩溃,守护进程可从会话JSONL文件与内核状态快照中恢复会话。

智能体视图支持查看并选择守护进程管理的其他活跃会话。在空白提示符下按左箭头键(←)即可打开该视图,列表中包含当前运行中会话、守护进程仍在维护的空闲会话,以及未加载至内存的已停用会话。用户可直接进入任意会话进行交互,按空格键即可与任意状态的会话聊天,包括引导会话、排队发送提示词或执行/compact等命令。

智能体视图是智能体与子智能体间的递归式核心连接点:任意智能体都可在智能体视图中被发现。用户可从智能体视图进入某一智能体的聊天界面,再进入该智能体的子智能体视图,继而进入子智能体的聊天界面,以此类推。

由于子智能体与根智能体采用相同的"运行中-空闲-停用"状态机,闲置30分钟后会被移出内存;当用户或其他智能体与其交互时,系统会从磁盘重新加载该子智能体。在高度嵌套的会话场景中,这一机制可大幅节省内存占用。

Prime Agent智能体视图:列出运行中、空闲与停用会话

会话与上下文管理:智能体的完整会话历史以追加式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)管理子智能体,我们在游戏中启动了四个可控制角色。

Prime Agent操控四个角色玩《异星工厂》

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}
}