[Paper] 多智能体系统在软件工程数据集适配中的应用:能力、局限性与未来方向

发布: (2025年11月26日 GMT+8 21:26)
7 min read
原文: arXiv

Source: arXiv - 2511.21380v1

概览

本文首次系统性评估了现代多代理大型语言模型(LLM)系统——具体为由 GPT‑4.1 驱动的 GitHub Copilot 和 Claude Sonnet 4——在软件工程(SE)研究中的 数据集适配 问题。通过自动将研究制品(脚本、流水线、配置文件)从一个基准仓库迁移到另一个,作者探讨了当前 AI 代理在提升 SE 实验可复现性和可扩展性方面的潜力。

关键贡献

  • 实证基准:提出了一个五阶段评估流水线(文件理解 → 代码编辑 → 命令生成 → 验证 → 执行),严格评估多代理在真实 SE 数据集(ROCODE、LogHub 2.0)上的表现。
  • 量化基线:显示开箱即用的代理仅能达到约 7.25 % 的结构相似度,功能正确率远低于 5 %
  • 提示工程干预:证明向代理提供执行错误信息和参考代码片段可将相似度提升至 67.14 %,揭示了反馈驱动提示的强大作用。
  • 失败分类:归纳了常见错误模式(缺少导入、文件路径错误、API 使用不当),帮助定位代理的薄弱环节。
  • 自纠正代理路线图:提出具体设计方向——迭代自调试循环、更丰富的工具调用 API、数据集感知提示——以缩小当前能力与完全自主适配之间的差距。

方法论

  1. 数据集选择 – 作者选取了两个广泛使用的 SE 基准套件:

    • ROCODE(代码异味检测)
    • LogHub 2.0(日志分析流水线)
  2. 任务定义 – 为每个仓库构造了一组 “适配任务”(例如,将读取 CSV 日志的 Python 脚本迁移到新日志格式)。

  3. 代理配置 – Copilot 在 agent mode 下运行,底层使用两种 LLM:GPT‑4.1 和 Claude Sonnet 4。代理可调用受限工具箱(文件 I/O、Shell 命令、简易 Python REPL)。

  4. 五阶段流水线

    • 文件理解:代理识别相关源文件。
    • 代码编辑:生成满足目标数据集模式的修改。
    • 命令生成:产生构建/运行命令。
    • 验证:在沙箱中执行命令并捕获错误。
    • 最终执行:检查适配后的制品是否成功运行并产生预期输出。
  5. 提示干预 – 测试了三种提示层级:
    (a) 基线提示,
    (b) 基线 + 错误信息反馈,
    (c) 基线 + 错误 + 参考代码片段。

  6. 指标 – 结构相似度(基于 AST 的差异)、功能正确性(单元测试通过/失败)以及每个流水线阶段的成功率。

结果与发现

提示条件结构相似度 ↑功能正确性 ↑
基线7.25 %3.1 %
+ 错误反馈42.8 %15.6 %
+ 参考代码67.14 %31.2 %
  • 阶段瓶颈验证 阶段导致超过 60 % 的失败;代理常生成语法正确的代码,却因缺少依赖而崩溃。
  • 错误驱动提示 的效果远胜于单纯在初始请求中添加更多描述。
  • 模型差异:GPT‑4.1 在代码编辑上略胜 Claude Sonnet 4,而 Claude 在生成正确的 Shell 命令方面表现更佳。
  • 失败分类 突出三大主题: (1) 环境不匹配,(2) API 版本漂移,(3) 对数据布局的隐式假设

实际意义

  • 加速可复现性 – 团队可使用引导式多代理工作流将已有研究流水线迁移到新数据集,无需手动重写每个脚本,将上手时间从天级缩短至小时级。
  • CI/CD 集成 – 五阶段流水线自然映射到持续集成流程;代理可充当 “智能机器人”,在数据集模式演进时自动调整测试套件。
  • 工具扩展 – IDE 插件可暴露 “错误反馈循环”,让开发者在脚本因数据集变化而失败时即时获得建议。
  • 成本效益规模化 – 对于大规模经验 SE 研究(如挖掘数千个仓库),自动适配可显著降低维护数据收集脚本的人力成本。

局限性与未来工作

  • 数据集范围 – 本研究仅聚焦两种 SE 基准;在构建系统更复杂的领域(如 C/C++ 项目)可能会得到不同结果。
  • 沙箱约束 – 代理使用的工具集受限;更丰富的环境(Docker、包管理器)有望提升成功率。
  • 自纠正 – 当前代理依赖外部提示获取错误反馈;构建真正自治的自调试循环仍是未解挑战。
  • 评估深度 – 功能正确性仅通过简单单元测试衡量;更深入的语义验证(如模型输出的统计等价性)留待后续研究。

结论:多代理 LLM 已能够识别并部分适配 SE 研究制品,但要实现可靠的端到端自动化仍需更紧密的反馈机制、更丰富的工具链以及面向领域的提示策略。对可复现 SE 流水线感兴趣的开发者应立即尝试错误反馈提示模式,同时关注下一代自纠正 AI 代理的进展。

作者

  • Jingyi Chen
  • Xiaoyan Guo
  • Songqiang Chen
  • Shing-Chi Cheung
  • Jiasi Shen

论文信息

  • arXiv ID: 2511.21380v1
  • Categories: cs.SE
  • Published: November 26, 2025
  • PDF: Download PDF
Back to Blog

相关文章

阅读更多 »

[Paper] Kubernetes 配置缺陷

Kubernetes 是一种帮助快速部署软件的工具。不幸的是,配置 Kubernetes 容易出错。配置缺陷并不少见。