Azure AI Search 中的向量漂移:RAG 部署后准确率下降的三个隐藏原因
用 Azure AI Search 加 Azure OpenAI 搭 RAG 系统时,我碰到过一个很典型的现象:上线初期检索质量挺好,跑了一阵子却慢慢变差。代码没动,基础设施没改,服务也没出故障,可检索的相关性就是在往下掉。折腾了一番我才搞清楚,背后常见的元凶叫向量漂移(vector drift)。这篇就说说向量漂移到底是什么、它为什么会在生产环境的 RAG 系统里冒出来,以及怎么用 Azure 原生的模式设计一套抗漂移的架构。
什么是向量漂移
向量漂移,指的是存在向量索引里的 embedding 已经没法准确表达进来的查询的语义意图了。
向量相似度检索靠的是语义位置的相对关系。正因如此,哪怕模型、数据分布或者预处理逻辑只发生了很小的变化,时间一长都可能明显拖累检索质量。
它跟 schema 漂移或数据损坏不一样,藏得很深:
- 系统照常运行
- 查询也有结果返回
- 但相关性在持续走低
原因一:Embedding 模型版本不一致
发生了什么
文档用一个 embedding 模型建的索引,查询的 embedding 却用另一个模型生成。这种错配通常来自:
- 模型升级
- 多个团队共用同一个 Azure OpenAI 资源
- 不同环境之间配置对不上
为什么这是个问题
不同模型生成的 embedding:
- 处在不同的向量空间里
- 数学上没法直接比较
- 算出来的相似度分数会误导人
结果就是,原本相关的文档,排序可能不再正确。
推荐做法
一个向量索引,在它整个生命周期里都应该绑定同一个 embedding 模型和同一个维度大小。
一旦 embedding 模型变了,索引就得整个重新 embedding、重新构建。
原因二:只做增量更新,却不重新 embedding
发生了什么
新文档不断加进索引,已有的 embedding 却原封不动。时间一长,新内容会带进来更新过的术语、变化了的政策,还有新的产品或领域概念。
因为语义是相对的,向量空间会随之偏移,可老的向量却纹丝不动。
能观察到的影响
- 最近入库的文档在检索结果里占了上风
- 更早但依然有效的内容变得更难被检索到
- 召回率悄悄下降,却没有明显的系统报错
实操建议
把 embedding 当成会变的活资产,而不是一成不变的静态产物:
- 对稳定的语料定期安排重新 embedding
- 对高价值或高频访问的文档优先重新 embedding
- 当领域词汇发生实质变化时,触发重新 embedding
相似度分数下降、引用覆盖率变低,往往就是漂移的早期信号。
原因三:分块策略前后不一致
发生了什么
chunk 大小、重叠量或者解析逻辑随时间调整过,但之前入库的内容没跟着更新。索引里最后混着用不同策略切出来的 chunk。
为什么会造成漂移
不同的分块策略会产生:
- 不同的语义密度
- 不同的上下文边界
- 不同的检索行为
这种不一致会削弱排序的稳定性,让检索结果变得难以预测。
治理建议
分块策略应该被当成索引契约的一部分:
- 一个索引只用一种分块策略
- 存好 chunk 的元数据(比如 chunk_version)
- 分块逻辑变了就重建索引
设计原则
- embedding 部署要做版本管理
- 用定时或事件驱动的重新 embedding 流水线
- 分块策略标准化
- 建立检索质量的可观测性
- 对 prompt 和响应做评估
关键要点
- 向量漂移是架构层面的问题,不是服务缺陷
- 它来自模型变更、数据演进和预处理不一致
- 长期运行的 RAG 系统需要 embedding 的生命周期管理
- Azure AI Search 提供了缓解漂移所需的控制手段
小结
向量漂移是生产级 RAG 系统里预料之中的一个特征。谁能主动管好 embedding 模型、分块策略和检索可观测性,谁就能在数据和用法不断变化时守住相关性。对我来说,把向量漂移放进日常要盯的清单,是在 Azure 上把 AI 方案做稳的关键一步。
延伸阅读
下面这些 Microsoft 资源,对向量检索、embedding 以及 Azure 上生产级 RAG 架构给出了更多指导。
- Azure AI Search – 向量检索概述:https://learn.microsoft.com/azure/search/vector-search-overview?WT.mc_id=AI-MVP-5003172
- Azure OpenAI – Embedding 概念:https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/embeddings?view=foundry-classic&tabs=csharp&WT.mc_id=AI-MVP-5003172
- Azure 上的检索增强生成(RAG)模式:https://learn.microsoft.com/en-us/azure/search/retrieval-augmented-generation-overview?tabs=videos&WT.mc_id=AI-MVP-5003172
- Azure Monitor – 可观测性概述:https://learn.microsoft.com/azure/azure-monitor/overview?WT.mc_id=AI-MVP-5003172
- 本文作者:BeanHsiang
- 本文链接:https://beanhsiang.github.io/post/2026-04-05-vector-drift-in-azure-ai-search-three-hidden-reasons-your-rag-accuracy-degrades-after-deployment/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。