← 返回资料站  /  AI for AI
论文 算法发现 ★ 必读

ShinkaEvolve: Towards Open-Ended and Sample-Efficient Program Evolution

ShinkaEvolve:样本高效的开源程序进化框架
一句话Sakana AI 的开源 LLM 程序进化框架:靠三个机制(探索/利用平衡的 parent 采样、代码新颖性拒绝采样、bandit 动态选 LLM),circle packing 只用约 150 次程序评估就略超 AlphaEvolve(2.635983 vs ~2.63586),另外三个任务里最亮眼的是自动进化出一个新的 MoE 负载均衡损失;ICLR 2026 接收,仓库持续活跃维护。

这是什么

AlphaEvolve(DeepMind, 2025)证明了'LLM 当变异算子 + 进化搜索'能发现超越人类的算法,但它闭源、且单个任务动辄消耗上千到上万次程序评估。ShinkaEvolve(shinka 是日语'進化')是 Sakana AI 对这条路线的开源回应,目标直指两个痛点:样本效率和可用性。作者是 Robert Lange、Yuki Imajuku、Edoardo Cetin 三人,2025 年 9 月放出 arXiv 和代码,后被 ICLR 2026 接收。

框架本体是一个进化循环:维护若干 island 子种群的程序 archive,每代采样 parent + inspiration 程序塞进 prompt,让一个 LLM ensemble 提出 diff / full rewrite / crossover 三种变异,通过新颖性过滤后执行评估,把 fitness、公开指标和文本反馈写回 archive。用户只需要提供 initial.py(用 EVOLVE-BLOCK 标记可变异区域)和 evaluate.py(verifier),适用于一切'有可自动打分的 verifier'的任务。

论文在四个差异很大的任务上做了演示:circle packing 数学构造、AIME 数学推理的 agent scaffold 设计、ALE-Bench 组合优化编程赛、以及 MoE 负载均衡损失(LBL)的发现——最后一个是直接'用 AI 改进 AI 训练组件'的案例,发现的新损失项迁移到 2.7B 模型 30B token 训练上仍然一致优于 Qwen3 用的 global-batch LBL。

左:进化循环架构——parent/context 采样 → LLM 生成后代 → novelty 过滤 → 评估 → 反馈归档。右:circle packing 上的样本效率对比,ShinkaEvolve 约 150 次评估达到 2.63598,LLM4AD 需要约 10^4 次;注意 AlphaEvolve 那条虚线的样本数论文标注为'# Samples?'(未知)。
左:进化循环架构——parent/context 采样 → LLM 生成后代 → novelty 过滤 → 评估 → 反馈归档。右:circle packing 上的样本效率对比,ShinkaEvolve 约 150 次评估达到 2.63598,LLM4AD 需要约 10^4 次;注意 AlphaEvolve 那条虚线的样本数论文标注为'# Samples?'(未知)。

机制与做法

Parent 采样:在探索和利用之间做概率插值

Archive 按 island 组织(独立子种群 + 偶尔迁移,最优个体不迁移以保护多样性),每代先均匀抽一个 island,再从中选 parent。核心是 weighted sampling:性能项用 sigmoid(λ·(fitness − 种群中位数)),新颖性项用 1/(1+后代数),两者相乘作为采样权重——分数高且还没被反复挖掘过的程序优先当 parent。备选还有 power-law 排名采样(α=0 退化为均匀,α→∞ 退化为 hill climbing)。消融显示 weighted sampling 全程稳定爬升,hill climbing 起得快但很快平台期,best-of-N 最差。

circle packing 主结果。左:最优分数(红)、单次评估(黑点)与累计 API 成本(黄,整个 run 约 $12)随评估次数的变化,标注了各阶段发现的策略(黄金角螺旋、全局环旋转、SLSQP 精修等)。右:程序进化树,黑色路径是通往最优解的 stepping stones,红叉是失败变异——可以看到大量并行探索分支。
circle packing 主结果。左:最优分数(红)、单次评估(黑点)与累计 API 成本(黄,整个 run 约 $12)随评估次数的变化,标注了各阶段发现的策略(黄金角螺旋、全局环旋转、SLSQP 精修等)。右:程序进化树,黑色路径是通往最优解的 stepping stones,红叉是失败变异——可以看到大量并行探索分支。

新颖性拒绝采样:不浪费评估预算在重复程序上

LLM 提出的变异先不急着执行:把可变异代码段用 embedding 模型(text-embedding-3-small)编码,和 island 内已有程序算余弦相似度,超过阈值(0.95)就再让一个便宜 LLM 当 novelty judge 判断是否'实质不同',不新颖就拒绝重采。消融里这是收益最大的组件之一:embedding 拒绝采样对比不做拒绝提升显著,LLM judge 在其上只有边际增益。评估很贵、LLM proposal 相对便宜,这一步是样本效率的主要来源。

三组消融(circle packing):weighted parent 采样 > hill climbing > best-of-N;bandit 选 LLM > 固定 ensemble > 单模型;embedding 新颖性拒绝采样贡献显著而 LLM-judge 只有边际增益。三个核心组件各自的贡献都能看到。
三组消融(circle packing):weighted parent 采样 > hill climbing > best-of-N;bandit 选 LLM > 固定 ensemble > 单模型;embedding 新颖性拒绝采样贡献显著而 LLM-judge 只有边际增益。三个核心组件各自的贡献都能看到。

Bandit 动态选 LLM + meta-scratchpad

变异模型从一个池子(如 gpt-4.1、claude-sonnet-4、o4-mini、gemini-2.5 系)里选,用改造过的 UCB1 在线调整各 LLM 的采样概率:reward 不用绝对 fitness,而是 exp(max(r − baseline, 0)) − 1,baseline 取 parent 和初始程序的较高者——只奖励真正带来改进的模型,且 exp 放大鼓励'高风险高回报'的大胆变异而非安全的小修小补。

每 T 代跑一次 meta-agent,总结近期成功程序的共性策略,生成'实施建议'附到后续变异 prompt 里,相当于把进化过程中的经验蒸馏成显式知识。执行反馈除标量 fitness 外还包括公开指标和文本反馈(text_feedback),都进 prompt 上下文。

进化发现的 MoE 负载均衡损失迁移到 2.7B 模型/30B token 的验证:左、中为下游任务准确率与 perplexity 对 global-batch LBL 的一致优势(差距随正则强度增大);右为新增正则项的梯度示意——只在某专家 token 分配低于阈值时激活,补上 global-batch LBL 对'半死专家'不敏感的盲区。
进化发现的 MoE 负载均衡损失迁移到 2.7B 模型/30B token 的验证:左、中为下游任务准确率与 perplexity 对 global-batch LBL 的一致优势(差距随正则强度增大);右为新增正则项的梯度示意——只在某专家 token 分配低于阈值时激活,补上 global-batch LBL 对'半死专家'不敏感的盲区。

四个任务的实验设置

Circle packing(26 圆放进单位方,最大化半径和):跑 150 代,fitness 用 OpenEvolve 的 verifier(容 1e-6 数值 slack);发现的解组合了黄金角螺旋初始化 + SLSQP 梯度精修 + 模拟退火全局扰动。AIME 2024:进化 agent scaffold,基座 gpt-4.1-nano、每题限 10 次 LLM 调用、75 代,每个候选跑 3 遍全卷。ALE-Bench LITE:以 ALE-Agent 的最优解为初始程序,50 代,public test 分数当 fitness。MoE LBL:在 556M 参数(64 专家选 8)、2B token fineweb 预训练上进化 30 代,fitness = 最终 CE + 负载不均衡度,然后把最优损失迁移到 2.7B/30B token 验证。

关键结果

实证核查

扎实框架本身开源兑现、持续维护、被外部实战采用(ICFP 2025 冠军),核心 circle packing 结果作者做了严格验证、社区多次跑出同分;但'新 SOTA'的领先幅度极小(0.005%)、对 AlphaEvolve 的样本数对比其实无从考证,MoE 和 ALE-Bench 两个展示性实验的代码/解未(完整)开源,样本效率也依赖前沿闭源模型 ensemble。
只用约 150 个样本发现 circle packing 新 SOTA,比现有方法样本效率高几个数量级。
三点折扣:(1) 主实验用的是 OpenEvolve 的 verifier,允许 1e-6 数值 slack;论文 appendix 承认改用 AlphaEvolve 的严格 verifier 后'需要评估更多样本'才能发现同级解(source/sections/appendix.tex L126)。(2) 相对 AlphaEvolve 的提升只有 2.635983 vs ~2.63586,约 0.005%;且论文自己的 Figure 1 里 AlphaEvolve 的样本数标注为 '# Samples?'——'几个数量级'的对比对象实际是 LLM4AD(~10^4 次)和 OpenEvolve(~460 次)。(3) 作者在 issue #34 中明确说 LLM 查询有随机性、无法精确复现论文中的搜索轨迹,但称多次独立 run 达到过相同分数。
开源 + 低成本,democratize 开放式发现。
框架确实全开源(Apache-2.0,1361 stars,持续维护到 2026-08,PyPI 可装),circle packing 一次 run 成本约 $12(论文 Fig 3 累计成本曲线)。但样本效率依赖前沿商业模型 ensemble(appendix 配置表:gpt-4.1/claude-sonnet-4/o4-mini 等):issue #44 中用户用本地 qwen3:8b 跑默认 large_budget 配置 150 代只到 1.6(SOTA 是 2.636),小模型下框架的样本效率优势基本消失。
发现了新的 MoE 负载均衡损失,并迁移到 2.7B 模型验证('AI 改进 AI 训练')。
这条是论文里唯一无法从仓库复核的实验:检查 paper 时期 commit c686d7f 的完整 git tree,不存在任何 MoE/load-balancing 任务代码(examples 只有 circle_packing、adas_aime、ale_bench、novelty_generator),训练与评测管线均未发布,只能靠论文公式和图。论文 appendix(L427)也自己承认:进化用与验证用的架构'quite similar'、训练预算有限,下游七基准的平均准确率差距在 0.357→0.370 这个量级。方向性结论可信,但强度只能存疑。
ALE-Bench 上平均提升 2.3%,ahc039 达到 AtCoder 假想第 2 名。
issue #49:第三方在 AWS c6i.2xlarge 上逐个评测 examples/ale_bench/ale_best,分数明显低于论文报告;作者(Yuki Imajuku)回应是评测脚本 13 路并行、4 物理核不够导致资源争抢,建议换 c6i.8xlarge——解释合理但未见第三方在大机器上二次确认。另外作者对'发布全部 10 个任务的发现解'的请求答复是'尚未决定',至今未发布;2026-02-16 的 commit('refactor(examples): refresh tasks and remove legacy benchmark suites')还把 ale_bench 和 adas_aime 两个论文任务从仓库移除了,现在的 examples 目录已无法直接复现论文这两个实验。
(README)ShinkaEvolve 支持 Team Unagi 赢得 ICFP 2025 编程大赛。
有独立可查的公开记录:ICFP Contest 2025 官方结果 Team Unagi 夺冠,Sakana 博客(sakana.ai/icfp-2025)有技术细节;这是框架在论文之外被实战使用的最强证据。仓库 issue 区活跃(180+ issues/PRs),多为功能扩展和 bug 修复,未见推翻核心结果的翻车帖。

与我们方向的关系

对 ai4ai / 算法发现方向,这是目前最值得直接上手的开源 evolutionary coding harness:与 AlphaEvolve(闭源)和 OpenEvolve(社区复刻)相比,它的三个机制——novelty 拒绝采样、UCB1 动态选 LLM、性能×新颖性加权的 parent 采样——都有消融支撑,而且都是可以单独摘出来用在自己搜索系统里的组件。'评估贵、proposal 便宜,所以在执行前用 embedding 过滤重复'这个思路对任何 LLM 驱动的搜索循环都适用。

MoE LBL 案例是'LLM 进化改进 LLM 训练组件'的直接模板:把训练组件(损失函数)写成可进化代码块、用小规模训练当 fitness、再放大验证迁移性。哪怕它的代码未开源,这个 pipeline 设计本身可以在课题组内复刻(556M 模型 2B token 的 fitness 评估在实验室算力范围内)。实际使用注意两点:样本效率数字建立在前沿 API 模型上,预算规划别按本地小模型估;仓库 2026-02 重构后与论文实验的对应关系变弱,复现论文要 checkout 早期 commit(如 c686d7f)。

阅读笔记

论文写作里 'demonstrating remarkable sample efficiency' 这类形容偏多,读的时候盯数字就好。ALE-Bench 一节作者难得地自我批评了'过拟合初始解'的问题,值得注意——以强初始解起步的进化更像局部精修而非发现。2026 年更新后的仓库(unified runner、agent skills、headless CLI 模型)已经比论文描述的系统丰富不少,读代码时以 docs 站为准。

材料清单

TeX 源码
已存档:Raw/shinkaevolve/source/
代码仓库github.com/SakanaAI/ShinkaEvolve
1361★ · 最近推送 2026-08-21
项目主页 / 报告sakana.ai/shinka-evolve/
文档站sakanaai.github.io/ShinkaEvolve/
2026-04 上线的完整文档:配置、异步进化、本地模型、agent skills
ICFP 2025 战绩sakana.ai/icfp-2025/
ShinkaEvolve 支持 Team Unagi 夺冠 ICFP 2025 编程大赛的技术复盘
OpenReviewopenreview.net/forum?id=lKEdGCoDNC
ICLR 2026 接收;评审内容需登录查看
复现讨论 issue #49github.com/SakanaAI/ShinkaEvolve/issues/49
第三方 ALE-Bench 复现分数偏低与作者回应(评测并行度/CPU 核数)

同类条目