【免费下载链接】ASI-Evolve
ASI-Evolve 是一个通用 AI 自主研究框架,它能像研究员一样"读文献 → 提假设 → 跑实验 → 复盘总结",并把这个循环自主重复下去。它自带的圆装箱(Circle Packing)Demo 任务很简单:在单位正方形内摆放 26 个圆,让所有圆的半径之和最大。这个基准的 SOTA 参考值是 AlphaEvolve 给出的2.635,而 ASI-Evolve 最快只需17 轮进化就能逼近这一成绩。本文将完整复盘这轮进化的任务设定、运行机制和逐阶段演化过程。
一、ASI-Evolve 的核心进化循环:四个动作不断重复
ASI-Evolve 的工作方式可以概括为一个四步循环,每一轮都执行一次:
| 步骤 | 动作 | 通俗解释 |
|---|---|---|
| 1️⃣ LEARN | 检索历史实验与领域知识 | "翻翻以前的笔记和论文" |
| 2️⃣ DESIGN | 提出下一个候选程序 | "设计新方案" |
| 3️⃣ EXPERIMENT | 运行并采集结构化指标 | "跑实验拿数据" |
| 4️⃣ ANALYZE | 把结果沉淀为可复用教训 | "写复盘报告" |
这个循环由三个 Agent 协作驱动,源码位于 pipeline/ 目录:
- Researcher(pipeline/researcher/):读取实验数据库和认知库,提出下一个候选程序
- Engineer(pipeline/engineer/):执行候选代码,收集结构化指标
- Analyzer(pipeline/analyzer/):把结果蒸馏成可迁移的教训,供后续轮次使用
还有两套"记忆系统"防止进化原地打转:
- Cognition Store(认知库,cognition/cognition.py):预先注入领域知识、论文结论和启发式规则,AI 不从零开始
- Experiment Database(实验库,database/database.py):记录每一次尝试的动机、代码、结果和分析,父代选择支持 UCB1、贪心、随机和 Island 岛屿采样
二、任务设定:圆装箱 Demo 是怎么搭起来的
圆装箱 Demo 位于 experiments/circle_packing_demo/,一个目录包含运行所需的全部文件:
circle_packing_demo/ |-- input.md ← 任务描述(问题 + 目标分数 2.635) |-- initial_program ← 初始基线程序 |-- evaluator.py ← 评测器:跑程序、校验合法性、打分 |-- eval.sh ← 每轮调用的评测入口脚本 |-- init_cognition.py ← 注入领域知识的"认知种子" |-- config.yaml ← 实验配置 `-- prompts/ ← Researcher / Analyzer 的提示词模板几个关键设计:
- 目标明确:任务描述 input.md 直接写明 n=26 时 AlphaEvolve 的参考值2.635,让 AI 始终知道"终点在哪"。
- 评测器即裁判:evaluator.py 会在独立子进程中运行候选程序(带超时保护),逐一校验"圆不出界、两圆不相交",合法则按半径之和打分,非法直接记 0 分。
- 认知种子提前打:init_cognition.py 预置了约 10 条领域知识,包括"六边形密排密度 π/(2√3)≈0.9069""边界效应:大圆放角落""用 SLSQP 多起点优化""differential_evolution 突破平台期"等——相当于让 AI 带着"教材"开工。
💡 这套"任务描述 + 评测器 + 认知种子"的三件套,就是把你自己的问题接入 ASI-Evolve 的全部成本。
三、快速运行:三步启动圆装箱进化实验
在仓库根目录执行(仓库地址:https://gitcode.com/gh_mirrors/as/ASI-Evolve ):
git clone https://gitcode.com/gh_mirrors/as/ASI-Evolve cd ASI-Evolve && pip install -r requirements.txt # 1. 初始化认知库 python experiments/circle_packing_demo/init_cognition.py # 2. 运行进化(--eval-script 需传绝对路径) python main.py \ --experiment circle_packing_demo \ --steps 10 \ --sample-n 3 \ --eval-script /绝对路径/experiments/circle_packing_demo/eval.sh注意 config.yaml 中有两个与进化质量强相关的设置:
sample_n: 3:每轮给 Researcher 展示 3 个历史节点作为参考sampling.algorithm: "island":使用 MAP-Elites 风格的岛屿采样,按complexity(代码复杂度)和diversity(结构多样性)两个维度分箱,兼顾"挖深"和"探索",避免所有轮次都围着同一个局部最优打转
四、逐轮进化复盘:从同心圆基线到 17 轮逼近 SOTA
仓库在 experiments/best/circle_packing/ 目录保存了消融运行中的高分程序,配合代码注释里的阶段痕迹(如v1、Refine、EvoRefiner等命名),可以完整还原出这条进化轨迹。大致可分为四个阶段:
阶段 1:几何基线 → 优化器入场(前几轮)
初始程序 initial_program 用的是一个朴素的同心圆环布局:中心 1 个大圆 + 内环 8 个 + 外环 16 个,再用"距离边界取最小值 + 重叠时等比缩放"来硬算半径。它保证合法,但分数离 2.635 相去甚远。
前几轮的进化很快找到了正确方向:放弃硬编码布局,改用"先定圆心、再算最大合法半径"的构造式思路。这正是认知种子里"多起点 + 约束优化"知识的直接落地。
阶段 2:多起点局部优化(中段轮次)
代表性产物是 code_ucb17,其结构是:
- 多种几何种子:六边形密排式、四角加强式、贪心最远插入式 + 抖动变体,共 3~5 个起点
- 解析式最大半径:固定圆心时,半径上限 = min(到四壁距离, 到最近邻圆距离的一半) 减去 epsilon,无需迭代即可算出
- 逐种子 L-BFGS-B 局部精修圆心,保留最优者
- differential_evolution 全局搜索(种群以最优解扰动初始化),逃离局部最优
- SLSQP 联合精修圆心 + 半径,带显式不等式约束,最后做合法性修复
到第 17 轮前后,这一路线已逼近 SOTA 水平——也就是 README 所说"最快 17 轮达到 SOTA 级结果"的由来。
阶段 3:LP 内环,把"算半径"交给线性规划(中后段)
中段出现了一次关键的结构升级:固定圆心时,"求最大合法半径和"本身就是一个线性规划问题(r_i + r_j ≤ d_ij)。code_map79 与 code_map147 都采用了"双层求解":
- 内层:用
scipy.optimize.linprog(HiGHS 后端)精确求解固定圆心下的最优半径——比"最近邻一半"的解析近似更优,因为它考虑了全部成对约束 - 外层:用 differential_evolution 搜索圆心
- 收尾:SLSQP 联合精修 + 时间预算控制(
time_budget参数),保证每轮评测不超时
这体现了 Analyzer 的复盘价值:早期"解析半径略保守"的教训被显式写入后续节点,Researcher 据此改用了更精确的 LP 内环。
阶段 4:高精度收尾(后期轮次)
code_map286 把这套管线打磨到极致:LP 容差细化到 1e-9、SLSQP 的maxiter拉到 4000、ftol压到 1e-12,并保留"最终 LP 挤水(squeeze)"步骤——在最优圆心下再榨出最后一点半径。后期轮次的改动越来越小,分数提升越来越微,这正是进化收敛的典型特征。
五、为什么 ASI-Evolve 能这么快逼近 SOTA?
复盘整个进化过程,有四个因素值得借鉴:
- 带着知识开工:认知库中的"六边形密排、SLSQP 多起点、DE 突破平台期"等条目,让第一轮就站在成熟方法论的肩膀上,而不是盲试。提示词模板 researcher.jinja2 还会把几何洞察(密排密度、边界效应)直接写进系统提示。
- 每轮都留"证据链":Analyzer 按 analyzer.jinja2 的要求输出"分数对比、哪些选择有效、下一步具体改什么、与参考节点逐项对比",教训以文本形式进入数据库,被后续轮次检索复用。
- 岛屿采样防止近亲繁殖:island 算法按复杂度/多样性分箱(database/algorithms/island.py),保证"短代码"和"长代码"、"相似结构"和"全新结构"的候选都有机会被选为父代。
- 评测器零容忍:越界或重叠直接 0 分,进化压力全部集中在"合法前提下的半径和",分数曲线单调可比。
六、把这套方法迁移到你自己的任务
如果你有一个"代码写得更好 = 结果更好"的问题(调度策略、启发式算法、流水线调参),只需准备三样东西,就能复用这套流程:
- 一个
input.md式的问题描述(含明确的优化目标和参考基准) - 一个
evaluator.py+eval.sh式评测器(输入程序路径,输出结构化分数) - 一份
init_cognition.py式领域知识种子
完整的仓库结构见 README.md,核心调度逻辑在 pipeline/main.py(支持断点续跑、4 路并行 worker),轻量化试用可以先装 skills/evolve/ 下的 Evolve Agent Skill。
总结
ASI-Evolve 的圆装箱 Demo 用一次真实的进化过程演示了它的核心主张:给 AI 一个可评测的问题和一份领域知识,它就会自己完成"假设—实验—复盘"的科研闭环。从同心圆基线到六边形密排,从解析半径到 LP 内环,再到高精度收尾,17 轮内逼近 SOTA 的每一步都有据可查、可复现。这也意味着,你完全可以用同样的方式,让它去攻你自己的"硬问题"。
【免费下载链接】ASI-Evolve
相关推荐
10分钟快速上手ASI-Evolve:圆装箱Demo安装配置与首轮演化实战教程
10分钟快速上手ASI Evolve:圆装箱Demo安装配置与首轮演化实战教程 ASI Evolve 是一个开源的 AI 自动研究(agentic)框架,能自动
OBS Studio"应用 LUT"滤镜实战指南:一张查表文件换掉整个直播观感
OBS Studio"应用 LUT"滤镜实战指南:一张查表文件换掉整个直播观感 OBS Studio 内置的 Apply LUT 滤镜,让你只用一张图片就能给画
音视频直播屏幕录制视频处理桌面应用7 轮加 4 轮的数学:DeepOpen 两阶段微调如何在 3080 条样本上逼近 94.09%
7 轮加 4 轮的数学:DeepOpen 两阶段微调如何在 3080 条样本上逼近 94.09% 在意图分类这类结构化决策任务上,传统做法是拿着预训练编码器一口
人工智能大模型模型推理服务强化学习NLP
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考