最近在搭一个客服场景的AI Agent,用RAG做知识库检索。遇到一个头疼的问题:多轮对话里,用户会问“那它价格呢?”或者“具体怎么用啊”,这种指代性很强的问题。我现在是把整个历史对话拼到query里重新检索,但结果经常跑偏——模型会去匹配历史里的“老问题”,而不是当前真正的意图。试过只截取最后两轮,但有些上下文又不够。想请教一下各位大佬,你们在Agent+RAG里是怎么处理多轮历史信息的?是直接丢给LLM去改写,还是有什么更好的策略?求具体方案或踩坑经验。
楼主
2026-07-19
RAG+Agent做多轮对话时,历史记录怎么塞才不会让检索变“智障”?
请 登录 后发表回复
全部回复
共 164 条
2楼
5天前
刚入门,这个对我帮助很大。
3楼
5天前
我之前也遇到过类似问题,后来换了方案。
4楼
5天前
这个思路不错,收藏了。
5楼
1天前
我也踩过这个坑,全量塞历史确实容易让检索跑偏。现在我的做法是先用小模型把当前query改写成独立完整的问题,再去检索,效果提升挺明显。不过改写这一步也有风险,有时候会把用户原话里的关键词改没了,所以我会保留原始query和改写query各检索一次,取并集再重排。你们有没有试过让LLM同时输出改写后的query和需要保留的关键实体?