引言
"智能体不应该在每次会话结束后重置为空白------它应该能在工作中变得更好。"
这是"一天一个开源项目"系列的第 211 篇 。今天的项目是 prime-agent。
大多数 AI 编码工具的工作流是这样的:你描述任务,智能体执行,会话结束,下次重来。智能体对你的工作习惯、代码风格、常用工具链一无所知,每次都要重新解释上下文。
prime-agent 做的事情不一样:它在工作中积累经验,通过 /refine 指令将会话轨迹中的规律提炼成持久化状态(harness),下次直接继承,并且这个过程是保守的、可回滚的。
19.6k Stars,MIT 协议,由 PrimeIntellect AI 团队构建。
你将学到什么
- RLM(Recursive Language Model)将上下文视为变量的核心思想
- Continual Harness 如何存储和管理持久化智能体状态
/refine指令的"保守自我改进"设计哲学- Python REPL 作为主工具接口的架构选择
- 子智能体通过
rlm(...)函数调用的并行协调机制 - Daemon/Worker/Kernel 三层进程模型
前置知识
- 熟悉 AI 编码工具(Claude Code、Cursor 等)
- 了解 Python REPL 基本概念
- 可选:理解"自主智能体"与"会话式 AI"的差异
项目背景
项目简介
prime-agent 的官方描述:"A self-improving RLM agent for coding workflows and long-running autonomous tasks."(面向编码工作流与长时运行自主任务的自我改进 RLM 智能体。)
这句话里有两个关键词需要拆解:
RLM(Recursive Language Model):不是一种新的模型架构,而是一种将语言模型与程序化执行深度融合的运行范式。上下文是变量,工具调用是函数,子智能体是可以递归调用的子程序------整个交互过程发生在一个持久化的 Python REPL 中。
自我改进(Self-improving):不是无约束的重写,而是在会话轨迹中寻找可以优化的 harness 状态(补充 prompt、记忆、技能描述、子智能体规范),进行"小而有据可查的更新",并保留快照以支持回滚。
作者与团队
- 团队: PrimeIntellect AI(Karten、Zhang、Thomas、Müller 等)
- 官方 : PrimeIntellect.ai
- 协议: MIT
- 语言: TypeScript + Python
项目数据
- ⭐ GitHub Stars:19,600+
- 🍴 Forks:2,100+
- 📄 协议:MIT
- 💻 主要语言:TypeScript + Python
- 📦 安装:
curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh
主要功能
解决什么问题
prime-agent 在工具层和智能体持久化层之间插入了一个新的抽象层:
scss
传统编码智能体:
用户输入 → 会话上下文 → 工具调用 → 输出
↑ 会话结束,上下文清空,状态归零
prime-agent:
用户输入
↓
Python REPL(主工具接口)
↓
rlm(...) 子智能体调用 ←──── 并行/递归
↓
Continual Harness(持久化状态层)
├── 补充 prompt(会话行为修正)
├── 记忆(工作习惯、代码规范、项目上下文)
├── 技能(可导入的 Python 包)
└── 子智能体规范(专用子智能体配置)
↓
/refine ← 会话轨迹 → 增量优化 harness(可回滚)
使用场景
-
长时间运行的代码重构
- 跨越多个会话的大规模重构任务,harness 记忆项目规范,不需要每次重新解释"这个项目的命名约定是......"
-
研究工作流自动化
- 科研评测、实验批处理;daemon 模式让任务在终端断开后继续运行,heartbeat 机制定时检查进度。
-
多智能体编排
- 主智能体通过
rlm(...)调用专用子智能体(代码审查、文档生成、测试编写),结果以函数返回值形式汇聚。
- 主智能体通过
-
自定义技能开发
- 把反复使用的工作流打包为 Python 包(skill),可在项目级或个人级复用,也可分享给团队。
-
自主任务(Autonomous Mode)
- 配置 turn 数、token 预算、时间上限,让智能体自主执行,设置质量门控节点验收结果。
快速开始
bash
# 安装
curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh
# 安装程序会验证 SHA-256 校验和,安装 prime-agent CLI 和 Python 运行时
# 进入项目目录
cd /path/to/project
# 启动智能体
prime-agent
# 首次使用:配置模型提供商
/login
# 查看当前目标
/goal
# 触发 harness 优化
/refine
# 在新终端重新连接已运行的会话
prime-agent attach <agent-name>
核心特性
1. RLM:上下文即变量
RLM 的核心思想是"prompt-as-a-variable"------上下文不是静态字符串,而是可以被程序操作的变量:
python
# 在 Python REPL 中,子智能体调用是普通函数调用
result = rlm("分析 src/auth/ 目录,找出所有权限检查遗漏的位置")
# 可以并行调用
import asyncio
results = await asyncio.gather(
rlm("编写单元测试", files=["src/auth.py"]),
rlm("生成 API 文档", files=["src/routes.py"])
)
# 结果以 Python 对象返回,可以直接处理
for r in results:
print(r.summary)
"一切都是可编程的"------文件操作、Shell 命令、工具调用、子智能体生成,全部通过可执行代码完成,而不是对话。
2. Continual Harness:持久化智能体状态
Harness 是 prime-agent 与普通聊天智能体最大的结构性差异:
| Harness 组件 | 内容 | 作用 |
|---|---|---|
| 补充 prompt | 行为修正指令 | 调整智能体的默认决策风格 |
| 记忆 | 工作习惯、项目规范、已知上下文 | 消除重复解释的成本 |
| 技能描述 | 已注册 Python 技能包的说明 | 智能体知道什么时候调用哪个技能 |
| 子智能体规范 | 专用子智能体的角色和能力定义 | 主智能体知道如何委派任务 |
Harness 状态默认本地存储,跨会话持久,重启后完整恢复。
3. /refine 指令:保守的自我改进
这是 prime-agent 最具设计哲学的功能:
markdown
/refine 工作流:
1. 回顾当前会话轨迹
(做了什么、遇到什么问题、用了什么工具)
2. 识别可优化点
(反复出现的模式、低效的工具链、缺失的记忆项)
3. 生成"小而有据可查的"harness 更新建议
↳ 更新补充 prompt → 调整行为
↳ 添加记忆条目 → 保留上下文
↳ 完善技能描述 → 提升调用准确性
4. 应用更新(创建快照)
5. 如果效果不好:回滚到任意快照
硬约束:从不修改不可变的基础系统 prompt
"保守"不是缺陷,而是设计选择:每次 /refine 只做小步更新,快照保证每一步都可逆,用户始终可以审查和干预。
4. Daemon/Worker/Kernel 三层进程模型
arduino
┌─────────────────────────────────────────┐
│ Kernel(内核层) │
│ 管理持久化边界,协调状态读写 │
│ │
│ Worker(工作层) │
│ 生命周期隔离与崩溃恢复 │
│ 注:不是安全沙箱,是稳定性隔离 │
│ │
│ Daemon(守护进程层) │
│ 终端断开后继续运行 │
│ prime-agent attach <name> 重新连接 │
└─────────────────────────────────────────┘
这三层保证了长时任务的可靠性:会话不依赖终端窗口,崩溃后自动恢复,重连后状态完整。
5. 自主模式与质量门控
bash
# 配置预算边界
/autonomous --turns 50 --tokens 200k --time 2h
# 设置持久目标(跨 turn 追踪,直到完成或手动清除)
/goal "重构 auth 模块,通过所有现有测试,代码覆盖率 ≥ 85%"
重要设计细节:"通过质量门控只验证该门控检查的内容,达到预算上限不等于任务成功。"
这意味着智能体会在到达限制时停下来报告状态,而不是假装任务完成。
6. 心跳与调度系统
三种时间重入机制:
bash
# 手动触发(TUI 指令)
/heartbeat
# 编程式触发(Python REPL 内)
rlm_heartbeat()
# 定时调度
prime-agent schedule --interval 30m "检查 CI 状态并处理失败的测试"
心跳让智能体可以在用户不在的情况下,按计划回来继续长时任务------不需要外部 cron,不需要服务器。
7. 技能系统:可导入的 Python 包
技能不是 prompt 模板,是可执行的 Python 包:
python
# 使用内置技能
from skills.code_review import run_review
result = run_review(files=["src/"], style="strict")
# 创建自定义技能
prime-agent skill create "git-workflow"
# 自动生成技能包骨架,可在项目级或用户级注册
深入剖析
为什么选择持久化 Python REPL
大多数编码智能体的工具接口是"工具调用列表"------智能体选择一个工具,传入参数,等待返回值。prime-agent 选择了不同的路径:Python REPL 是主工具接口。
这个选择有几个深层含义:
- 组合性:工具调用可以组合成任意复杂的程序,而不受预定义工具集的限制
- 状态保持:REPL 中的变量、函数、导入的模块在会话中持续存在
- 子智能体的自然表达 :
rlm(...)就是一个函数调用,返回值可以直接在下一行使用 - 调试友好:任何中间状态都可以被检查和操作,不是黑盒
Harness 的保守设计为什么重要
自我改进的智能体面临一个显而易见的风险:如果它可以修改自己的行为,谁来保证修改是正确的?
prime-agent 的答案:保守性 + 可审查性 + 可回滚性。
保守性:每次/refine只做小步更新,不允许大规模重写基础行为可审查性:所有更新都有会话轨迹作为依据,不是随机推断可回滚性:每次应用更新前创建快照,任意时刻可以回退不可变底线:基础系统 prompt 永远不被修改,只有 harness 的补充部分可以更新
这种设计让自我改进从"不可信的黑盒操作"变成了"用户可以理解和干预的增量更新过程"。
与其他编码智能体的定位对比
| 工具 | 定位 | 关键差异 |
|---|---|---|
| Claude Code | 交互式编码助手 | 每次会话独立,无持久化 harness |
| Cursor Agent | IDE 内嵌 AI | 与编辑器耦合,不适合长时自主任务 |
| OpenHands | 全自动软件工程 | 独立执行,缺少保守自我改进机制 |
| prime-agent | 自我改进 RLM 智能体 | 持久化 harness + 保守 /refine + 跨会话状态 |
prime-agent 的差异化不在于"做更多的事情",而在于"在做事情的过程中变得更适合做这件事情"。
适合长时任务的设计细节
prime-agent 在每个细节上都针对"长时运行"做了优化:
- 自动上下文压缩:长会话自动压缩,不会因上下文溢出而中断
- 持久目标(
/goal):跨 turn 追踪,直到完成才清除,不会在压缩中丢失 - Daemon 持久化:任务与终端窗口解耦,SSH 断线不中断任务
- 崩溃恢复(Worker 层):进程崩溃后自动重启,状态从持久化存储恢复
- 心跳调度:不需要用户守在屏幕前,智能体自己按计划回来检查
项目地址与资源
官方资源
- 🌟 GitHub :github.com/PrimeIntell...
- 🌐 官网 :primeintellect.ai
- 📦 安装 :
curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh - 📄 协议:MIT
相关项目
- PrimeIntellect/pi --- prime-agent 的 TUI 底层,终端界面框架
- Claude Code --- prime-agent 支持的主流编码智能体之一
- OpenHands --- 另一个自主软件工程智能体,定位互补
总结与展望
核心要点回顾
- RLM = 上下文即变量:子智能体是函数调用,工具链是可编程的,REPL 是主接口------不是对话,是程序
- Continual Harness = 持久化智能体状态:跨会话保留 prompt 补充、记忆、技能、子智能体规范
/refine= 保守的自我改进:小步更新 + 快照回滚 + 不可变底线,自我改进变得可审查- Daemon/Worker/Kernel = 长时任务基础设施:会话与终端解耦,崩溃自动恢复,支持 hours/days 级任务
- 心跳调度 = 时间自主性:不需要用户守着,智能体按计划自己回来工作
适合谁
- 需要长时间运行 AI 任务的工程师:代码重构、大规模测试生成、多文件文档同步------不想每次重新建立上下文
- AI 研究者:评测批处理、实验自动化,daemon 模式让任务在无人值守时继续运行
- 团队中推广 AI 工作流的人:技能打包分享,让团队共享已验证的最佳实践,而不只是分享 prompt
- 对"智能体记忆"感兴趣的开发者:prime-agent 的 harness 是一个公开、可检查、可修改的持久化状态------不是黑盒记忆
一句话评价
prime-agent 想回答的问题是:如果一个智能体可以在工作中积累经验、改进自己的工作方式,但又不失去人类的可审查性和控制权,它应该是什么样子?
欢迎访问 PrimeSkills ------ 一个精心策划的 AI Agent 与技能市场,所有内容均经过真实企业级工作流验证。没有噱头,只有真正有效的东西。
更多实用知识和有趣产品,欢迎访问我的个人主页