中文

面向 IDE 的上下文感知代码适配自动化代理:基于 LLM 的 WIRL 框架

软件工程 2025-10-07 v2

摘要

复制-粘贴-修改是软件开发中广泛且务实的做法,开发人员会将来自 Stack Overflow、GitHub 或 LLM 输出的代码片段适配到本地代码库中。然而,这种适配的关键且鲜有人关注的方面是代码连接:即将粘贴代码中未解决的变量替换为合适变量或表达式的上下文感知过程。现有解决方案要么依赖启发式规则,要么依赖历史模板,往往无法有效利用上下文信息,尽管研究表明,超过半数适配案例都是上下文相关的。在本文中,我们引入了 WIRL,一个基于 LLM 的代码连接代理,其被建模为检索增强生成 (RAG) 的填充任务。WIRL 结合了 LLM、定制工具包和编排模块,以识别未解决变量、检索上下文并执行上下文感知替换。为平衡效率和自主性,该代理采用混合策略:针对常见模式使用确定性规则步骤,针对智能探索使用状态机引导的决策过程。我们在精心策划的高质量数据集上评估了 WIRL,由真实世界的代码适配场景组成。我们的方案在精确匹配方面达到 91.7%,召回率为 90.0%,在精确度和召回率上分别超过先进 LLM 高出 22.6 和 13.7 个百分点,并在 IntelliJ IDEA 上高出 54.3 和 49.9 个百分点。这些结果凸显了其在复杂变量依赖或多个未解决变量的上下文中的实用价值。我们相信 WIRL 为现代 IDE 中的更智能和上下文感知的开发者辅助功能铺平了道路。

关键词

引用

@article{arxiv.2507.01315,
  title  = {Wired for Reuse: Automating Context-Aware Code Adaptation in IDEs via LLM-Based Agent},
  author = {Taiming Wang and Yanjie Jiang and Chunhao Dong and Yuxia Zhang and Hui Liu},
  journal= {arXiv preprint arXiv:2507.01315},
  year   = {2025}
}

备注

Accepted by ASE2025