arXiv cs.CL· Xiaohan Chen, Xiang Chen, Yu Tian, Piji Li, Sheng-Jun Huang, Songcan Chen·· 2 天前AI 评分22
SaraCoder:面向检索增强仓库级代码补全的分层上下文剪枝提升知识密度
Enhancing Knowledge Density via Hierarchical Context Pruning for Retrieval-Augmented Repository-Level Code Completion
AI 导读
SaraCoder 是一个在固定上下文预算下通过分层上下文剪枝提升知识密度的检索增强框架,其 Hierarchical Feature Optimization 模块分四阶段剪枝过完备候选池,再将释放的 token 分配给 External-Aware Identifier Disambiguator,选择性注入最必要的跨文件依赖定义。
正文 · AI 翻译
摘要:检索增强生成(RAG)通过检索外部代码片段、API 文档或类型定义来扩展模型的上下文感知能力,从而推动了仓库级代码补全的发展。然而,在上下文窗口有限的 token 预算下,现有的检索增强方法往往用高度相似甚至冗余的代码占满预算,这不仅浪费 token,还抑制了关键的跨文件依赖,阻碍了语义相似的参考片段与跨文件依赖定义之间的协同交互。因此,进一步的收益受限于检索上下文中的低知识密度,而非模型能力。我们提出 SaraCoder,一个在固定上下文预算下通过分层上下文剪枝来提升知识密度的检索增强框架。分层特征优化模块分四个阶段对一个过度完备的候选池进行剪枝。随后,释放出的 token 被分配给外部感知标识符消歧器,它仅选择性地注入最必要的跨文件依赖定义。SaraCoder 将上下文构建转化为一个预算感知的优化问题,在参考片段与跨文件依赖之间取得平衡,以构建既知识密集又语义完整的上下文。在 CrossCodeEval 和 RepoEval-Updated 上,跨多个骨干代码 LLM 的实验表明,SaraCoder 在代码级和标识符级指标上均持续优于 GraphCoder 和 Repocoder 等强 RAG 基线,且不增加 token 使用量,并与其他跨文件方法结合时产生协同增益。
| 主题: | 软件工程(cs.SE);计算与语言(cs.CL);信息检索(cs.IR);编程语言(cs.PL) |
| 引用为: | arXiv:2508.10068 [cs.SE] |
| (或 arXiv:2508.10068v3 [cs.SE] 为此版本) | |
| https://doi.org/10.48550/arXiv.2508.10068 arXiv 颁发的 DOI,经由 DataCite |
提交历史
来自:Xiaohan Chen [查看电子邮件]
[v1]
2025年8月13日星期三 11:56:05 UTC(1,412 KB)
[v2]
2025年10月13日星期一 07:16:49 UTC(1,621 KB)
[v3]
2026年10月15日星期四 14:15:15 UTC(2,803 KB)
来源:arXiv cs.CL · arxiv.org