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)。

本文提纲

  1. RLM:上下文当变量,工具当函数
  2. 持久 IPython:唯一的内置工具
  3. rlm():递归子智能体只返回句柄,不返回结果
  4. Continual Harness:会自我改进的脚手架
  5. daemon:终端关了,Agent 还在跑
  6. TypeScript 宿主 + Python 内核的信任边界
  7. 值得注意的诚实声明
  8. 上手与版本动态

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 命令审查当前工作轨迹,对自己的脚手架做小的、有证据支撑的更新

两条安全绳值得注意:

  1. 不可变的 base system prompt 从不被重写,refine 只叠加增量修改,且每次修改有快照支持回滚
  2. /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 转录、决策留痕)做得比较重。

参考文档与链接

你最希望 Agent 记住的"教训"是什么?是不是每次都要重新教一遍?评论区聊聊。觉得持久状态这个方向对的,点个赞。


作者: itech001
来源: 公众号:AI人工智能时代(the-ai-era)
网站: https://www.theaiera.top/
关注每日最新AI新闻和技术博客,主页有更多的文章的AI 技术参考:https://www.theaiera.top

本文首发于 AI人工智能时代,转载请注明出处。

posted @ 2026-08-22 22:50  iTech  阅读(10)  评论(0)    收藏  举报