Shopify工程团队在开源自研的pi-autoresearch后,把它用在了几乎所有能想到的优化场景上。官方公布的阶段成果:
- 单元测试:300倍加速
- React组件挂载:20%提升
- CI构建时间:减少65%
- pnpm:运行速度提升
他们说了一句话很直接:Autoresearch永不停止尝试那些你根本没时间自己去试的东西。
pi-autoresearch是什么
这是一个为pi(一个终端里跑的AI编程Agent)设计的自主实验循环扩展。核心理念来自Karpathy的autoresearch思想:
试一个想法 → 测量结果 → 保留有效的 → 丢弃无效的 → 永久重复。
本质上是一个自动化的"猜测-验证"循环,由AI驱动,不断寻找最优解。
核心机制
工具链包含三类组件:
扩展工具(Extension Tools)
| 工具 | 作用 |
|---|---|
init_experiment | 一次性会话配置——名称、指标、单位、方向 |
run_experiment | 运行任意命令,计时抓输出 |
log_experiment | 记录结果,自动commit,更新仪表盘 |
交互命令(/autoresearch)
/autoresearch optimize unit test runtime, monitor correctness
/autoresearch model training, run 5 minutes of train.py and note the loss ratio
/autoresearch export # 打开实时仪表盘
/autoresearch off # 退出自动循环模式
Skills
autoresearch-create:问几个问题(或从上下文推断)关于目标、命令、指标和涉及的文件范围,然后写好两个文件并立即启动循环autoresearch-finalize:把一个嘈杂的autoresearch分支变成干净的独立分支,一个逻辑变更一个分支,可以独立review和合并
工作流程
每次实验循环写入两个文件:
autoresearch.md——会话文档,记录目标、指标、涉及的文件、已尝试过的方向。新来的Agent可以独立从这份文档继续。
autoresearch.sh——基准测试脚本,预检查、跑工作负载、输出METRIC name=number行。
可选的autoresearch.checks.sh是压力测试——类型检查、lint——在每次基准测试通过后运行,失败会阻止"保留"操作。
仪表盘:实时可见的优化轨迹
界面上有一个始终可见的状态组件:
🔬 autoresearch 12 runs 8 kept │ ★ total_µs: 15,200 (-12.3%) │ conf: 2.1×
3次以上运行后显示置信度评分:把最佳改进与会话噪声floor做比较。≥2.0×(绿色)=很可能是真的,1.0–2.0×(黄色)=超出噪声但边际,<1.0×(红色)=在噪声范围内。
用Ctrl+X展开成完整结果表,用Ctrl+Shift+X打开全屏滚动仪表盘。
为什么Shopify能跑出这些数字
传统优化是人工的:工程师猜一个方向,花时间实现,测一下,不行就换。人的时间是有限的,不可能把每个想法都试完。
Autoresearch把这件事自动化了。AI不断生成候选优化方向、系统化测试、保留有效改进、丢弃无效尝试——循环永不停歇,直到达到目标或置信度阈值。
300倍的单元测试加速,不是某一次神奇优化,而是多次微改进累积的结果。每一次改进可能只有几个百分点,但AI跑了成百上千次组合尝试。人不会这样去做,但AI会。
适用场景
不限于代码性能。任何可量化的优化目标都可以:
- 测试速度
- 构建产物大小
- LLM训练loss
- Lighthouse分数
- 任何能写出
METRIC name=number的工作负载
300倍加速不是来自某个天才算法,而是来自"永不停止尝试"的自动化循环——人不会花时间试的东西,AI帮你试完了。