AIDE ML

用树搜索持续编写、评估并改进机器学习代码。

源仓库
WecoAI/aideml
Star 数
★ 1.5k
最近更新
20 天前
License
MIT
主语言
Python

30 秒速览

可在哪里用
通用 · 跨平台OpenAI API · Claude API
开始前需要
Python 3.10+Shell / 命令行网络访问本地文件系统
典型场景
机器学习实践者拥有结构化数据集,需要以“预测流失、AUROC”这类目标和指标快速探索建模代码时。
主要局限
首次使用需要可访问的 LLM 服务及相应 API 凭据;文档中的默认编码模型为 gpt-4-turbo

这个 Agent 能做什么,适合哪些场景?

AIDE ML 是 AIDE 算法的开源参考实现,面向以数据集、目标和评价指标驱动的机器学习工程任务。它通过 LLM 引导的代码空间树搜索生成 Python 脚本、创建改动分支,并利用指标反馈推进或剪枝搜索。项目提供 `aide` 命令行、`aide.Experiment` Python 接口、HTML 方案树可视化和 Streamlit Web UI。一次运行会在 `logs/<id>/` 中输出最佳代码 `best_solution.py` 及可交互查看搜索树的 `tree_plot.html`。它适合研究和原型验证;若需要更广泛的代码优化、实验跟踪或更强控制,仓库将 Weco 定位为相关的平台产品。

用户通过 aide data_dir=... goal=... eval=...aide.Experiment(data_dir=..., goal=..., eval=...) 提供数据目录、自然语言目标和评估指标。AIDE ML 将每个 Python 脚本作为解树节点,调用配置的编码模型生成补丁并形成子节点,评估代码后用度量结果引导搜索。Experiment.run(steps=...) 返回最佳方案,可读取其 valid_metriccode。CLI 运行将最佳方案写入 logs/<id>/best_solution.py,并生成 logs/<id>/tree_plot.html;Web UI 允许输入 API key、上传数据、设置 Goal 与 Metric,并显示实时日志、方案树和最佳代码。

  1. 机器学习实践者拥有结构化数据集,需要以“预测流失、AUROC”这类目标和指标快速探索建模代码时。
  2. 研究智能体架构的团队需要替换搜索启发式、评估器或 LLM 后端,并观察代码搜索树时。
  3. 研究人员复现 AIDE 论文或测试新的代码生成与评估策略时。
  4. 需要在本机 Ollama 端点上测试 qwen2.5 作为编码模型,比较本地模型驱动的迭代优化时。
  5. 偏好浏览器式原型操作的用户,需要在 Streamlit UI 中上传数据、启动运行并查看实时结果时。

如何安装或部署这个 Agent?

需要 Python 3.10+。安装:pip install -U aideml。使用 OpenAI 时设置凭据:export OPENAI_API_KEY=<your-key>。首次运行:aide data_dir="example_tasks/house_prices" goal="Predict the sales price for each house" eval="RMSE between log-prices"。开发安装可执行:git clone https://github.com/WecoAI/aideml.git,然后 cd aideml && pip install -e .

如何使用这个 Agent?

CLI 可用 agent.code.model 选择编码模型,并用 agent.steps 控制迭代次数,例如:aide agent.code.model="claude-4-sonnet" agent.steps=50 data_dir=... goal=... eval=...。Python 中创建 aide.Experiment(...) 后调用 exp.run(steps=2)。启动界面时进入 aide/webui 并运行 streamlit run app.py。使用 Ollama 的 OpenAI 兼容端点时设置 OPENAI_BASE_URL="http://localhost:11434/v1",再指定 agent.code.model="qwen2.5";若要让评估器也走本地模型,额外设置 agent.feedback.model="qwen2.5"

这个 Agent 有哪些优点和局限?

优点
  • 以代码树搜索而非单线式修改组织探索:脚本节点、LLM 补丁和指标反馈直接对应可检查的候选方案。
  • 同时提供 CLI、aide.Experiment API、HTML 树可视化和 Streamlit UI,覆盖脚本化、Python 集成与交互式原型场景。
  • 文档明确列出 OpenAI、Anthropic、Gemini 以及 OpenAI API 兼容本地模型路径,并给出 Ollama 配置示例。
  • 运行产物包括最佳 Python 代码和完整方案树,便于检查最终结果与搜索过程。
局限
  • 首次使用需要可访问的 LLM 服务及相应 API 凭据;文档中的默认编码模型为 gpt-4-turbo
  • 本地模型模式仍可能默认使用 gpt-4o 作为评估器;完全本地运行需要额外设置反馈模型,且文档提示性能可能下降。
  • 评估依赖用户提供的数据目录、目标和指标,仓库材料未说明对任意数据格式或任务类型的通用保证。
  • 仓库将自身定位为研究友好的精简实现;更广泛代码优化、实验跟踪和增强控制被定位在另一平台产品中。

这个 Agent 与同类方案有什么区别?

README 引述 MLE-Bench(75 个 Kaggle 竞赛)的结果:AIDE 的树搜索获得的奖牌数为最佳线性智能体 OpenHands 的 4 倍。该比较针对该基准中的奖牌结果,不等同于所有机器学习任务上的普遍性能结论。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 Star 最近更新 主语言 完整支持的平台
AIDE ML 当前 48 · 缺口较多 ★ 1.5k 20 天前 Python OpenAI API · Claude API
BambooAI 数据分析师 85 · 表现良好 ★ 790 7 天前 Python OpenAI API · Claude API
K-Dense BYOK 49 · 缺口较多 ★ 1.2k 12 天前 TypeScript ChatGPT · Codex · Claude.ai
MindSearch 深度搜索器 42 · 缺口较多 ★ 6.9k 1 年前 JavaScript

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
48/ 100 五分制 2.4 / 5
信任安全 7/29
可靠稳定 8/14
适用触发 12/18
规范维护 9/18
有效结果 7/13
证据核验 5/8
查看各维度的扣分理由
信任安全7 / 29 · 1.2/5

证据显示:README 要求用户提供 API 密钥(如 OPENAI_API_KEY),并支持本地 LLM 选项,表明存在外部 API 调用。代码执行由解释器处理,但未明确要求用户确认。数据流透明度有限,未详细说明数据如何被处理或传输。敏感数据处理方面,未提及数据加密或脱敏。依赖安全方面,requirements.txt 中固定了部分版本,但未提供漏洞扫描或安全审计。外部影响方面,代理会生成并执行代码,可能产生外部副作用,但未明确限制。回滚机制未提及。来源归属方面,README 引用了论文和外部研究,但未明确说明代码来源。扣分原因:缺少用户确认机制、数据流透明度不足、敏感数据处理不明确、依赖安全未充分说明、外部影响未明确限制、回滚机制缺失。

可靠稳定8 / 14 · 2.9/5

证据显示:README 和测试文件提供了清晰的示例和预期行为,自洽性较好。依赖可用性方面,requirements.txt 列出了大量依赖,但未提供版本兼容性说明。失败消息方面,测试覆盖了超时和异常情况,但未提供用户友好的错误提示。扣分原因:依赖可用性未充分说明,失败消息可能不够友好。

适用触发12 / 18 · 3.3/5

证据显示:README 明确了目标受众(研究人员和 ML 从业者),并提供了多种使用场景(CLI、Web UI、Python API)。能力边界方面,说明了代理的用途和限制(如需要 LLM 密钥)。触发精度方面,提供了详细的 CLI 参数和示例。环境适配方面,支持多种 LLM 后端和本地部署。扣分原因:能力边界描述不够详细,环境适配未覆盖所有可能场景。

规范维护9 / 18 · 2.5/5

证据显示:README 结构清晰,提供了安装说明、快速开始、高级选项和示例。命名稳定性方面,未提供版本历史或命名约定。示例和 FAQ 方面,提供了多个示例,但缺少 FAQ。已知限制方面,仅提及本地模型性能下降。许可证为 MIT,清晰明确。版本控制和变更日志方面,未提供 CHANGELOG。维护责任方面,未明确说明维护者或贡献指南。扣分原因:缺少 FAQ、已知限制不全面、无变更日志、维护责任不明确。

有效结果7 / 13 · 2.7/5

证据显示:输出可用性方面,提供了最佳解决方案代码和可视化树。边际价值方面,代理自动化了 ML 流水线开发,具有明显价值。成本效益方面,需要 LLM API 密钥,可能产生费用,但未提供成本估算。扣分原因:成本效益未充分说明。

证据核验5 / 8 · 3.1/5

证据显示:README 引用了论文和外部研究,提供了可追溯的声明。跨来源验证方面,引用了多个外部项目。事实与推断分离方面,README 区分了算法描述和产品特性。扣分原因:部分声明(如性能提升)未提供具体数据支持。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 代理会执行生成的代码,可能产生外部副作用,需在隔离环境中运行。
  • 需要提供 LLM API 密钥,注意密钥安全,避免泄露。
  • 依赖列表庞大,可能存在版本冲突或安全漏洞,建议使用虚拟环境并定期更新。
证据充分度: 评估于 2026年8月9日 审查版本 5d66a21771e9 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

常见问题

运行需要什么凭据?
快速开始使用 OPENAI_API_KEY。仓库也说明可配置 Anthropic、Gemini 或 OpenAI API 兼容的本地模型;Ollama 示例使用 OPENAI_BASE_URL 指向本地端点。
能否完全本地运行?
可以按文档将 OPENAI_BASE_URL 指向 Ollama,并同时把 agent.code.modelagent.feedback.model 设为本地模型。文档提醒完全本地模型可能带来性能下降。
一次运行会留下哪些结果?
会生成 logs/<id>/best_solution.pylogs/<id>/tree_plot.html;Python API 还可从返回的最佳方案读取验证指标和代码。
它是否替代完整的生产级 ML 平台?
仓库将 AIDE ML 描述为用于实验与扩展的研究友好实现,并将更广泛的代码优化、实验跟踪和增强控制归入 Weco 平台。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents