AIDE ML
用树搜索持续编写、评估并改进机器学习代码。
- Star 数
- ★ 1.6k
- 最近更新
- 23 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 53/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 机器学习实践者拥有结构化数据集,需要以“预测流失、AUROC”这类目标和指标快速探索建模代码时。
- 不适合
- 只想用托管服务、不想自己跑代码的用户
- 需要生产级实验跟踪与更强控制的团队
- 源码审查
- 53/100 · 缺口较多
这个 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_metric 和 code。CLI 运行将最佳方案写入 logs/<id>/best_solution.py,并生成 logs/<id>/tree_plot.html;Web UI 允许输入 API key、上传数据、设置 Goal 与 Metric,并显示实时日志、方案树和最佳代码。
- 机器学习实践者拥有结构化数据集,需要以“预测流失、AUROC”这类目标和指标快速探索建模代码时。
- 研究智能体架构的团队需要替换搜索启发式、评估器或 LLM 后端,并观察代码搜索树时。
- 研究人员复现 AIDE 论文或测试新的代码生成与评估策略时。
- 需要在本机 Ollama 端点上测试
qwen2.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.ExperimentAPI、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 当前 | 53 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.6k | 23 天前 | Python | OpenAI API · Claude API |
| AI 工程实战训练营 | 38 · 缺口较多 | 开发框架免费 | ★ 956 | 28 天前 | Jupyter Notebook | — |
| K-Dense BYOK | 73 · 存在缺口 | 桌面应用免费 + 模型费 | ★ 1.4k | 23 天前 | TypeScript | ChatGPT · Codex · Claude.ai |
| BambooAI 数据分析师 | 70 · 存在缺口 | 网页应用免费 + 模型费 | ★ 842 | 今天 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
代码通过后端把任务和执行审查交给配置的模型,并由解释器运行生成脚本;README 说明可使用外部 API 或本地端点,且展示了日志与结果位置,因此数据流有一定可见性(data_flow_transparency 记 2)。但代码样本未展示沙箱或权限隔离、运行前确认、敏感数据保护、外部副作用限制或恢复机制;只在特定 E2E 测试中移除子进程 API 密钥,不能证明一般运行具备同等保护,故这些项目偏低。README 引用算法论文并要求引用,LICENSE 也标明版权主体,因此来源归属有支持,记 2;维护者身份和更新路径仍不清楚。
agent.py 对指标推断失败有警告与回退;README 描述结构化响应缺失、截断和拒绝会报错,并给出有界重试;可见测试对指标分类和 Anthropic 工具请求提供交叉佐证,故自洽性和故障信息记 2。依赖清单包含大量宽范围或未固定的 ML 包及若干下限版本,来源没有显示完整锁定或安全治理,因此依赖可用性仅记 1。
README 明确面向 Agent 架构研究者与 ML 从业者,提供 CLI、Python、Streamlit 和本地模型用法;任务目标、指标、模型提供方和迭代数可配置,环境适配有具体示例,因此受众、触发情境与环境适配记 2。能力边界说明较薄:代码可使用任意相关包,且解释器执行生成程序,但样本未说明执行隔离或适用任务的硬边界,故记 1。
README 按快速开始、UI、高级 CLI、Python、附加功能和引用组织内容,并给出安装、示例、配置说明及本地模型性能提示;MIT 许可证全文明确,记 3。版本与变更历史在所给材料中支持有限;README 有当前参数和测试流程,但未显示维护责任人或清晰维护更新渠道,相关项仅记 1。
产品说明了树搜索、代码迭代、指标反馈、日志和可视化结果,且提供可复用的 CLI 与 Python 接口,表明输出具备实际使用价值并有研究与工程增益,记 2。运行需要模型调用和执行训练脚本;README 虽给出步骤、调用上限示例及本地模型选项,却没有一般成本估算或成本控制承诺,成本效益记 1。
README 将主要算法主张链接至论文,并把仓库实现、算法和 Weco 产品区分;工作流、测试及源码对部分配置和行为提供交叉佐证。样本明确区分 mocked regression 与真实 API 检查,并说明后者范围有限,支持事实与推断边界,故三项记 2。论文与性能主张在本次静态审查中不能视为独立验证,评分仅反映材料可追溯性。
- 生成的训练脚本会被执行;所给材料没有展示一般运行时的沙箱、权限限制或副作用恢复机制。
- 运行可能向模型服务发送任务与数据上下文并产生 API 成本;使用前应确认数据可对外发送,并设置适当预算。
- 依赖清单包含大量机器学习包,且并非全部固定版本;材料没有呈现全面的依赖锁定或漏洞处理证据。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
What's Changed * :bug: minor fix for o1 models by @dexhunter in https://github.com/WecoAI/aideml/pull/42 * :bug: better handling for function calling models (#43) by @dexhunter in https://github.com/WecoAI/aideml/pull/44 * ⬆️ Bump scikit-learn from 1.2.2 to 1.5.0 by @dependabot[bot] in https://github.com/WecoAI/aideml/pull/46 * :bug: fix outdated error by @dexhunter in https://github.com/WecoAI/aideml/pull/49 * ⬆️ Bump tqdm from 4.66.2 to 4.66.3 by @dependabot[bot] in https://github.com/WecoAI/aideml/pull/48 …在 GitHub 查看 ↗ -
v0.2.0 aideml v0.2.0
发布说明摘录
What's Changed * pass the cfg.desc_file to open by @thesofakillers in https://github.com/WecoAI/aideml/pull/7 * Direct any model (named without claude-) to the OpenAI backend. by @namin in https://github.com/WecoAI/aideml/pull/14 * Configure and enable final report generation from journal. by @namin in https://github.com/WecoAI/aideml/pull/15 * :memo: Update README to include local llm usage by @dexhunter in https://github.com/WecoAI/aideml/pull/17 * :whale: Add Dockerfile by @dexhunter in https://github.com/WecoAI/aideml/pull/18 …在 GitHub 查看 ↗ -
v0.1.4 aideml v0.1.4
常见问题
运行需要什么凭据?
OPENAI_API_KEY。仓库也说明可配置 Anthropic、Gemini 或 OpenAI API 兼容的本地模型;Ollama 示例使用 OPENAI_BASE_URL 指向本地端点。能否完全本地运行?
OPENAI_BASE_URL 指向 Ollama,并同时把 agent.code.model 和 agent.feedback.model 设为本地模型。文档提醒完全本地模型可能带来性能下降。一次运行会留下哪些结果?
logs/<id>/best_solution.py 和 logs/<id>/tree_plot.html;Python API 还可从返回的最佳方案读取验证指标和代码。它是否替代完整的生产级 ML 平台?
谢谢反馈,我们会据此改进页面。