Prime Agent:17.8k 星的 self-improving Agent,把上下文当变量跑在持久 IPython 里
Prime Agent:17.8k 星的 self-improving Agent,把上下文当变量跑在持久 IPython 里
3.5 个月 1.78 万星,这个方向戳中了 Agent 的真痛点。
有一个数字先摆出来:Prime Agent 创建于 2026 年 5 月 8 日,到 8 月下旬已经 17,818 星、1,930 fork。三个半月冲到这个量级,在 Agent CLI 这个已经挤满巨头的赛道(Claude Code、Codex CLI、Gemini CLI)里不算常见。
它凭什么?读完文档后我的判断是:Prime Agent 不是"又一个 Claude Code 克隆",它的核心叙事是把 Agent 从聊天窗口里的工具,变成跑在持久 Python 进程里的、能记住教训、能自我改进、能后台长期干活的运行时。出品方 Prime Intellect 是分布式 RL 训练领域的知名公司(verifiers、PRIME-RL 的作者),这背景让它的两个核心抽象都带论文味:RLM 和 Continual Harness,后者有配套论文(arXiv:2605.09998)。
本文提纲
- RLM:上下文当变量,工具当函数
- 持久 IPython:唯一的内置工具
- rlm():递归子智能体只返回句柄,不返回结果
- Continual Harness:会自我改进的脚手架
- daemon:终端关了,Agent 还在跑
- TypeScript 宿主 + Python 内核的信任边界
- 值得注意的诚实声明
- 上手与版本动态
RLM:上下文当变量,工具当函数
RLM(Recursive Language Model,递归语言模型)是 Prime Intellect 的核心理论,两个支柱:
上下文当变量(prompt-as-a-variable)。传统 Agent 的 prompt 是模板,每次调用重新拼装;RLM 把上下文当成一个可以在持久进程里被读写的变量--状态跨工具调用存活。
工具当递归子智能体的函数调用(programmatic tool / sub-agent calling)。工具不是一堆并列的 JSON schema 函数,而是可以递归 spawn 子智能体的编程接口。
这两条合起来意味着什么?看 README 里这个例子:
from pathlib import Path
config_files = list(Path(".").rglob("*.toml"))
large_files = [path for path in config_files if path.stat().st_size > 10_000]
这段代码跑在 Agent 的持久 IPython 内核里。config_files 这个列表在下一个工具调用、下一个会话回合里还在--变量不消失,中间结果不用序列化成文本塞回 prompt。对长任务来说,这直接改变了上下文管理的方式。
持久 IPython:唯一的内置工具
这是 Prime Agent 最激进的设计决策:唯一的内置模型工具是 ipython。
其他 Agent 框架为每种能力定义一个工具--read_file、run_shell、search--Prime Agent 把所有能力收敛到一个持久的 IPython REPL 里。文件操作是 Python 代码,shell 命令是 %%bash cell,子智能体是 rlm() 调用,上下文管理就是操作进程里的变量:
%%bash
npm run check
每个 %%bash cell 是临时子 shell,但 Python 状态和 %cd 的变更在 kernel 中持久保留。这个设计的好处是能力没有上限--模型会写 Python,就等于会做任何 Python 能做的事。代价是安全模型必须另行处理,这点后面细说。
rlm():递归子智能体只返回句柄,不返回结果
rlm() 是子智能体的生成接口,它的行为设计得很克制:
handle = await rlm("Review the authentication flow for security issues", name="auth-reviewer")
print(handle.rlm_child_id, handle.name, handle.session_dir, handle.model)
关键规则:调用在"任务准入"后立即返回句柄,绝不等待、也不返回子智能体的答案。结果只能通过显式的 agent_message 回复或文件送达。
为什么这么设计?强迫异步。父智能体的上下文保持精简,不会被子智能体的大段输出撑爆。并行 spawn 多个子智能体然后结束本轮,是原生用法:
api_review = await rlm("Review the public API", name="api-reviewer")
test_review = await rlm("Review the test coverage", name="test-reviewer")
integration_audit = await rlm("Run the slow integration audit", name="integration-audit")
三个审查员并行开跑,父级该干嘛干嘛,结果异步回来。智能体之间还能直接通信,不用把所有流量都经过用户:
await agent_message.send(message, receiver_role="parent")
Continual Harness:会自我改进的脚手架
这是 Prime Agent"self-improving"标签的具体所指。所谓 Continual Harness:把补充提示词、记忆、技能描述、可复用子智能体规格作为持久状态存储,Agent 通过 /refine 命令审查当前工作轨迹,对自己的脚手架做小的、有证据支撑的更新。
两条安全绳值得注意:
- 不可变的 base system prompt 从不被重写,refine 只叠加增量修改,且每次修改有快照支持回滚
/refine官方文档明确说"不能替代打包和评审新的可执行技能"--自我改进的边界被刻意划得很小
对"self-improving AI 会失控"的担忧,这个设计给出的工程答案是:只允许小步增量、全部留痕、随时可回滚。
技能系统也顺着这个思路设计。技能是可导入的 Python 包,不是 markdown 文档:
report = await release_audit(repository=".", target_version="0.4.0")
调用一个技能就像调用一个有类型的函数。技能可以是项目级的也可以是个人级的,内置的技能创建器能把重复工作流固化成技能,技能内部还能递归调用 rlm()。启动时只注入技能元数据,匹配到任务才加载完整定义--上下文预算算得很细。
daemon:终端关了,Agent 还在跑
长任务的另一半问题是运行时。Prime Agent 用 daemon supervisor 支撑会话:
prime-agent agents # 浏览运行中、空闲、已保存的会话
prime-agent attach <agent> # 重新挂载到运行中的会话
prime-agent status # 检查后台服务状态
prime-agent doctor [--fix] # 检查或修复后台服务
终端断开后 Agent 继续跑,之后随时 attach 回来。配合自动压缩(compaction)、持久目标(goals)、心跳(heartbeats)、定时任务(schedules)、自主模式,这套组合拳瞄准的是"跑一晚上甚至跑几天"的任务,而不是"一问一答"的场景。
TypeScript 宿主 + Python 内核的信任边界
架构上是双语言:TypeScript 宿主(monorepo 里 1220 万行 TS)加 Python IPython 运行时(prime-agent-runtime)。进程分层:
MERMAID_BLOCK_0
客户端只负责渲染和输入,不拥有执行。信任边界划得很清楚:凭证、provider 调用、转录写入、调度都留在 TypeScript 宿主;Python 内核只面对编程接口,需要权威状态的操作通过 typed host requests 交回宿主执行。
值得注意的诚实声明
README 的 WARNING 部分值得认真读,这在同类项目里少见:
隔离不是沙箱。worker 和 kernel 进程的生命周期隔离和故障隔离,是防崩溃的,不是防恶意代码的。Prime Agent 以你的用户权限执行模型生成的 Python 和项目命令--不受信代码必须放到外部沙箱跑。
quality gate 通过不等于任务成功。自主模式的 gate 只验证它验证的内容,达到限额不是成功的证明。
贡献政策特别坦率:因为 agent 生成的贡献大量涌入,官方不评审主动提交的 PR,不接受公共 Issues 作为初始入口,外部 PR 会被自动关闭,一切从 GitHub Discussions 开始。这是"agent 时代开源项目怎么维护"的一个先行实验。
另外 README 明确致谢 agent 和 TUI 构建在 pi(earendil-works/pi)之上,没有隐瞒自己的上游依赖。社区入口就是 GitHub Discussions,没有 Discord--别被第三方信息误导。
上手与版本动态
安装一行命令(macOS / Linux):
curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh
cd /path/to/project
prime-agent
首次启动 /login 认证,支持两类:订阅(ChatGPT Plus/Pro Codex、Claude Pro/Max、GitHub Copilot)和 API key(Anthropic、OpenAI、DeepSeek、Gemini、Mistral、Groq、Cerebras、Prime Inference 等)。源码运行需要 Node.js 22.8.0+,npm ci && ./prime-agent.sh。
版本节奏很快:v0.3(7 月中)到 v0.8.0(8 月 21 日)大约一个月发了六个大版本。v0.8.0 的重点是 MCP 安全加固:修复了 OAuth token 被拿去打旧端点的漏洞(凭证现在签发时就与端点绑定)、mcp add 保留旧凭证导致的凭证重放攻击面,另外 IPython kernel 硬崩溃后不再变成孤儿进程。如果你在用旧版,这个版本值得升。
认证 API 之外,Prime Agent 还和 Prime Intellect 自家的 RL 生态(verifiers、PRIME-RL)联动,官方明确说面向研究中的 evaluations 场景--这解释了为什么它的可观测性设计(JSONL 转录、决策留痕)做得比较重。
参考文档与链接
- GitHub: PrimeIntellect-ai/prime-agent - 17,818 星,MIT,TypeScript + Python monorepo
- Prime Intellect 官网 - 出品公司,分布式 RL 训练领域
- RLM 博客 - Recursive Language Model 理论原文
- Continual Harness 论文 - arXiv:2605.09998,自我改进脚手架的配套论文
- verifiers - 同公司 RL 训练框架,evaluations 生态联动
- PRIME-RL - 同公司 RL 训练系统
- pi (earendil-works/pi) - Prime Agent agent 和 TUI 的上游基础
- 仓库文档 - 40+ 篇:quickstart、RLM、architecture、skills
你最希望 Agent 记住的"教训"是什么?是不是每次都要重新教一遍?评论区聊聊。觉得持久状态这个方向对的,点个赞。
作者: itech001
来源: 公众号:AI人工智能时代(the-ai-era)
网站: https://www.theaiera.top/
关注每日最新AI新闻和技术博客,主页有更多的文章的AI 技术参考:https://www.theaiera.top
本文首发于 AI人工智能时代,转载请注明出处。

浙公网安备 33010602011771号