算子开发自主编码智能体,英伟达 AVO 让不懂 CUDA 的 AI 写出顶级 GPU 内核 “盲编程“时代来了:
算子开发自主编码智能体 "盲编程"时代来了:英伟达 AVO 让不懂 CUDA 的 AI 写出顶级 GPU 内核 agennt
你指的应该是英伟达在 2026 年 3 月发布的AVO(Agentic Variation Operator,智能体变异算子)技术。这是一项让 AI 智能体自主进化、优化 GPU 内核代码的重磅研究,在开发者圈子里引发了很大震动。
核心亮点
| 维度 | 详情 |
|---|---|
| 全称 | Agentic Variation Operator(智能体变异算子) |
| 发布时间 | 2026 年 3 月 25 日,论文提交至 arXiv |
| 核心思想 | 用自主编码智能体取代传统进化搜索中的固定变异/交叉操作,实现全流程无人干预的代码优化 |
| 测试平台 | NVIDIA Blackwell B200 GPU |
| 优化目标 | 多头注意力(MHA)内核——Transformer 的核心算子 |
实验结果
AVO 智能体在7 天内无人工干预、自主运行,探索了500+个优化方向,迭代出40个有效内核版本:
- BF16 吞吐量:1668 TFLOPS
- 相比 cuDNN(英伟达官方闭源库):最高提升3.5%
- 相比 FlashAttention-4(当前最强开源基准):最高提升10.5%
为什么这件事很"炸裂"
注意力内核已经被人类顶尖 GPU 专家优化了多年,FlashAttention 系列和 cuDNN 代表了当前业界巅峰。在这种"逼近硬件极限"的领域,AVO 还能继续压榨出性能,而且是通过 AI 自主完成的。
更关键的是它的泛化能力:将 MHA 的优化迁移到分组查询注意力(GQA)任务,AVO 仅用30 分钟自主适配,性能仍比 cuDNN 高7.0%,比 FlashAttention-4 高9.3%。
AVO 发现的典型优化策略
- 无分支累加器重调(+8.1%):消除条件分支带来的线程同步开销
- 修正/MMA 流水线重叠(+1.1%):让修正工序与第二阶段 GEMM 并行
- 跨 warp 组寄存器重平衡(+2.1%):重新分配寄存器,减少溢出到慢速内存
"盲编程"理念
研究团队(许冰、Terry Chen、Zhifan Ye)自称一开始并不懂 GPU 编程,因此从一开始就致力于开发完全自动化、无需人工干预的系统,称之为“盲编程(blind coding)”。从第二代智能体开始,系统就进入了自我演化状态,目前每个智能体的代码量约10 万行。
如果你想深入了解某个方面——比如技术架构细节、对算子工程师的影响、或者论文原文——可以告诉我。
论文原文
标题:AVO: Agentic Variation Operators for Autonomous Evolutionary Search
作者:Terry Chen, Zhifan Ye, Bing Xu, Zihao Ye, Timmy Liu, Ali Hassani, Tianqi Chen, Andrew Kerr, Haicheng Wu, Yang Xu, Yu-Jung Chen, Hanfeng Chen, Aditya Kane, Ronny Krashinsky, Ming-Yu Liu, Vinod Grover, Luis Ceze, Roger Bringmann, John Tran, Wei Liu, Fung Xie, Michael Lightstone, Humphrey Shi(共 23 人)
机构:NVIDIA
发布时间:2026 年 3 月 25 日
arXiv 编号:2603.24517
- 论文主页(含 PDF 下载):https://arxiv.org/abs/2603.24517
- PDF 直链:https://arxiv.org/pdf/2603.24517
技术架构细节
一、核心范式:从「LLM-in-the-loop」到「LLM-as-operator」
传统进化搜索(如 FunSearch、AlphaEvolve)把 LLM 关在固定流水线里,只让它做「候选生成器」——框架负责父代采样、评估、种群管理,LLM 只负责单次调用输出一个候选解。
AVO 彻底打破这个范式:LLM 本身就是变异算子。智能体自主决定查什么资料、改哪段代码、什么时候验证,形成一个自我导向的闭环。
二、智能体循环(Self-directed Agent Loop)
AVO 的变异过程被建模为一个自主循环,智能体可以主动:
| 能力 | 说明 |
|---|---|
| 查询谱系(Lineage) | 访问所有先前方案的完整历史,理解进化轨迹 |
| 查阅知识库 | 调用领域特定知识库 K(如 CUDA 编程指南、PTX ISA 文档、Blackwell 架构手册) |
| 执行反馈 | 获取编译器输出、Profiler 性能计数器、正确性验证结果 |
| 提出修改 | 自主规划并实施代码编辑 |
| 修复 Bug | 根据编译/运行失败信息自主调试 |
| 批判验证 | 对自己的方案进行批判性评估,决定是否提交 |
这个循环不是单轮的,而是长周期、多轮迭代的——智能体可以在一次"变异"任务中持续运行数小时甚至数天。
三、双层进化机制
AVO 采用外层 + 内层的双层架构:
- 外层进化:负责优化种群中的个体(即 GPU 内核代码),追求更高的评分函数 f(吞吐量)。
- 内层进化:专门进化变异算子本身——智能体的策略、超参数、工具调用方式会随着进化过程不断优化。
类比理解:外层是"培养学生",内层是"培养更懂教学的老师"。
四、智能体工具链与持久记忆
AVO 智能体基于 NVIDIA 内部开发的通用编码智能体(未针对内核优化做特定修改),具备以下能力:
- 自主代码编辑
- Shell 命令执行
- 文件系统导航
- 文档检索
持久记忆通过对话历史维护,累积内容包括:
- 先前所有编辑记录
- 编译器输出
- 性能分析结果(Profiler)
- 整个进化过程中的推理链条
五、评分函数与评估
- 评分函数 f:以吞吐量(TFLOPS)为核心指标,在前向预填充阶段测量。
- 正确性验证:每次变异后的内核必须通过数值正确性测试。
- 滑动窗口评估:采用滑动窗口机制,最近 50 代的应用效果动态影响算子权重,优秀算子会产生"马太效应"。
六、实验部署细节
| 项目 | 配置 |
|---|---|
| GPU | NVIDIA Blackwell B200 |
| CUDA | 13.1 |
| PyTorch | 2.10.0 |
| 基线 | cuDNN v9.19.1、FlashAttention-4 (commit 71bf77c) |
| 精度 | BF16 |
| 头维度 | 128 |
| 头数 | 16(MHA)、32 查询头(GQA) |
| 序列长度 | 4096 ~ 32768 |
| 总 token 数 | 固定 32k(通过调整 batch size 实现) |
七、7 天进化轨迹中的关键版本
性能提升呈阶梯式跃迁而非平滑增长,每个拐点对应一个重大微架构发现:
| 版本 | 优化策略 | 性能增益 |
|---|---|---|
| v8 | QK-PV 交错与位掩码遮蔽 | 架构拐点 |
| v13 | 单次 Softmax 重构 | 架构拐点 |
| v20 | 无分支累加器重缩放(Branchless Accumulator Rescaling) | +8.1% |
| v30 | 修正/MMA 流水线重叠 | +1.1% |
| v33 | 跨 Warp 组寄存器重平衡 | +2.1% |
八、自我演化特性
核心开发者许冰(Bing Xu)提到:
“在过去一年半的时间里,我们两人在两个智能体系统中开发了四代智能体。从第二代开始,这些智能体栈就开始自我演化。现在每个智能体的代码行数都约为 10 万行(非空代码)。”
这意味着 AVO 的智能体系统本身也在进化——不是人类在写更多代码,而是智能体在改进自己的实现。
如果你想进一步深挖某个具体部分(比如某个优化策略的 CUDA/PTX 实现细节、或者 AVO 与 AlphaEvolve 的架构对比),可以继续问我。
AVO 代码不公开
截至目前(2026 年 7 月),AVO 的完整代码并未开源。论文中只公开了方法论和实验结果,没有发布智能体系统或进化框架的代码仓库。
这符合英伟达一贯的做法——论文公开、核心代码内部保留(类似 cuDNN 闭源策略)。
类似的开源项目与源码
虽然没有 AVO 本身,但有几个方向接近的开源项目可以参考:
1. FlashAttention-4(AVO 的基线,完全开源)
AVO 的实验直接以 FlashAttention-4 为起点进行进化,这是目前最强开源注意力内核。
- GitHub:Dao-AILab/flash-attention
- 特点:CUDA + CUTLASS + CuTe DSL,支持 Blackwell,代码量庞大但结构清晰,是理解高性能注意力内核的最佳教材。
2. cuLA(InclusionAI,线性注意力 + Agentic 优化路线)
- GitHub:InclusionAI/cuLA
- 特点:用 CuTe DSL 和 CUTLASS C++ 写的线性注意力 CUDA 内核。其 Roadmap 中明确提到:
“Continuous optimization via agentic methods such as AVO.”
- 价值:如果你想复现 AVO 的思路,cuLA 提供了一个完整的 CUDA 内核开发基线,你可以在此基础上搭建自己的智能体优化流水线。
3. AutoKernel(arxiv 2603.21331)
- 论文:AutoKernel: autonomous GPU kernel optimization via iterative agent-driven search
- 特点:与 AVO 同期(2026 年 3 月)发布的类似工作,用智能体迭代驱动 GPU 内核搜索。如果后续开源,将是最接近 AVO 的替代品。
4. 经典进化搜索框架(LLM-in-the-loop 路线)
这些项目把 LLM 嵌入固定进化流水线,可以作为 AVO 的"简化版"参考:
| 项目 | 链接 | 核心思想 |
|---|---|---|
| FunSearch | deepmind/funsearch | LLM 生成 + 进化搜索,解决数学问题 |
| AlphaEvolve | 论文公开,代码未开源 | DeepMind 的进化搜索,发现矩阵乘法算法 |
| OptiGuide | 多个开源实现 | 用 LLM 优化代码性能 |
5. 通用编码智能体框架
AVO 的核心是"自主编码智能体",以下框架可以作为构建类似系统的底座:
- Claude Code / Cursor / Codex:这些工具具备自主编辑、Shell 执行、文件导航能力,与 AVO 中描述的通用编码智能体能力一致。
- OpenHands (原 OpenDevin):All-Hands-AI/OpenHands — 开源的自主编码智能体,支持长时间运行任务,可以作为 AVO 智能体的替代实现。
如果你想复现 AVO
最现实的路线是:
- 以 FlashAttention-4 或 cuLA 为种子程序(提供初始 CUDA 内核)
- 用 OpenHands 或 Claude Code 作为智能体引擎(提供自主编辑、编译、调试能力)
- 搭建评分函数(正确性验证 + nsys/ncu 性能分析)
- 实现谱系管理(保存所有历史版本和性能数据,供智能体查询)
- 让智能体自主循环(查询历史 → 查阅文档 → 修改代码 → 编译验证 → 性能测试 → 提交/回滚)
这条路线的难点不在于技术栈,而在于运行成本——AVO 跑了 7 天、探索了 500+ 方向,LLM API 调用量巨大,且需要持续访问高端 GPU(B200 级别)。
如果你有具体的复现方向(比如只想验证某个优化策略,或者在小规模模型上跑),可以告诉我,我可以帮你进一步拆解。
这三个项目代表了「LLM + 进化/优化」这条技术线上的三个不同节点,从数学发现到算法发现再到工程解释,各有侧重。下面逐一展开。
1. FunSearch(2023)—— LLM 进化搜索的开山之作
发布:Google DeepMind,2023 年 12 月,论文登Nature。
核心思想
FunSearch 的名字来自FunctionSearch——搜索函数。它将预训练 LLM 与自动评估器配对,通过迭代进化来发现新的数学构造和算法。
架构流程
程序池(初始种子程序) ↓ 采样 → 送入 LLM(PaLM 2)→ 生成新程序 ↓ 自动评估器验证(正确性 + 评分) ↓ 高分程序回写程序池 ↓ 循环迭代...关键设计:
- 多样性策略:避免种群停滞,刻意维持解的多样性
- 并行进化:多个工作节点异步运行,数据库作为共享状态
- 可解释输出:输出的是完整程序,人类可以阅读和理解构造逻辑
关键成果
- 上限集问题(Cap Set Problem):发现了全新构造法,将下界从 2.27n 提升到2.36n,是过去 20 年最大增幅。陶哲轩评价这是「数学家将被重新定义」的里程碑。
- 装箱问题(Bin Packing):发现更高效的启发式算法,可用于提升数据中心效率。
开源状态
已开源:https://github.com/google-deepmind/funsearch
局限性
FunSearch 的 LLM 被关在固定流水线里——框架负责采样、评估、种群管理,LLM 只负责「单次调用生成一个候选」。这限制了智能体的自主性,也是 AVO 后来要打破的范式。
2. AlphaEvolve(2025)—— 从数学到工程的全面突破
发布:Google DeepMind,2025 年 5 月,论文登Nature。
核心思想
AlphaEvolve 是 FunSearch 的直系升级版,同样基于「LLM 生成 + 评估器验证 + 进化迭代」的循环,但能力边界大幅扩展——不仅能发现数学构造,还能进化完整代码库、优化复杂算法,甚至改进硬件电路。
架构:四组件异步循环
| 组件 | 职责 |
|---|---|
| LLM(Gemini 系列) | 基于当前最优程序生成改进版本 |
| 评估器 | 自动执行候选程序,返回标量评分 + 正确性验证 |
| 程序数据库 | 存储所有通过验证的程序,作为共享状态 |
| 采样器 | 从数据库中选择父代程序送入 LLM |
整个循环在多个工作节点上异步并行运行,没有中心化协调,数据库充当共享状态。
评估器是核心约束:必须满足自动化、快速、全面。这决定了 AlphaEvolve 适合「正确性可精确验证」的问题(矩阵乘法、几何组合、电路验证),不适合模糊目标(如 UI 设计、产品策略)。
关键成果
| 领域 | 成果 | 意义 |
|---|---|---|
| 矩阵乘法 | 4×4 复数矩阵乘法仅需48 次标量乘法 | 打破 Strassen 1969 年的 49 次纪录,56 年来首次改进 |
| 数学构造 | 50+ 开放问题中 75% 匹配最佳解,20%超越人类 | 包括接吻数问题(11 维 593 个球)、Erdős 最小重叠问题上界 |
| AI 训练 | Gemini 大型矩阵乘法核加速23%,训练时间缩短 1% | 直接部署到谷歌生产环境 |
| 数据中心 | 调度启发式函数优化,节省0.7%计算资源 | 规模效应下节省巨额成本 |
| 芯片设计 | TPU 硬件电路 RTL 级优化 | 减少面积和功耗 |
关键洞察:「完全自由探索」
AlphaEvolve 的成功秘诀之一是不预设对称性或分块策略。传统人类算法设计常受「对称性陷阱」限制,而 AlphaEvolve 在复数域自由搜索时,意外发现复数算法在实数域同样有效,从而突破了 56 年的壁垒。
开源状态
论文公开,代码未开源。
局限性
在更大矩阵(5×5、6×6)上未能超越现有最优解。研究人员认为,这是因为更大矩阵需要特定归纳偏置(如对称性)来缩小搜索空间,而 AlphaEvolve 的通用性在此成为劣势——需要在「完全开放搜索」和「人工约束」之间找平衡。
3. OptiGuide(2023)—— 另一条路线:用 LLM 解释优化结果
发布:Microsoft Research,2023 年 7 月,arXiv:2307.03875。
核心思想
OptiGuide 走的不是「发现新算法」路线,而是**「解释已有优化结果」**。它解决的是供应链优化中的一个真实痛点:优化求解器(如 Gurobi)能算出最优解,但业务人员看不懂、不信任、无法做「如果-怎样」分析。
架构流程
用户自然语言查询 ↓ 编码器(将问题转化为结构化格式) ↓ LLM(GPT-4)生成"优化代码" ↓ 安全检查(防止有害代码) ↓ 优化求解器(Gurobi)执行计算 ↓ 结果返回 LLM → 生成人类可读的自然语言答案应用场景
部署在Microsoft Azure 供应链中,处理服务器从仓库到数据中心的分配调度(智能履行系统 IFS)。规划者可以问:
- “如果供应商 B 替代供应商 A,成本怎么变?”
- “某个区域的需求翻倍会怎样?”
- “为什么系统选择了这个供应商?”
技术特点
- 不替代优化器:LLM 不直接求解,而是生成修改优化模型的代码,由 Gurobi 等求解器完成计算
- 隐私保护:专有数据不直接发送给 LLM,只发送优化代码和结果
- 上下文学习:通过精心设计的 prompt 教授 LLM 领域知识,无需昂贵微调
开源状态
论文公开,未找到官方开源仓库。但论文提供了完整的评估基准(涵盖设施选址、网络流、劳动力分配、TSP 等多种优化问题),可用于复现。
三者与 AVO 的关系对比
| 维度 | FunSearch (2023) | AlphaEvolve (2025) | OptiGuide (2023) | AVO (2026) |
|---|---|---|---|---|
| 机构 | DeepMind | DeepMind | Microsoft | NVIDIA |
| LLM 角色 | 候选生成器(in-the-loop) | 候选生成器(in-the-loop) | 代码翻译器 + 解释器 | 变异算子本身(as-operator) |
| 进化深度 | 固定流水线 | 固定流水线 | 无进化,单次查询 | 自主闭环,长周期迭代 |
| 目标领域 | 数学构造、组合优化 | 数学 + 算法 + 硬件 | 供应链优化解释 | GPU 内核代码优化 |
| 自主性 | 低(框架控制一切) | 中(框架控制,LLM 生成) | 低(单次查询响应) | 高(智能体自主决策) |
| 代码开源 | ✅ 是 | ❌ 否 | ❌ 否 | ❌ 否 |
这条时间线很清晰:FunSearch证明了 LLM + 进化搜索可以发现新知识;AlphaEvolve证明了这套方法可以打破人类保持了几十年的纪录并部署到生产环境;AVO则更进一步——不再把 LLM 关在固定流水线里当「生成器」,而是让它成为进化过程本身的「算子」,自主决定查什么、改什么、什么时候验证,实现了从LLM-in-the-loop到LLM-as-operator的范式跃迁。
OptiGuide 则是另一条平行线,它解决的是「优化结果的可解释性」问题,与 AVO 的「自主发现更优代码」形成互补。未来很可能会出现融合两者的新系统:自主发现代码 + 自主解释代码 + 自主验证代码。