[Paper] 多代理协同重命名重构

发布: (2026年1月2日 GMT+8 05:29)
7 min read
原文: arXiv

Source: arXiv - 2601.00482v1

请提供您希望翻译的具体文本内容,我将为您翻译成简体中文并保持原有的格式。

概述

协调的重命名重构——即一次重命名必须在许多相关标识符中传播——是开发者常见但容易出错的工作。本文提出了首个 多代理框架,该框架与开发者协作,自动完成整个过程,将初始的重命名转化为全项目范围内的安全转换,同时让人保持控制。

关键贡献

  • 多代理架构(范围推断、计划执行、复制),将 LLM 推理与 IDE 原生重构 API 协同。
  • 声明式范围语言:一种简洁的自然语言表示,用于描述重命名的预期范围,自动从开发者的首次编辑生成。
  • 实证研究:在 100 个开源项目的 609 K 次提交中对协同重命名进行分析,揭示模式和痛点。
  • 用户评估(205 位开发者)显示,与启发式工具相比,手动工作量降低 73 %误报建议下降 5 倍
  • 开源原型:集成于 VS Code 和 IntelliJ,遵循 Apache‑2.0 许可证发布。

方法论

  1. Formative Mining – 作者挖掘了重命名提交,以量化重命名触发额外更改的频率,并识别出重要的上下文(例如类名、API 符号)。
  2. Agent Design
    • Scope Inference Agent 读取开发者的初始重命名(即“线索”),并使用 LLM 生成 Declared Scope,例如 “将 data 包中所有名为 fetchData 的公共方法及其所有重载全部重命名”。
    • Planned Execution Agent 将该范围转化为具体计划,查询 IDE 的重构引擎,并在应用每项更改前根据范围进行验证。
    • Replication Agent 根据计划在整个项目中执行搜索,将结果反馈给 Execution Agent 以处理任何边缘情况。
  3. Implementation – 各代理通过轻量级的 JSON‑RPC 协议进行通信,使 LLM 保持无状态,而 IDE 负责繁重的实际操作。
  4. Evaluation – 两个阶段:(a) 在 1 200 个真实重命名场景上进行 benchmark,与启发式重命名工具和普通 LLM 建议进行比较;(b) 进行 user study,让参与者在有无代理的情况下执行协同重命名,测量时间、错误率和主观工作负荷。

结果与发现

指标Baseline HeuristicsVanilla LLMMulti‑Agent System
True positives (correctly renamed)42 %58 %92 %
False positives (unwanted changes)31 %19 %3 %
Avg. time per rename (seconds)847122
Developer satisfaction (1‑5)2.83.44.6
  • Declared Scope 捕获了 96 % 的预期重命名范围,即使是复杂的跨模块符号也不例外。
  • 通过将实际编辑委派给 IDE 的可信重构 API,系统避免了原始 LLM 输出中常见的“幻觉”错误。
  • 参与者报告说,代理让他们保持“掌控全局”,而系统则处理重复的底层工作。

实际影响

  • IDE 插件 – 该架构可以打包成任何提供重构 API 的现代 IDE 的插件,为团队提供开箱即用的大规模重命名助手。
  • CI/CD 集成 – 代理可以在 pre‑commit 钩子中运行,提供完整的重命名方案,降低 API 弃用时的代码审查摩擦。
  • 企业代码库 – 在拥有成千上万相互依赖模块的 monorepo 中,协同重命名常常成为瓶颈;此方法可将处理时间从数天缩短至数分钟。
  • 开发者入职 – 新成员可以依赖这些代理了解重命名的连锁影响,降低学习旧代码的门槛。
  • 可扩展性 – 同样的多代理模式可以重新用于其他协同重构(例如提取接口、移动类),在单一开发者意图需要广泛传播的场景中。

局限性与未来工作

  • 范围生成依赖于大型语言模型质量 – 在文档稀少或代码高度动态的语言(例如 JavaScript)中,范围推断代理有时会遗漏边缘情况。
  • IDE 依赖 – 当前原型仅在提供稳定重构 API 的 IDE 中工作;无界面环境需要额外的适配器。
  • 搜索的可扩展性 – 对于极大型代码库(>10 M 行代码),复制代理的全项目搜索会成为性能瓶颈;计划改进为增量索引。
  • 用户信任 – 虽然误报率低,但开发者仍需审查生成的计划;未来工作将探索更丰富的可视化以及“示例撤销”机制。

作者设想一个更广阔的生态系统,其中多个专门化代理协同工作——处理命名、类型迁移和架构重塑——将 AI 增强的重构转变为开发者工作流中的常规环节。

作者

  • Abhiram Bellur
  • Mohammed Raihan Ullah
  • Fraol Batole
  • Mohit Kansara
  • Masaharu Morimoto
  • Kai Ishikawa
  • Haifeng Chen
  • Yaroslav Zharov
  • Timofey Bryksin
  • Tien N. Nguyen
  • Hridesh Rajan
  • Danny Dig

论文信息

  • arXiv ID: 2601.00482v1
  • 分类: cs.SE, cs.AI
  • 发布时间: 2026年1月1日
  • PDF: 下载 PDF
Back to Blog

相关文章

阅读更多 »