DEV Community

Henry Lin
Henry Lin

Posted on

RD-Agent 教程 - 第一章:基础入门(本教程未经全部验证,仅供参考)

RD-Agent 教程 - 第一章:基础入门

-(本教程未经全部验证,仅供参考)

1.1 项目概述与核心理念

RD-Agent 简介与背景

RD-Agent (Research & Development Agent) 是由微软研究院开发的开源自动化研发框架,专门用于数据驱动的AI解决方案构建。该项目在业界权威的机器学习工程基准测试 MLE-bench 中获得了第一名的优异成绩,成为目前表现最佳的机器学习工程代理。

核心理念:R&D 框架

RD-Agent 的设计哲学基于两个核心组件:

  • R (Research): 🔬 研究组件

    • 自动提出新的假设和想法
    • 分析现有方案的局限性
    • 基于领域知识生成创新解决方案
  • D (Development): 🛠️ 开发组件

    • 将研究想法转化为可执行代码
    • 实现和验证假设
    • 持续优化和改进解决方案

MLE-bench 基准测试表现

Agent Low (%) Medium (%) High (%) All (%)
R&D-Agent o1-preview 48.18 ± 2.49 8.95 ± 2.36 18.67 ± 2.98 22.4 ± 1.1
R&D-Agent o3(R)+GPT-4.1(D) 51.52 ± 6.21 7.89 ± 3.33 16.67 ± 3.65 22.45 ± 2.45
AIDE o1-preview 34.3 ± 2.4 8.8 ± 1.1 10.0 ± 1.9 16.9 ± 1.1

核心优势与应用价值

1. 自动化数据驱动研发流程

  • 端到端自动化:从数据分析到模型部署的完整流程
  • 智能决策支持:基于数据洞察自动生成解决方案
  • 持续学习能力:从历史经验中学习并不断改进

2. 多代理协作架构

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   研究代理       │    │   开发代理       │    │   评估代理       │
│  Research Agent │◄──►│ Development     │◄──►│ Evaluation      │
│                 │    │ Agent           │    │ Agent           │
├─────────────────┤    ├─────────────────┤    ├─────────────────┤
│• 假设生成        │    │• 代码实现        │    │• 性能评估        │
│• 策略规划        │    │• 测试验证        │    │• 反馈生成        │
│• 知识整合        │    │• 优化改进        │    │• 质量控制        │
└─────────────────┘    └─────────────────┘    └─────────────────┘
Enter fullscreen mode Exit fullscreen mode

3. 持续学习和演进能力

  • CoSTEER 框架:协作演进策略框架
  • 知识积累:自动构建和维护领域知识库
  • 自适应优化:根据反馈动态调整策略

适用场景与目标用户

🏢 量化投资团队

  • 自动因子挖掘:从海量数据中发现有效因子
  • 策略开发:自动生成和优化交易策略
  • 风险管理:智能风险控制和组合优化
  • 成本效益:相比传统方法,以不到10美元成本获得2倍收益

🔬 数据科学家

  • 特征工程自动化:智能特征生成和选择
  • 模型选择优化:自动化模型架构搜索
  • 实验管理:系统化的实验追踪和对比
  • 管道构建:端到端机器学习管道自动构建

🎓 研究人员和学者

  • 论文复现:自动从论文中提取和实现模型
  • 研究助手:智能文献分析和知识提取
  • 实验设计:科学的实验方案生成和执行
  • 成果整理:自动化研究成果文档化

🏆 Kaggle 竞赛参与者

  • 端到端自动化:从数据探索到模型提交
  • 特征工程:智能特征创建和组合
  • 模型集成:多模型融合策略优化
  • 时间管理:高效的竞赛时间分配

1.2 系统要求与环境准备

硬件和软件要求

操作系统支持

  • Linux: ✅ 完全支持(Ubuntu 18.04+, CentOS 7+)
  • Windows: ❌ 当前不支持
  • macOS: ❌ 当前不支持

重要提示: RD-Agent 目前仅支持 Linux 系统。如果您使用 Windows 或 macOS,建议使用 Docker、WSL2 或虚拟机运行 Linux 环境。

Python 版本要求

  • Python 3.10: ✅ 完全支持(推荐)
  • Python 3.11: ✅ 完全支持
  • Python 3.9: ⚠️ 部分功能可能受限
  • Python 3.12+: ⚠️ 可能存在兼容性问题

内存和计算资源建议

使用场景 内存要求 CPU 要求 存储空间
轻量级使用 4GB+ 2核+ 10GB+
中等规模 8GB+ 4核+ 50GB+
大规模应用 16GB+ 8核+ 100GB+
生产环境 32GB+ 16核+ 500GB+

Docker 环境配置

Docker 安装和配置

RD-Agent 强依赖 Docker 来提供隔离的运行环境,确保实验的可重现性。

Ubuntu/Debian 安装 Docker:

# 更新包索引
sudo apt-get update

# 安装必要的包
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 设置稳定版本仓库
echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Enter fullscreen mode Exit fullscreen mode

CentOS/RHEL 安装 Docker:

# 安装必要的包
sudo yum install -y yum-utils

# 添加 Docker 仓库
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

# 安装 Docker Engine
sudo yum install docker-ce docker-ce-cli containerd.io

# 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
Enter fullscreen mode Exit fullscreen mode

无 sudo 权限运行配置

这是必需的配置步骤! RD-Agent 要求当前用户能够在不使用 sudo 的情况下运行 Docker 命令。

# 创建 docker 用户组(如果不存在)
sudo groupadd docker

# 将当前用户添加到 docker 组
sudo usermod -aG docker $USER

# 重新加载用户组权限(或者重新登录)
newgrp docker

# 验证配置是否成功
docker run hello-world
Enter fullscreen mode Exit fullscreen mode

期望输出:

Hello from Docker!
This message shows that your installation appears to be working correctly.
...
Enter fullscreen mode Exit fullscreen mode

LLM API 准备

支持的 LLM 提供商

RD-Agent 通过 LiteLLM 支持多种大语言模型提供商:

提供商 支持的模型 推荐用途 成本考虑
OpenAI GPT-4, GPT-4-turbo, GPT-3.5-turbo 通用场景,高质量输出 $$$
Azure OpenAI GPT-4, GPT-3.5-turbo 企业级应用,合规要求 $$$
DeepSeek deepseek-chat, deepseek-coder 代码生成,经济实惠 $
Anthropic Claude-3.x 长文本处理,分析任务 $$
Google Gemini Pro 多模态需求 $$

API 密钥获取指南

OpenAI API 密钥获取:

  1. 访问 OpenAI API 官网
  2. 注册/登录账户
  3. 前往 "API Keys" 页面
  4. 点击 "Create new secret key"
  5. 复制并安全保存 API 密钥

Azure OpenAI 配置:

  1. 登录 Azure Portal
  2. 创建 Azure OpenAI 资源
  3. 获取 API 密钥、端点和部署名称
  4. 记录 API 版本信息

DeepSeek API 密钥获取:

  1. 访问 DeepSeek API 平台
  2. 注册账户并完成验证
  3. 前往 API 密钥管理页面
  4. 生成新的 API 密钥

成本预算建议

使用强度 月成本预算 适用场景
学习试用 $10-50 教程学习,小规模实验
中等使用 $50-200 项目开发,中等规模应用
重度使用 $200-1000 生产环境,大规模应用
企业级 $1000+ 企业级部署,持续运行

1.3 安装与基础配置

安装方式选择

用户版本安装(推荐)

对于大多数用户,直接通过 PyPI 安装是最简单的方式:

# 创建 conda 环境(推荐)
conda create -n rdagent python=3.10
conda activate rdagent

# 或使用 venv
python3.10 -m venv rdagent_env
source rdagent_env/bin/activate

# 安装 RD-Agent
pip install rdagent
Enter fullscreen mode Exit fullscreen mode

开发者版本安装

如果您想要体验最新功能或参与开发,可以从源码安装:

# 克隆仓库
git clone https://github.com/microsoft/RD-Agent.git
cd RD-Agent

# 创建开发环境
conda create -n rdagent-dev python=3.10
conda activate rdagent-dev

# 安装开发依赖
make dev

# 或者手动安装
pip install -e .
pip install -r requirements/dev.txt
Enter fullscreen mode Exit fullscreen mode

依赖管理和虚拟环境

为什么需要虚拟环境?

  • 避免包版本冲突
  • 确保环境一致性
  • 便于环境管理和迁移

推荐的环境管理方式:

# 使用 conda(推荐)
conda create -n rdagent python=3.10
conda activate rdagent

# 或使用 pyenv + venv
pyenv install 3.10.12
pyenv local 3.10.12
python -m venv rdagent_env
source rdagent_env/bin/activate
Enter fullscreen mode Exit fullscreen mode

基础环境配置

.env 文件配置详解

RD-Agent 使用 .env 文件来管理环境变量配置。在项目根目录创建 .env 文件:

# 在项目目录下创建 .env 文件
touch .env
Enter fullscreen mode Exit fullscreen mode

LiteLLM 统一后端配置

方式一:统一 API 基础配置(推荐新手)

# OpenAI 配置示例
CHAT_MODEL=gpt-4o
EMBEDDING_MODEL=text-embedding-3-small
OPENAI_API_KEY=sk-your-openai-api-key-here
OPENAI_API_BASE=https://api.openai.com/v1
Enter fullscreen mode Exit fullscreen mode

方式二:分离式 API 配置(高级用户)

# 聊天模型配置
CHAT_MODEL=gpt-4o
OPENAI_API_KEY=sk-your-openai-api-key-here
OPENAI_API_BASE=https://api.openai.com/v1

# 嵌入模型配置(使用不同提供商)
EMBEDDING_MODEL=litellm_proxy/BAAI/bge-large-en-v1.5
LITELLM_PROXY_API_KEY=your-siliconflow-api-key
LITELLM_PROXY_API_BASE=https://api.siliconflow.cn/v1
Enter fullscreen mode Exit fullscreen mode

多种 LLM 提供商配置示例

OpenAI 标准配置:

# 基础配置
CHAT_MODEL=gpt-4o
EMBEDDING_MODEL=text-embedding-3-small
OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxx
OPENAI_API_BASE=https://api.openai.com/v1

# 可选:推理模型特殊配置
# REASONING_THINK_RM=True  # 启用思维过程移除
Enter fullscreen mode Exit fullscreen mode

Azure OpenAI 配置:

# Azure OpenAI 配置
CHAT_MODEL=azure/gpt-4o-deployment-name
EMBEDDING_MODEL=azure/embedding-deployment-name
AZURE_API_KEY=your-azure-api-key
AZURE_API_BASE=https://your-resource.openai.azure.com/
AZURE_API_VERSION=2024-02-15-preview
Enter fullscreen mode Exit fullscreen mode

DeepSeek 经济型配置:

# DeepSeek 聊天模型(经济实惠)
CHAT_MODEL=deepseek/deepseek-chat
DEEPSEEK_API_KEY=sk-your-deepseek-api-key

# SiliconFlow 嵌入模型(DeepSeek 无嵌入模型)
EMBEDDING_MODEL=litellm_proxy/BAAI/bge-m3
LITELLM_PROXY_API_KEY=sk-your-siliconflow-api-key
LITELLM_PROXY_API_BASE=https://api.siliconflow.cn/v1

# 推理模型配置
REASONING_THINK_RM=True
Enter fullscreen mode Exit fullscreen mode

混合配置(推荐高级用户):

# 高性能聊天模型
CHAT_MODEL=gpt-4o
OPENAI_API_KEY=sk-your-openai-api-key

# 经济型嵌入模型
EMBEDDING_MODEL=litellm_proxy/BAAI/bge-large-en-v1.5
LITELLM_PROXY_API_KEY=sk-your-siliconflow-api-key
LITELLM_PROXY_API_BASE=https://api.siliconflow.cn/v1

# 其他配置
REASONING_THINK_RM=False
Enter fullscreen mode Exit fullscreen mode

健康检查与验证

rdagent health_check 使用

安装完成后,首先进行系统健康检查:

# 完整健康检查
rdagent health_check

# 跳过环境变量检查
rdagent health_check --no-check-env

# 跳过 Docker 检查
rdagent health_check --no-check-docker

# 只检查端口占用
rdagent health_check --no-check-env --no-check-docker
Enter fullscreen mode Exit fullscreen mode

期望的成功输出:

✅ Docker is installed and working correctly
✅ Port 19899 is available
✅ Environment variables are configured correctly
✅ LLM API connection successful
✅ All systems check passed!
Enter fullscreen mode Exit fullscreen mode

常见配置问题排查

问题 1:Docker 权限错误

❌ Error: Got permission denied while trying to connect to the Docker daemon socket
Enter fullscreen mode Exit fullscreen mode

解决方案:

# 确保用户在 docker 组中
sudo usermod -aG docker $USER
newgrp docker
# 重新运行健康检查
rdagent health_check
Enter fullscreen mode Exit fullscreen mode

问题 2:API 密钥无效

❌ Error: Invalid API key provided
Enter fullscreen mode Exit fullscreen mode

解决方案:

# 检查 .env 文件中的 API 密钥
cat .env | grep API_KEY
# 确保密钥正确且有效
# 重新配置 API 密钥
Enter fullscreen mode Exit fullscreen mode

问题 3:端口被占用

❌ Error: Port 19899 is already in use
Enter fullscreen mode Exit fullscreen mode

解决方案:

# 查看端口占用情况
netstat -tlnp | grep 19899
# 结束占用进程或更换端口
rdagent ui --port 19900
Enter fullscreen mode Exit fullscreen mode

问题 4:网络连接问题

❌ Error: Failed to connect to API endpoint
Enter fullscreen mode Exit fullscreen mode

解决方案:

# 检查网络连接
curl -I https://api.openai.com/v1/models
# 配置代理(如需要)
export https_proxy=http://proxy.company.com:8080
export http_proxy=http://proxy.company.com:8080
Enter fullscreen mode Exit fullscreen mode

环境验证清单

在开始使用 RD-Agent 之前,请确认以下检查项:

  • [ ] 操作系统: Linux 环境
  • [ ] Python 版本: 3.10 或 3.11
  • [ ] 虚拟环境: 已激活专用环境
  • [ ] Docker: 安装并可无 sudo 运行
  • [ ] 网络连接: 能访问 LLM API 端点
  • [ ] API 密钥: 有效且有足够余额
  • [ ] 存储空间: 至少 10GB 可用空间
  • [ ] 端口: 19899 端口可用(或指定其他端口)
  • [ ] 权限: 当前用户有读写项目目录权限

至此,您已完成 RD-Agent 的基础安装和配置。下一章我们将详细介绍 RD-Agent 的核心功能和使用方法。

快速验证安装

完成所有配置后,让我们进行一个快速的功能验证:

# 激活环境
conda activate rdagent

# 验证安装
python -c "import rdagent; print('RD-Agent installed successfully!')"

# 运行健康检查
rdagent health_check

# 查看可用命令
rdagent --help
Enter fullscreen mode Exit fullscreen mode

如果所有步骤都正常完成,您现在已经准备好开始使用 RD-Agent 的强大功能了!

Top comments (0)