智能体蜂群通过规划器与工人分离提升上下文效率,解决长时间运行偏差。新版本控制系统支持每秒千次提交,并引入冲突解决、FieldGuide等机制。在SQLite实现中,新框架用更少代码通过全部测试,成本显著降低。
从实际效果来看,这种设计能够泛化到诸如构建浏览器、启动数学问题以及优化GPU内核等多种任务。在内部,它还被用来发现并修复开源软件中的漏洞,提升自有代码库的测试覆盖率,并生成了亿代币的合成训练数据。

长期稳定更新的攒劲资源: >>>点此立即查看<<<
当单个智能体独自承担一个完整任务时,它必须自行走完整棵树,一路下探到每个叶节点,并且在整个过程中始终在下游中维持其祖先节点、当前位置以及更宏观的目标。
这解释了为什么长时间运行的单个智能界面会逐渐跑偏——它们要么专注于眼前的工作,从而失去对全局的把握;要么努力维持全局视角,却把局部场景做得更差。
在蜂群中,规划器从不负责实现,所以它的上下文不会被底层细节塞满;而工人从不负责规划,因此它可以把所有上下文投入到每一块具体工作中。
智能体蜂群的可扩展性更多来自于这种上下文效率,而非其自身的特性。这种效率在蜂群的任何规模下都存在,这也是为什么这种拆分方式面对中等规模的任务,甚至能够提升智能体的性能。
这种结构在经济学中也有类似的证明。经济学家罗纳德·科斯在追问企业为何会存在时提出:当协调成本的增长速度快于工作本身时,组织会由边界明确的单元构成体系,而不是让所有个体直接沟通。
在上一篇较早介绍 swarm 的文章中,我们提到过,Git 和 Cargo 这类工具依赖于粗粒度锁并发控制。对于单个开发者来说,这没问题;但对于数百个并发智能体的大规模工作负载,这种机制就完全行不通了。
今年早些时候,Git 上的集群峰值大约为每秒 1,000 次提交。新系统的峰值则大约达到每秒 1,000 次提交。
为了支撑这样的活动速度,一套新的版本控制系统(VCS)被从零构建。这并非构建这一层的唯一原因——系统中的每一次更改都会经过VCS,因此冲突也最先在这里被发现;而后面提到的一些协调机制,也是直接在这一层内部实现的。
人类工程团队有一套标准的协作机制,比如代码审查、责任归属、站会和队列。这些机制适用于人类的工作节奏,但在群体的工作节奏下,会出现一些人类团队平时几乎不会遇到的故障模式。
两个不同的规划器,在代码库的不同部分以不同的方式实现了同一个概念。这个问题通过提示工程得到了解决——规划器自己做出设计决策,而不是把这样的决策委派出去;同时,要求它们确保不会让两个被委派的子树去决定相同的问题。
一种更为棘手的冲突形式是:两个规划器彼此平等地存在,并围绕同一文件反复修改、相互博弈。
问题在于,双方对现实存在着两种不同的认知,而合并工具无法消除这种缺口。相反,智能体被要求将决策记录在共享的设计文档中。依赖该决策的代码会附带一个可经验证的校验,并可重复对应文档的引用。当规划器在不知情的情况下相互矛盾时,协调器会合并这些文档,而这些引用解决方案的结果将一路传递到下游。
在群体中,智能体经常会因为同时处理相同的文件而发生冲突。要解决这种冲突,他们必须先停下来,了解另一个智能体的上下文,然后在此基础上完成合并。工人智能体并不擅长处理这种情况,实践中,它们往往会覆盖对方的改变,或者放弃自己的改变。
为了解决这个问题,一个系统被创建:当出现合并冲突时,由一个中立的第三方智能体介入,并代表双方完成冲突解决。它唯一的目标就是保持公正和高效,就像工程团队中合并队列的配合方式。
有些文件特别容易成为智能体集中处理的对象。每个智能体只需添加少量代码,并且没有任何一个智能体负责让这些文件保持整洁。
这些“超大文件”会拖慢一切。它们在传输、比对差异和合并时的成本日益增加,还会不断成为冲突的源头。
为了解决这个问题,工人智能体被赋予标记肿胀文件的能力。文件一旦被标记,就会阻止新的工作,并由外部智能体将这个过度膨胀的文件分割成更小的模块。
智能体在参与由人类维护的现有代码库时,已经学会了一点:即使核心代码确实需要修改,也不要轻易去碰它。
为了解决这个问题,允许智能体引入破坏性变更。如果某些智能体判断对核心部分的修改确实值得,它就可以在自身范围之外布置一个外部补丁,并留反赌释说明修改的原因。
编译器将这次变更通知到系统的其余部分,所有依赖旧设计的内容都会构建失败。每个遇到此类错误的智能体都会找到这些注释,理解其中的原因,并更新自己负责的那部分工作以保持一致。
在一个既长时间运行又是多智能体的系统中,错误会不断积累,因此这个群体需要一种机制,在小错误演变成根本性问题之前完成自我修复。
试验了多种不同的审查视角,比如给审查智能体提供工作者的完整对话记录,或者只提供其输出,或者只提供代码库。也尝试过让审查者基于不同的模型运行,接受不同的视角,并具备不同的“个性”。
任何一种单一视角都无法发现所有问题,但多个低相关的视角可以协同起来,就像自动驾驶系统并非依赖某个组件完美,但依然能达到人类的可靠性。投入在审查上的计算回报很大,因为审查的成本远低于它所审查的工作。有理由认为,这种叠加式审查系统,是这些运行能够持续保持高质量的重要原因之一。
这种机制类似于蚂蚁、白蚁等群居生物相互直接沟通、和谐配合的方式——它们塑造环境,而环境又会塑造下一个个体。
在更早的运行中,加入了诸如此类的“保留笔记”和“记录决策”之类的规则,因为这些规则看起来显然有益。现在看来,这实际上是在让智能体为未来的自己和其他智能体沉淀知识。
后来又通过一个由智能体自主编写、共享上下文的实验,把这件事向前推进了一步。这被称为Field Guide。它是一个完全由智能体管理的文件夹,其中的index.md在启动时会自动填充给每个智能体。哪些内容进入这份指南是智能体的职责,它们唯一的限制就是行数限制。
该指南背后的逻辑是:模型权重是冻结的,因此真正值得记录的是那些出乎意料的情况,这样下一个智能体的任务提示可以更短。
Field Guide 还是一个早期阶段、但已经表现出良好效果的实验。前期判断,在那些并非完全由智能体掌控的代码库中,它带来的收益会更大。训练模型为他们的后续者写作——在这种情况下,捕捉得不好,奖励就一个智能体——是一个值得继续研究的有趣方向。
配备了上述所有改进的新版本 swarm 被要求使用 Rust 实现 SQLite 的 835 页手册中的全部内容。未向其提供源代码、测试套件、SQLite 二进制文件,也不提供互联网访问权限。
为了快速进展,以 sqllogictest 作为评分标准。它是 SQLite 项目构建的一套测试,用于检查不同数据库引擎对相同查询是否返回相同结果。其中包含数百万条已知正确答案的查询,对数据库返回正确答案的比例进行评分。进展在一次运行过程中会呈现逐渐上升的曲线。
swarm 从未被告知测试集的存在。每次运行后都会人工审查代码和整个运行过程,检查是否存在作弊或走捷径的情况,并确认系统的构建是均衡推进的,而不是仅仅针对测试会检查到的地方做优化。
在阅读这些曲线时,请记住,智能体自行选择策略。有些会先打下广泛的基础,连续数小时得分降低,从而在后期突然跃升;另一些则先深入某个领域,很快获得份额,然后补齐其余部分时进入平台期。相比某些具体时刻的准确分数,整体趋势更为重要。
测试了四种覆盖不同能力与成本区间的配置:
每个组合中的新框架都超过旧版本。
《神鬼寓言 5》混合方案在第一个小时内通过了大约三分之二的测试集。到了四个小时时,新版运行的结果达到了 73% 到 85% 之间,而旧版运行的范围则从 11% 到 77%。
旧版本的 Grok 4.5 运行在接近两小时时被暂停了(下文详述)。所有新版本配置最终都通过了整个测试集。
未来计划运行规划器与工人组合的完整 N×N 矩阵。就这一轮而言,真正重要的是不同框架版本之间的对比,而最终呈现出的差异行为也远比分数差异所显示的更大。
先看最简单的活动指标,Grok 4.5在旧框架和新框架下的提交速率变化显著。旧运行在前两个小时内产生了68,000次作业,速度大约是新运行的70倍。
一种解读是,它的生产效率更高。另一种解读是,这些作业大多只是争吵式完成(反复折腾、相互抢占、来回解决)。
合并冲突数据更支持后一种解读。旧运行在暂停之前累计已超过70,000次冲突,而且增长速度仍在加快,并趋于稳定;而新运行在完整的四小时内记录的冲突不到一千次。
冲突主要集中在体量增长最大的文件上。在旧运行中,最大的几个文件在整个运行期间持续膨胀,其中冲突最严重的那个文件累计了7,771次冲突,被1,173个不同的智能体修改过。而在新运行中,整个代码库里争抢最激烈的文件也只出现了47次冲突。
旧蜂群最大的协调失效——脑裂,即多个规划器重复工作——体现在包结构上。Rust 代码被称为 crate 的包组织,而在这样的项目里,每个 crate 大致对应一个主要组件。
旧的运行方式扩展到54个crate,其中包括三个相互独立的SQL包。新的运行则很早就稳定在9个crate中,之后就再也没有新增了。
这一切都会最终反映在最终代码库中。在《神鬼寓言 5 mix》中,旧蜂群和新蜂群最终都用了完整测试套件,但旧蜂群需要 64,305 行引擎代码,而新蜂群只用了 9,908 行。Opus mix 也呈现出同样的趋势:旧蜂群下用了 19,013 行代码,得分为 97%;新框架下则只用了 4,645 行,得分达到100%。
我们在开头提到过,不同模型组合的质量大致相当,但成本差异却非常大:从 Opus 4.8 混合方案的 1,339,到仅使用 GPT-5.5 的 10,565。代币数据揭示了这种差异的来源。
每次运行的支出结构非常一致:worker 至少承担了 69% 的代币,而大多数运行中该比例甚至超过了 90%。
但美元成本的分配与 token 的分布并不一致,因为规划器 token 的成本更高。在 Opus 4.8 与 Composer 2.5 的组合中,规划器的 Opus 只产生了很少的 token,但却占据了大约三分之二的成本;而作为 worker 的 Composer 处理了大部分 token,却只占据了剩下的一半成本。
在任务中,真正需要前沿智能的阶段性其实并不多,比如最初的任务拆解、设计决策,以及某些权衡取舍。一旦前沿规划器把这种不确定性约束为详细而明确的指令,成本较低的模型就只需要照着执行。这是成本节约的一个巨大的潜在来源。同时使用GPT-5.5作为规划器和工人的那次运行中,仅工人的成本就高达9,373。而在由Opus 4.8负责规划、Composer 2.5负责执行的那次运行中,整个worker集群的成本只有411。
还有一个值得注意的细节,可以从这两次混合运行的对比中看出来。《神鬼寓言 5 规划器产生的账单略低于 Opus 4.8 规划器,虽然它的单代币价格大约高出一倍,原因是它使用的规划代币少了数量级。但《神鬼寓言》那次运行中的工人消耗了数倍于先前的代币,因此整次运行的总成本明显更高。
AI能力的每一次跃升,都提高了工程师可工作的抽象层次。
自动补全让工程师能够按单行代码来工作。早期模型把这个系统提升到了代码块,而智能体则进一步提升到了文件或功能层面。
有了蜂群,工作的基本单位就变成了规格说明。
但要让这套方式行得通,蜂群就必须遵循真正的规格说明,而这也正是论文很大一部分内容的核心。蜂群被给予了835页文字说明,它最后返回了一个数据库。在这次实验中真正稀缺的,以及预计未来在软件工程中会持续稀缺的,是对道理的准确描述。
从这个角度来看,蜂群开始有点像编译器。编译器会通过一系列中间步骤,把源代码翻译成机器代码。蜂群对规划做的事情类似。蜂群会先把目标解析成任务树,再逐步将其细化为具体的工作。区别在于,编译器在每一步都会保留语义,而蜂群的每一步都是概率性的。论文所描述的一切,都是为了缩小这个差距。
欢迎您查看蜂群的结构。这次单独的 Opus 4.8 运行生成的代码库已公开发布在 github.com/cursor/minisqlite。根据判断,它看起来很不错,但尚未做更深入的人工分析。您也可以查看并分享您的发现。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述