为什么小语料不需要向量数据库
复杂度模型对比,非实测数据 —— 暴力检索 O(n),HNSW 近似 O(log n)。拖动看交叉点在哪。
暴力检索 O(n)
HNSW O(log n)
暴力检索
—
相对计算量
HNSW
—
相对计算量 + 索引开销
结论
—
纵轴为相对计算量(对数刻度),不是毫秒。真实延迟还受向量维度、内存带宽、召回率目标影响。要点是:规模小的时候 ANN 的索引与近似代价换不回收益,而且 ANN 会牺牲召回率。
RAG 权限过滤:pre-filter 还是 post-filter
200 篇文档按相似度从高到低排列(左上最相关)。橙圈是最终进入 prompt 的命中。
有权限
无权限
进入 prompt
实际召回
—
—
召回损失
—
相对 top-k 预期
post-filter 先取全库 top-k 再剔除无权限文档,命中数随权限比例线性塌陷;pre-filter 在向量检索时就把 ACL 作为元数据条件下推,top-k 始终取满。权限越稀疏,差距越大。
长期记忆召回 = relevance × recency × importance
普通 RAG 只排 relevance。拖动权重,看排序实时重排。
recency 按指数衰减
exp(-λ·Δt),半衰期 14 天。把 recency 和 importance 权重归零,就退化成普通 RAG —— 于是三个月前那条「项目用 MySQL」会盖过上周的「已迁移到 PostgreSQL」。上下文预算:Skill 常驻 vs 渐进披露
200k 窗口的分配。拖动 Skill 数量,看「全量常驻」如何挤爆窗口,以及三种重构策略的效果。
Skill 占用
—
—
剩余可用
—
留给对话与检索结果