项目详情

AIDE ML

在「代码空间」里做树搜索的 ML 工程 Agent——写代码、评估、自我改进,直到指标打满

GitHub 地址 MIT 1.5k Stars Python 3.10+ v0.2.2

更新于 2026-09-15

← 返回汇总
项目速览

一句话定位

让 LLM 像 AlphaGo 下棋一样写机器学习代码

AIDE 算法的开源参考实现:一个 LLM 驱动的树搜索 Agent,自主起草、调试、基准测试机器学习代码,直到用户定义的指标最大化。每个 Python 脚本是解空间树的一个节点,LLM 生成的补丁产生子节点,指标反馈负责剪枝导航。OpenAI MLE-bench(75 个 Kaggle 竞赛)实测其树搜索比最佳线性 Agent(OpenHands)多拿 4× 奖牌。WecoAI 公司由此研究孵化。适合 Agent 架构研究者与想快速搭高性能 ML 管线的工程师。

项目速览

核心数据

1.5k
Stars
4×
vs 线性 Agent 奖牌
6
顶级机构引用
2.5 年
维护中
🔥 核心算法

解空间树:每个节点是一份完整代码

draft 1..5 初始方案 solution A AUROC .81 solution B AUROC .88 solution C error / NaN best-first:从当前最优展开 improve(B) AUROC .90 debug(B) AUROC .86 improve² AUROC .93 ★ improve(C′) AUROC .79 三算子:draft(起草多个初始方案)→ improve(在最优节点上打补丁)→ debug(修复报错/NaN 节点);指标反馈决定展开谁、剪掉谁。失败节点保留在树里供回溯——不是链式重试。
初始草稿 中间解 当前最优 失败/被剪枝(可回溯)
硬数据

树搜索 vs 线性链:MLE-bench 的裁决

树搜索(AIDE 路线)
  • 4× 奖牌数:OpenAI MLE-bench(75 个真实 Kaggle 竞赛)中,AIDE 树搜索比最佳线性 Agent(OpenHands)多拿四倍奖牌
  • 探索与利用并行:差解不丢,留在树里等回溯
  • 失败即信息:报错节点成为 debug 算子的输入
线性链(主流 Agent 形态)
  • 一次只有一条「当前最好」,历史方案被覆盖即丢失
  • 单路径早熟:陷入局部最优后只能靠运气跳出
  • ReAct 式循环适合「任务执行」,不适合「解空间优化」

这是本项目最重要的思想贡献:把代码优化从「对话循环」重构为「搜索问题」——LLM 不是唯一决策者,只是树上的生成算子;搜索策略本身(best-first + 剪枝)才是骨架。

学术影响

被谁引用:AI-for-AI 研究的公共基座

机构研究与 AIDE 的关系
OpenAIMLE-bench75 Kaggle 竞赛评测基准,AIDE 是被测与被引的代表性 agent
METRRE-Bench前沿 AI R&D 能力对人类专家的评测
Sakana AIAI Scientist-v2「工作坊级自动科学发现」直接采用 AIDE 式 agent 树搜索
MetaLLM Speedrunning Benchmark复现 NanoGPT 改进的基准
MetaAIRA / aira-dojoMLE-bench 上的搜索·探索·泛化研究
上交大ML-Master「AI-for-AI」:探索与推理的整合

「让 AI 做 AI 研究」这条赛道的主要评测与系统,几乎都在 AIDE 铺的轨道上跑——1.5k stars 远低估了它的思想占有率。

上手

三样东西说清任务:数据 + 目标 + 指标

# 安装 · 配 key · 一条命令
pip install -U aideml
export OPENAI_API_KEY=sk-...

aide data_dir="example_tasks/house_prices" \
     goal="Predict the sales price for each house" \
     eval="RMSE between log-prices"

# 产物
logs/<id>/best_solution.py   # 最优代码
logs/<id>/tree_plot.html    # 可点击的解树可视化

# 换模型 / 加预算
aide agent.code.model="claude-4-sonnet" \
     agent.steps=50 agent.search.num_drafts=5
  • 自然语言任务规格:不需要 YAML 网格、不需要写包装器——goal 和 eval 就是给同事交代任务的说法
  • Python API 同样三行:aide.Experiment(data_dir, goal, eval).run(steps=N)
  • HTML 解树可视化:每个节点的代码、指标、父子关系全可查——搜索过程可审计
  • Streamlit UI:侧栏贴 key、传数据、按 Run——非命令行用户友好
  • 模型中立:任何说 OpenAI API 的模型都能当代码生成器
开源结构

算法 / 仓库 / 产品:开源核心的教科书分层

AIDE 算法

论文层(arXiv 2502.13138):LLM 引导的代码空间树搜索——思想公开,任何人可实现。

本仓库(参考实现)

研究友好的精简实现:CLI + 可视化 + 配置预设。定位是复现论文、试新想法、原型 ML 管线。

Weco 产品

公司层:泛化到更广的代码优化场景,加实验跟踪与用户控制。开源版与商业版边界清晰。

生态位

Agent 光谱上的位置:搜索型,不是执行型

执行型(ReAct 循环) → 软件工程型(OpenHands 等) → 搜索优化型(AIDE)
风险提示

需要警惕

潜力评估

评分:8.0 / 10 · tracking

思想影响力
9.5
实验验证
9.0
代码质量
8.0
上手体验
8.0
活跃度
5.5

star 数不是它的计量单位——引用数才是。树搜索范式已被 OpenAI/METR/Sakana/Meta 的后续研究反复验证,是这个「AI 做研究」时代的基础设施级 idea。跟踪价值:看搜索策略如何与更强的基础模型叠加(更强 LLM 是否让搜索结构变得不那么重要,是开放问题)。


上一个
Playwright CLI
下一个
Bloub
1 / 11