HNSW(分层可导航小世界图)是一种能把亿级向量搜索时间从秒级压到毫秒级的算法,由 Malkov 和 Yashunin 于 2016 年提出,目前已成为 RAG 系统和向量数据库中最主流的索引技术 。它通过构建多层图结构,让检索过程像“坐电梯”一样先大步跨越再精细定位,在保证 95% 以上召回率的同时,将查询复杂度从线性降低到对数级别 。
它是怎么做到秒搜的(原理与优势)
- 分层导航结构:HNSW 把数据点组织成多层图,顶层节点少但连接距离远(像高速公路),底层节点密但连接距离近(像街道小巷)。搜索时从顶层开始,快速跳到目标附近,再逐层下降精确查找,避免了逐个比对 。
- 小世界特性:基于“六度分隔”理论,图中任意两个向量之间只需经过很少的跳转就能到达,保证搜索不会陷入死角 。
- 核心优势:
- 速度极快:千万级向量库查询耗时仅需 1~10 毫秒,比暴力搜索快几百倍 。
- 支持动态更新:新增数据可以直接插入图中,无需像 IVF 那样重新聚类建索引 。
- 精度高:合理调参下召回率可稳定在 95% 以上,接近暴力搜索的精度 。
- 代价:相比其他算法,HNSW 需要更高的内存开销来维护图结构 。
现在都在哪儿用它(应用与最新进展)
- 向量数据库标配:主流数据库如 Milvus、Weaviate、pgvector 均将 HNSW 作为默认或推荐索引类型 。例如在 Supabase 中,可直接通过
CREATE INDEX ... USING hnsw命令开启 。 - RAG 系统加速:在检索增强生成(RAG)应用中,HNSW 负责从海量知识库中快速找出与大模型问题最相关的文档片段,常与关键词搜索结合使用以提升准确性 。
- 端侧硬件加速:2026 年 8 月的最新进展显示,为了在手机上运行本地 AI Agent,芯片厂商开始将 HNSW 的关键路径进行 NPU 硬化加速,解决传统 CPU 处理图遍历时缓存命中率低、功耗高的问题,让隐私数据能安全留在本地设备 。