AgentPilot 的改进循环是怎么选下一步的
一个小模型先提出要改什么,编程 agent 再动手,评分器比较新旧两版。循环学的是哪些版本、哪类改动值得再试一次。
AgentPilot 是开源项目 HKUDS/AgentPilot。它在编程 agent 外面加了一层循环:一个约 90 亿参数的小模型先提出要改程序的什么地方,编程 agent 再动手改,评分器随后把新版本和它改之前的那一版放在同一批任务上比较。循环学到的不是模型权重,而是哪些版本、哪一类改动值得再试一次。
一轮是怎么走的
每一轮开始时,循环会先从已经收入档案的版本里选出一个父版本,也就是接下来要改的那一版,再提出四个改动方向,最后只选其中一个交给工人,也就是负责改代码的编程 agent。工人会在父版本的一份拷贝上改代码,评分器再拿改出来的子版本和父版本做成对比较。比较结果会被标成成功、失败,或跳过。这份结果会更新策略,并决定子版本能不能进入档案,成为后面几轮的候选父版本。试验预算用完之后,循环会在验证任务上选出最好的一版,把它冻结,再拿到它从未见过的测试任务上评一次分。
三个决定
策略要学着做得更好的,是下面这三个决定。第一个决定是选哪个版本来改。第二个决定是提出什么方向:提出者可以先读源码和过去的运行记录,然后一次写出四个方向。重复闸门会把和过去太像的方向拒掉。第三个决定是从通过闸门的方向里只选一个去跑。
什么算成功
循环从每一次试验里只学到一个是或否。检查按固定顺序进行,前面某一项没过,这次试验就会被跳过。跳过并不是失败,因此它不会改计数。开发任务上的分数只能当作提案时的证据,不能当作奖励;如果有人把留出来的测试任务分数送进来当奖励,代码会直接报错。
两种记住经验的方法
循环可以用两种方法来记住这些经验。计数方法给每个父版本、每一类改动记下三个数字:它有多少轮本来可以被选中、有多少次试验被计入,以及其中成功了多少次,再算出一个指数。这个指数是在已有数据下仍然说得通的最高成功率。从未试过的选项指数是 1,因此会先被选中。记忆方法不记这些计数,而是保留一份最多六条的教训文档,让模型按这份文档给候选排序,并取第一名。
怎么用,以及报告成绩该怎么看
它会安装成 Claude Code 里的 /agentpilot,或 Codex CLI 里的 $agentpilot。宿主 agent 只负责准备任务和评分器,确认评分器能在起始程序上抓住一次真实的失败,然后把工作交给运行器。技能文件写明,现在还不能自动接入任意项目。因此,如果没有针对你这项任务的真实评分器,循环就没有东西可学。
项目自己报告的测试成绩里,计数方法在 AIME 上到了 36 题中的 28 题,而最好的基线是 25 题,这一项最清楚。在 Terminal-Bench 上,AgentPilot 的起点和基线并不相同,双方的试验预算也不对等,文档也没有给出 token 或费用数字。因此,项目里「更少浪费 token」这一说法并没有被证明。
根据公开的 Claude Artifact AgentPilot Improvement Loop 整理,对应开源项目 HKUDS/AgentPilot 的 commit e5a81e7(2026 年 11 月 12 日)。成绩数字来自项目自己的文档,并未另行复现。