五厂面经真题集百度面经高频百度真题检索生成速答 · 约 5 分钟更新 2026-09-29

Top-K 已召回正确证据,模型还是答错了,怎么判断问题在哪层?

一句话结论

先隔离检索层和生成层:用 Hit@K 与人工检查确认证据是否命中,再判断模型是没用证据、推理错误还是指令跑偏,并按类型修复。

先这样答

先把问题分成检索层和生成层判断。先确认正确证据是否真的进入了上下文。可以看 Hit@K,也要人工检查检索结果。只有证据已经进入上下文,才继续判断生成层。

如果证据在上下文里,但答案没有使用证据,这是忠实度问题。模型生成了答案,但答案和已有证据没有建立支撑关系。如果模型使用了证据,却把证据推错了,这是推理问题。如果答案没有围绕问题作答,内容直接跑偏,这是指令遵循问题。

判断生成层时,可以让裁判模型逐句比对答案和证据。先看每句话是否能被证据支撑,再看模型是否正确使用了证据。不同问题要用不同修复方式。忠实度问题可以改提示词,增加约束和引用要求。推理问题可以把过程拆成步骤。指令遵循问题可以调整提示词结构,让任务要求更清楚。

面试官会怎么追问

  • 「既然题目已经说 Top-K 召回了正确证据,为什么还要检查检索层?」
    Top-K 命中不等于正确证据已经进入模型上下文。需要确认实际命中的内容,并结合 Hit@K 和人工检查结果。只有检索层确认无误,后面的错误才有资格归到生成层。

  • 「证据在上下文里,但模型答错了,怎么区分忠实度和推理问题?」
    先看模型有没有使用证据。如果答案没有依据证据作答,属于忠实度问题。如果答案引用或使用了证据,但从证据推出了错误结论,属于推理问题。可以让裁判模型逐句检查答案和证据的支撑关系。

  • 「确认问题类型后,修复方式有什么不同?」
    忠实度问题改提示词约束,并要求答案增加引用。推理问题把推理过程拆成步骤。指令遵循问题调整提示词结构,让模型更清楚地执行任务要求。

回答的坑

  • 只看到 Top-K 命中了证据,就直接把错误归因给模型,没有确认上下文里是否真的有证据。
  • 把所有生成错误都叫推理问题,忽略忠实度和指令遵循的区别。
—— 本题完 ——