跳到正文
EN

· 更新于

参与贡献 ​

这个仓库的目的只有一个:让更多的人能以更低的成本,复现 Agentic RL 的算法和论文,真正动手做 Agentic RL 的算法研究——而不是被没有八卡、被训推一体的复杂度、被 Verl 这类框架的高耦合工程代码挡在门外。

借助 PyTRIO,仓库里的每一篇复现都做到了:一杯奶茶的钱、二十个 step、一张消费级显卡都不需要,就能看到真实的训练效果。我们相信,算法研究的价值在于理解算法本身,而不是先被基础设施绊倒三个月。你的每一篇贡献,都是在帮更多和我们一样的人跨过这道门槛。

本页是 贡献指南 的在线版(English)。

贡献方式 ​

类型流程
新增算法章节先开 Issue 提案 → 维护者确认后分配章节编号 → 提 PR → 审核合并
修复已有章节的 bug / 补充实验直接提 PR,在描述里说明问题和复现方式
错别字、文档改进、翻译直接提 PR

新增算法章节的完整流程 ​

  1. 开 Issue 提案。使用「算法复现提案」模板,写清楚:
    • 复现哪篇论文 / 哪个算法(附论文链接)
    • 打算在什么数据集、什么基座模型上复现
    • 训练闭环的 reward / advantage / loss 设计思路
    • 预估的 PyTRIO 成本(参考:现有章节单次训练大多在十几到上百元)
  2. 等待确认。维护者会和你对齐选题是否合适、是否和进行中的工作冲突,并统一分配章节编号(请勿自行编号,避免撞号)。
  3. Fork 并开发。分支命名建议 feat/NN-algorithm-name。
  4. 提 PR。PR 描述里关联 Issue,并附上训练记录和评测结果(见下方质量要求)。
  5. 审核。维护者会从「算法讲得是否明白」和「代码能否复现」两个角度审稿,可能会要求修改几轮,这是正常流程。

章节结构约定 ​

新章节请严格对齐现有章节的结构(以 03-search-r1/ 为参考模板):

text
NN-algorithm-name/
├── readme.md          # 章节正文(博客式长文)
├── start.md           # 快速启动:数据准备 → 训练 → 评测的完整命令
├── data.py / prepare_data.py   # 数据下载与预处理
├── reward.py          # reward 计算
├── rollout.py         # 轨迹采样(如适用)
├── train.py           # 训练入口
├── eval.py            # 评测入口
├── analysis.py        # 结果分析与绘图
├── images/            # readme 引用的图片(含封面)
└── .env.example       # 如需 API Key,提供配置模板
  • 所有脚本都从仓库根目录运行,命令形如 uv run python NN-name/train.py ...。
  • readme.md 的风格请参考已有章节:先讲清楚算法从哪来、解决什么问题、核心变量是什么,再讲怎么复现。直觉优先,鼓励用生活化的类比(奶茶、喜茶都可以)。
  • start.md 必须让一个新读者按顺序复制命令就能跑通:登录(trio login、swanlab login)→ 数据 → 训练 → 评测。

质量要求(合并门槛) ​

  1. 真实跑通:代码必须在 PyTRIO 上完整跑通过端到端训练,不是只验证 import 或编译。PR 里请附 SwanLab 训练记录链接。
  2. 有效果证据:在固定评测集上给出 Base Model vs 训练后 checkpoint 的对比数字(例如 EM / Format Rate),并说明评测设置。
  3. 成本透明:写明单次训练的实际花费(元)和耗时,方便读者判断是否复现得起。
  4. 低门槛优先:优先选择小模型、小步数就能看到指标变化的配置。本仓库的宗旨是让学习者跑 20 个 step 就能确认「代码是有效的」。
  5. 诚实边界:单次小规模训练能支持什么结论、不能支持什么结论,请在文中写清楚。

工程规范 ​

  • 依赖用 uv 管理,Python 要求 >=3.13;新增依赖请先确认现有 pyproject.toml 里没有等价物。
  • 不要提交:.env 及任何密钥、数据集文件、swanlog/、评测输出、checkpoint。数据集和评测输出目录请在 .gitignore 中追加对应条目;需要的密钥放进 .env.example 模板并留空值。
  • 训练实验追踪统一用 SwanLab。
  • 图片统一放在章节目录的 images/ 下,正文用相对路径引用。

语言 ​

章节正文以中文为主(与现有章节一致);如果你的英文版本更方便,欢迎同时提供。代码注释、变量命名用英文。

交流 ​

  • 微信交流群:见 Issue #13
  • 不确定选题是否合适?直接开 Issue 问,或者在群里聊,不用等有完整方案再开口。

期待你的贡献,一起把 Agentic RL 的门槛降下来!

开放代码,记录实验,也记录边界。