项目背景
项目以课程内容为知识来源,探索 RAG 与 Agent 如何支持学习问答。本案例只呈现产品方法和公开范围内的技术思路,不披露私有语料或未确认指标。
核心问题
检索到内容不代表回答就可信。系统需要同时解决知识切分、召回相关性、上下文组织和证据不足时的行为边界。
我的角色
参与知识库结构、检索体验和 Agent 行为优化,重点从用户问题与回答可信度出发定义产品规则。
用户与业务痛点
- 课程内容的章节结构与用户自然提问方式并不总是一致。
- 召回片段可能部分相关,但不足以支持完整结论。
- 过度自信的回答会降低学习者对平台内容的信任。
产品方案
- 围绕课程主题、知识层级和典型问题组织知识库,而非只按文件顺序导入。
- 在回答中提示知识范围和来源语境,让学习者理解结论依据。
- 为无结果、弱相关和超出课程范围的问题设计明确的中文反馈。
AI 方案
- 按语义完整性和课程结构设计内容切分,并为片段保留必要的章节信息。
- 将检索证据作为 Agent 组织回答的前置条件,避免仅凭模型常识补全课程事实。
- 当证据不足时返回限制说明、建议问题或人工补充路径,不编造答案。
遇到的困难与解决方式
遇到的困难
- 内容切分过细会丢失上下文,过粗又会降低检索精度。
- 同一个问题可能跨越多个知识点,需要在相关性和上下文长度之间权衡。
解决方式
- 以典型问题反向检查切分和元数据设计,持续识别召回失败的模式。
- 将回答质量拆为召回、证据充分性和表达三个环节,分别定位问题。
项目结果
- 形成了课程知识库组织、检索边界与 Agent 拒答策略的完整优化框架。
- 公开版本不声明未经确认的准确率或召回率,后续可补充可复现的评测结果。
面试官可能追问的问题
你如何判断 RAG 的问题出在检索还是生成?
我会这样回答
先单独检查召回片段是否覆盖问题所需证据,再判断生成是否忠实使用证据。把链路拆开,才不会用提示词掩盖检索问题。
Agent 不知道答案时应该怎么做?
我会这样回答
明确说明当前知识范围和证据缺口,给出可继续追问的方向;不能用流畅表达伪装确定性。