# Prime Intellect 持续学习:第一部分
**作者**: Sriraam
**日期**: 2026-04-06T02:09:42.000Z
**来源**: [https://x.com/27upon2/status/2040975201068810670](https://x.com/27upon2/status/2040975201068810670)
---

读完 Cursor 的文章后实时强化学习博客他们几乎每五个小时就发布一个新的 Composer 检查点,所以我想要构建一个类似的系统。结果发现,开源生态系统中我们已经拥有所需的工具和基础设施!我创建了一个命令行界面这样就将循环简化为以下命令:
我正在使用卓越智慧的托管培训平台我还基于他们的 OpenCode 基础环境创建了一个 RL 环境,该环境允许我使用每次训练运行中的新检查点,并在我的本地 OpenCode 会话中使用它!
作为参考,我的笔记本电脑里存有大约 21.8 亿条 Codex 使用记录。我发送的每条消息都包含大量有用的信息,这些都是丰富的真实世界多轮训练数据,收集起来既困难又昂贵。
有几种方法可以利用这些数据进行持续学习,但我正在构建一个批量增量式在线强化学习系统,其中模型使用从上一个部署检查点采样的新一批数据进行训练。下图应该能更清楚地说明这一点。

我想指出的是,我关注的重点并非优化代码和数据集的存储。我想展示的是,只要稍加搭建,任何人都可以利用开放模型和基础设施构建一个个性化的、持续学习的编码代理。是的。 主 RL 是开源的。
难点依然存在:数据、评估和评分标准。我会在后续文章中分享我是如何应对这些问题的。Prime 生态系统的妙处在于你可以进行 fork。 我的环境并进行个性化定制!
建筑学

其理念是让代理在每个步骤都获得代码库的快照,以便模型能够在沙箱环境中生成真实的部署结果并获得奖励,而不是基于用户消息内容、工具输出等的某种 SFT 变体。以下是整个流程的概述:
通过 Prime 的推理功能将基础模型添加到 OpenCode 中。使用它。
OpenCode 插件会在每次用户和助手交互时,使用 Git 裸仓库为我处理的每个代码库创建快照。为什么要每次交互都创建快照呢?因为我可以在助手完成交互后、发送下一条消息之前编辑代码,所以每次交互都创建快照可以让我了解助手所做的修改是否被保留。顺便一提,Cursor 也使用了这个指标。
将 git 裸仓库推送到 GitHub,并将 OpenCode 会话推送到 HuggingFace 数据集。
为 Prime Intellect 的托管培训编写一个基础 TOML 文件
开始一次 RL 运行
如果模型有所改进,则部署检查点并更新 OpenCode 配置以使用此新模型。
继续
环境
我创建了一个简单的环境,并设置了一个基于智能体是否成功执行任务的占位性二元奖励。你可以 fork 这个环境并添加你自己的奖励。我打算添加的奖励是简洁性。
我希望我的编码代理能够编写简洁的代码。但目前它们的默认行为是编写大量防御性代码,重复发明抽象概念,编写重复代码,忽略现有类型或不编写新类型等等。因此,在下一篇文章中,我将分享我的经验教训,包括哪些方法有效,哪些无效。
用法
由于仍需尝试不同的数据组合、批次大小、LoRa 配置等,因此我没有在 CLI 本身中实现完全自动化。这意味着每次运行后,您可以选择为下一次运行传入一个新的配置文件。典型的部署使用场景如下:
数据集有一个自增的 batch_id 列,您可以使用它来确保每次运行都使用新的数据批次。
使用 continue 命令时,CLI 会自动推送代码库和数据集,但您也可以使用一些基础命令预先执行此操作,以获得更大的灵活性。您可以使用以下命令更好地控制何时推送快照和数据集:
这允许您将部署方案与其他工具和脚本结合使用。完整的命令列表可以在以下位置找到: 自述文件 。
下一步
现在我已经具备了所需的工具,但要真正实现这一点,还存在一些挑战:
评估:仅仅提高奖励是不够的,我们需要一套好的评估方法来决定是否部署检查点。
数据质量:目前我直接使用会话数据,但根据任务的不同,有时需要对数据进行过滤。此外,还需要对数据进行清理,因为会话中的路径需要更改为与沙箱中的路径匹配,以防止因代理处于不同环境而导致工具调用浪费。这还包括移除个人身份信息 (PII) 和敏感数据。
数据转换:我想尝试转换代理会话,删除中间的大量消息,只保留任意回合的开始和结束,以便生成能够代表原始请求和理想结果的黄金示例。这样就能获得高质量的 SFT 数据,从而培养高效的行为模式,避免用户在多个回合中重复操作。
任务与奖励设计:简洁性是我感兴趣的一个行为,但其他几个行为包括:提高对屏幕截图的视觉理解,因为模型自信地表示它们通过截屏测试了应用程序,但经常出错;正确删除代码而不留下死代码。
感谢阅读,如果您也遇到类似问题,我很乐意与您交流!
## 相关链接
- [Sriraam](https://x.com/27upon2)
- [@27upon2](https://x.com/27upon2)
- [33K](https://x.com/27upon2/status/2040975201068810670/analytics)
- [实时强化学习博客](https://cursor.com/blog/real-time-rl-for-composer)
- [命令行界面](https://github.com/13point5/rollouts)
- [卓越智慧](https://www.primeintellect.ai/)
- [托管培训平台](https://docs.primeintellect.ai/hosted-training/getting-started)
- [主 RL](https://github.com/PrimeIntellect-ai/prime-rl)
- [我的环境](https://app.primeintellect.ai/dashboard/environments/13point5/opencode-continual-learning)
- [自述文件](https://github.com/13point5/rollouts)
- [升级至高级版](https://x.com/i/premium_sign_up)
- [10:09 AM · Apr 6, 2026](https://x.com/27upon2/status/2040975201068810670)
- [33.7K Views](https://x.com/27upon2/status/2040975201068810670/analytics)
- [View quotes](https://x.com/27upon2/status/2040975201068810670/quotes)
---
*导出时间: 2026/4/7 00:54:36*