AI 辅助 Codebase 本地工程检索
工程理解概述
AI 针对代码工程的理解一直是在不断进行优化攻坚的问题,简述的目标就是如何进行获取更多的上下文信息,这里的上下文包含的当前上下文和历史上下文,上下文的丰富也是意味着模型最终推理结果与预期结果匹配度成正相关,常见的针对工程理解的集中包含:
codebase
建立本地工程的检索能力,旨在通过对本地工程的 embedding 向量化建立索引并缓存,用户在提出问题后基于索引可以对本地工程相关内容进行分析匹配后精准召回相符的内容信息并丰富上下文,丰富后的提示词通过 LLM 分析总结给出更符合业务要求的结果建议;
workspace
代码库问答功能,旨在帮助开发者迅速找到与整个代码库相关的问题解答。无论是代码结构、函数功能、类之间的关系,还是复杂的代码逻辑和业务流程的疑问,@workspace 都能提供精确并且与上下文相关的答案。
AI 工程理解在代码工程的应用
codebase
本地工程检索能力进行强化工程理解能力, codebase 的使用会进行两个部分构成:
第一,把问题提示词上附带当前工程目录与模型进行交互,获取关键词;
第二,基于关键词进行本次检索;
第三 ,prompt 融合,即拼接提示词包含问题提示词、工程目录、本次检索的召回结果,然后再请求模型获取最终建议;
workspace
当我们接到要进行 agent 扩展的诉求,,可以通过 @workspace 指令来协助了解,当前的 @workspace 进行了复合的重组,默认附带上 #Codebase 的能力,触发是除了当前关键提示词之后还会带上当前工程目录的信息,进行分析项目工程下有 Agent 相关目录结构及关联文件。
AI 代码助手会根据关键提示词进行分析理解,然后在对工程项目中符合我们要求的目录层级进行引用相关文件,对应的文件可以进行超链接快速跳转;
除了展示引用信息帮助用户快速的进行跳转到对应文件之外,也会对相关的文件的作用进行一个分析说明