optimize_anything:
一个 API 统一所有文本优化

PaperDog · 2026-07-24
UC Berkeley SkyLab · GEPA Team
如果你有一个优化问题——"调 prompt 让模型数学更好"、"写 CUDA kernel 让它跑更快"、"设计 agent 架构让 ARC-AGI 更高"——你能用什么?大概率各自找专用方案。UC Berkeley SkyLab 说不需要:一个 API 搞定一切能序列化为文本的优化。代码、prompt、agent 架构、SVG、云调度策略——八个领域,全面打平甚至超越专用工具。
图1:optimize_anything 概览。从 zero-shot 到 GEPA 优化后——同一模型,不同结果。核心循环:评估 → 诊断反馈 → LLM 提出改进 → 重复。
图1:optimize_anything 概览。从 zero-shot 到 GEPA 优化后——同一模型,不同结果。核心循环:评估 → 诊断反馈 → LLM 提出改进 → 重复。

核心思路:文本是通用接口,诊断反馈就是"梯度"

optimize_anything 的 API 极其简单:一个 artifact(或一段需求描述),一个 evaluator(返回 score 的函数)。系统自己处理搜索策略——构建 prompt、反思、候选选择、Pareto 前沿维护——不需要写 mutation 逻辑或配置"进化孤岛"。

关键在于 ASI(Actionable Side Information):evaluator 除了返回分数,还能附带诊断信息——编译器报错、profiler trace、渲染后的图片——任何能帮 LLM 理解"为什么不好"的信息。团队管这叫"文本优化的梯度":梯度告诉数值优化器往哪走,ASI 告诉 LLM 哪里出了问题、怎么改。

Zero-shot(Claude Opus 4.6)
Zero-shot(Claude Opus 4.6)
GEPA 优化后(score: 0.817)
GEPA 优化后(score: 0.817)

在 Pelican SVG 优化案例中,ASI 就是渲染后的图片——VLM evaluator 看图打分,proposer 看到同一张图并诊断问题,然后针对性改进代码。盲目的 mutation 变成了像工程师迭代原型一样的过程

三种模式,一个 API

单任务搜索:解决一个难题。candidate 就是 solution,无数据集。适合 Circle Packing、数学优化。

多任务搜索:求解一组相关任务,任务间互相迁移。CUDA kernel 优化用这种模式时,跨所有 speedup 阈值都比单任务更快收敛。此前没有任何 LLM 进化框架支持。

泛化:训练集+验证集,artifact 必须泛化。最有野心的模式——优化整个 agent 架构、云调度策略、system prompt。

八个实验,全面开花

1. Claude Code 代码技能:79% → 100%

图3:在 Bleve 代码仓库上优化 agent skill。Haiku 4.5 从 79.3% → 100%,Sonnet 4.5 从 94.8% → 100%,解析时长缩短 47%。
图3:在 Bleve 代码仓库上优化 agent skill。Haiku 4.5 从 79.3% → 100%,Sonnet 4.5 从 94.8% → 100%,解析时长缩短 47%。

优化的是自然语言写的代码技能(coding agent skills),不是代码本身。在 Bleve 仓库上,优化后的 skills 把 Haiku 4.5 的通过率从 79.3% 推到 100%,Sonnet 从 94.8% 到 100%,同时解析时长缩短 47%。关键是跨模型迁移——用 Haiku 优化出来的,Claude Code 直接用。

2. 云调度:40% 成本削减

图4:CloudCast 广播路由优化轨迹。从 Dijkstra 最短路径基线进化到 provider-aware Steiner tree,40.2% 成本节省。
图4:CloudCast 广播路由优化轨迹。从 Dijkstra 最短路径基线进化到 provider-aware Steiner tree,40.2% 成本节省。

CloudCast 从 Dijkstra 最短路径优化到 provider-aware Steiner tree 算法(结合 Pareto 候选选择 + 贪婪分区分配),跨多云场景削减 40.2% 成本。Can't Be Late 从简单 deadline 启发式进化到自适应调度策略(跟踪 spot availability 模式),节省 7.8%。两个任务都超越 ADRS 排行榜上的专用方案,包括 OpenEvolve 和 ShinkaEvolve。

3. ARC-AGI Agent 架构:32.5% → 89.5%

图5:从 10 行 naive agent 到 300+ 行系统。不是换模型,是换架构——同样 Gemini 3 Flash,test acc 从 32.5% → 89.5%。
图5:从 10 行 naive agent 到 300+ 行系统。不是换模型,是换架构——同样 Gemini 3 Flash,test acc 从 32.5% → 89.5%。

这不是 prompt 优化,是优化整个 agent 系统。从 10 行代码的 naive agent 出发,进化成一个 300+ 行的系统,包括规则归纳、代码验证、迭代 refinement、结构化 fallback。同样用 Gemini 3 Flash,test acc 从 32.5% 飙到 89.5%。57 个百分点的提升来自架构设计,而非更强的模型。

4. AIME 数学推理:纯 prompt 优化 +13.3pp

图6:gpt-4.1-mini 的 AIME 数学推理——纯 system prompt 优化,准确率从 46.67% → 60.00%。
图6:gpt-4.1-mini 的 AIME 数学推理——纯 system prompt 优化,准确率从 46.67% → 60.00%。

对 gpt-4.1-mini 优化 system prompt:在 2022-2024 AIME 题上训练,2025 题上测试。准确率从 46.67% 提升到 60.00%。只改 prompt,不改模型。13.3 个百分点来自 prompt 的空间——GEPA 在这个 benchmark 上设定了 prompt 优化的 SOTA。

5. CUDA Kernel:87% 打平或超过基线

图7:KernelBench 上的 CUDA kernel 生成。87% 匹配或超过 PyTorch 基线,25% 加速 20%+。多任务模式全面超越单任务搜索。
图7:KernelBench 上的 CUDA kernel 生成。87% 匹配或超过 PyTorch 基线,25% 加速 20%+。多任务模式全面超越单任务搜索。

在 KernelBench 上生成 CUDA kernel,87% 生成结果匹配或超过 PyTorch 基线性能,25% 达到 20%+ 加速。多任务模式在收敛速度和最终解决率上全面超越单任务搜索——证明跨任务优化模式迁移有效。

6. Circle Packing:超越 AlphaEvolve

图8:26 圆 packing。GEPA(红点)在更少评估次数下达到 2.63598+,超越 AlphaEvolve/ShinkaEvolve/OpenEvolve。
图8:26 圆 packing。GEPA(红点)在更少评估次数下达到 2.63598+,超越 AlphaEvolve/ShinkaEvolve/OpenEvolve。
图9:Circle Packing 优化轨迹可视化——从初始 naive 排列到接近最优的 packing。
图9:Circle Packing 优化轨迹可视化——从初始 naive 排列到接近最优的 packing。

26 圆 packing 问题,GEPA 生成的求解器在更少评估次数下达到 2.63598+,超越 AlphaEvolve、ShinkaEvolve、OpenEvolve。LLM 写出了 LP + dual gradient + L-BFGS + CMA-ES 组合优化算法——这不是简单调参,是算法层面的创新。

7. 数学优化:打平 Optuna

图10:在 EvalSet 56 题基准上打平 Optuna。在 Optuna 最难啃的骨头上(10 个困难问题,低 budget),GEPA 赢 7 输 3。
图10:在 EvalSet 56 题基准上打平 Optuna。在 Optuna 最难啃的骨头上(10 个困难问题,低 budget),GEPA 赢 7 输 3。

在 EvalSet 56 题基准上打平工业标准黑盒优化器 Optuna。更有趣的是在 Optuna 最难啃的骨头上——Optuna 的固定 TPE-CMA-ES 管线在 McCourt13(全 10 次独立运行收敛到同一局部最小值)和 Tripod(分段线性不连续目标)上系统性失败。GEPA 为每个问题量身定制求解器:边界最优 → L-BFGS-B,deceptive trap → multi-start search。

8. 3D 独角兽:零种子代码

Zero-shot(Claude Opus 4.6):blocky,基础的几何体拼凑
Zero-shot(Claude Opus 4.6):blocky,基础的几何体拼凑
GEPA 优化后:肌肉线条、螺旋角、解剖细节
GEPA 优化后:肌肉线条、螺旋角、解剖细节

最疯狂的实验:不提供任何种子代码,只描述需求("3D 独角兽,解剖准确、mesh 质量高、视觉好")和技术上下文(build123d、STL export、pyrender)。LLM bootstrap 第一个候选,然后通过迭代完善从 blocky 飞马进化到有肌肉线条和螺旋角的独角兽。

为什么这比看起来重要

这个消息的意义不止于"又一个 LLM 优化工具"。它在工程上回答了一个更大的问题:当 LLM 能在语义空间里推理时,"优化"这件事的 API 到底该长什么样?

传统优化(Bayesian、TPE、CMA-ES)把问题压缩成向量空间里的黑盒——只知道分数高低,不知道低分意味着什么。LLM 改变了一切:编译器报错、渲染效果、逻辑矛盾——都是可理解的信号,告诉优化器"往哪走"

optimize_anything 把这个直觉抽象成一个极简 API:artifact + evaluator → 优化后的 artifact。中间的 search strategy、Pareto selection、multi-task transfer 全部封装。

但这也是它的边界:优化质量的上限 = LLM 能力上限。如果 LLM 不理解你的领域,它生成的建议是噪音。对于 LLM 熟悉的问题(代码、prompt、算法设计),效果惊艳;对于不擅长的问题,跟随机搜索没什么两样。

另外,OpenAI Codex CLI(2026-07-15)已经内建了类似的"代码自动迭代优化"循环——方向趋同。未来这个范式大概率会成为 agent 基础设施的标准组件,而不是某个团队的产品卖点。