检索工具解析

痛点解析

我们在使用cc/codex的时候会有开始的时候熟悉项目,需要大量检索,才能检索到正确的文件的情况,会消耗大量的token,为了解决这个问题我们有下面四个工具为代表

  1. codegraph:结构化检索关系的代表

核心机制是将代码转变为知识图谱的形式,类/函数等等作为实体,然后他们的关系做边。是我们通过index命令本地构建的索引,核心是sqllite的邻接表,通过这个来表现节点之间的关系

然后毕竟适合符号、调用关系和影响范围分析,因为核心是图,搜索速度快,但是自然语言检索效果不好

  1. fast-context:是windsurf的子代理,是训练模型检索的代表

主要是提供了专门针对检索场景的训练的模型SWE-grep和对应的mini版本,对grep/read/glob等命令更适配,然后检索的效率更高。是强化学习的代表。是语义检索最好的一位,速度也比较快。

  1. ACE:是Augment Context Engine 的上下文机制,

他的核心就是扫描全部工作区的文件,然后将其向量化,上传到云端,本地留有.ace-tool的缓存。

然后进行检索,核心机制是混合检索,语义搜索+不同类型的检索加权不同。第一次的时候速度较慢,因为需要建立索引,后续逐渐变快。

  1. Semble:是一个本地的检索机制

核心就是混合检索,向量+BM25关键词匹配,不同ACE的是,他是内存的索引,每次都要按需重建。然后进行RRF进行融合,然后再去对召回的进行处理,定义类/函数优先调用调用的,过滤调import这类的代码。