>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
TypeScript

如何让终端 AI 代理无限优化你的代码

result

想想你通常是如何加速测试或减小前端打包体积的。你修改配置文件中的几行代码,运行构建,查看控制台中的秒数。更慢了——你回滚。快了5%——你提交代码,然后尝试下一个疯狂的想法。这个过程会消耗数小时的常规工作,尽管它本质上是一个机械的假设测试循环。

Andrei Karpathy 最近在 autoresearch 仓库中演示了自主实验的概念。开发者 davebcn87 将这个想法进一步发展,发布了 pi-autoresearch——终端 AI 代理 pi 的扩展插件。该扩展将常规优化工作委托给神经网络:代理提出想法、修改文件、测量结果、保存成功的发现,并回滚失败的回归。

pi-autoresearch

自主循环的工作原理

整个理念建立在一个简单的规则上:尝试一个想法,测量它,成功则保存,失败则丢弃。

代理直接在您的代码仓库中工作。当您启动一个会话时,扩展会在项目根目录创建一个单独的文件夹 .auto/。它存储所有工作文件:

  • .auto/prompt.md — 描述当前任务、测量规则以及代理已尝试内容列表的文档。
  • .auto/measure.sh — 返回包含数值指标值的字符串的 bash 基准测试脚本。
  • .auto/log.jsonl — 每次尝试的结构化日志,包含提交哈希和状态。
  • .auto/checks.sh — 用于验证测试和类型的附加脚本,以防止代理为了漂亮的数字而破坏逻辑。

当模型的上下文窗口溢出或代理重启时,它只需重新读取 .auto/prompt.md 和日志的尾部。整个实验历史在上下文被压缩时不会丢失。

安装后,只需运行该技能:

代理会询问几个澄清性问题,关于目标、目标文件和运行命令,或者自行从项目上下文中推断。然后它会获取基线指标,立即进入一个无限循环。

对抗测量中的随机噪声

任何基准测试都会受到波动的影响。后台操作系统进程、CPU 发热或网络延迟都可能制造出根本不存在的加速假象。

为了过滤掉虚假的成功,pi-autoresearch 基于中位绝对偏差(MAD)计算置信度分数。在三次运行后,扩展开始将所获得的改进与整个系列的噪声水平进行比较:

  • 值 ≥ 2.0x 以绿色高亮——收益明显超过背景噪声。
  • 范围 1.0–2.0x 以黄色显示——有收益,但处于误差边缘。
  • 值 < 1.0x 以红色闪烁——结果完全在统计误差范围内。

该工具不会强制代理做出回滚决定;它只是建议重新检查有疑问的运行。

通过背压防止破坏

神经网络喜欢作弊。如果您要求代理减少测试执行时间,就有很强的诱惑直接删除一半的测试文件或插入桩代码。

为了防止此类技巧,.auto/checks.sh 包含强制正确性检查:

验证脚本在每次成功测量后运行。如果测试失败或类型检查被破坏,实验会立即被标记为失败(checks_failed),工作分支中的所有更改都会被回滚。检查本身的执行时间不会添加到主要速度指标中。

将混乱整理成干净的分支

在多小时的循环过程中,代理会创建数十个提交,不断修改不同的文件。将这样的日志直接合并到主分支对审查者来说将是一场噩梦。

为了解决这个问题,有一个命令:

该技能分析 .auto/log.jsonl,将成功的更改分组为独立的逻辑块,并提出一个结构供您批准。确认后,工具会从初始提交创建独立的干净分支。每个分支包含严格的一组逻辑更改,并在提交信息中描述收益,使它们易于单独审查和合并。

监控和钩子

您可以直接在终端中或通过浏览器监控进度:

  • 编辑器上方的小部件持续显示结果表。
  • 组合键 Ctrl+Shift+F 打开带有尝试列表的全屏终端仪表板。
  • 命令 /autoresearch export 生成带有指标动态图表的交互式网页。

如果基本循环不够,您可以在 .auto/hooks/ 目录中放置可执行文件 before.shafter.sh。它们在迭代边界触发。通过它们,您可以设置向桌面发送系统通知、在外部文档中搜索想法或维护训练日志。脚本通过标准输入接收 JSON 格式的上下文,其标准输出被传递给代理作为系统提示。

需要注意的事项

如果无人看管过夜,自主循环可能会迅速耗尽您的 API 配额。在 .auto/config.json 文件中立即设置迭代限制是有意义的:

代理将在完成三十次实验后立即停止。

该工具在具有明确可测量数值结果的任务上表现出色:优化 webpack 构建大小、加速单元测试执行、调整训练小模型的超参数或优化 Lighthouse 分数。如果您已经在使用 pi 控制台代理,这个项目绝对值得在真实的优化任务上尝试。

相关项目