Writing Rust code that's faster than state-of-the-art libraries by asking agents to make the code faster
原文链接: https://minimaxir.com/2026/09/agentic-iteration/
作者: Max Woolf
发布时间: 2026-09-21
来源笔记: OpenClaw定时任务/AK-RSS-Digest(89源精选)/2026-09-22
摘要(AAIF 提取)
Max Woolf 的多月实验记录:用 agentic LLM 反复迭代 Rust 实现,最终在多个领域拿到比现成 SOTA 库快 2×-20× 的实现,文章附完整 prompt 与 criterion 基准结果。
1. 初始 prompt 就要求建多输入规模的 criterion 基准套件(小数据集的优化未必适用大数据集,反之亦然)。 2. 模糊指令("KEEP ITERATING … AS FAST AS IT CAN BE")被证明无效——Opus 4.5 只调几个超参就宣布完成。 3. 改成可 pass/fail 的目标后生效:先不改代码跑出 True Performance Baseline,然后要求所有 CPU benchmark ≥1.2× Baseline,明确 禁止改 benchmark 代码、禁止 unsafe,迭代到收敛、每轮报告相对 Baseline 的结果。选 1.2× 是有意留低:目标太高会诱导 agent 用冒险重写来"作弊"。 4. 之后每出新模型(GPT-5.3 Codex、Opus 4.6、GPT-6 Astra)同一 prompt 原样重跑,每代再拿累计 1.5×-2.0×;多月累计约 7.5×-32×。
- 为什么是 Rust:经 PyO3 桥回 Python(数据科学工作流直接受益),可编译 WASM 跑浏览器,内存安全;唯一自我约束是尽量不用
unsafe。 - 方法论核心(benchmaxxing 的受控版):
- 案例:从零实现 UMAP(最小依赖,faer 换线性代数、simsimd 换 SIMD),Python 绑定对比 umap-learn 做质量门;agent 写的 GBDT 速度显著超 xgboost,质量指标互有胜负。agent 用的底层手法包括激进 SIMD、函数融合、循环展开、中间缓存、按数据规模选 rayon 与否。
- 对 benchmaxxing 质疑的回应:让 agent 自己设计多样化/异常/对抗性输入数据集;用已知正确实现(如 umap-learn)做输出质量门——"先做快、再校正"在这里意外可行,因为能在多个 apples-to-apples 基准上贴近已知正确实现的新实现,大概率是真的对。
- 作者提示工程风格:长 prompt 预写在 Markdown 文档里,ALL CAPS + 加粗强调关键约束,Zed Agent 里按文件引用投喂;他认为模型越强对 nuance 的遵循越好,prompt engineering 远未死。