RecursiveMAS
以潜空间递归连接多角色模型的多智能体训练与评测框架。
- Star 数
- ★ 985
- 最近更新
- 1 个月前
- License
- MIT
- 主语言
- Python
- FA 评分
- 31/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配OpenAI API(部分支持)
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 高 · 需要较重的基础设施
- 开始前需要
- 典型场景
- 研究人员希望按论文所述的内外循环流程,复现 sequential 方式的数学协作训练与 Math500 评测。
- 不适合
- 需要开箱即用托管聊天产品的团队
- 没有 CUDA GPU 或不愿下载指定 Hugging Face 模型的用户
这个 Agent 能做什么,适合哪些场景?
RecursiveMAS 是一个将多智能体协作建模为统一递归计算的研究实现,核心机制是让异构角色模型通过轻量级 RecursiveLink 交换并迭代优化潜状态。仓库包含 inference/ 推理与下游评测管线,以及 train/ 中的内循环和外循环训练脚本。它提供 sequential、mixture、distillation 与 deliberation 四类协作风格,并发布了相应的 Hugging Face 参考检查点和训练数据集。主要执行入口是 inference/run.py、train/train_inner.py 与 train/train_outer.py;运行结果面向数学、科学、医疗、代码和搜索问答基准的评测。该项目适合需要复现或试验递归式多模型协作的研究与工程团队,而不是一个已文档化的聊天产品或通用托管服务。
先为每个角色运行 train/train_inner.py,冻结基础模型并训练角色专属的 inner RecursiveLink 与小型 ln_res_adapter;再用 train/train_outer.py 按协作风格连接多个角色模型,训练角色间的 outer RecursiveLink。推理时,inference/run.py 根据 --style、--dataset 和可选的 --ckpt_override 加载发布参考系统或本地检查点并执行评测。已列出的下游数据集包括 math500、gpqa、medqa、mbppplus、aime25、aime26、livecodebench、bamboogle 与 hotpotqa;输出为对应的准确率、测试通过率、pass@k、EM 或 LLM-as-Judge 评测结果。Deliberation 风格在 bamboogle 与 hotpotqa 上可通过 Tool-Caller 调用真实搜索 API,开放式答案可配置 OpenAI 兼容 API 作为裁判。
- 研究人员希望按论文所述的内外循环流程,复现 sequential 方式的数学协作训练与 Math500 评测。
- 机器学习团队想用已发布的 sequential_light 或 sequential_scaled 参考检查点,快速比较多角色递归协作在数学、科学或代码任务上的表现。
- 开发者为 mixture 风格分别训练数学、代码、科学和摘要角色,再训练对应的外层连接模块。
- 需要测试 expert–learner 协作的团队,可使用 Distillation-Math 或 Distillation-Code 数据进行蒸馏式内外循环训练。
- 构建开放域检索问答实验的研究者,可在 bamboogle 或 hotpotqa 的 deliberation 运行中配置 Tavily 等搜索 API 密钥。
如何安装或部署这个 Agent?
创建并启用 Python 3.10 环境,然后在仓库根目录安装依赖:
conda create -n recursivemas python=3.10 -y
conda activate recursivemas
pip install -r requirements.txt搜索数据集的 deliberation 运行还需将搜索 API 密钥写入纯文本文件,并在运行时传入 --tavily_keys_file。开放式问题的 LLM 裁判需设置 API_KEY、API_BASE_URL 和 API_MODEL。
如何使用这个 Agent?
可先运行发布的参考系统:
python inference/run.py \
--style sequential_scaled \
--dataset math500 \
--device cuda若使用本地训练结果,可加入多个 --ckpt_override,例如 planner=train/ckpts/seq_light/planner_math 与 outer=train/ckpts/seq_light/outer_math。训练示例先以 train/train_inner.py 为各角色训练内层模块,再以 train/train_outer.py 用相同协作风格和数据集训练外层模块。Python 中可通过 from system_loader import load_mas_system 导入,并调用 load_mas_system(style="sequential_light", device="cuda", trust_remote_code=True)。
这个 Agent 有哪些优点和局限?
- 将角色间协作显式实现为可训练的 RecursiveLink,并区分角色内的 inner 与角色间的 outer 训练阶段。
- 覆盖 sequential、mixture、distillation、deliberation 四种已发布协作模式,而非只提供单一编排示例。
- 提供从训练数据、训练脚本、参考检查点到下游评测入口的完整实验路径。
- 评测覆盖数学、研究生科学、医疗问答、代码生成和开放域搜索问答等明确列出的基准。
- 文档示例依赖 CUDA,且参考模型组合包含 Qwen、Llama、Gemma、DeepSeek 与 BioMistral 等特定模型和 Hugging Face 资产。
- 要复现论文的完整结果,项目明确要求使用与协作风格匹配的任务数据和训练配置;发布检查点不是所有任务设置的单一替代品。
- bamboogle 与 hotpotqa 的 deliberation 运行需要真实搜索 API 与密钥,开放式答案评分还需要另行配置 OpenAI 兼容的裁判端点。
- 仓库未说明面向 ChatGPT、Codex、Claude 或 MCP 的原生集成;OpenAI 兼容 API 仅被文档化为评分裁判接口。
这个 Agent 与同类方案有什么区别?
仓库说明其项目建立在 vLLM、ARPO 和 TextGrad 等开源项目之上,但未提供与这些项目或其他多智能体框架的功能对比。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| RecursiveMAS 当前 | 31 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 985 | 1 个月前 | Python | — |
| Plexe:用自然语言构建机器学习模型 | 41 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 2.6k | 8 个月前 | Python | OpenAI API · Claude API |
| AutoResearch 自动研究员 | 52 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 99k | 7 个月前 | Python | Codex · Claude Code |
| 通义深度研究 | 49 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 20k | 8 个月前 | Python | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:仓库未提供权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的说明。所有信任相关标准均缺失,因此得分为0。
证据显示:README和代码结构一致,提供了清晰的目录和命令,自洽性得2分。依赖可用性:requirements.txt列出了固定版本,但未提供依赖的可用性保证或镜像,得1分。失败消息:未提供错误处理或失败提示的文档,得0分。
证据显示:README明确了目标受众(研究人员)和多种使用场景(推理、训练、评估),得2分。能力边界:未明确说明系统能做什么不能做什么,得1分。触发精度:提供了具体命令和参数,但未说明触发条件,得1分。环境适配:提供了环境设置和依赖,但未说明不同硬件或操作系统的兼容性,得1分。
证据显示:信息架构清晰,有目录和说明,得2分。安装说明:提供了conda和pip安装步骤,得2分。命名稳定性:未提供版本历史或命名约定,得1分。示例和FAQ:提供了多个示例命令,但无FAQ,得2分。已知限制:未明确列出,得1分。许可证:MIT许可证完整,得3分。版本变更日志:无,得0分。维护责任:未明确维护者,但提供了联系邮箱,得1分。
证据显示:输出可用性:提供了推理输出和评估指标,但未说明输出格式,得1分。边际价值:提供了多种协作模式和基准测试,具有研究价值,得2分。成本效益:未提供性能或成本数据,得1分。
证据显示:声明可追溯性:提供了论文和数据集链接,但未提供具体实验配置,得1分。跨来源佐证:提供了外部报道和演示,但未提供独立验证,得1分。事实与推断分离:未明确区分,得1分。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 仓库未提供任何安全或权限管理文档,使用前需自行评估风险。
- 依赖版本固定但未提供安全审计,建议检查已知漏洞。
- 未提供回滚或恢复机制,更新或修改需谨慎。
- 未明确维护责任,长期支持不确定。