[Paper] BOAD:通过 Bandit 优化发现层次化软件工程代理

发布: (2025年12月30日 GMT+8 01:41)
7 min read
原文: arXiv

Source: arXiv - 2512.23631v1

概述

本文介绍了 BOAD(Bandit Optimization for Agent Design),一个自动构建层次化、多代理软件工程助理的框架。通过将每个可能的子代理(例如,错误定位器、代码编辑器、测试验证器)视为多臂赌博机中的一只臂,BOAD 学会如何组合一支专家团队,在真实的、长期的编码任务中超越单体 LLM 代理的表现。

关键贡献

  • 层次化代理发现: 将寻找有效子代理层次结构的问题表述为多臂赌博机(MAB)优化,实现对组合设计空间的可扩展探索。
  • 信用分配机制: 引入一种奖励信号,用于衡量每个子代理在协作时的“帮助程度”,解决多代理团队中的经典信用分配难题。
  • BOAD 框架: 提供一个端到端的流水线(候选生成 → 基于赌博机的选择 → 联合评估),能够在严格的评估预算下运行。
  • 实证提升: 在 SWE‑bench‑Verified 和 SWE‑bench‑Live 上展示了最先进的性能,超越包括单一代理大语言模型和手工构建的多代理系统在内的强基线。
  • 开源发布: 共享代码、提示词和评估脚本,促进可复现性和社区扩展。

方法论

  1. 候选子‑代理池:

    • 从一组提示模板和工具包装器开始(例如,“查找有缺陷的文件”,“应用差异”,“运行单元测试”)。
    • 每个模板 + LLM 配对构成一个 候选臂
  2. Bandit 表述:

    • 臂: 单个候选子‑代理。
    • 拉动(Pull): 组装一个层级结构(编排器 + 选定的子‑代理)并在 SWE 任务上运行它。
    • 奖励: 复合分数,结合任务成功(例如,通过验证测试)和效率(例如,LLM 调用次数)。
  3. 探索‑利用循环:

    • 使用上下文多臂赌博机算法(例如,Thompson Sampling)在尝试新子‑代理与利用已知优秀子‑代理之间取得平衡。
    • 每次评估后,更新每个臂效用的后验分布,直接影响未来的层级提案。
  4. 编排器设计:

    • 一个轻量级控制器根据当前层级决定执行顺序(定位 → 编辑 → 验证)。
    • 编排器本身可以是一个简单的基于规则的脚本;新颖之处在于它所协调的 自动发现 的子‑代理。
  5. 评估预算:

    • 多臂赌博机在固定的任务评估总次数下运行(例如,几千次),以反映对 LLM API 使用的现实约束。

结果与发现

BenchmarkBOAD (36B)Single‑Agent 36BManually‑Designed Multi‑AgentGPT‑4Claude
SWE‑bench‑Verified+12.4% 相比单代理的通过率提升比手动多代理提升 +6.8%
SWE‑bench‑Live (out‑of‑distribution)第2名 在排行榜上(约落后首位 1.8%)虽然模型更大,但低于 BOAD低于 BOAD
  • 泛化能力: BOAD 的层级在新出现的、未见过的问题上保持更高的成功率,表明对分布漂移具有更好的鲁棒性。
  • 效率: 该 bandit 使用约 30% 更少的 LLM 调用即可发现有用的子代理,优于穷举网格搜索。
  • 消融实验: 移除信用分配奖励或限制层级深度会使性能回落到单代理水平,证实了两者的重要性。

实际意义

  • 开发者工具: IDE 插件可以嵌入经过 BOAD 训练的 orchestrator,自动分解 bug 报告,提供针对性编辑建议并运行验证,降低工程师的认知负担。
  • CI/CD 自动化: 团队可以将基于 BOAD 的代理接入持续集成流水线,自动分流失败的测试,生成补丁并在人工审查前进行验证。
  • 成本效益的 AI 运维: 由于 BOAD 学会使用 专用 子代理,每个问题所需的昂贵 LLM 调用次数下降,从而为企业降低 API 费用。
  • 可扩展性: 可以向候选池中添加新的子代理(例如安全扫描器、性能分析器),bandit 会自动评估其效用,无需人工调参。

限制与未来工作

  • 候选依赖性: BOAD 只能从预定义的子代理池中发现层级结构;真正新颖的能力仍需手动提示工程。
  • 层级深度的可扩展性: 当前实现对层级深度设有上限,以保持 bandit 的可处理性;更深、更复杂的流水线可能需要层级 bandit 或强化学习。
  • 奖励噪声: 成功度量(例如测试通过)在模糊任务中可能噪声较大,容易误导 bandit;更丰富的奖励信号(例如代码质量指标)是一个有前景的方向。
  • 人机交互评估: 实际应用需要研究开发者如何与自动生成的层级结构交互以及对建议修复的信任程度。

BOAD 展示了一条通往模块化、自我优化的软件工程 AI 助手的有力路径,弥合了强大大型语言模型与人类开发者依赖的结构化、协作工作流之间的鸿沟。

作者

  • Iris Xu
  • Guangtao Zeng
  • Zexue He
  • Charles Jin
  • Aldo Pareja
  • Dan Gutfreund
  • Chuang Gan
  • Zhang‑Wei Hong

论文信息

  • arXiv ID: 2512.23631v1
  • 分类: cs.LG, cs.AI
  • 出版日期: 2025年12月29日
  • PDF: 下载 PDF
Back to Blog

相关文章

阅读更多 »