R&D-Agent
微软开源的研发智能体框架,让 AI 在数据与模型两条线上自动提出假设、写代码、跑实验并迭代。
- Star 数
- ★ 15k
- 最近更新
- 15 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 44/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI APIClaude API(部分支持)
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 高 · 需要较重的基础设施
- 开始前需要
- 典型场景
- 量化研究员希望在 Qlib 上自动生成并回测新因子、联合优化因子与模型,而不是手工逐个尝试。
- 不适合
- 使用 Windows 或 macOS 的团队(当前仅支持 Linux)
- 希望一键安装在几分钟内跑通的个人用户
这个 Agent 能做什么,适合哪些场景?
R&D-Agent 是微软开源的 LLM 智能体框架,把数据驱动研发中最有价值的部分——提出想法(R)与落地实现(D)——做成可持续演化的自动化闭环。它读取论文、财报等真实材料,提取模型结构与特征/因子,再写成可运行代码并交给执行环境验证,从指标与日志反馈中改进下一轮方案。仓库内提供量化金融、Kaggle/数据科学、通用模型复现、LLM 微调(FT-Agent)等可直接运行场景,命令入口为 rdagent fin_quant、rdagent data_science、rdagent general_model、rdagent llm_finetune 等。默认通过 LiteLLM 后端对接多家模型服务商,也支持 Azure OpenAI 与 DeepSeek 等配置。结果可通过 Streamlit UI(rdagent ui)或独立的 Web UI(rdagent server_ui)查看执行轨迹。运行前提是 Linux、Docker 与自备的模型 API 密钥,首次跑通需要一定工程配置。
框架以「研究—开发」双角色循环工作:研究侧阅读论文、报告或历史实验,提出新的模型结构或特征假设;开发侧把假设写成 Python 代码,在 Docker 隔离环境中执行训练/回测,回收指标、日志与错误信息,再作为下一轮输入。具体命令覆盖不同流程:rdagent fin_quant 在 Qlib 上做因子与模型联合演化,rdagent fin_factor 与 rdagent fin_model 分别只演化因子或模型,rdagent fin_factor_report 从财报文件夹抽取因子并实现,rdagent general_model 读取论文 URL 复现模型,rdagent data_science 面向 Kaggle 与本地比赛数据做特征工程与调参,rdagent llm_finetune 完成基准驱动的 LLM 微调数据处理、训练、评估与反馈改进。配置通过 .env 提供 CHAT_MODEL、EMBEDDING_MODEL 与对应 API Key,rdagent health_check 校验 Docker 与端口、模型配置是否可用。
- 量化研究员希望在 Qlib 上自动生成并回测新因子、联合优化因子与模型,而不是手工逐个尝试。
- 参加 Kaggle 或内部表格类竞赛的数据科学家,希望由智能体自动完成特征工程与模型调参并查看执行轨迹。
- 算法工程师拿到一篇新论文,想快速得到可运行的原型实现来验证论文中的模型结构。
- 金融分析团队需要从一批财报中抽取潜在因子并转化为可回测代码。
- 需要针对特定基准对开源模型做自动化微调的团队,用 FT-Agent 完成数据处理、训练与评估迭代。
- 研究者希望复现 MLE-bench 等基准上的智能体表现,并对比不同 LLM 组合的效果。
如何安装或部署这个 Agent?
先确认运行环境:仅支持 Linux,需要安装 Docker 且当前用户能免 sudo 执行 docker run hello-world。
conda create -n rdagent python=3.10
conda activate rdagent
pip install rdagent如需从源码开发:
git clone https://github.com/microsoft/RD-Agent
cd RD-Agent
make dev安装后运行健康检查:
rdagent health_check --no-check-env如何使用这个 Agent?
在项目目录下创建 .env 配置聊天模型与嵌入模型(默认 LiteLLM 后端),例如 OpenAI 兼容端点:
cat << EOF > .env
CHAT_MODEL=gpt-4o
EMBEDDING_MODEL=text-embedding-3-small
OPENAI_API_BASE=<your_unified_api_base>
OPENAI_API_KEY=<replace_with_your_openai_api_key>
EOF确认配置可用:
rdagent health_check随后按场景启动,例如量化因子与模型联合演化:
rdagent fin_quant或运行数据科学 / Kaggle 场景:
rdagent data_science --competition tabular-playground-series-dec-2021查看运行日志与轨迹:
rdagent ui --port 19899 --log-dir log/ --data-science这个 Agent 有哪些优点和局限?
- README 公布 MLE-bench 上的具体成绩:o3(R)+GPT-4.1(D) 组合在 All 档达到 30.22%,并给出多次随机种子的均值与标准差。
- 覆盖多个真实工业场景,命令入口清晰区分量化(fin_quant/fin_factor/fin_model)、数据科学(data_science)、论文复现(general_model)与微调(llm_finetune)。
- 默认使用 LiteLLM 后端,可对接 OpenAI、Azure OpenAI、DeepSeek 等多种模型与嵌入服务,研究侧与开发侧可混搭不同模型以平衡成本。
- 配套完整的论文与基准:总体技术报告、R&D-Agent-Quant(NeurIPS 2025)、FT-Dojo(ICML 2026)与 Agent² RL-Bench,便于评估方法有效性。
- 同时提供 Streamlit UI 与带鉴权的 Web UI(server_ui),可实时查看执行轨迹与产物。
- 当前仅支持 Linux,Windows 与 macOS 用户无法直接按文档安装运行。
- 多数场景依赖 Docker 隔离执行生成的代码,环境准备较重,首次跑通需要模型密钥、嵌入服务与端口检查等多步配置。
- 软件免费但需自备 LLM API 密钥并承担调用费用,量化实验虽称低于 10 美元,但不同场景成本取决于模型组合。
- Web UI 明确不支持 data_science 场景,该场景仍需使用 Streamlit 版 rdagent ui。
- README 提示内部历史提交未保留,部分贡献者的提交记录缺失,早期开发脉络不可追溯。
这个 Agent 与同类方案有什么区别?
README 直接与 MLE-bench 原始论文中的 AIDE(o1-preview)对比:R&D-Agent 的 o1-preview 版本在 Low==Lite 档为 48.18%,All 档为 22.4%,而 AIDE o1-preview 分别为 34.3% 与 16.9%;R&D-Agent 的 o3(R)+GPT-4.1(D) 组合进一步达到 51.52% 与 30.22%。在量化方向,README 称 RD-Agent(Q) 以低于 10 美元的成本取得约为基准因子库 2 倍的 ARR,且使用因子数量减少 70% 以上。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| R&D-Agent 当前 | 44 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 15k | 15 天前 | Python | OpenAI API |
| Doc-to-LoRA(D2L) | 32 · 缺口较多 | 代码库 / SDK免费 | ★ 841 | 5 个月前 | Python | — |
| ALTA 研究交易工作台 | 83 · 表现良好 | 网页应用 | ★ 1.1k | 1 个月前 | Python | — |
| TradingAgents-Astock | 52 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 3.9k | 5 天前 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 明确要求 Docker 且用户需免 sudo 运行 docker,Agent 在容器内执行 LLM 生成的代码,属于高权限执行面;未见对生成代码的沙箱隔离、资源配额或人工确认步骤的说明,故 least_privilege 与 user_confirmation 仅给 1。数据流方面仅说明需配置 LLM API key 与 embedding 服务,未系统披露数据(论文、财报、Kaggle 数据)会发送到哪些第三方端点,data_flow_transparency 与 sensitive_data_handling 各 1。依赖安全有 Dependabot、CodeQL 徽章与 CI 约束文件,但 requirements.txt 未固定版本(仅 litellm>=1.73、pydantic-ai-slim 固定),给 2。外部副作用(写文件、跑训练、调用付费 API)无回滚/撤销机制说明,rollback 为 0。来源归属清晰:MIT 版权归 Microsoft,SECURITY.md 提供 MSRC 报告渠道,source_attribution 给 2。
README 与 pyproject 对 Python 版本(>=3.10,CI 测 3.10/3.11)和 Linux-only 的表述一致,但 README 称 OS Independent 分类器与 Linux-only 说明存在张力,self_consistency 给 1。依赖通过 requirements.txt 动态加载,安装路径明确,dependency_availability 给 2。autorl_bench 测试显示对失败评测会抛 RuntimeError 而非静默返回 0.0,并透传 error 字段,failure_messages 有实际证据,给 2。
README 列出量化、数据科学、Kaggle、论文复现、LLM 微调等多场景,audience_and_scenarios 给 2。但各场景的输入边界、所需数据格式、成本上限、失败模式未系统界定,capability_boundaries 仅 1。触发方式为 CLI 子命令(rdagent fin_quant 等),参数与前置条件分散在文档,trigger_precision 给 1。环境适配仅 Linux + Docker,Windows/macOS 无说明,environment_fit 给 1。
README 结构清晰,含新闻、快速开始、配置、运行、UI 监控,information_architecture 给 2。安装步骤(conda、pip、make dev、health_check)具体,install_notes 给 2。命名稳定性方面 CLI 子命令与场景名较多且部分标注 experimental/deprecated,naming_stability 给 1。示例丰富(多个 demo 命令与视频链接),examples_and_faq 给 2。已知限制仅提及 Linux-only 与 Web UI 不支持 data_science,known_limitations 给 1。LICENSE 为完整 MIT 文本,license 给 3。版本通过 setuptools-scm 动态生成,无显式 CHANGELOG,versioning_changelog 给 1。维护责任有 Microsoft 组织归属、SECURITY.md、CI 与 issue 链接,maintenance_responsibility 给 2。
输出为代码、因子、模型与日志,需用户自行评估与集成,output_usability 给 1。项目定位为自动化 R&D,价值主张有论文与 MLE-bench 结果支撑,但静态文件无法验证实际增益,marginal_value 给 1。成本方面 README 提到 RD-Agent(Q) 低于 10 美元,但整体 LLM 调用与训练成本未量化,cost_benefit 给 1。
README 引用 arXiv 论文、技术报告、MLE-bench 详细运行链接,claim_traceability 有外部指向但仓库内无对应数据文件,给 1。跨源佐证方面,README 的 MLE-bench 数字与论文/外部链接可对照,但仓库内测试与文档未复现这些数字,cross_source_corroboration 给 1。事实与推断分离方面,README 将 benchmark 结果与愿景描述混排,未明确标注哪些是已复现事实,fact_inference_separation 给 1。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- Agent 在 Docker 内执行 LLM 生成的代码,README 未说明沙箱隔离、资源配额或人工确认步骤,部署前应自行加固容器与权限边界。
- requirements.txt 多数依赖未固定版本,供应链可复现性与安全性依赖 Dependabot/约束文件,生产使用建议锁定版本。
- README 的 MLE-bench 与量化收益数字来自外部论文与链接,仓库内未提供可复现数据,静态审查无法验证。
- Web UI 需设置 UI_SERVER_AUTH_TOKEN,README 已提示本地服务可被恶意网站请求,务必使用长随机令牌并保持默认 127.0.0.1 绑定。
- 项目标注 Development Status Alpha,CLI 子命令与场景名可能变动,升级前需核对变更。