arXiv cs.AI精选76

Code Comprehensor:大型代码库的分层文档与跨模态检索

Code Comprehensor: Hierarchical Documentation and Cross-Modal Retrieval for Large Repositories

· 12小时前

精选理由

通过分层文档与跨模态检索,帮助开发者快速理解大型代码库并精准定位相关代码。

AI 摘要

理解大型、复杂且快速演化的代码库仍是大规模软件工程面临的核心挑战,阻碍了入门、维护、重构和影响分析。将这些信息提供给大型语言模型(LLM)也是一大难题,因为 LLM 不仅必须理解所需的代码方法,还必须从整个代码库的宏观角度理解与之关联的方法。我们提出了 Code Comprehensor,这是一种结合以下组件的混合检索—推理框架:(i) 代码依赖调用图;(ii) CodeScribe,利用代码感知型 LLM 在代码库调用图上生成分层文档;(iii) CodeContrast,一种在 CodeScribe 输出上训练、用于学习对齐的文本—代码嵌入的 CLIP 风格双编码器模型。CodeContrast 能够快速且语义精准地检索相关代码上下文邻域,为基于 MCP 的 LLM 编排器回答领域特定查询提供有依据的证据。在 OpenCV 和一个包含 5M-LOC 的专有代码库上的评估表明,与基线方法相比,源自 CodeScribe 的监督显著提升了文本到代码准确率方面的跨模态检索性能。更丰富的文本监督(分层文档、父级/同级上下文以及由 LLM 生成的合成问题)在两个代码库中都持续提升了性能。使用广受欢迎的 RAGAS 对 Code Comprehensor 输出进行 LLM-as-a-judge 评估,所得忠实度得分超过 90%。

查看原文(arXiv cs.AI)