检索增强生成(RAG)详解:AI 如何决定搜索和引用哪些页面
理解 RAG 很有必要,它是 ChatGPT、AI Mode 等 AI 搜索引擎决定把哪些页面纳入回答的核心机制。本指南用通俗的语言讲清 RAG 的工作原理、什么样的内容更可能被检索,以及如何衡量自己在使用 RAG 的 AI 系统中的可见度。
检索增强生成(RAG)是一个框架,决定 AI 工具在生成答案之前会检索并引用哪些内容。
理解 RAG 很有必要,因为它是 ChatGPT、AI Mode 等 AI 搜索引擎决定把哪些页面纳入回答的核心机制。
本指南用通俗的语言解释 RAG 的工作原理、什么样的内容更可能被检索,以及如何借助 Ahrefs Brand Radar 衡量你在使用 RAG 的 AI 系统中的可见度。
什么是检索增强生成(RAG)?
检索增强生成(RAG)是一种技术:大语言模型(LLM)会查询某个索引——例如搜索引擎、知识库或向量数据库——为回答补充与上下文相关的信息,而非仅依赖训练期间学到的东西。
大语言模型基于海量数据集训练,但训练存在截止日期。
若问 AI 模型上周发生了什么,或线上生产数据库里有什么,实际上是在让它仅凭记忆作答,手边没有任何参考资料。
当向 AI 模型询问它尚未掌握的信息时,它很可能开始「跑偏」,甚至给出荒谬结论……
这就是所谓的 AI「幻觉」(hallucination)。
RAG 让 AI 模型能够获取正确、最新的材料,从而避免这种结果。
借助 RAG,大语言模型会补充或覆盖其内部知识——即所谓的「参数化记忆」(parametric memory)——以给出更可靠的回答。
这个过程有时也被称为「落地」(grounding):把回答锚定到具体来源,使模型不至于仅凭训练数据随意发挥。
这三个词分别对应过程的三个阶段:
- 检索(Retrieval):AI 模型运行搜索查询,以找到(或检索)相关内容
- 增强(Augmented):把检索到的内容加入输入(增强 其知识)
- 生成(Generation):利用查询和检索到的内容撰写(或生成)回答
顺便说一句,这些都不是新东西。
RAG 比 AI 搜索的爆发早了好几年。这种方法最早记录于 2020 年的一篇研究论文,远早于 ChatGPT 的问世。
早在 2023 年,iPullRank 创始人 Michael King 就撰文讨论了为什么 RAG 注定会成为搜索的未来,比业内大多数人开始关注早了几个月。
多数 AI 工具会同时使用 RAG 和训练知识。
要进入基础模型的知识库,意味着成为其训练数据的一部分,而这并非能轻易控制。
但进入检索结果,在很多方面都是 SEO 的延伸。
RAG 是如何工作的?
每一个由 RAG 驱动的 AI 回答都遵循三个步骤:搜索、检索、生成。
为理解每个阶段可能发生的细节,以下是目前我们所知的 ChatGPT 检索来源的方式。
第 1 步:AI 决定是否运行搜索
在检索任何内容之前,AI 会先判断是否需要借助外部数据丰富自身知识。
像「什么是 VPN?」这类简单的事实查询,通常核心模型凭借已有的训练知识就能应对,无需检索。
就 ChatGPT 而言,会先运行一个较小的分类器模型(据 David McSweeney 称,它属于「sonicberry」系统;他专门钻研过 ChatGPT 如何检索来源),通过分配概率分数判断一个查询需要不搜索、简单搜索,还是复杂的多步搜索。
其他 AI 工具处理这一步的方式可能不同,但都存在共同的底层逻辑:并非每个查询都会触发搜索。
第 2 步:AI 运行搜索
每当有人向 ChatGPT 提出需要更多上下文的问题,它会把查询扩展成多个相关查询,再发送给 Bing 或 Google 这类外部搜索索引收集结果。
这个扩展过程被称为查询扇出(query fan-out)(记住这一点,后面会用到)。
AI 专家 Dan Petrovic 的研究表明,收集到一批页面后,标题、元描述/摘要和 URL 等站内 SEO 因素会决定哪个页面被完整读取。
他还发现,来源会依据「相关性、权威性、时效性和视角多样性」被列入抓取候选名单。
第 2 步:内容被切分成块(chunk)——最匹配者胜出
在被完整检索并用于回答之前,抓取到的网页内容会被切分成更小的片段,称为内容块(chunk)。
可以把分块想象成把一本书拆成一个个章节:系统把页面拆成若干片段,再判断哪一片最能回答这个问题。
ChatGPT 会把搜索查询和每个内容块转换成一种数值化的语义表示,称为嵌入(embedding),然后测量它们的余弦相似度——即它们在语义上有多接近的分数。
最直观的想象方式:假设有一张巨大的地图,相似的想法彼此靠近,不相关的想法相距很远。在这张地图上,「狗」和「小狗」会挨在一起,而「狗」和「滑板」会分处两端。
嵌入就像这张地图上的 GPS 坐标——每段文本都会根据含义被分配一组坐标。
余弦相似度衡量两组坐标彼此有多接近。
AI 会检索坐标与扇出查询坐标最接近的内容块,最接近者胜出。
这正是具体、清晰的语言有助于检索的原因——它更容易被映射到正确的向量「坐标」。
第 3 步:检索到的内容被加载进 AI 的工作记忆——但只停留片刻
匹配到的内容块会连同用户的原始问题一起被加载进 AI 的上下文窗口(context window)——即其短期工作记忆。
AI 据此综合出一个回答,随后便删除这些内容块。
Dan Petrovic 直接测试过这一点:他让一个 AI 模型检索某位知名人士的信息,再在下一条消息中让它回忆来源里的某个具体片段。模型做不到。
原始内容在回答生成的那一刻就被「清除」。
RAG 与训练数据:有什么区别?
RAG 和训练数据常常被混为一谈,但两者作用大不相同。
训练数据构建了 AI 模型的参数化记忆——也就是前文提到的内部知识。
这发生在预训练阶段:模型从网络及其他来源(如 CommonCrawl)抓取的海量通用文本语料中学习。也可能在微调阶段再次发生:此时模型会在更狭窄的数据集上进一步训练,以调整行为或知识。
无论哪种方式,这些知识都会被「烤」进模型本身。无需查找——它就是模型「知道」的一部分。
但对此你没有发言权。训练按模型开发者的节奏进行,使用他们选择的数据。你无法请求、无法定向,也无法验证自己的内容是否被纳入其中。
而RAG则是一个你有一定掌控权的过程。内容的质量、结构和索引情况会直接影响其是否被检索到。
每当用户的查询触发检索步骤,模型就会从外部数据中拉取最新信息,无需重新训练。
对多数商业 AI 工具来说,这就是它们给出最新答案背后的机制。
本文涵盖的所有内容——以定义开头、包含实体、问答结构、时效性——都会直接影响检索过程。
这是你能通过内容真正影响的那一层。
在 AI 回答中被引用是一种成功,但这与「被烤进 AI 对品牌的基本认知」并不是一回事。
搜索用户优化(Search User Optimization)专家 Dorron Shapow 说得好:
什么是查询扇出(query fan-out)?
查询扇出是你向 AI 系统提交查询时在后台发生的过程。
它不会直接搜索你的原话,而是把问题拆分成多个相关的子查询,分别运行,再从合并后的结果中提取来源。
假设有人在 Google 搜索 「如果我把柠檬淋面蛋糕里的普通面粉换成全麦面粉会怎样」,底层的 AI 搜索模型不会只搜索这句话,还可能查询:
- 柠檬淋面蛋糕用什么面粉最好
- 用全麦面粉烘焙的技巧
- 全麦面粉如何影响蛋糕的密度?
然后才综合出一个答案。
在多数复杂查询上,AI 都会自动做同样的事。
一些 SEO 从业者已经能够直接提取出这些内部子查询。
例如,Metehan Yeşilyurt 开发出了一种技巧,可以诱导 Google AI Mode 输出其用于落地的搜索查询。
若没时间深挖,也可以在 Ahrefs Brand Radar 的 AI Responses 报告中看到 ChatGPT、Grok 和 Perplexity 生成的扇出查询。
在查询扇出过程中,AI 会把问题拆分成更小的子查询,一次性搜索全部子查询,合并并重新排序结果,再把在多次搜索中表现都不错的页面合并成一份最终列表。
这份列表才是 AI 实际阅读、并用来撰写答案的内容。
为便于理解,这里对扇出过程做了简化;若想深入了解,可阅读我们的指南:什么是查询扇出?理解驱动 AI 搜索的隐藏查询。
为什么 RAG 意味着 SEO 依然重要
对 ChatGPT 及其他 AI 搜索引擎而言,检索增强生成是建立在 SEO 之上的。
事实上,许多营销人员和 SEO 从业者把 AI 搜索视为 Google 等「传统」搜索引擎之上的「包装层」,因为部分 AI 助手极其依赖它们。
当 ChatGPT、Perplexity 或 Google AI Overviews 需要回答问题时,它们会运行真正的网络搜索 ¹²³
Google Gemini 和 AI Overviews 使用 Google 搜索。Microsoft Copilot 使用 Bing。ChatGPT 同时从 Google 和 Bing 提取内容。Claude 使用 Brave 搜索。
这意味着每一个主流 AI 工具的检索层都由传统搜索引擎驱动。
- 已索引的内容是起点池。你的内容必须先出现在 Google 中,才可能出现在 AI 里。
- 经过搜索优化的内容能让你被引用:即使搜索和 AI 结果并不总是完全重合,两者都优先考虑权威、结构良好、优化到位的内容。
- 搜索中的品牌提及与 AI 可见度高度相关:AI 系统会捕捉品牌在网络上被提及的频率和位置——经过搜索优化的内容和数字公关会直接为之输送养料 ¹
尽管存在一些差异,SEO 和 GEO 有着内在关联。
若内容没有出现在搜索索引中,AI 机器人就很难找到它;找不到,自然就无法检索。
如何为 RAG 优化你的内容
若想让内容在 RAG 搜索中被引用,可遵循以下七条最佳实践。
确保内容对 AI 爬虫可访问
许多 AI 爬虫在抓取内容时,无法读取并引用某些页面。
JavaScript 内容(如选项卡或手风琴折叠面板)以及图片中的文字,往往对 AI 机器人不可访问。
相反,AI 系统检索的是静态 HTML 内容。
以下是一个页面包含 JavaScript 时会发生的情况。
Suganthan Mohanadasan 最近调取了几十次 ChatGPT 对话的网络文件,研究该模型的思维链过程——在其中它会用通俗的语言描述自己如何获取信息。
对于某个相关的 B2B SaaS 查询,ChatGPT 找到了 Ahrefs 的官方定价,却难以找到 Profound 和 Peec 的价格,理由是这些信息被隐藏在 JavaScript 里。
ChatGPT 转而求助于 G2 这类第三方来源,因为「官方页面难以解析,而且没有显示价格」。
这个例子的启示是:若希望最重要的信息——比如定价——在 AI 搜索中被准确呈现,内容最好通过 HTML 而非 JavaScript 提供。
JavaScript 并不是把爬虫拒之门外的唯一方式——若想通过检索获得引用,还需要避免在 robots.txt 和防火墙规则中屏蔽 AI 爬虫(如 OAI_SearchBot)¹²。
若使用 Cloudflare,可以通过 Ahrefs Bot Analytics 监控 AI 机器人抓取网站的情况——包括它们最常访问哪些页面、又错过了哪些页面。
把最有价值的信息放在最前面
AI 对页面开头部分的关注最多,此后注意力持续下降。
根据 Kevin Indig 对 120 万条 ChatGPT 引用所做的研究,页面内容的前 30% 产生了全部引用的 44.2%。
中间三分之一产生了 31.1%,最后三分之一仅产生 24.7%。
最重要的信息——定义、关键论点、独有数据——需要放在内容最顶部。
这与传统的「把最好的留到最后」恰恰相反。针对 AI 引用优化的内容,结论要先说。
这被称为「结论先行」(Bottom Line Up Front,BLUF)。
在子标题下方的第一句话就立即回答查询——不要把答案埋在第二段甚至更后面。
这直接对应 RAG 系统将内容与查询匹配的方式,也对应人们阅读的方式,因此既满足了人类,也满足了机器人!
这份眼动数据表明,读者的注意力最集中在页面最顶部,越往下浏览率越低。因此,若关键结论被埋在第三段,大多数读者根本看不到——这正是「结论先行」的由来。
针对扇出主题进行优化
要想出现在 AI 系统所引用的扇出结果中,创建主题集群(topic cluster)会很有帮助——即 AI 在准备答案时可能搜索的相关问题、定义、对比和子主题。
若想了解这些子主题可能是什么,可以借助 Google 的「人们还问」(People also ask)框以及页面底部的「人们还在搜」(People also search for)查询。
它们反映了围绕该主题被问得最多的问题和角度,通常与 AI 在扇出中生成的查询相似。
优化页面速度
慢速页面在任何搜索引擎里都是坏消息,但在 AI 搜索中代价更大。
SEO 顾问 David McSweeney 在对 ChatGPT 工作原理的解析中指出,ChatGPT 抓取落地页面似乎有一个约两秒的硬性超时:若服务器慢,页面就会被中断;即便及时响应,过高的首字节时间(TTFB)也会导致内容被截断。
TTFB 低于 1 秒:通常没问题。整个页面有时间加载、被切块并送入模型。
超过 1 秒:就只能赌运气了。连接可能在下载途中被切断——有时早到只有 <head> 标签传了过去,意味着模型根本没看到实际内容。
速度决定了内容能否进入模型的上下文窗口。
在 Site Audit 中检查首字节时间。
- 前往 Performance 报告
- 找到「首字节时间分布」图表
- 点击「中等:200–300 毫秒」,发现可快速见效的优化机会
再按自然流量排序,找出可能需要优化的最重要内容。
若服务器太慢,页面可能永远无法进入 AI 答案——但在某些情况下你不会知道,因为访问者(这里是机器人)直接放弃并离开。
Jan-Willem Bobbink 通过在服务器日志中识别 HTTP 状态码 499 来查找这种情况。
499 状态码通常意味着客户端在服务器完成响应之前关闭了连接。
这是另一个信号,表明站点对 AI 检索来说可能太慢。
可以使用 Ahrefs Bot Analytics 中新增的 Status Codes 报告,查看站点上哪些页面返回了 499。
本月,我们 43.7% 的页面在 ChatGPT-User 请求中收到了 499 状态码。
应用筛选器只聚焦 ChatGPT-User 访问后,可以看到这些 499 大多来自博客,还有一些来自定价页面。
单就机器人流量而言,499 状态码意味着两种情况:浏览器/应用放弃等待、在服务器返回答案之前断开连接,或爬虫因为已拿到所需内容而主动中止连接。
在后一种情况下,这只是爬虫追求效率的行为。
以下是判断某个 499 是否属于真实延迟信号的方法。
若 GPTBot、ClaudeBot、Meta 的爬虫和 Manus 的机器人都在放弃同一个 URL,那么四个互不相关的系统各自因为机器人特有的原因而放弃,这种巧合不太可能发生。
例如,下方可以看到我们的 /blog/ 页面正被 7 个不同的 AI 机器人放弃。
多个 AI 机器人出现一致行为,指向的是服务器,而不是爬虫。
这意味着博客更可能渲染了带有客户端 JavaScript 或第三方脚本的沉重页面——使其成为页面速度优化的候选对象。
创建深入、以实体为导向的内容
通过 RAG 搜索被引用最多的内容,其实体密度约为 20.6%。
也就是说,其词语中有 20.6% 是专有名词——具名的工具、品牌、人物、公司、研究——而「普通」内容中这一比例仅为 5%~8%。
实体指任何具体的具名事物。例如,「一款 SEO 工具」不是实体,而「Ahrefs」是。
包含的具名实体越多,内容在语义地图上拥有的锚点就越多——从而能被更广泛的相关查询检索到。
但无法靠随意「堆砌实体」赢得引用。内容及其实体必须与用户的查询相关。
以下是实体重要的另一个原因。
扇出查询常常使用「同义词云」技巧,把检索引向特定的角度和实体,最终更好地匹配用户原始查询的意图。
例如,ChatGPT 的前沿模型可能把「最好的 10 款跑鞋有哪些?」这样的查询转换成充满同义词的扇出查询,例如:
- 2026 最佳跑鞋
- 跑鞋评测
- 优选推荐
- 获奖
以此把嵌入推向「最佳」意图,如下图所示(来自 Brand Radar)。
那么这对内容意味着什么?
借用 David McSweeney 的话:什么都提一句的泛泛页面,各方面得分都只是还行。
但在某一角度做深做透的专精页面,会直接赢下那个角度。
因此,要想被引用,就要把内容锚定到具体的 实体上。
这里有一个用实体丰富内容的可行方法:翻查历史内容,把泛泛的表述替换成具体表述。
例如,把:
- 「一个搜索引擎」 → 「Google」
- 「研究表明」 → 「早稻田大学 2024 年的一项研究发现」
- 「一个 AI 助手」 → 「ChatGPT」或「Perplexity」
可以使用 Google 自然语言 API 检验成果。
免费演示版会显示 Google 在页面上检测到的每一个实体,以及它为内容分配的类别。
若付费获得完整权限,还会得到重要度评分(salience score)——即 Google 认为某个实体对页面有多突出、多重要的数值。
在页面上运行这个 API,再对目标关键词排名第一的页面运行一次。
两次输出之间的差距,便是实体优化的检查清单:
- 实体交集
- 实体缺口
- 重要度评分(主题命名越早、越突出,分数越高)
- 类别交集
- 类别缺口
或者,也可以用 Ahrefs 的 AI Content Helper 检测草稿。
它会针对目标关键词,把你与排名靠前的竞争对手对比评分,并标出他们覆盖而你缺失的主题——这有助于发现可能让你在扇出结果中「隐身」的主题缺口。
增加信息增量——说一些模型还不知道的东西
实体覆盖能带来检索机会,但在此之前还有一个问题:内容究竟有没有资格被检索?
一份泄露的 Claude 系统提示词显示,像 Claude 这样的 AI 系统对涉及「永恒或稳定」信息的查询设有 never_search 指令。
Claude 仅凭训练数据回答 never_search 类问题,不会去寻找可供引用的外部 URL。
增长顾问 Gaetano DiNardi 认为其他大语言模型很可能遵循同样的逻辑。用他的话来说:
这就是信息增量问题。
把模型已经知道的一切想象成「主流共识」(overculture)——某个主题被索引成千上万次后平均出来的、大家都认同的版本。
若内容只是把它复述一遍,那么从 RAG 框架的角度看就是多余的——AI 模型引用你得不到任何增益。
AI 真正会引用的,是能带来新东西的内容:专有数据、具名的理论、某研究中的具体发现,以及模型无法从其现有知识库中综合得出的结论。
OpenAI 研究员 Karthik Narasimhan 发表了一篇关于生成式引擎优化的论文,为此提供了进一步的证据。
他与普林斯顿大学的同行一起,研究了哪些技巧最有可能提升在 Perplexity 这类 RAG AI 系统中的可见度。
他们的发现表明,包含引语、统计数据等独有信息的网站被引用得最多,在 AI 回答中的可见度提升了 30%~40%。
Kevin Indig 还发现,日期和数字是最能预测 ChatGPT 引用的实体类型。
而 Eric Lancheres 研究了 150 个排名页面,发现最大的排名预测因素是它们独有数据点的数量。
让内容被检索到的关键,在于呈现新鲜信息和独有数据,而不是跟着其他页面一起重复已经讲过的东西。
加入问答式结构
根据 Kevin Indig 的数据,以 问题 → 立即回答 结构组织的内容,被引用频率是不遵循这一惯例内容的两倍(18% 对 8.9%)。
这又是一个「结论先行」(BLUF)发挥作用的例子。
AI 模型会尝试把用户的查询(几乎总是一个问题)与能回答它的内容块匹配起来。
用 Suganthan Mohanadansan 的话说:
把内容组织成问答(Q&A)形式,可以帮助 ChatGPT 这类 AI 模型做出直接、明确的匹配。
Mohanadasan 还发现,ChatGPT 会按域名对结果去重,因此站点上 20 个单薄页面并不会带来 20 次被引用的机会。
ChatGPT 会选出最匹配用户初始查询和扇出子查询的那个页面。
把最有说服力的答案集中放在那个页面上,而不是分散到全部 20 个页面里。
保持内容新鲜
RAG 搜索系统偏好最新的内容。
我们开展了一项包含 1700 万条引用的研究,发现AI 助手始终比搜索引擎更偏好引用较新的内容。
AI 助手引用的 URL 平均比标准自然搜索结果页面中的 URL 新鲜 25.7%——ChatGPT 和 Perplexity 实际上按从新到旧的顺序排列其引用。
但不必只听我们一面之词。时效性在 AI 检索中是已确认且有据可查的信号。
Metehan Yeşilyurt 的研究证实了这一点。他发现 ChatGPT 有一个名为 use_freshness_scoring_profile: true 的配置项,其中内嵌了一种系统性的「新近偏好」。
因此,若定期更新关键页面,内容被检索到、并最终被引用的机会就会大得多。
即使是微小的更新也能重置时效性信号。每年更新统计数据和示例,并添加一个可见的「最后更新」日期。
如何用 Ahrefs Brand Radar 监控你在 RAG 中的可见度
为 RAG 优化内容至关重要,但需要知道它是否奏效。
Ahrefs Brand Radar 正是为帮助品牌监控其在检索增强型 AI 结果中的可见度而打造。
以下是我建议的使用方法,用来提升在 RAG 中的可见度。
跟踪你的基线可见度
在做出任何改动之前,先弄清楚目前的实际状况。
在 Brand Radar 中搜索品牌,查看在目标主题的 AI 回答中出现的频率,以及哪些平台在引用你。
若提及量很低或完全没有,就看看被引用的是谁。
查明哪些 AI 平台在引用你(哪些没有)
不同的 AI 平台有着不同的检索架构,对时效性、权威性和结构的偏好也各不相同。
Brand Radar 的平台细分可以揭示诸如「AI Mode 经常引用我们,但在 Perplexity 中缺乏可见度」这样的缺口。
若站点只在某一个平台上表现不佳,问题很可能出在该平台评估它的方式上——而不是内容本身。
例如,若一个页面在 Google 上排名很好但在 Bing 上不行,我们会把它视为 Bing 特有的信号(如链接、实体或索引),而不是页面质量低下——AI 可见度也是同样的道理。
发现是哪些查询触发了对你的引用
看到带来引用的确切查询,能说明哪些做法有效,并标出尚未出现的相关查询。
由于查询扇出的存在,可能已经在一些从未想过要针对的查询上获得了引用。
Brand Radar 的数据库包含数以百万计的现有查询,意味着可能偶然发现一些原本不知道存在的新内容机会。
跟踪内容更新是否改变了你的引用率
为优化内容检索做出改动后——应用「结论先行」、瞄准扇出查询、加入统计数据——持续监控 Brand Radar,观察接下来几周引用量是否增长。
这样即可建立一个反馈闭环:优化 → 发布 → 衡量 → 迭代。
适用于跟踪自然排名的方法,同样适用于 AI 引用跟踪。
与竞争对手进行基准对比
在目标查询中找出持续被 AI 引用的竞争对手,再分析其被引用最多的页面的结构和内容。
只需在 Brand Radar 的 AI Responses 或 Cited Pages 报告中添加 你的品牌:未被提及 和 你的品牌:被找到但未被引用 筛选条件。
这会展示品牌往往被排除在外的主题和第三方讨论。
接下来只需逆向拆解竞争对手的做法,以缩小差距。
最后总结
RAG 是搜索与 AI 之间的桥梁。它遵循可预测的规则,优先推广能访问、能快速抓取、且主题能直接匹配的页面,从而给出尽可能好的答案。
可用 Ahrefs Brand Radar 跟踪 AI 可见度,查看内容是否出现在 ChatGPT、Perplexity、Google AI Overviews 以及受众实际使用的其他工具中。
有疑问?在 LinkedIn 上联系我。