Agentic RAG 实战:用上下文检索提升知识问答命中率
# Agentic RAG 实战:用上下文检索提升知识问答命中率
很多 Agent 的回答质量并不只取决于模型,检索阶段是否找到正确片段同样关键。Anthropic 在《Introducing Contextual Retrieval》中指出,传统 RAG 把文档切成小块后容易丢失上下文,导致相关内容无法命中。
## 方法概览
先按文档结构切分内容,再用模型为每个片段生成一段简短背景说明,把“原片段 + 背景”一起做向量嵌入,同时建立 Contextual BM25 索引。向量检索擅长语义相近内容,BM25 擅长错误码、产品名等精确词,两路结果可合并去重。
在生成答案前增加重排:先取较大的候选集,再让重排模型按查询相关性打分,最后只把最相关的少量片段放进上下文。这样既减少噪声,也能控制延迟和成本。
## 落地清单
1. 切块时保留标题、来源和时间范围,检查边界与重叠长度。
2. 为片段生成 50—100 token 的上下文摘要,并与原文一起建索引。
3. 同时运行向量检索和 BM25,使用排名融合合并候选。
4. 用离线问题集评估 Recall@K,再调节候选数、重排数和最终 K 值。
5. 对引用片段保留文档标识,让 Agent 在回答中给出可追溯来源。
## 实践观察
Anthropic 的实验显示,只使用上下文嵌入可降低 Top-20 检索失败率;再结合上下文 BM25 与重排,收益会继续叠加。具体参数仍要根据语料、查询类型和预算做 A/B 测试。小型知识库则可以优先尝试整库放入上下文并配合提示缓存,避免过早引入复杂检索链路。
来源:Anthropic,《Introducing Contextual Retrieval》
https://www.anthropic.com/engineering/contextual-retrieval
- 点赞
- 收藏
- 关注作者
评论(0)