← 回總覽

字节一面:什么是多路召回?具体怎么做?

📅 2026-05-21 14:12 小林coding 人工智能 2 分鐘 1506 字 評分: 82
RAG Query Rewrite HyDE Step-back Prompting 向量检索
📌 一句话摘要 本文以面试问答形式,系统介绍了 RAG 系统中 Query Rewrite 的四种核心方法:直接改写、HyDE、Step-back Prompting 和多 Query 扩展,并分析了各自解决的问题和适用场景。 📝 详细摘要 文章以字节跳动面试题为引,深入探讨了 RAG 系统中 Query Rewrite 的必要性和具体实现方法。作者指出,用户提问方式与知识库文档表述之间存在语义鸿沟,包括口语化、文体差异、问题过于具体和角度单一等问题。针对这些鸿沟,文章详细介绍了四种方法:直接改写(解决口语化和指代不清)、HyDE(通过生成假设答案弥合问句与陈述句的向量距离)、Step-b

📌 一句话摘要

本文以面试问答形式,系统介绍了 RAG 系统中 Query Rewrite 的四种核心方法:直接改写、HyDE、Step-back Prompting 和多 Query 扩展,并分析了各自解决的问题和适用场景。

📝 详细摘要

文章以字节跳动面试题为引,深入探讨了 RAG 系统中 Query Rewrite 的必要性和具体实现方法。作者指出,用户提问方式与知识库文档表述之间存在语义鸿沟,包括口语化、文体差异、问题过于具体和角度单一等问题。针对这些鸿沟,文章详细介绍了四种方法:直接改写(解决口语化和指代不清)、HyDE(通过生成假设答案弥合问句与陈述句的向量距离)、Step-back Prompting(将具体问题抽象为背景问题以检索原理文档)和多 Query 扩展(生成多个角度的改写版本扩大召回面)。每种方法都配有 Prompt 模板和示例,最后通过对比表格总结了选型依据。文章结构清晰,内容实用,适合 RAG 系统开发者和面试准备者阅读。

💡 主要观点

- Query Rewrite 的核心目的是弥合用户提问与知识库文档之间的语义鸿沟。 用户问题往往口语化、模糊、带缩写,而文档是正式书面语,向量相似度天然偏低,导致该召回的内容未被召回。

HyDE 通过生成假设答案来弥合问句与陈述句的文体差异。 在向量空间中,答案到答案的距离比问题到答案的距离更近。HyDE 先生成一个风格像文档的假设答案,再用其向量检索,能显著提升召回效果。
Step-back Prompting 将具体问题抽象为背景问题,用于检索原理文档。 当知识库没有直接答案但有背景原理时,将具体问题后退一步,检索更通用的背景知识,再结合背景回答具体问题。
多 Query 扩展通过生成多个角度的改写版本扩大召回面。 用 LLM 将原始问题改写成 3-5 个不同角度的版本分别检索,合并去重,提高命中率,但代价是多次 LLM 调用。

💬 文章金句

- Query Rewrite 就是在检索之前,先对用户的问题做加工,让它在向量空间里离正确文档更近。

  • HyDE 的直觉可以这样理解:正常你用问题的影子去找答案的样子,HyDE 先描绘出答案可能长什么样子,再去找长得像它的文档。
  • Step-back Prompting 把具体问题「后退一步」,提升到更抽象的层次,先检索背景知识,再结合背景知识回答具体问题。
  • 多 Query 扩展的核心思路是:只要有一个改写版本和文档的表述对上了,就能把正确的内容召回来,就像拦截网越宽,捕到鱼的概率越高。

📊 文章信息

AI 初评:82

来源:小林coding

作者:小林coding

分类:人工智能

语言:中文

阅读时间:16 分钟

字数:3782

标签: RAG, Query Rewrite, HyDE, Step-back Prompting, 向量检索

阅读完整文章

查看原文 → 發佈: 2026-05-21 14:12:00 收錄: 2026-05-21 20:00:45

🤖 問 AI

針對這篇文章提問,AI 會根據文章內容回答。按 Ctrl+Enter 送出。