在构建RAG应用的过程中,许多团队常常将精力倾注于内容解析、文本分块等技术细节,反复调参、优化流程,却往往忽略了一个最基础也最关键的问题——知识库的规模究竟会对检索性能产生多大的影响?
AI工具公司EyeLevel.ai的数据科学家Daniel Warfield与IBM前高级工程师Dr. Benjamin Fletcher,在规模化研究RAG技术时发现了一个值得警惕的现象:向量搜索的准确性会随着数据量的增加而显著下降。具体来说,当文档数量仅为10,000页时,搜索精度就已开始出现明显下滑;而一旦文档数量攀升至100,000页,性能损失直接飙升至12%。这一数字绝不可小觑。
他们借助Pinecone向量数据库,搭配LangChain和LlamaIndex两种主流RAG框架进行了测试。测试方案设计得十分清晰:
- 定义了92个基于真实世界文档的问题。
- 准备了四个文档集,每个集合都包含相同的310页核心文档——这些文档中藏有那92个问题的答案。
- 在核心文档的基础上,逐步加入无关文档,构成四个测试集:1,000页、10,000页、50,000页和100,000页。

这张图直观地展示了每个文档集中相关页面(蓝色)与无关页面(红色)的比例变化。
测试结果更值得深入分析:
- 在1,000页的文档集上,三种方法的性能几乎没有差别,表现都很稳定。
- 到了10,000页,LangChain和LlamaIndex这两种简单RAG方案的准确率便开始下降,降幅约为5%。
- 50,000页时,降幅进一步扩大,接近10%。
- 待到100,000页这一量级,性能损失已达到12%。
研究团队分析,问题可能出在向量搜索本身——现有编码器在处理大规模文档集时,很难将信息“有意义地”组织到向量空间之中。理论上,1536维的向量空间所能描述的内容数量远超宇宙中的原子数,容量根本不是瓶颈。但在实际落地时,如何让信息在向量空间里形成清晰的语义结构,才是真正的难点。简单来说,文档一多,向量空间就会变得“杂乱无章”,基于余弦相似度或欧氏距离的搜索策略便显得力不从心。
值得注意的是,同样是面对大规模数据,GroundX给出了另一种思路——直接采用基于语义对象相似性的比较方法,绕开了原始向量的距离计算。在同样的测试中,即使文档量达到100,000页,它的准确率也只下降了约2%,稳定性明显高出一截。
这个现象其实非常符合直觉。就像一个小团队,成员之间信息越丰富越有利于高效决策;但团队一旦扩张到几百人,无关的上下文反而会变成信息负担,拖慢整体效率。知识库也是同样的道理:不仅要控制质量,也要控制数量。在text2sql实践中,加入选表模型正是为了缓解这类问题——随着知识库越建越大,如何拆分它、如何更精准地定位到相关的分库,将越来越成为核心挑战。
从实践层面来看,混合检索是克服这类问题的有效手段之一。不仅要使用向量检索,还要结合文本检索。这其中就包括“上下文检索”等方案,通过同时利用关键词和语义信息,来提升在大规模数据下的召回准确性。
