论文
实验执行
ML-Master: Towards AI-for-AI via Integration of Exploration and Reasoning
ML-Master:探索与推理融合的 AI4AI 实验执行 agent
Zexi Liu, Yuzhu Cai, Xinyu Zhu, et al. (SJTU SAI) · 上海交通大学 · arXiv · 2025-06 · 被引 54
一句话 上海交大 SAI 的 AI4AI agent,把并行 MCTS 树搜索(探索)和注入 <think> 的自适应记忆(推理)耦合成闭环,在 MLE-Bench 全部 75 个任务上拿到 29.3% 奖牌率(当时 SOTA,此前最好是 R&D-Agent 的 22.4%),且只用 12 小时——基线的一半时间预算。
这是什么 MLE-Bench 是 OpenAI 出的基准:75 个 Kaggle 机器学习竞赛,agent 要端到端完成数据处理、建模、调参、提交,按人类选手奖牌线打分。在 ML-Master 之前,主流做法(AIDE、R&D-Agent 等)要么做树搜索但推理和探索脱节,要么有推理但记忆机制固定——agent 在探索中积累的经验没有真正回流到推理过程里。
ML-Master 的核心主张是把两者做成闭环:多条解决方案轨迹并行探索,每条轨迹的洞察和执行反馈被有选择地压缩成记忆,直接嵌进推理模型(DeepSeek-R1)的 think 段;推理产出的计划又反过来指导下一步往哪个分支探索。团队来自上海交大 SAI(作者含鄂维南、Siheng Chen),是 SciMaster 系列(X-Master、Browse-Master)的一员,后续演化为 ML-Master 2.0 和 EvoMaster 框架。
系统总览:左边是 MCTS 式多轨迹并行探索树,agent 选中节点后从父节点+兄弟节点收集记忆(中);右边是 steerable reasoning——记忆 M_t 被直接嵌进 DeepSeek-R1 的 <think> 段,产出 plan+code,执行结果(insight、代码、日志分数)再写回树节点,形成闭环。看懂这张图就看懂了整个方法。 机制与做法 Balanced multi-trajectory exploration:MCTS 改造版树搜索
把 ML 开发过程建模为 MCTS:每个节点是一个方案状态,边是三种动作之一——Draft(写初版可运行代码)、Debug(修错)、Improve(调数据预处理/模型结构/优化器)。选择用标准 UCT,外加两个剪枝规则:连续 3 次 Improve 提升不到 0.001 就标记终止(improvement-based termination),连续 debug 超过 20 层也终止(debugging depth constraint),防止在死分支上耗时间。
并行部分是异步 branch-parallel:所有 worker 先一起展开根节点,然后按 UCT 取 top-k 节点各开一条独立搜索线程(实验中并行度为 3);某线程搜完自己的分支后回到根,认领 UCT 最高且没被别人占用的子节点。reward 由三个 0/1 项相加:是否刷新最优指标、是否修复了父节点的 bug、是否完成一轮改进;有缺陷直接 -1。
解的质量随时间的演化:纵轴是当前最优解相对初版的改进百分比。前 2 小时改进最陡,12 小时末仍在缓慢上升(约 +120%),说明树搜索+记忆的迭代在长时间预算下持续有效,也是作者选 12h 预算的底气。 Steerable reasoning:把记忆塞进 <think> 里
最有辨识度的设计:上下文记忆不是拼在 prompt 指令区,而是直接嵌入 DeepSeek-R1 的 reasoning(think)段。记忆 M_t 只取两类来源——当前分支的直接父节点(保证逻辑连续)+ 同一深度的并行兄弟节点(提供对比信号,避免重复走别人已探索的路),每条包含提炼后的 insight、代码片段、执行日志和分数,而不是完整历史,防止上下文爆炸。
工程上这个设计有代价:它要求 API 支持 completions.create 接口并能续写自定义 <think> 标签,绝大多数商业 API 提供商不支持,基本得本地部署 R1。仓库 feature-dev 分支干脆默认 steerable_reasoning=false,退化为普通 chat 接口,官方承认会有性能损失(README 与 issue #7 维护者回复均确认)。
实验设置
代码模型 DeepSeek-R1-0120,GPT-4o 仅用于反馈/评估(与 MLE-Bench 官方一致)。每个 agent 配 36 vCPU + 1 张 A100,单任务限时 12 小时(基线是 24 小时)。主结果为 3 个随机种子的均值±SEM;基线数字大多直接引 MLE-Bench 官方报告,只有 AIDE+R1 是自己跑的(且只跑了 1 次)。
关键结果 MLE-Bench 全量 75 任务:任意奖牌率 29.3%±0.8,超过此前最好的 R&D-Agent(o1-preview,22.4%),其中金牌率 17.3%;时间预算只有基线一半(12h vs 24h)。 有效提交率 93.3%,44.9% 的任务成绩超过人类提交中位数(AIDE+o1-preview 分别为 82.8% / 29.4%)。 分难度看:medium 任务奖牌率 20.2%,是此前 SOTA(R&D-Agent 8.9%)的两倍多;high 任务 24.4% vs 18.7%。中高难度提升最明显,支持'记忆+推理耦合在复杂任务上更有用'的叙事。 同模型对照:AIDE 换用 DeepSeek-R1 只有 14.7% 奖牌率,ML-Master 用同一个 R1 拿 29.3%,说明增益主要来自框架而非底座模型。 解的质量随时间持续上升:12 小时内最优解相对初版的改进率一路爬到约 120%,前 2 小时最陡,后段仍缓慢上升(test-time scaling 特征)。 后续:2025 年 12 月 ML-Master 2.0 在 MLE-Bench 榜单达 56.44%(相对 1.0 提升 92.7%),2026 年 1 月发 2.0 论文(arXiv 2601.10402),框架并入开源的 EvoMaster。 实证核查
扎实 代码完整开源且结构与论文对得上,当时确实登顶 MLE-Bench 榜单,issues 里没有复现失败的反例;但 v1 论文没有 ablation,'steerable reasoning' 组件对普通用户几乎不可用(需本地部署 R1),这两点要打折看。
提出 steerable reasoning + 自适应记忆 + 并行 MCTS 的完整框架,并开源官方实现。
属实。仓库 sjtu-sai-agents/ML-Master(447 stars,持续维护到 2026-03)结构与论文一致:main_mcts.py、search/、agent/、interpreter/、grading_server.py 等,提供 Docker 镜像和完整 run.sh。代码在论文(2025-06-19)发布约 7 周后的 2025-08-08 才放出,期间 README 挂了两个月'coming soon'(issue #1 即催开源)。
steerable reasoning 是核心贡献:把记忆嵌入 R1 的 <think> 段。
复现门槛很高。README 明确要求 API 支持自定义 <think> 标签续写(client.completions.create),维护者在 issue #7 中承认'大多数 API 提供商不支持,一般需要本地部署 R1',并且 feature-dev 分支默认关闭该功能(steerable_reasoning=false),官方承认关闭后有性能损失但未给量化数字——v1 论文也没有任何 ablation(experiment.tex 结尾原话:'We are actively conducting further ablation experiments...will report them in updated versions'),所以该组件到底贡献多少提升,在这版论文里无法判断。
29.3% 奖牌率显著超过所有基线,且只用一半时间预算。
数字本身可信(3 seeds ± SEM,MLE-Bench 官方 leaderboard 收录),但对比有不对齐处:基线数字大多直接引自 MLE-Bench 报告(24h、不同硬件),自己跑的 AIDE+R1 对照只有单次运行(论文表格中标 *)。没有发现第三方独立复现出 29.3% 的报告;issue #4 有人做了独立民间实现(leoncuhk/ml-master)但只是学习性质、未报告 MLE-Bench 分数。
(README)ML-Master 2.0 达到 MLE-Bench 榜首 56.44%。
2.0 是另一篇论文(arXiv 2601.10402,方法换成了 Hierarchical Cognitive Caching)。注意 2.0 的代码开源经历了长期跳票——issue #9/#11/#12/#13/#14 反复催,直到 2026 年 3 月才以 EvoMaster 框架形式放出。本条目只评 1.0,2.0 的声称未在此核查。
与我们方向的关系 对做 autoresearch/实验执行 agent 的同学,这篇是 2025 年'搜索型 MLE agent'谱系(AIDE → R&D-Agent → ML-Master → 2.0/EvoMaster)里承上启下的一环,值得借鉴的具体点有三个:一是把 memory 限定在父节点+同深度兄弟节点这个'选择性作用域',比全历史回放便宜且自带去重/对比信号;二是 UCT 之外的两个工程化剪枝阈值(改进停滞 3 次、debug 深度 20)是实际跑长时任务防止空转的实用配方;三是同模型对照(AIDE+R1 14.7% vs ML-Master+R1 29.3%)是论证'框架增益'的干净写法,我们自己做 agent 评测时可以照搬。
坑也明确:把上下文注入 <think> 段依赖 completions 续写接口,换闭源模型(gpt-5 等)就只能关掉,方法的可移植性受限。如果课题组想复用这套思路,更稳妥的做法是走 feature-dev 分支的 chat 接口版本,或者把'记忆进 think'改造成 prompt 层面的等价物再自己 ablate。
阅读笔记 v1 论文(NeurIPS 2025 模板)没有 ablation 和成本(API 花费)报告是最大缺憾;12h × 75 任务 × 3 seeds × 并行度 3 的 R1 调用成本论文未披露。读代码建议直接看 feature-dev 分支,可读性明显更好。
材料清单 TeX 源码 已存档:Raw/ml-master/source/
同类条目