📌 项目地址:PrimeIntellect-ai/prime-agent | ⭐ 16,515 颗星 | 🔧 TypeScript | 📜 未标注
先说结论
PrimeIntellect-ai/prime-agent,16,515 星,仓库主语言标 TypeScript,但核心运行环境是持久 Python REPL。这个错位本身就说明了项目的定位:它不是又一个聊天式编码助手,而是把代理的执行层改造成了程序结构。
要理解它,抓住两个设计就够了:RLM 管代理怎么干活,Continual Harness 管干活的经验怎么留下来。
RLM:让模型写代码,而不是说话
编码代理的通病是上下文像聊天流水账,对话一长信息就散。RLM 的对策是两个概念:prompt-as-a-variable(提示即变量)和 programmatic tool / sub-agent calling(工具与子代理的程序化调用),全部跑在一个持久 REPL 里。
落到实现上:
- 持久 REPL 是内置的模型工具。 文件操作、shell 命令、工具调用、子代理、上下文管理,全部通过执行代码完成。模型产出的是可执行 Python,不是一句“我觉得这个文件有问题”。
rlm(...)调用产生真实的子代理。 可并行可后台,结果以返回值形式交回。返回值能存进变量、能被下一段代码使用,这是聊天式代理做不到的。- 代理之间直接通信。 运行中的代理互发消息、互相调度,不必所有信息经过用户中转。
一句话概括:这套设计把代理从对话界面拉回了程序界面。
Continual Harness:改进被限制在数据层
代理自我改进的两条老路都有代价。改模型权重,训练成本太高;让代理在会话里改自己的系统提示,行为会失控。
Prime Agent 的做法是把状态拆成两层。基础系统提示不可变,/refine 命令永远不会碰它;外围状态——补充提示、记忆、技能描述、可复用的子代理规格——作为持久化数据单独存储,默认只作用于当前会话。
/refine 的工作流程是:审查当前会话轨迹,对外围状态做小规模、有证据支撑的更新。每次更新有快照记录,支持回滚。
技能的形态也和常见的提示词写法不同。技能是可导入的 Python 包,内置的技能创建器能把重复出现的工作流固化成项目级或个人级技能。提示词只能被参考,Python 包可以执行、测试、组合。
长任务的支撑机制
项目定位是长时间、跨会话的通用工作。支撑这个定位的机制在 README 里列了一组:
- daemon 支持的会话在终端断开后继续运行,之后可重新挂接
- 自动压缩、持久目标、心跳、调度、自主模式
- 保留的子代理让任务跨回合、跨终端会话保持进度
单独看哪一项都不新鲜,组合起来才撑得起“长任务”三个字。终端一断就丢进度的代理,谈不上长任务。
安装与启动
macOS / Linux 一条命令:
curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh
安装器下载版本化发布包,校验 SHA-256,安装 prime-agent 命令,并准备代理用的 Python 运行时。
进入工作目录启动:
cd /path/to/project
prime-agent
首次启动执行 /login,选订阅或 API-key 提供商。
安全边界,没有商量余地
README 有明确警告:Prime Agent 会执行模型生成的 Python 和项目命令,能修改当前目录的文件。你在哪启动,它就在哪有执行权限。官方建议用一次性 clone、干净的 worktree,或者你能检查并恢复的检查点来跑。照做。
README 没回答的两个问题
设计写得清楚,不等于实现到位。我认为有两点必须实测。
一是 /refine 的更新质量。“小规模”和“有证据支撑”都是程度描述。实际跑一次,对比快照前后的 diff,看它是不是只改了该改的外围状态——这是唯一可靠的验证方式。
二是持久 REPL 进程的稳定性。代码能跑和能连续跑到任务结束之间,隔着内存管理、进程管理这类没人写进 README 的细节。
验证成本不高:干净目录安装,跑一次会话,调一次 /refine,翻快照。这个项目值不值得进你的工具链,跑完这一轮就有答案。