Hacker News 热门(buzzing.cc 中文翻译) · 2026/8/6

Prime Agent:一个自我改进的递归语言模型智能体

Prime Intellect 发布了 Prime Agent,一个开源的自我改进编码框架。它引入两个核心抽象:递归语言模型(RLM)将上下文和子智能体调用视为 REPL 中的编程操作,持续框架(Continual Harness)允许智能体在运行时动态创建、修改和删除自身的提示词、技能、记忆和子智能体。该框架支持多智能体通信和编排,旨在提升长周期自主编码和评估任务的性能。

今天,我们推出 Prime Agent,这是一个围绕两个核心抽象概念设计的自我改进编码框架:递归语言模型(RLM)和持续框架(Continual Harness)。现代框架设计基于早期模型的能力构建,未能反映当前前沿模型的实际水平:固定的工具调用模式和上下文压缩迫使模型绕开自身脚手架工作,而非加以利用。静态的、手工设计的子智能体、提示词、技能和记忆在设计时一次性设定,永远不会根据智能体运行时的学习进行调整。我们认为,框架应该基于当前模型能力进行外推,迈向下一代的推理模式。Prime Agent 正是围绕这一原则,通过两个主要抽象概念构建:递归语言模型(RLM)将上下文视为变量,将子智能体委派视为 REPL 中的函数调用。持久化的 REPL 让模型能够以编程方式访问其历史记录、子智能体和工具,使其能够将语言模型程序作为对其自身上下文的操作来编写。这种设计使智能体能够处理任意长的会话,而不会丢失存储在变量中的过往信息。持续框架(Continual Harness)将框架自身的状态(抽象为提示词、技能、记忆和子智能体)视为智能体可以从自身轨迹中创建、读取、更新和删除(CRUD)的对象。当与智能体间通信结合时,该机制能够实现跨子智能体甚至跨 Prime Agent 会话的编排。例如,Prime Agent 可以生成持久化的子智能体,稍后在轨迹中向它们发送消息,并直接与另一个 Prime Agent 会话通信。这些抽象概念对于引导模型能力非常强大。Prime Agent 旨在成为一个通用的编码助手、长周期自主评估的默认运行时,以及研究和自动研究(autoresearch)的协作者。Prime Agent 完全开源,可通过以下命令安装:curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh。智能体框架的性能既取决于框架的设计,也取决于围绕框架训练的模型能力。我们将 Prime Agent 设计为可立即与当代开放和封闭前沿模型配合使用,同时提供一套我们认为随着新一代模型围绕其训练将带来进一步性能提升的功能集。Prime Agent 的核心是围绕程序化工具和子智能体调用设计的。Prime Agent 中的模型使用持久化的 IPython 内核作为其唯一工具。其他标准框架功能作为内核中的函数被调用,包括子智能体,每个子智能体都作为另一个 prime-agent 实例实现。RLM 和持续框架是两个核心抽象;子智能体 CRUD 加上 Agent2Agent 消息传递将它们组合成编排。默认视图是一个文本用户界面(TUI),类似于其他编码智能体框架。默认情况下,智能体执行的 IPython 操作会被精简显示,但可以展开以查看框架执行的操作。在 REPL 中启动的子智能体也可以在用户聊天框下方访问。Prime Agent 运行一个后台守护进程,通过本地套接字管理所有活动的智能体会话。您可以附加和分离会话,而不会影响底层的智能体循环。每个根会话树都在一个可恢复的工作进程中运行;如果工作进程崩溃,守护进程会从会话 JSONL 和内核状态快照中恢复它。智能体视图允许您查看并从守护进程中选择其他活动会话。可以通过在空提示符上按左箭头键(←)打开,它会列出当前正在运行的会话、守护进程仍处于活动状态的空闲会话,以及当前未加载到内存中的非活动会话。这些聊天中的任何一个都可以立即进入并与之交互,按空格键允许用户与任何状态的会话聊天,包括引导和排队提示和命令,如 /compact。智能体视图被构建为智能体和子智能体之间的中心连接点,并且是递归的。任何智能体都可以在智能体视图中被发现。用户从智能体视图导航到智能体的聊天,然后进入其子智能体的智能体视图,进入子智能体聊天,依此类推。由于子智能体与根智能体共享相同的运行-空闲-非活动状态机,它们可以在空闲 30 分钟后从内存中移除,一旦用户或智能体与它们中的任何一个交互,它们就会从磁盘重新加载。在高度嵌套的聊天中,这可以节省大量内存。智能体的整个会话历史以仅追加的 JSONL 文件形式存储在磁盘上。每一行都是一个 JSON 条目,可以包括消息、模型切换、压缩摘要或扩展条目。分支、分叉和克隆都通过移动叶子指针在同一文件中发生。完整历史记录始终可以通过 /tree 恢复。当上下文达到阈值或由智能体在 REPL 中直接使用 compact.run() 时,会发生压缩。压缩主要用于清理智能体的主上下文,但完整历史记录(包括过去的压缩)可以在需要时在 IPython 内核中以编程方式访问。REPL 的引入需要额外的工作来管理 IPython 状态。我们异步压缩并同时清理内核,使用一个生成的智能体作为垃圾收集器。这对于避免每个智能体的 REPL 内存累积是必要的。Prime Agent 依赖 IPython 内核作为其 REPL,该内核在会话期间持续存在,并且可以在每一轮中调用。初始化时,内核会预导入每个技能/工具作为模块,包括用于递归程序化子智能体调用的 rlm。rlm 是一个异步函数,这意味着模型可以在代码中自由调用和并行化子智能体调用。生成一个子智能体(例如 await rlm("子任务"))会启动一个完整的会话,该会话拥有自己的模型、IPython 内核、会话树和对话历史。它会立即返回,因为智能体之间的所有后续通信都通过 agent_message.send(...) 工具进行。Prime Agent 可以选择以这种方式启动几个有用的原语,例如并行扇出子智能体,或启动后台工作。随着模型的不断改进,围绕工具调用和子智能体的新调用模式将会出现。我们期望未来几代模型将减少对逐步提示的依赖,而更多地依赖这种直接的程序化控制。后台守护进程管理所有活动的 Prime Agent 会话。Prime Agent 还通过守护进程支持智能体间(A2A)消息传递,允许任何 Prime Agent 会话使用与消息传递持久化子智能体相同的机制向任何其他 Prime Agent 会话发送消息。这使得编排变得容易,可以管理子智能体群的进度以及跨会话的通信。

FDE 判断

对于 FDE 而言,Prime Agent 展示了下一代智能体框架的设计方向:从静态提示工程转向程序化、自我改进的智能体编排。其 RLM 和持续框架概念,以及通过 REPL 进行程序化工具调用和子智能体管理的方式,可能成为未来企业级 AI 交付中处理复杂、长周期任务的关键能力。FDE 需要关注此类框架如何提升客户环境中自主编码和问题解决的效率与适应性。