SwarmResearch: 编排编码代理以实现开放式发现

arXiv cs.AI 论文

摘要

SwarmResearch 引入了一个编排器-子代理框架,其中 Shepherd Agent 引导一群 Search Agents 探索开放优化问题的多样化解决方案,在 13/15 个任务上取得了比最新方法更好或相当的结果。

arXiv:2607.02807v1 Announce Type: new 摘要:诸如 autoresearch 之类的长时间运行的编码代理可以持续发现开放式问题的优化方案。然而,它们倾向于收敛到单一的高层方法,然后进行低层编辑,同时错过其他更优的问题解决方案。我们假设两种框架级别的设计选择导致了这种行为:在单个长时间运行的代理中积累上下文,以及仅暴露单个程序状态供编辑。我们引入了 SwarmResearch,这是一个编排器-子代理框架,其中 Shepherd Agent 使用全局上下文来引导一群 Search Agents,每个代理在其各自的 git 分支中使用局部上下文进行操作。在开放式优化任务中,SwarmResearch 通过更高层次的探索,在 13/15 个任务上发现了比最先进的 LLM 引导演化和多代理技术更好或相当的解决方案。与固定扩展的串行和并行代理相比,SwarmResearch 的编排器引导扩展通过在不同搜索深度调整并行度,发现了性能更优的解决方案。
查看原文
查看缓存全文

缓存时间: 2026/07/07 04:34

# SwarmResearch:编排编码智能体进行开放式探索
来源:https://arxiv.org/html/2607.02807
Yuvraj Virk Zack Edds Chunqiu Steven Xia Lingming Zhang 伊利诺伊大学厄巴纳-香槟分校![[未标注图片]](https://arxiv.org/html/2607.02807v1/resources/uiuc.png) \{yvirk2, zedds2, chunqiu2, lingming\}@illinois\.edu

###### 摘要

autoresearch 等长运行编码智能体能够持续发现开放式问题的优化方案。然而,它们倾向于收敛到单一的高级方法,然后进行低级编辑,却错过了其他更优的问题解决方法。我们假设有两个框架层面的设计选择导致了这种行为:在单个长运行智能体中积累上下文,以及只暴露一个可编辑的程序状态。我们引入了 SwarmResearch,这是一种编排器-子智能体框架,其中 Shepherd Agent 使用全局上下文来引导一个 Search Agent 群体,每个智能体在其各自的 git 分支上使用局部上下文进行操作。在开放式优化任务上,SwarmResearch 在 13/15 个任务中发现了优于或媲美最先进的 LLM 引导进化与多智能体技术的解决方案,这得益于更高级别的探索。与固定扩展的串行和并行智能体相比,SwarmResearch 的编排器引导扩展通过在不同搜索深度自适应调整并行度,发现了性能更优的解决方案。代码和详细信息请访问 https://github.com/SwarmResearch/SwarmResearch。

参见图注
图 1:SwarmResearch 设计推测性解码实现。节点代表生成的搜索智能体及其解决方案。边表示下层节点建立在上面解决方案的基础上。顶部节点值显示生成顺序;底部值显示相对于普通解码的加速比。SwarmResearch 在约 11 小时内探索了多种方法,而未收敛到任何一种方法。在 100 个保留的推理密集型任务上(5 次种子平均),SwarmResearch 达到的平均 tok/s 比普通解码快 4.58 倍。约 12 小时后,vanilla autoresearch (Karpathy, 2026 (https://arxiv.org/html/2607.02807#bib.bib16)) 的加速比仅为 1.80 倍,而 CORAL (Qu et al., 2026 (https://arxiv.org/html/2607.02807#bib.bib33)) 的加速比为 2.26 倍。所有方法均使用 Opus 4.8 Claude Code。详细信息见第 4 节 (https://arxiv.org/html/2607.02807#S4)。

## 1 引言

开放式研究和工程问题通常具有巨大的解空间且没有已知的最优解。一个例子是为 LLM 推理设计快速解码算法:研究人员探索了许多不同的方向,从 KV-cache 管理 (Kwon et al., 2023 (https://arxiv.org/html/2607.02807#bib.bib18)) 到改进的推测性解码方案 (Leviathan et al., 2023 (https://arxiv.org/html/2607.02807#bib.bib20))。评估进展的一种方法是端到端算法速度。这些方向可以视为优化景观的不同区域,其中一些区域对应包含较差局部最优解的弱方法,而另一些区域则包含更快的解决方案。因此,要取得稳步进展,需要持续探索多样化的高级方法,而不是立即致力于搜索空间的单个邻域。

测试时扩展 (Brown et al., 2024 (https://arxiv.org/html/2607.02807#bib.bib4)) 在激发 LLM 搜索开放式解空间的能力方面显示出前景。LLM 引导的进化迭代地采样 LLM,根据迄今为止生成的解决方案的选择性上下文生成新解决方案;启发式算法控制精确上下文以引导搜索行为 (Novikov et al., 2025 (https://arxiv.org/html/2607.02807#bib.bib30); Sharma, 2025 (https://arxiv.org/html/2607.02807#bib.bib39); Liu et al., 2026 (https://arxiv.org/html/2607.02807#bib.bib23); Cemri et al., 2026 (https://arxiv.org/html/2607.02807#bib.bib6); Lange et al., 2025 (https://arxiv.org/html/2607.02807#bib.bib19))。然而,长运行编码智能体可能通过更好地表达前沿模型能力来支持更自适应和更复杂的搜索,而非启发式 LLM 引导进化。这些智能体可以迭代地实现和测试复杂代码,决定是优化现有方法还是转向新方向,并使用外部工具如网络搜索。Autoresearch (Karpathy, 2026 (https://arxiv.org/html/2607.02807#bib.bib16)) 是一个流行的例子:它运行现成的编码智能体(如 Claude Code)数小时或数天,在一个实验循环中工作。一次迭代实现更改、评估、提交改进并回退回归。Autoresearch 已在多个领域启发了项目,在系统优化 (Lütke, 2026 (https://arxiv.org/html/2607.02807#bib.bib26))、内核优化 (RightNow-AI, 2026 (https://arxiv.org/html/2607.02807#bib.bib36)) 和提示注入 (Panfilov et al., 2026 (https://arxiv.org/html/2607.02807#bib.bib31)) 方面取得了显著成果。

然而,长运行编码智能体往往迅速收敛到单一的高级方法,然后花费数小时进行细微编辑和微优化。它们不是探索多样化的方向,而是可能陷入搜索空间的次优区域。我们认为这是一个框架工程问题:上下文管理和程序版本控制阻碍了发散性发现。随着智能体积累起充满对一个方法增量改进的长对话历史,方法的重大转变变得不太可能。通过将所有改进提交到一个可编辑程序中,编码智能体实验循环并未保留替代方向以供进一步探索,实际上将这个过程变成了贪婪的局部搜索。

相反,SwarmResearch 使用一个编排器将实验构思和执行委托给具有新鲜或受控上下文窗口的子智能体,并将所有主要编辑分配到单独的 git 分支。SwarmResearch 实现为三个技能,与流行的编码智能体工具(如 Claude Code)兼容。一个 Shepherd Agent 生成并引导一群 Search Agent。每个 Search Agent 在给定最小上下文的情况下提出并执行新想法,而 Shepherd Agent 则维护所有 Search Agent 活动的全局上下文,并战略性地将群体引向富有成效、多样化的探索。

我们将 SwarmResearch 与最先进的 LLM 引导进化 (Liu et al., 2026 (https://arxiv.org/html/2607.02807#bib.bib23)) 和多智能体技术 (Qu et al., 2026 (https://arxiv.org/html/2607.02807#bib.bib33)) 在 15 个跨数学、启发式和竞争性启发式工程的开放式优化任务上进行了比较。SwarmResearch 在 13/15 个任务上超过或匹配了这些技术。它通常进行 1.7 倍到 3.2 倍更大的代码更改,反映出更高级别的方法探索。我们从测试时扩展的角度分析了 SwarmResearch。通过使用编排器在不同搜索深度自主改变并行智能体的数量,它在 4/5 个任务上超过了最佳固定扩展的并行和串行智能体的性能。最后,我们展示了一个关于推测性解码的详细案例研究,以说明 SwarmResearch 的能力和局限性。

参见图注
图 2:SwarmResearch 概览。实现了一个编排器-子智能体循环:(1) Shepherd Agent 生成并发的搜索智能体,具有 3 种每智能体引导机制:通过设置其 git 分支选择父解决方案,编写提示以共享最小上下文,以及选择 Search Agent 类型。(2) Search Agent 构思、实现、评估和迭代解决方案。Explorer Search Agent 具有新鲜上下文窗口,因此不受先前工作的锚定,而 Optimizer Search Agent 则从其父智能体的对话历史分支,以沿着其详细的尝试历史继续。Shepherd Agent 从所有 Search Agent 接收摘要,以战略性地引导新的智能体。

## 2 方法

我们提出了 SwarmResearch,一个编排器-子智能体框架,其中 Shepherd Agent 使用全局上下文来引导 Search Agent 群体,每个智能体在其各自的 git 分支上使用新鲜或受控的局部上下文进行操作。图 2 (https://arxiv.org/html/2607.02807#S1.F2) 描述了智能体架构的概览。我们的设计围绕长运行编码智能体中阻碍发散性解决方案发现的两个问题展开:围绕一种方法积累上下文以及只编辑一个程序状态。

首先,长运行编码智能体的早期探索通常只覆盖少数高级方法。一旦一种方法看起来有希望,智能体就会对其进行一长串的低级编辑和微优化。尝试新的高级方法需要几轮大型程序重写,当智能体受到对当前方法进行增量改进的漫长历史的影响时,这不太可能发生。如图 2 (https://arxiv.org/html/2607.02807#S1.F2) 所示,为减少这种偏见,Shepherd Agent 将实验构思和执行委托给具有新鲜或受控上下文窗口的 Search Agent。

其次,长运行编码智能体编辑单一程序状态:所有改进都被提交,回归被回退,未来的搜索从当前最佳实现开始。这种循环设计使得维护相互竞争的高级方向变得困难,并鼓励贪婪的局部搜索。理想情况下,智能体框架应允许搜索自然分支,这样当不同想法被实例化时,程序的多个不同版本可以独立进化。如图 2 (https://arxiv.org/html/2607.02807#S1.F2) 所示,Shepherd Agent 为每个 Search Agent 分配一个新的 git 分支,因此所有主要编辑都存在于不同版本中。这样,有前景但并非最佳性能的解决方案不会被过早丢弃,并可被改进。下面我们详细描述框架设计、上下文管理和 git 管理策略。完整技能见附录 C (https://arxiv.org/html/2607.02807#A3)。

### 2.1 架构

Shepherd Agent 是一个编排器,负责生成和引导并发的搜索智能体群,而 Search Agent 是负责构思新方法、实现、评估和迭代的子智能体。Shepherd Agent 被赋予一个 Search Agent 预算进行管理。与经典的编排器-子智能体架构(将大规模代码生成等复杂任务分解给子智能体)不同,Shepherd Agent 不会为交接而分解开放式问题。相反,它引导群体级别的搜索行为:我们的技能强调初始化和维护多样化的想法群体,优先将搜索智能体预算用于有希望的想法,以及突破平台期。Shepherd Agent 通过使用 3 种引导机制(图 2 (https://arxiv.org/html/2607.02807#S1.F2);步骤 1)实现这些目标:父选择、搜索智能体类型和提示。

**父选择。** 对于每个新的 Search Agent,Shepherd Agent 从任务的基线解决方案或已完成的 Search Agent 的提交创建一个新的 git 分支和工作树。由于每个 Search Agent 通过读取和修改其工作树中的父解决方案开始,该父解决方案决定了智能体探索的解决方案邻域。父选择让 Shepherd Agent 引导群体搜索,而无需指定具体想法。从初始基线分支将鼓励从头探索,而从已完成的智能体分支将引导努力转向有前景或未充分开发的方向。

在传统的进化方法 (Novikov et al., 2025 (https://arxiv.org/html/2607.02807#bib.bib30); Sharma, 2025 (https://arxiv.org/html/2607.02807#bib.bib39); Lange et al., 2025 (https://arxiv.org/html/2607.02807#bib.bib19)) 中,父选择也用于引导探索-利用行为,但由启发式算法而非 LLM 完成。在现有的单和多智能体方法 (Karpathy, 2026 (https://arxiv.org/html/2607.02807#bib.bib16); Qu et al., 2026 (https://arxiv.org/html/2607.02807#bib.bib33)) 中,父选择是隐式的。智能体独立地反思其对话历史和共享内存,以决定扩展哪个解决方案。相比之下,SwarmResearch 使用编排器战略性地分配父节点,而不是依赖不协调的智能体决策。

**搜索智能体类型。** Explorer Search Agent 具有新鲜上下文窗口,并使用其工作树中的内容作为上下文。它们的目标是探索新方法。Optimizer Search Agent 在其父智能体的对话历史之外还分叉它,并使用工作树内容作为上下文。它们的目标是对父解决方案进行一些改进。

**提示。** 由于 Search Agent 只有其父节点的局部上下文,Shepherd Agent 可以通过提供分享最小相关上下文或添加方向的提示来补充其上下文。例如,如果 Explorer Agent 重复相似的想法,提示可以提供已探索想法的摘要,并指示它们探索新想法。提示还可以包括其他 Search Agent 的补充发现。在平台期,提示可以包含最佳方法的优劣势简报,并建议识别针对限制的新技术。我们发现,限制 Shepherd Agent 在提示中指定具体想法有助于保持想法多样性;否则,Shepherd Agent 本身可能会陷入想法的盆地。

### 2.2 上下文管理

参见图注
图 3:SwarmResearch 对搜索智能体的上下文管理。SwarmResearch 将上下文分为两个层级。Search Agent 使用局部上下文操作:其工作树的内容,对于 Optimizer Agent,还包括其直接父节点的对话历史。Shepherd Agent 使用全局上下文操作:所有 Search Agent 尝试的摘要,包括其方法和评估分数。这种分离旨在保持 Search Agent 之间的多样性,同时仍为 Shepherd Agent 提供足够信息以战略性地引导群体。

Search Agent 的持久状态主要由其工作树捕获。如图 3 (https://arxiv.org/html/2607.02807#S2.F3) 所示,Explorer Agent 从新鲜上下文窗口开始,因此它们唯一的上下文是分配的工作树的内容。新鲜上下文使每个智能体较少受先前工作的锚定,更适合尝试更高级别的方法更改。Optimizer Agent 除了工作树外还继承其父节点的对话历史,这使它们能够访问详细的成功和失败日志,以在方法看起来有希望时继续长期的串行改进。在提交更改之前,每个 Search Agent 将方法和评估结果的简短摘要追加到 findings.md 文件中。它充当尝试和结果的谱系局部日志,为未来的 Search Agent 提供对其祖先尝试的轻量级访问,而不会将其锚定在漫长的对话历史中。

我们的编排器-子智能体设计解决了上下文积累的两种失败模式。首先,独立的编码智能体倾向于积累长对话历史,反复改进少数高级方法。这些历史可能使更大的转变不太可能,因为智能体反复受到当前方法及其增量改进的影响。SwarmResearch 通过生成具有新鲜上下文窗口的 Explorer Agent 来避免这种多样性损失,同时通过 Optimizer Agent 在串行改进有用时继承详细的对话历史来支持长尾改进。

其次,通过共享内存自组织的多智能体系统(例如 CORAL (Qu et al., 2026 (https://arxiv

相似文章