MLE-agent
ML 工程师的 AI 副驾,自动构建基线、调试代码、搜索论文、参与 Kaggle 竞赛
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
ML 工程师的 AI 副驾,自动构建基线、调试代码、搜索论文、参与 Kaggle 竞赛
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
深夜,你坐在电脑前,手里握着一条 Kaggle 竞赛的数据集下载链接。对面的模型还在训练,屏幕上的准确率曲线刚刚爬升到 0.72 就停滞不前——你想优化,但不知道该调哪个超参数;你想搜 SOTA 论文,但懒得翻 ArXiv;你想快速验证一个新想法,光是搭环境就耗掉了半小时。
MLE-Agent 正是为这类场景而生。它不是又一个聊天机器人,而是一个扎根于本地项目的 AI 搭档——帮你从 0 搭基线、调 Bug、搜论文、做周报,最终让你把精力真正花在"想法"上,而不是"工程"里。

图1:MLE-Agent 的吉祥物 Kaia——一只Llama,灵感来自作者的宠物,象征着温暖与陪伴
大模型 Agent 这两年火遍全网,但大多数 Agent 产品面向通用场景:写文案、编代码、做分析。机器学习工程师的痛点却很少被专门覆盖——他们的工作流有明显的领域特征:需要读论文、跑实验、管数据、调模型、提交 Kaggle,这些环节每一步都有大量重复劳动。
MLS ysOps 团队(国内 ML 社区活跃贡献者)注意到了这个空白,于 2024 年 6 月启动了 MLE-Agent 项目,v0.1.0 是一个基于规则的自动化脚本。随着 LLM API 能力提升,项目在 2024 年下半年快速迭代,接入了 OpenAI GPT、Anthropic Claude、Gemini 等多个模型,并从规则脚本演进为多 Agent 协作框架。截至 2025 年中,项目在 GitHub 已积累超过 1500 stars,成为 ML 工程师辅助工具领域最具代表性的开源项目之一。
输入一个模糊的需求,比如"我想用历史股价预测明天涨跌",MLE-Agent 会:
整个过程在你的本地目录中完成,生成的项目结构包含数据处理、模型定义、训练脚本、评估模块,可直接在此基础上继续开发。
这是 MLE-Agent 最惊艳的功能之一。只需一条命令:
mle kaggle --auto --datasets "<path_to_dataset>" --description "<description>" --submission "<submission_file>" --comp_id "<competition_id>"
Agent 会独立完成从数据探索、特征工程、模型训练到生成提交文件的全流程,不需要人工干预。在 OpenAI 官方 MLE-Bench 基准测试中(需要 Python 3.11-3.12),该模式已完成多个竞赛的端到端评测。
在规划阶段,Advisor Agent 会自动搜索相关论文:
这比手动在浏览器里搜论文要高效得多,尤其适合需要紧跟某细分领域 SOTA 的研究者。
MLE-Agent 内置了基于 LanceDB + Tantivy 的本地向量数据库(Mem0),对项目代码进行索引后,你可以在 CLI 中用自然语言查询项目中已有的实现逻辑、函数定义、文件组织方式。这相当于给项目配备了一个专属的代码知识库。
运行 mle report,Agent 会:
也可以用纯 CLI 模式 mle report-local 对任意 Git 仓库生成周报,非常适合团队协作。
MLE-Agent 的架构采用单一模型多角色模式:同一个 LLM 被加载多次,每次扮演不同的 Agent 角色,通过共享的工具层和记忆层协作。
代码结构(mle/ 目录):
| 目录 | 职责 |
|---|---|
mle/agents/ | 7 种 Agent 角色:Planner(规划)、Coder(编码)、Debugger(调试)、Advisor(建议)、Reporter(报告)、Chat(对话)、Summarizer(摘要) |
mle/model/ | 多模型支持:OpenAI、Claude(Anthropic)、Gemini(Google)、DeepSeek、Mistral、Ollama(本地)、vLLM |
mle/workflow/ | 4 种工作流:Baseline(基线构建)、Kaggle(竞赛)、Report(周报)、Chat(交互) |
mle/function/ | 工具函数:数据处理、代码执行、文件操作、搜索交互 |
mle/integration/ | 外部集成:Tavily 搜索、Langfuse 可观测性、Kaggle API、Google APIs |
mle/server/ | FastAPI Web 服务,为 Report 模式提供可视化界面 |
依赖关键技术栈:
openai~=1.70.0) 统一封装,兼容所有主流模型lancedb==0.15.0) + Tantivy 全文索引click>=7.1.1) + Rich 终端美化tavily-python~=0.6.0)langfuse~=2.36.2)Agent 协作流程示例(Baseline 模式):
用户需求 → PlannerAgent 生成计划 → AdvisorAgent 查论文推荐方案
→ CoderAgent 生成代码 → DebuggerAgent 调试运行
→ 失败?反馈给 CoderAgent 重写 → 成功则存入工作流缓存
→ SummarizerAgent 总结结果输出给用户
Agent 生成代码质量参差:在复杂 Kaggle 竞赛中,Auto-Kaggle 模式生成的代码往往达不到 top 25% 的水平,需要人工介入调优。当前更适合作为"第一版快速迭代"的工具,而非端到端解决方案。
多模型调用成本:虽然支持 Ollama/vLLM 本地模型,但默认使用 OpenAI/Claude API,完整使用所有功能(尤其是 Tavily 搜索 + 多轮 Agent 协作)会产生较高的 API 调用费用。
缺乏测试框架集成:项目本身有 GitHub Actions 测试,但 Agent 生成的代码不包含测试用例生成能力,这对于需要严谨研究的用户来说是明显短板。
RAG 检索质量依赖分块策略:当前使用 tree-sitter 做代码分块,对于大型代码仓库(>10 万行),检索精度有待提升。
MLE-Agent 的出现反映了一个趋势:AI 工具正在从"帮人类写作"进化到"帮工程师执行"。过去几年,Copilot 类工具主要辅助单行代码补全;而 Agent 类工具已经开始介入完整的工程决策链——从需求理解、方案选型到代码生成和调试。
从数据来看,项目在 GitHub 获得 1500+ stars,但更重要的是它背后的使用场景:ML 工程师日常工作中超过 60% 的时间其实花在"搭环境、调 Bug、写重复脚手架"上,这些恰好是 Agent 最擅长自动化的部分。如果 MLE-Agent 能将这部分时间压缩一半,工程师就能把更多精力放在真正有创造性的模型设计工作上。
# 一键安装
pip install -U mle-agent
# 或
uv pip install -U mle-agent
# 创建新项目
mle new my-project
cd my-project
# 启动基线构建(交互模式)
mle start
# 启动 Kaggle 竞赛
mle kaggle --auto --datasets "<path>" --description "<desc>" --comp_id "<id>"