arXiv cs.AI精选77

面向仓库级代码生成的自适应关键 Token 感知检索

Adaptive Critical Token-Aware Retrieval for Repository-Level Code Generation

· 42天前

精选理由

揭示关键token定位与按需检索可显著提升仓库级代码生成准确率。

AI 摘要

仓库级代码生成任务要求合成既满足任务需求、又与目标仓库上下文保持一致的代码。由于真实世界的仓库往往超过 LLMs 的输入长度限制,现有方法通常采用检索增强生成(RAG)来提供特定于仓库的上下文。尽管这些方法提升了仓库上下文检索效果,现有方法通常将上下文作为任务级支持提供,而没有显式识别在生成过程中需要细粒度仓库上下文的关键 token。在 LLMs 的自回归生成过程中,错误往往集中在少数决定性位置:一旦这些 token 生成错误,后续代码可能沿着错误的语义路径继续,最终导致功能失败。我们将这些位置称为“关键 token”。在本文中,我们提出 ACToR,一种用于仓库级代码生成的自适应关键 token 感知检索框架。ACToR 在生成过程中识别关键 token,并在这些决定性位置按需触发定向检索,以提供仓库上下文。此外,我们为稠密检索器设计了一种位置感知加权方法,以优先使用对生成更具信息量的上下文。我们在两个具有代表性的仓库级基准 RepoExec 和 CoderEval 上评估了 ACToR。实验结果表明,ACToR 始终优于最先进方法,在 RepoExec 上取得了 8.4% 的相对提升,在 CoderEval 上取得了 15.4% 的相对提升。除了性能提升之外,我们还系统地量化了关键 token 的影响,揭示了它们在主要生成失败中的核心作用,并强调了定向检索策略的必要性。我们在 https://github.com/DeepSoftwareAnalytics/ACToR 提供了代码和数据。

查看原文(arXiv cs.AI)