简介
编码智能体发展又快又陡,从 补全代码行 到 跨仓库修 issue,能根据反馈行动,甚至改造自己手边的工具。有了现代脚手架, 成千上万个智能体现在能连续协作一周,全程无需人工干预。这就带出一个基本问题:在几小时乃至几天的无人值守运行里,每个 token 都在推动任务往前走吗,还是冗余会随着轨迹变长越积越多?
这个问题在 递归式自我改进 (RSI)面前进一步加深:AI 既然能构建复杂软件系统,也就能构建 产出 AI 的系统。RSI 因此可能加速迈向通用智能的进程。但 RSI 本身也很烧 token:每次尝试造出更好的系统,无论成败都要花 token。把 RSI 做大之前,是不是该先让 AI 把 AI 变得更省?
为了解决这个问题,我们搭了一条可扩展的 RSI 流水线。智能体用 公开数据 和 公开可用的软件环境为脚手架推演搭建可执行环境。另一些智能体观察模型在这些轨迹里怎么探索,再把观察结果做成自动研究循环,朝着效率目标改进脚手架。活过这些搜索的机制被组装成 SoL-Pi——一个专注 token 效率的智能体脚手架。对一位处理单个问题的专业研究员来说,SoL-Pi 相比原生 Codex 和 Claude Code 脚手架每小时能省 $8.75–$13.50 ,相比 Pi 每小时能省 $4.36–$5.71 *。
SoL-Pi 还给 RSI 提供了一个更开阔的视角:长远看,真正有价值的未必是某个具体产物,而是一个可扩展的搜索过程——它能在公开环境里不断找出可复用的改进。
Pi 是个轻量、可扩展的编码智能体脚手架,本研究就搭在它上面。 EdgeBench 是包含 51 个长时程可执行智能体任务的任务集,它的任务、验证器和反馈都留到最后做留出评估。* 节省区间取决于模型后端,按官方 API 等效价格计算。
方法
我们把脚手架改进当作一个开放式 RSI 问题:在不同环境里寻找能迁移到未见场景的改动。自动研究流程批量生成机制想法,选中的想法各进一个独立循环,活过验证的候选往下走。
目标是带约束的效率:在预先公布的能力保持标准下,找成本或 token 用量的下降空间。研究流程本身固定不变,活下来的机制划出下一轮研究的前沿。
自动研究提议池
并行的自动研究循环
一个想法先过轨迹推演、Map–Reduce 分析、提案三关;一个智能体实现提案,另一个审查;要改就打回实现;接着是轨内验证和留出验证;轨内验证可退回实现或轨迹推演;留出验证在完全隔离的测试集上评估冻结的候选。
在外层,SoL-Pi 把宽泛的创意池展开成彼此独立的机制谱系。第一轮从 152 个提议方向起步。Oracle Analysis 是推演前置的一道环节:根据已有轨迹估算机会,在花掉推演预算之前先筛一轮。每个入选方向都对“脚手架里哪些工作可省”给出具体断言,系统就能否决弱谱系,而不丢掉其他谱系的进展。
六个提案家族记录的是假设的起点,而不是存活下来的机制最终落在哪里。比如 ObservationPack 起初属于上下文家族(C23、C24),最后在观察边界上成为一个机制。
在每个谱系内部,我们沿用 Karpathy 那套经典的 自动研究实验循环:提出改动、实现改动、跑实验、读结果,然后保留或丢弃改动,不断重复。针对脚手架研究,我们做了三处调整。
第一,实现环节跑在一个 Ralph Loop,一个不断迭代的实现循环,直到显式退出条件通过才停。另有一个审查方检查实现及其行为契约,审查不过,提案打回重改。
第二,map-reduce 分析处理多条探索轨迹:独立分析器各查一条轨迹,归约器在下一个机制提案前把证据合并。
第三,验证用两个隔离的数据划分:候选方案在训练集上开发和筛选;机制和验收规则冻结后,系统在留出测试集上评估。 留出轨迹永不进入后续分析,自动研究循环内的智能体也看不到留出结果。 留出评估一旦失败,冻结的候选即被否决,不会变成修复的反馈,也不会开启新的搜索轮次。
从编译型工作流到一次性技能循环
要在几百个想法、几百轮研究迭代上编排自动研究,并不容易。我们的工作流经历过三种设计,区别在于编排逻辑放在哪、代码能活多久,以及规模一大先崩的是哪一环。
编译型工作流。 每个智能体流程用 YAML 描述、编译成可执行工作流:编排逻辑落在配置文件里,编译完就锁死。显式图谱让协作和交接都很清楚。规模一大,固定图谱反而成了上限:预编译工作流盖不住所有边角情况,任务反复停下来等人修,几百个并发尝试的上下文,运维也还原不出来。
代码编排。 主智能体写协调代码、开会话、在会话之间传消息,运行时拼出每个工作流:编排逻辑落在跨实验长期存在的代码里。这下没了固定图谱的限制。但规模一大,协调器成了瓶颈:要让每个循环都兼容,就得往一个长期存在、没有边界的代码库里加分支、加测试、加验证脚本,开一个新实验,光改它就可能花十几个小时。
一次性技能循环。 我们只维护一个最小的循环模板,外加使用说明。每个实验实例化一份新拷贝,设好参数,跑完就把改过的编排代码丢掉:编排代码只活一轮。扩规模变成反复实例化模板,而不是不断给一个协调器加码。这招也不是没有代价:模板本身必须保持正确,因为每个实验都继承它。维护这一个共享依赖,比维护固定图谱或不断膨胀的协调器都省事。
两个环境家族:搜索和评估分开
我们建了 535 个可执行的训练环境,分两大家族。第一家有 495 个任务,标准答案轨迹从 GitHub 的 issue–PR 对里挖出来。第二家是 40 个合成任务,用可执行的验证器定义成功。
对第一家:issue 说明任务,关联 PR 给出被接受的补丁和变更历史,二者合在一起就是标准答案轨迹。我们把仓库恢复到修复前那一次提交,在离线镜像里装好依赖,对智能体隐瞒 PR 和维护者的回归测试。只有满足“测试在 PR 前失败、PR 后通过”的环境才保留,这样任务、轨迹、验证器三者一致。
第二家是验证器驱动的。我们先生成一个定义成功的可执行验证器,再围绕它搭环境,供智能体开放式探索,没有参考轨迹。这 40 个环境主要用 Terminal-Bench 风格的验证器。为了让 EdgeBench 继续当好留出基准,我们不用 EdgeBench 的数据和验证器来做环境合成的素材或模板。EdgeBench 的任务和反馈不参与脚手架搜索,只用于留出验证。这层隔离让它的分数更能说明对没见过的任务和验证器设计的泛化能力。
能力下限约束效率收益
搜索学到的是可复用的脚手机制。能力下限决定哪些候选能活下来。便宜的候选如果靠提前停、跳过必要验证、删掉完成任务所需的证据来省钱,就会被淘汰。
每轮循环设两道验收门。第一,所有能力指标都必须落在预先声明的容差范围内。第二,至少一个效率指标必须提升。在过线的候选里,循环保留非支配解。验收是逐个机制做的,它放行的小损失会在机制组合后累积:组装好的脚手架大概保留 Pi 平均分的 94%。这道门真正拦下的是靠少干活省下来的钱。
自动研究循环发现了什么
自动研究成果
图里是基础脚手架的四个节点:Agent、Context Memory、Action、Observation。悬停、聚焦或点按一个节点,就能看到自动研究在该组件上的成果。动画沿着 Task → Agent → Action → Environment → Observation 追踪,Context Memory 在循环重复前和 Agent 交换信息。
自动研究产出了四个小而专的机制,分别对应工具、上下文管理、观察压缩和多智能体委派。
工具Action Fusion一个意图,一轮对话

在基础版 Pi 的推演里,一个固定套路反复出现:改完文件,编码智能体往往会再发一条命令,用来测试、构建或运行这次改动。 Action Fusion 把这套流程收成一次工具调用。脚手架在本地完成编辑并执行命令,然后一次性返回合并后的观测结果,中间不再需要模型再跑一轮。
上下文Online Context Compact子任务边界处压缩

KV 缓存复用通常把压缩推到一次运行的后半段。Online Context Compact 用的是另一套时钟:它把任务拆成子任务,每完成一个就重新考虑要不要压缩。 Online Context Compact 把语义上的“完成”变成压缩触发器,但只有当预期未来的节省能抵回重写成本时才真正动手。
观测ObservationPack保留访问,去除重复

在基础版 Pi 里,大文件或工具结果会在之后的每一次请求里重新出现,既占上下文又占缓存。 ObservationPack 它改变了这套生命周期:把载荷归档到本地。上下文里只留一个句柄和一小段摘录,需要时再精确取回对应页面。脚手架让载荷始终可取,但不再每次重放。
委派Evidence-Preserving Reducer委派阅读,核验证据

在构建和测试的轨迹里,冗长的日志中真正影响下一步决策的往往只有几行。 Evidence-Preserving Reducer 利用这个分界,把初读工作交给更便宜的智能体。生成的回执与归档日志绑定,每句引用在到达前沿智能体之前都要核验。委派不再依赖对“流畅摘要”的信任。
结果
EdgeBench
这项工作用前沿 AI 模型扩展自动研究循环,构建了新的智能体脚手架 SoL-Pi。所有对比实验都让各模型后端跑在 xhigh,即本次评估中最高的推理强度档。在 EdgeBench 任务上,SoL-Pi 在两种模型后端都保留了 Pi 平均分的大约 94%;用 GPT-5.6 Sol 时,还超过了模型自带的 Codex 脚手架。效率提升更大:相比 Pi,token 用量少 45–49%,成本低约三分之一;相比模型原生脚手架,token 用量少 35–64%,按官方标价算 API 成本低 50–54%。
Terminal-Bench 4
我们还在 63 个 Terminal-Bench 4 任务上评估了 Codex、Pi 和 SoL-Pi,结果汇总如下。
基于 SoL-Pi 的高效智能体群体
高效的脚手架能让集体搜索更经济吗?我们用 SoL-Pi 做了一个测试—— Anthropic 最初的性能 take-home 题,一道内核优化题,用模拟机器周期计分。问题不只是“能同时派出多少智能体搜索”,更是“共享的预算能买到多少有用且可验证的进展”。
一台 GPT-5.6 Sol 协调器 跑在 Codex 上,指挥 20 个 GPT-5.6 Luna 工作者,全部跑在 xhigh。20 个工作者分成 5 组、每组 4 个,各有独立工作区和一块本地证据板。两种条件都用 Codex 智能体做协调器,只对比工作者脚手架用 SoL-Pi 还是 Pi。
这套架构把独立探索和选择性交换结合起来。工作者请组内同伴复现或合并有前景的发现;协调器在组间传递紧凑的洞察,同时让一部分工作者继续探索别的方向。只有当协调器请求验收、独立检查确认是严格改进时,共享的最佳结果才会向前推进。
更便宜的已验证前沿
我们从同一个冻结起点跑了三次独立的 2 小时试验:单智能体 Sol、Sol 带 20 个 Pi 工作者、Sol 带 20 个 SoL-Pi 工作者。两个对照试验按顺序跑,单智能体先行。每次都用全新会话,不带之前试验的解法和笔记。
| 配置 | 周期 ↓ | 模型成本 ↓ | 速度阈值 |
|---|---|---|---|
| Sol + 20 SoL-Pi | 1,127 | $60.11 | 8/8 |
| 单 Sol | 1,333 | $39.20 | 8/8 |
| Sol + 20 Pi | 1,366 | $82.12 | 7/8 |
这次对比里,SoL-Pi 群体达到了 1,127 cycles , $60.11 API 等效模型成本: 周期少 17.5%,成本低 26.8% ,优于 Pi 群体。单智能体 Sol 依然是最便宜的($39.20),但终点是 1,333 周期。
讨论
token 效率青睐可复用的改进
在封闭任务集上优化脚手架,很容易滑向基准过拟合。搜索循环可能把任务相关的信息塞进脚手架,或者给训练任务里反复出现的模式加特殊规则。分数涨了,换个任务集可能就不好使了。
token 效率把搜索引向跨任务反复出现的工作:去掉重复的上下文、合并无需中间决策的动作、避免反复传输大块工具输出——瞄准的都是交互循环里的浪费。它们不依赖“知道某道题的答案”,所以更容易迁移到新任务和新模型上。
智能体偷懒少干活也能省 token。所以 SoL-Pi 设了一条预先声明的能力下限:只有任务质量保持在允许范围内,省下的 token 才算效率提升。
EdgeBench 让长周期效率可测量
选 EdgeBench,是因为它让智能体跑的是长达数小时的轨迹。当时能找到的公开基准里,只有它能稳定支撑大约 2 到 12 小时的连续推理和工具调用。常见的替代项,比如 Terminal-Bench 2.1 和 SWE-bench,通常一小时内就跑完了。
更长的时间跨度是测量 token 效率的关键。任务太短,上下文重放、大块工具输出、缓存写入、多余的模型轮次都来不及累积;每轮省下的一点点,容易被启动成本和任务间差异淹没。拉到几个小时,同样的浪费反复出现,脚手架层面的效率差异就容易测出来了。
短基准对很多问题依然有用,只是对不上我们的研究问题:脚手架能不能在保持任务质量的同时,压低长轨迹里的重复开销。EdgeBench 提供了让这种差异可被测量的时间跨度。
广度跳出局部搜索盆地
我们沿两个轴扩展自动研究:深度优先(DFS)保住一条血脉,反复打磨最新候选;广度优先(BFS)铺开大量独立想法,给每个有希望的分支配一个自动研究循环去实现、测试、加固。
我们的实验里有个定性规律:大约 5 到 10 轮迭代后,连跑在 xhigh 的 GPT-5.6 Sol 也会陷进局部盆地,只在同一设计上做越来越小的调整,不再换方向。广度优先不一样:大多数想法验证失败,但起点想法足够多样时,偶尔会冒出一个不寻常的候选,后续循环能把它实现、加固。本项目里最有用的几处脚手架改动就来自这种跳跃。转化率一直很低:大约 40 个起点想法里只有 1 个能通过验证。广度让这些稀有候选变得可发现。
广度与隔离支撑泛化
我们的经验是,两个条件尤其重要:一是靠广度搜索攒出的多样想法池;二是过硬的验证——评估环境必须和搜索/训练完全隔离,还要能反映真实部署中的差异和故障模式。缺了任何一个,自动研究可能只在一个环境里刷高分数,系统本身并没有变好。
人类定先验、验幸存者
当 AI 开始改进自身周围的“机器”,人类在递归式自我改进里的角色还没定论。SoL-Pi 最好理解为混合式自动研究循环:人类先给出关于脚手架原理和机制的先验;在扩大想法池之前,滤掉对本项目探索价值不大的方向,比如搜基础脚手架超参数;想法一旦进入自动研究循环,研究和验证全程无人干预;候选存活下来后,人类再回来理解智能体发现的机制,把代码重构成干净可维护的实现。
全自主的 RSI 是不是最终的正确形态,还是个开放问题。开放式循环里,目标、证据或实现的漂移可能在人类察觉之前不断累积,后果难以逆转。所以人类判断和机器规模研究的关系值得持续研究:人应该在哪里提供先验、卡搜索预算、评审已接受的改动、清理实现?又该在哪里放手?
任务多样性可能提升脚手架质量
SoL-Pi 还跑了一个初步的闭环:智能体收集或合成任务、搭建可执行环境、收集轨迹、验证候选、更新自己的脚手架。
我们把这个方向叫“脚手架预训练”:部署前,脚手架搜索看到不断扩大的自生成任务和环境流,留下在整个分布上都存活的机制。这条研究线还很早期。我们预期脚手架也会有类似模型的 scaling law:随着算力和推演环境多样性增长,脚手架会更强、更稳、更高效。
递归式高效改进
效率也可能递归:更高效的脚手架能降低“造出下一代脚手架”的自动研究成本。我们计划把 SoL-Pi 作为下一轮研究的起点脚手架——单轮成本更低,固定预算就能覆盖更多可执行环境、轨迹和研究想法。这么看,效率既是脚手架研究的产出,也是扩大后续搜索的资源:更高效的脚手架可能帮我们发现更高效的脚手架。我们把这种可能叫作 递归式高效改进;这是长期研究愿景,不是本研究已证实的复利效应。
