Agent 出现幻觉怎么解决?RAG 检索准确率低怎么优化?Agent 多轮对话状态怎么管理?

张开发
2026/5/19 8:19:10 15 分钟阅读
Agent 出现幻觉怎么解决?RAG 检索准确率低怎么优化?Agent 多轮对话状态怎么管理?
这三个是AI Agent / RAG 岗位面试绝杀三连问我给你写最标准、最详细、面试官最爱听、能直接背的完整版答案每个问题单独成体系你面试遇到直接照着说就行。一、Agent 出现幻觉怎么解决1. 什么是幻觉模型编造不存在的信息、乱答规则、瞎编订单号、胡说政策看起来很合理但实际是错的。2. 核心解决思路工程化标准答案基于 RAG 检索增强强制模型只能用检索到的知识回答不给模型自由发挥空间严格遵循知识库内容不知道就说不知道。Prompt 工程约束明确要求“仅根据提供的参考资料回答资料中没有就回答‘暂无相关信息’”禁止编造、禁止联想、禁止扩展加上事实校验指令增加事实校验环节Self-Check模型生成回答后再调用一次 LLM 做校验回答是否全部来自知识库是否存在编造内容不一致则重新生成或拒绝回答限制模型自由度降低 temperature0.1 0.3使用 top_p 采样提高确定性关闭自由联想、多步推理能力知识库高质量治理清洗脏数据、重复数据结构化 FAQ、标准化问答对避免模糊、歧义、冲突知识点拒绝回答兜底策略不确定的问题直接转人工或提示用户咨询客服不强行回答。3. 面试满分总结句通过RAG 检索约束 严格 Prompt 限制 事实校验机制 低温度生成 知识库治理从源头减少模型编造确保回答真实可靠。二、RAG 检索准确率低怎么优化1. 问题本质召回不相关、关键信息漏召回、碎片太多、语义不匹配。2. 完整优化方案工程级非常加分1数据层优化文档分块优化按章节/段落/固定长度滑动窗口切分避免语义断裂清洗噪声数据去掉无关文本、重复内容、格式乱码构建 FAQ 对高频问题单独建索引优先匹配2向量与检索优化更换更好的嵌入模型bge-small/m3e等提升语义相似度能力使用混合检索向量检索 关键词检索BM25语义全文匹配互补显著提升准确率调整召回数量 topK一般 310根据内容长度适配加入重排序模型Rerank对初步召回结果二次精排把最相关的排最前3查询层优化查询改写Query Rewrite把口语化问题转成标准问句增强匹配度多轮追问补全信息意图不明确时主动引导用户补充关键词提取增强检索4业务层优化知识库分类/标签体系按业务域隔离缩小检索范围权限过滤 业务场景过滤只检索当前场景相关内容5评估与迭代人工 badcase 标注不断优化分块、prompt、rerank 策略建立检索效果评估指标召回率、精准率3. 面试总结句从文档切分、嵌入模型、混合检索重排序、查询改写、知识库治理五个维度系统性优化大幅提升 RAG 检索精准度。三、Agent 多轮对话状态怎么管理1. 核心需求记住用户历史意图、上下文信息、当前任务进度、槽位信息实现连贯多轮对话。2. 完整实现方案SpringBoot AI 项目标准做法1会话唯一标识前端生成conversationId每次请求携带后端根据它管理上下文2上下文存储结构存储内容包括历史问答对user/assistant当前意图intent已填槽位slot订单号、手机号、商品名等任务状态开始/处理中/完成/取消知识库过滤条件用户角色与权限3存储方案Redis 缓存最常用key conversationIdvalue 序列化的对话上下文对象过期时间 3060 分钟超时自动清理4对话管理流程每次请求先根据 conversationId 读取历史将历史拼入 Prompt 传给 LLMAgent 理解当前意图 槽位是否完整缺失信息则主动追问信息完整后执行工具/生成回答把最新对话追加到 Redis更新状态5槽位填充Slot Filling用 Agent 管理状态机订单查询 → 缺订单号 → 追问订单号退款 → 缺原因 → 追问原因状态推进由 LLM 自主判断6上下文截断策略只保留最近 N 轮对话超长时做摘要压缩避免超出模型上下文窗口3. 面试满分总结句通过conversationId 唯一标识 Redis 存储对话历史 槽位与任务状态管理 动态上下文拼接实现 Agent 多轮对话的状态持久化与流程可控。

更多文章