AI优化|AI研究的“套娃时刻“:让AI优化“AI怎么优化“,性能暴涨5倍

编
想象一下:你让 AI 自动调参,跑了30轮后它开始反复提出同样的方案,彻底卡住了。这时候,另一个 AI 介入——它读了搜索日志,诊断出了问题,从组合优化领域借来了"禁忌搜索"的思想,写了一段 Python 代码注入进去。卡住的 AI 突然开始探索全新的方向,最终性能翻了 5 倍。这不是科幻,这是刚发布的"双层自动研究"框架做到的事情。
1. 研究背景
1.1 自动研究的兴起
2025年以来,"自动研究"(Autoresearch)成为 AI 领域的热门范式。其核心思想非常简单:
提出方案 → 执行实验 → 评估结果 → 保留/丢弃 → 重复
Karpathy 的 autoresearch 项目率先在 GPT 预训练场景中实现了这一范式:用 LLM 自动提出超参数修改方案,训练模型,测量 val_bpb(验证集 bits-per-byte),保留好的修改、丢弃坏的。这一"单层循环"取得了不错的效果,也催生了 AutoResearchClaw(多批次并行)和 EvoScientist(持久化记忆)等后续工作。
1.2 单层循环的瓶颈
然而,所有这些系统都有一个共同的局限:搜索策略是人类硬编码的。
LLM 负责提出具体的参数修改方案(比如"把学习率从 3e-4 调到 2e-4"),但 如何搜索——用什么策略提出方案、如何避免重复、何时从探索切换到利用——这些都由人类工程师在代码中预先设定,且永远不会改变。
这导致了一个典型的问题:搜索陷入停滞。LLM 反复提出类似的学习率微调方案,忽略了可能更有价值的批次大小或模型深度的修改。搜索策略本身成为了瓶颈,但系统没有能力自我诊断和修复这个瓶颈。
1.3 核心问题
如果自动研究本身是一种研究形式,那么自动研究能否研究自己?
这正是本文要回答的问题。
2. 核心方法:双层架构
本文提出了一种双层嵌套循环的框架:
|
层级 |
角色 |
改变什么 |
|---|---|---|
| Level 1
(内层) |
任务执行者 |
具体的任务输出(超参数、代码等) |
| Level 2
(外层) |
战略创新 |
内层循环的代码结构(发明并注入新的搜索机制) |
在实验中,为了更精细地分离贡献,将外层进一步拆分为 Level 1.5(配置调整:冻结/解冻参数、策略切换)和 Level 2(机制发明:生成新代码并注入),但核心设计是两层。
2.1 Level 1:标准的自动研究循环
Level 1 执行经典的"提出-执行-评估-保留"循环。LLM 基于当前配置和历史记录,提出修改方案,然后实际执行来评估效果。
2.2 Level 2:自主发明搜索机制(核心创新)
Level 2 是本文最关键的贡献。它不调参数,不改配置——它写代码。
Level 2 的工作流程:
-
读取 Level 1 的源代码和搜索轨迹
-
诊断 搜索过程中的结构性瓶颈(如"LLM 反复提出相同方案")
-
从邻近算法领域构思解决方案(如组合优化中的禁忌搜索)
-
生成完整的 Python 代码实现该机制
-
通过
importlib动态注入到正在运行的 Level 1 中
关键约束:Level 2 生成的机制必须是领域无关的(不依赖于特定任务的先验知识),这确保了同一套 Level 2 可以应用于不同的优化问题。
3. 关键实验
3.1 实验设置
在 Karpathy 的 GPT 预训练基准上进行了严格的消融实验:
-
硬件:RTX 5090
-
训练预算:每次迭代 300 秒
-
LLM:所有层级统一使用 DeepSeek(确保公平比较)
-
设计:3 组 × 3 次独立重复 × 30 次迭代
3.2 实验结果
|
实验组 |
包含层级 |
平均 Δval_bpb |
相对基线 |
|---|---|---|---|
| A
— 仅 Level 1 |
标准自动研究 |
-0.009 ± 0.002 |
1× |
| B
— Level 1 + 1.5 |
+ 外层配置调整 |
-0.006 ± 0.006 |
0.7× |
| C
— Level 1 + 1.5 + 2 |
+ 外层机制发明 |
-0.045 ± 0.030 | 5× |
| D
— Level 1 + 2 |
+ 机制发明(无配置调整) |
-0.034 ± 0.031 |
3.8× |
基线 val_bpb ≈ 1.10,数值越负越好。3 次独立重复 × 30 次迭代。
核心发现:
-
光加"战术调整层"(Level 1.5,Group B),性能反而下降了——说明光调配置没有用。
-
一旦加入"机制发明层"(Level 2),无论有没有 Level 1.5,性能都大幅提升(C=5×,D=3.8×)。
-
Level 2 是提升的主要驱动力,Level 1.5 不是必需的。
这个对比说明了一个关键洞察:真正的瓶颈不在参数上,而在搜索策略本身。
3.3 为什么 Level 2 赢了?
没有外层帮助的 Group A 像一个只会走直线的人:先调 WEIGHT_DECAY,再调 WINDOW_PATTERN,然后连续 20 多轮提出几乎一模一样的方案,彻底卡死。
而 Level 2 注入的禁忌搜索机制逼着它换方向,正交探索机制强制它覆盖未知区域——最终发现了一个所有组都没碰过的关键参数:减小 TOTAL_BATCH_SIZE。这个方向 Group A 和 Group B 连尝试都没尝试过。
4. 自主发现的机制
每次独立重复实验中,Level 2 从不同的算法领域独立发现了不同的搜索机制——无需人类指定应该从哪些领域寻找灵感:
|
机制 |
来源领域 |
功能 |
|---|---|---|
| 禁忌搜索管理器 |
组合优化 |
记录近期访问的参数区域,阻止 LLM 重复提出类似方案 |
| 多尺度老虎机 |
在线学习 / MAB |
在不同参数维度之间平衡探索与利用 |
| 正交探索 |
实验设计 |
强制搜索沿正交的参数维度进行,确保覆盖率 |
以禁忌搜索管理器为例:它维护一个"近期访问过的参数区域"列表,每当 LLM 提出新方案时,检查其与列表中条目的相似度——如果超过 80%,直接阻止该提案,迫使 LLM 去尝试完全不同的方向。整个机制仅 30 行 Python 代码,却有效地打破了搜索的死循环。
值得强调的是,这些机制是 LLM 在搜索过程中自主发现并实现的。Level 2 的提示词只是说"分析搜索瓶颈并提出改进",并没有指定应该从哪些算法领域寻找灵感——LLM 独立地从组合优化和在线学习领域找到了这些经典解决方案,并将它们适配到了当前的搜索框架中。
5. 更广泛的视角
5.1 与现有工作的关系
|
系统 |
Level 1 |
Level 1.5 |
Level 2 |
代码生成 |
|---|---|---|---|---|
|
Karpathy autoresearch |
✓ |
- |
- |
- |
|
AutoResearchClaw |
✓(并行) |
- |
- |
- |
|
EvoScientist |
✓(记忆) |
- |
- |
- |
| Bilevel Autoresearch | ✓ | ✓ | ✓ | ✓ |
所有现有系统的搜索策略都是人类硬编码的。本文的贡献在于:让 AI 拥有改写搜索策略本身的能力。
5.2 与运筹优化的联系
本文的双层结构与运筹学中的双层优化(Bilevel Optimization)和超启发式(Hyper-heuristic)框架有天然的联系:
-
双层优化视角:上层问题(Leader)优化搜索机制的设计,下层问题(Follower)在给定机制下执行具体的参数搜索。这与经典的 Stackelberg 博弈结构完全对应。
-
超启发式视角:Level 2 本质上就是一个 hyper-heuristic——它不直接解决问题,而是选择和生成解决问题的启发式算法。不同之处在于,传统超启发式从预定义的算法库中选择,而 Level 2 直接生成新的算法代码。
-
自动算法配置视角:与 SMAC、irace 等自动算法配置工具相比,Level 2 不仅调整算法的参数,还能改变算法的结构。
更本质的区别在于:传统双层优化的上下层通常共享连续的决策空间,而本文的上层决策空间是代码空间——一个离散的、结构化的、无限维的空间。这也是为什么需要 LLM 作为上层的"求解器"——传统的优化方法无法在代码空间中有效搜索。这为运筹学社区提出了一个新的理论挑战:如何在程序空间中建立有效的双层优化理论?
5.3 终极目标:递归自举
双层架构天然支持一个更深远的可能性——递归机制反馈(Recursive Bootstrapping)。
如果 Level 2 发现某个机制(如禁忌搜索、持久化记忆、多智能体辩论)显著提升了 Level 1 的搜索效率,那么同样的机制可以被抽象后反向应用于 Level 2 自身。
Level 2 发明"禁忌搜索"加速 Level 1
→ 禁忌搜索被泛化
→ 泛化后的禁忌搜索被应用于 Level 2 的机制搜索过程
→ Level 2 更快地发明新机制
→ Level 1 更快地优化任务
系统学会了"如何学习",然后将这些经验应用于自身的元学习过程。这将框架从"自动化优化"推向了真正的自我演化数字生态系统。
5.4 无限层级扩展:Level 3, 4, 5...
双层架构并不是终点。一旦 Level 2 的范式被验证有效,它天然可以向上无限堆叠:
|
层级 |
优化对象 |
类比 |
|---|---|---|
|
Level 1 |
任务本身(超参数、代码) |
工人执行任务 |
|
Level 2 |
Level 1 的搜索机制 |
工程师改进工具 |
| Level 3 | Level 2 的机制发明策略 | 研究主管设计研究方法论 |
| Level 4 | Level 3 的元策略 | 科研体制的设计者 |
| Level N | Level N-1 的过程 | N 阶元优化 |
每一层都遵循同样的模式:读取下层的代码和轨迹 → 诊断瓶颈 → 生成改进代码 → 注入。唯一的区别是优化对象从"任务参数"逐步上升到"搜索策略"、"策略的策略",直至"研究范式本身"。
这与控制论中的高阶控制(Higher-Order Control)和认知科学中的元认知层级(Metacognitive Hierarchy)有深刻的对应关系。当前的实验验证了 Level 1→2 的有效性;Level 3+ 的探索是一个开放的研究方向,其核心挑战在于:随着层级的增加,每层的反馈信号越来越稀疏,收敛速度越来越慢——如何在有限的计算预算内让高阶层级产生实际价值,是未来研究的关键问题。
5.5 核心愿景
Autoresearch anything with a measurable objective.
任何有可度量目标的问题,都可以用自动研究来优化。
双层框架不仅适用于 ML 训练优化,同样适用于:
-
多智能体协调:外层优化智能体之间的协作策略
-
项目管理:外层优化团队的工作流程
-
实验调度:外层优化实验设计的策略
-
代码优化、供应链调度、组合优化等任何有可度量目标的场景
关键洞察是:只要内层循环有一个可度量的目标函数,外层循环就可以优化内层的搜索过程——这是一个与具体领域无关的通用范式。
6. 开源与工具
代码仓库
项目已完全开源,包含:
-
核心框架:领域无关的双层循环控制器
-
两个示例领域:文章优化(无 GPU)和 GPT 训练优化(需 GPU)
-
27 个自主发现的搜索机制:完整的 Python 实现
-
110 个单元测试:全部离线运行,无需 API key
-
消融实验的完整数据和脚本
GitHub:https://github.com/EdwardOptimization/Bilevel-Autoresearch
Claude Code Skill
项目还发布了一个 Claude Code Skill,让用户可以在自己的优化循环中一键使用 Level 2 的机制研究能力:
npx skills add EdwardOptimization/Bilevel-Autoresearch@level2-research
安装后,当你的优化循环陷入停滞时,只需:
> /level2-research
> "我的优化循环一直在重复相同的提案,帮我改进搜索策略"
Level 2 会读取你的代码和搜索轨迹,诊断瓶颈,并生成可直接使用的 Python 机制代码。
7. 总结
本文的核心贡献可以用一句话概括:
让 AI 不仅优化任务本身,还优化"如何优化"这个过程。
通过引入 Level 2——一个能够自主发明搜索机制并以代码形式注入的外层循环——项目实现了从"自动化优化"到"自动化研究方法论"的跨越。实验证明,这种结构性的自我改进带来了 5 倍的性能提升,远超简单的参数调整。
当 AI 学会改造自己的搜索策略时,一个有趣的问题浮现了:它改造的能力本身,是否也可以被改造?这条递归的路,我们才刚刚走出第一步。
代码已全部开源,欢迎试用和交流。
论文信息
论文题目:Bilevel Autoresearch: Meta-Autoresearching Itself
作者:Yaonan Qu, Meng Lu
论文链接:https://arxiv.org/abs/2603.23420
代码开源:https://github.com/EdwardOptimization/Bilevel-Autoresearch
Claude Code Skill:npx skills add EdwardOptimization/Bilevel-Autoresearch@level2-research
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)