详细内容或原文请订阅后点击阅览
我让 AI 代理在我睡觉时运行 40 次实验
我在租用的 GPU 上设置了一个 AI 代理,将其指向训练脚本,然后就去睡觉了。到早上,它已经运行了 40 个实验,验证损失降低了 5.9%,并将内存使用量从 44 GB 减少到 17 GB。它还花了四个小时来追踪 linter 在 [...]
来源:O'Reilly Media _AI & ML我在租用的 GPU 上设置了一个 AI 代理,将其指向训练脚本,然后就去睡觉了。到早上,它已经运行了 40 个实验,验证损失降低了 5.9%,并将内存使用量从 44 GB 减少到 17 GB。它还花了四个小时来追踪 linter 背后引入的 bug。特工从未标记过它。我之所以发现这一点是因为数字停止改善并且我开始阅读日志。
该设置基于 Andrej Karpathy 的自动研究项目:为代理提供一个可以编辑的文件 (train.py)、一个要优化的指标(每字节验证位)、每个实验固定的五分钟训练预算以及用于检查点的 Git。如果某个实验击败了当前的最佳实验,请保留提交。如果没有,则返回。永远循环。 Karpathy 自己的运行在 48 小时内进行了 700 项实验并做出了 20 项真正的改进,比已经优化的代码提高了 11%。 Shopify 的 Tobi Lütke 在他们的模板引擎 Liquid 上指出了同样的模式,并通过 93 次自动提交将渲染速度提高了 53%。该模式显然有效。问题是当你自己运行它时会出现什么问题。
第一次失败:代理修复代理
在运行自动研究之前,我遇到了一个单独的问题。我为 Claude Code 提供了 15 项自定义技能(想想具有工具访问、结构化输入和特定行为的可重用提示模板)。其中大多数在作为并行后台特工被派遣时就被破坏了。模糊的描述意味着系统无法弄清楚何时调用它们。缺少工具权限会导致无提示故障。相似技能之间的重复范围会造成路由混乱。
因此,我使用了相同的模式:并行调度后台代理,每个技能一个,每个任务负责阅读技能定义、识别问题并重写它。 15 人中有 13 人回来后有所改善。描述变得具体。对不存在文件的死引用已被删除。添加了工具权限。有两项技能没有受到影响,因为特工们找不到任何问题。整个批次花了不到一个小时。
