目前主流GEO认知仍停留在盲人摸象的石器时代,本文将从RAG底层原理切入并进行逆向分析,谈论如何做出有绝对碾压优势的GEO效果,并解释传统SEO为何直接决定GEO成效。
本文作者:旭然。SEO圈内网名ZERO,曾任赶集、美团与知乎SEO负责人。曾单枪匹马使赶集网SEO流量赶超58同城,以一个极小的网站在「SEO」这个关键词上占据百度首页七八年之久,做出过爱站第一页词数比例最高曾达70%的权8网站(非快排时期)……
似乎大多GEO从业者都是之前SEO转行过去的,本文预计会有一大批读者都是过去的同行。
我在2010年开始从事SEO,仅仅一年后,已经翻遍当时的近十本搜索引擎原理书。如今十几年过去了,整个SEO行业的平均水平发展到了哪里,大家心里应该多少还是清楚的。太多人急于求成,反而忽视了基础知识的夯实,问题的根源在于从业者普遍缺乏对算法的敬畏。
混沌系统的逆向分析
GEO和SEO在本质上有高度的相似性。首先,无论是AI模型还是传统的搜索引擎,其内部实现上都极其庞杂。有时候,小小改动一下文章内容,就会对AI引用或搜索排名产生巨大的影响。
输入 -> 中间过程 -> 输出
在中间过程之中到底发生了什么,我们没有任何直接获知的渠道,基本处于一个黑盒状态。并且除了AB测试此类极为有限的手段之外,我们也难以把握输入改变之后,输出到底会产生具体怎样的变化。
学术上把这种情况称之为混沌系统,比如天气预报就是典型的对混沌系统去进行预测的尝试。哪怕全球各国在其中投入了无数人力物力,天气预报至今也顶多能信一半,可以窥见洞悉混沌系统的难度。
进一步的,GEO和SEO工作的共同点是:
- 输入大部分已知:知道参考语料长什么样;知道着陆页长什么样
- 输出完全已知:知道AI引用率多高;知道网页的具体关键词位置
- 中间过程了解极为有限
在输入、输出已知的情况下,想去了解其中间过程发生了什么,这是一种典型的逆向分析。
逆向分析几乎总是比正向要更困难得多,无论OpenAI还是Anthropic都在模型可解释性工作上举步维艰。因此,GEO想要做到上限要比如今AI模型的训练开发工作来得更加艰难,某种程度上甚至可能可以说,GEO才是当今世上最困难的工作。
虽然实际工作中,我们只要把效果做到比其它竞争对手相对而言都更好那么一点,就能在AI模型的回答之中被相对最高优先级的引用,拥有最大化的效果,因此我们远不必真的要做到理论上限。但我们仍应当记住它的理论上限在哪里,对其怀揣敬畏,永远不要说出「GEO就那么点东西」这般的言论,否则非常容易陷入固步自封的境地。
对于GEO此类逆向分析的问题,我们必须借助统计与逻辑学工具。而逻辑学中,又以溯因推理的穆勒五法为研究的核心方法。本文作为综述性质,暂不会深入探讨这些问题,但这些才是GEO工作中最需要下功夫的地方。
GEO就是逆向RAG
如何判断一篇GEO文章是否可能具有参考价值?假如它是一篇综述性的文章,那就看文章里面有没有出现过RAG这个词。假如都不讨论RAG的话,那就像是SEO文章里面不讨论检索机制,不讨论用户需求,只谈页面上的哪里可以重复加几次关键词。也即只管自己做什么,不管自己做给谁看。这样的努力除了感动自己以外,时常不会给我们带来实际的成效。
在我们使用AI模型进行对话,并勾选了联网搜索的时候(现在不少模型默认开启联网搜索),剩下的整个流程即被称为RAG。RAG的全称是检索增强生成,更具体的说,它是这样的三个步骤:
检索 -> 增强 -> 生成
我们向AI模型提问之后:
- 进行一轮搜索,找出几十条参考资料
- 从几十篇参考资料之中分析提取信息
- 将这些信息融入到回答内容之中
为什么我们必须了解RAG的这些基础原理呢?
举个例子,GEO做到足够好的情况下,在第一步的检索阶段就可以终结战斗。假如模型看到的几十条参考资料全都是我们自己发布的,那么无论后续阶段模型怎么理解怎么生成,我们的竞争对手压根就没有与我们竞争的机会。
RAG之检索
Query改写
目前,在我们进行一个提问之后,模型常会进行简短的思考,并且拓展出几个搜索词:
(除了图示的单轮搜索,有时也可能进行多轮搜索)
传统搜索引擎场景下也有Query改写这一环节,但区别在于搜索引擎的Query改写结果是不透明的。而AI搜索比如豆包直接显示其改写结果,DeepSeek虽然不直接给用户显示,但也可以通过抓包来看出其实际搜索词。
针对这一环节,我们完全可能自行训练一个模型。构建其输入为用户的查询,输出为模型改写出的多个搜索词。在训练得当的情况下,有机会做到较高准确率的预测豆包等模型的改写结果。
毕竟Query改写结果对用户透明与否,全在平台的一念之间。假如日后为了打击抑制恶意的那部分GEO而隐藏了这项的显示,我们就连自己该针对哪些关键词去操作都没法知道,那就完全是盲人摸象了。反过来,假如我们提前训练好了Query改写预测模型,那么等到平台做出改变的那一刻起,相对于我们的竞争对手就是彻底的降维打击。
调用商业搜索接口
当搜索词已经确定之后,平台方会去调用传统商业搜索引擎的接口,来获取几十上百个候选网页。
有些模型平台自己原先就有搜索引擎,通常调用的是自家的。对于另一部分没有搜索引擎业务的模型平台,往往会使用第三方商业搜索接口。比如GPT使用的是Bing的搜索结果,而DeepSeek据称用的是博查AI的搜索接口。
在这一个必经环节的内部,其实完全是SEO工作。
因此,不懂SEO,就无法确保自己的文章出现在参考资料列表之中。只有某行业GEO竞争还很低的时候,我们往一些平台上随便一发文章,那些平台上自然的SEO排名也有可能足以挤到前列,这时,不专门做SEO环节的问题还不至于彻底暴露出来。而一旦竞争稍微上去,不会SEO的人想要做好GEO,则是件绝无可能的事情。
在调用搜索API的时候,传统搜索引擎内部会进行召回及排序(粗排->精排->重排)的环节,随后AI模型平台会得到几十上百个搜索结果的列表。
许多情况下,AI模型平台内部会在这个列表基础上,再进行一次微型规模的召回及排序操作,设法更精准的挑出高质量结果,最终形成我们最终看到的那个参考资料列表。
无论是传统搜索引擎,还是AI模型内部的召回及排序环节,除了工程实现上会有很大差异,但本质解决的问题是类似的,因此后文暂时不做特别区分。
召回Bi-Encoder
为了在数以亿计的互联网页面之中,快速找出成百上千个有可能值得显示到最终搜索结果列表之中的页面,需要极高的计算效率。为此而存在的召回环节之中,只能是一些相对最简单粗暴的规则。
最原始的召回策略,就是TF-IDF及衍生的BM25等经典检索算法,主要就是看关键词密度。针对这些算法的主要优化策略,就是在文章标题和正文里面多出现几次关键词。
确保关键词在文中适当出现几次,这确实比较重要。但BM25这些东西毕竟是大约三十年前的搜索引擎核心算法,我们如果至今还只懂得三十年前的东西,那就太不合适了。
如今的召回策略通常都是混合检索。其中的核心组成部分除了BM25为代表的稀疏检索,其余主要就是Bi-Encoder这样的向量稠密检索。
向量检索的核心完全是一个数学问题,实在难以在这样一篇文章里面展开解释数学原理。非常推荐去看一下B站上有的3blue1brown的线性代数讲解,主要是其中的向量点积部分。
实际落地时,我们也可以最简单的说,针对于向量检索这一机制,我们应该做的是在文章内加入一些相关的词。比如预计用户提问之中一定会包含「GEO」这个词语的话,为了提高文章的召回表现,我们就应该在文中额外写上诸如以下这些词:生成式引擎优化、SEO、企业推广……
一定有读者此时会觉得,不就是要加相关词吗,整刚才那么多玄乎的干嘛?
问题在于,词语之间的相关度有高有低,如何才能准确高效的找出最相关的那一批词?
拍脑袋是不可能的,人类的大脑无法理解高维向量空间。
具体落地上,虽然我们无法准确的知道某一家AI平台是如何进行向量相似度计算的,但大道归一,就如许多AI模型在回答上都会有相似的地方,每家模型计算向量相似度的具体细节也是高度趋同的。
更具体的来讲,比如阿里千问以前开源过Qwen系列的embedding模型,embedding模型就是专门用来进行向量检索之类的任务的。我们可以在这些模型的基础上进行一些非常简单的开发,让它们可以在输入一个词后,直接输出其内部与其向量空间最接近的词汇列表。这些词就是极为值得我们融入到GEO文章之中的。
排序Cross-Encoder
在召回阶段之中,限于计算性能,主要计算的都是相关性此类最基础的维度。但只看相关性显然是不够的,无论GEO还是SEO,除了相关性以外的最重要指标都是需求满意度,也即内容是否切实符合用户的具体需求。
一个最简单的例子是,SEO场景下,假如搜索Query是「火影忍者」,用户的实际需求有可能是动画,也有可能是漫画。为了将整体的需求满意度最大化,那么我们的着陆页应当同时包含其动画与漫画。
但你从这一例就可以发现,需求满意度并不容易界定,对于不同类型的需求,用户追求的往往是截然不同类型的答案。
于是,接下去的步骤是介入Cross-Encoder进行打分,将关键词与内容进行完整的交互。不太严谨,但也能大概示意的是,平台方会把输入构造成类似这样:
针对下面的关键词和内容,进行一个用户搜索满意度打分。 关键词: 内容:此时,便可利用起模型自带的一些知识,以类似于人类用户的视角去审视这篇内容的价值高低。
看起来,这里的Cross-Encoder加入了真正的语义理解,是个比较完善的东西。但实际上完全不是如此。关键因素仍在于,无论GEO还是SEO,排序和召回一样都处于实时性要求很高的检索环节,只会使用规模较小的模型。
假如把目前最先进的对话大模型的本身思考能力看作大致相当于IQ130的话,用于Cross-Encoder的模型的IQ恐怕更接近于80,仍存在许多显而易见的问题。
就比如在「SEO」这个过去我的无数同行都觊觎的词上面,我的网站常年在百度首页的位置,许多人研究它,但这往往是徒劳的,仅靠表象的模仿,几乎没有任何机会真正找出排名背后的逻辑:
(限定于百家号搜索,是为了控制变量,来单独对比文章内容是如何影响排名的)
截图中可以发现,所有文章都包含了SEO的全称。显然不可能所有文章都写了全称,这恐怕是个相当小的比例。然而排名好的文章全都有这个特征。这说明了它是「SEO」这个词排名好的必要条件:残酷的事实就是,但凡页面上没写过它的全称,那么哪怕做再久的优化工作,努力一年两年,很可能一点用处都没有。
虽然我的网站常年排名好,远远不止是在首页上写过SEO的英文全称,还有其它许多重要操作。但无疑这也是我网站排名靠前的最重要因素,没有之一。
这个特征,本身是有一定合理性的:「SEO」是一个专有名词的英语缩写,那么自然会有一部分用户的搜索需求是想知道它的全称。类似的,搜索「AI」这个关键词的时候也能看到一模一样的现象。只是常识告诉我们,这一部分的用户比例一定不会太大,百度显然过于看重了这个特征。只不过Cross-Encoder的小模型并没有我们这般的常识水平。
更进一步的,之所以有这样现象的源头,在于这类模型的训练语料之中通常都包含了大量百科性质的页面。而百科有类似于词典的属性,开头通常是以定义句式开始的。模型在训练过程中看到的都是这样形式的数据,也就随之认为这种形式的内容价值最高。
这并非百度独有的问题,只是百度做得相对糟糕一些,所以这个现象特别明显。与此同时,无论是Bing还是Google的排序都存在同样的问题,只要随便搜索几个热门词就可以发现,全称解释及定义句式都被过度看重,只是其影响程度比百度稍弱一些而已。
我们从豆包的检索结果之中也可以轻易观察到Cross-Encoder之中部分因素被过度的看重:
(可发现,文章标题是否出现过「2026」接近于是一个必要性的因素,虽然更合理的方式应当是去看文章发布的时间戳)
此处,大多人即便未必专门琢磨过逻辑推理方式,也足从图中看出「2026」这个因素的重要性,因为它在此处是一个很明显的共性因素。
整个GEO行业发展到现在,确实也有些微的进步,比如大家已发现了排行榜类型的文章效果特别得好。乃至于目前排行榜类型的GEO文章泛滥,个别平台已经开始专门打击此类内容。
这同样也是Cross-Encoder的影响。在大约2022年或更早些的时候,百度上就已经出现了极为显著的这个现象,即对于许多类型的搜索词,尤其像是「XX哪家好」这种的,只要文章标题里面有「排行榜」或者「十大」这样的字眼就极容易排上去。
而且在更早得多的时候,无论对于百度还是Google,在网页上添加一个诸如名为「软件排行榜」这般的链接区块,就能极大幅度的提高排名表现(近年百度砍掉了这个规则)。是至少当时我已知的常规手段里面效果最大的操作方法,在许多不同行业不同规模的网站做过这个操作,具体提升幅度大约是150%,也即哪怕我测试过的10万IP的站,仅添加这样小小一个区块,流量就提升到日均25万。
此类操作有效的原因很简单,「排行榜」意味着这个链接区块或是这篇文章里面可能含有最高质量的信息。只是机器学习的天生弊端一直是,很容易过度放大那些常见有用模式的重要性。
由于AI平台给出的参考资料之间是存在先后顺序的,所以我们在这个环节上也可以自行训练模型,去一定程度掌握平台方的Cross-Encoder行为模式。
文章内容之外的因素
前面所讨论的召回和排序,主要是针对文章内容的。但在调用搜索API的这一环节之内,传统的搜索排名除了文章内容以外还会看许多其它的东西。
比如百度会特别看重文章页面里诸如「相关文章」、「热门资讯」此类的浏览价值增益区块,对于PC端网页,如果文章页面上完全没有此类区块,或只有一个,那么无论对于多大规模的网站都难以有良好的排名表现。
又比如Google与Bing对于文章类型页面的最重要排序因素之一,是看页面的边栏上面有没有目录形式的锚链接:
此类附加因素有多大影响呢?这个问题极其复杂,不同搜索词、不同网站情况下都截然不同。但最最粗略的来讲,对于传统搜索引擎,各项因素的重要性在更多情况下是这样的:
文章标题 > 文章之外的附加因素 > 文章正文
这里还有个重点因素在于,除了某些专门为AI提供搜索服务的厂家有可能截然不同,而另一部分成熟商业搜索厂家,其搜索技术经过积年累月的发展,其中规则极其庞杂,不太可能为了AI参考语料的需求而完全创造一套独立的规则。
比如,着陆页的打开速度,尤其是移动端的首屏渲染速度和LCP此类的指标,对于传统搜索引擎的排名影响非常之巨大,毕竟这非常直接影响到常规搜索用户的搜索体验。但是,对于AI场景下,用户多数情况下不会打开具体的参考资料去看,因此着陆页的打开速度本应变得相对无关紧要。但实际上它极有可能仍会影响到GEO的搜索排序。
理想情况下,GEO肯定是该主要往自己完全可控的网站上去发布文章。毕竟到了规模化阶段之后,新闻稿发布的成本过高,在知乎等第三方平台大量发布也有风控乃至可能法律问题。而在自己的网站上,每天发布几万几十万篇文章是再正常不过的。发布成本极低,而且也有方法确保搜索引擎的爬虫把文章全部抓取到。
对于在自己网站发布的场景下,我们就必须着重注意那些附加因素。
此类附加因素,完全是SEO领域的话题了,却又会非常直接的影响GEO最终成效。由于这里涉及的不只是文章内容那般的,而是一整个网站怎么操作。其中操作方向极为庞杂,本文便不再过多展开。
RAG之增强与生成
在检索出几十条参考资料之后,就是大模型正式介入,对于提问和资料进行综合理解,且最终生成出一个答案。
此前广为传播的普林斯顿大学的GEO论文,讨论的主要是这个环节内部的事情。论文中,最关键的创新之处是定义了一些数据指标,来尝试对多种操作手段的实际收效进行量化:
其分析结论如:关键词堆砌有负面效果,引用补充说明有非常显著的正面作用
不过进一步的,这论文中与商业需求最违背的一点在于,在验证了文章逐个应用上述单个方法的有效性之后,作者猜测多个方法合并使用会有更好效果,接下去进一步测试并统计数据,并证实了自己的观点。但实际工作中,我们凭借直觉就几乎可以确定会是这个结果,因此这绝不是值得浪费我们宝贵研究时间的地方。
这也就引出了这篇论文中的最欠缺之处:它不是商业目标导向的。关键在于,其中进行了效果衡量的操作手段都是凭空出现,尚未探讨核心问题:我们如何在这些操作手段上做到更好,又如何探索到更多可行的操作手段。而这些才是商业落地之中真正的挑战。
溯因推理
为了探索更多有效的操作手段,我们第一步应该理清楚RAG内部实现的各个环节。由于许多读者估计没有太多RAG等的技术背景知识,因此再次说明这个重点问题:比如前面刚提到过「2026」这个词语,若出现在参考资料的title中,会对效果有助。但这现象也只能证明它在「检索」这一大环节之中的「排序」这一小环节之中有助,和其余环节都没有任何直接关系。
在由粗到精的漏斗之中,不同层级的策略虽有时会有重叠,但并不总是这样。而且越到后面的环节,其中看的细节因素越多,通常会使得一些粗糙规则的权重占比下降。
检索环节决定了各个参考资料的排名位置,这是在增强与生成环节之前的事情。
更形象具体的来说,比如某个参考资料排在第一,但我们发现在模型的正式回答的诸多引用之中却没有出现过该参考资料,这通常就说明了这篇文章在增强与生成环节败下了阵来。
反过来,假如总共有10条参考资料,模型的正式回答之中引用了1~3条和第7条,跳过了其余多条,此时,其余多条刚巧都做得比较糟糕的可能性略低,往往意味着第7条对应的文章在增强与生成环节非常迎合模型的喜好。
进一步的,一种最典型的研究方式就是使用穆勒五法为主要工具来进行案例分析。普林斯顿的那篇论文,已讨论了一些有效的操作手段(权威措辞、引用来源、添加数据等等),那么我们可以着重于留意有哪些参考资料之中,完全没有出现其中的任何一项操作手段,同时却又被模型高优先级的引用。
更具体的,由于一篇长文之中可能包含了大量与模型增强与生成环节偏好相关的片段,于是即便我们定位到了这一篇文章必有所亮点,也相对难以定位到亮点究竟是其中哪一块。为此,在研究工作的实际落地中,也有一些关键的小技巧。比如在这个问题上,我们应当首先尽可能获取到模型对于海量问题的不同回答,再用程序批量去分析,找出高优先级引用的参考资料之中,那些既没有用上任何已知手段,同时字数又尽可能最少的文章。毕竟字数少了,干扰因素就少,则容易分析得多。
这个方向是相对容易落地的,结合严谨的推理方式及各式小技巧,我们能准确的定位一些关键的影响因素,找到更多可操作的手段。但这个方向的上限也很明显,人工去归纳规律,至多只掌握一些粗粒度的规则。比如说我们发现在页面上添加数据作为佐证时,会对资料引用优先级有助,那么,添加多少数据呢?假如表格形式更好,那么这个表格里面该具体多少行、具体多少列?
要明确的是,这不是在钻一些无谓的理论细节。
就如SEO时代,同行时常在抱怨网站的流量一直在下降,我却几乎没有这样的困扰,我自己的大多数网站哪怕放着不动几年时间,日均流量也不会有多少降幅。关键原因之一即在于,多数同行把他们网站只是做到了一个勉强够用的优化水平,然而当陆续出现了更强的竞争对手时,他们自己的排名就会不断下降。对此,解决的方向有两种,一种是随着时间不断去小修小补,另一种是一开始就冲着理论上限去做。
虽然这两种方向各有其优势,有其适用场景,但后者的重要性绝对是被人低估的。毕竟不断的被动去进行小修小补,需要消耗的精力远比人们想象中来得更大。
训练Reward模型
接下来讨论理论上限。
由于在增强与生成环节之中大模型已经全面介入,会看极多的极为精细的地方。
精细到什么程度呢?为了读者可以更形象的理解,我举个例子:比如两篇技术文章,一篇的开头作者自我介绍是DeepSeek的开发者,另一篇作者说是自己是豆包的开发者,那么模型会据此对第一篇文章给予更多的倾斜。
这是因为大模型的世界知识背景里面知道,DeepSeek相较豆包有更强的科研声誉,且DeepSeek的开发团队人数更少。
正由于增强与生成环节之中,大模型看的地方过于精细,远超出了人类可归纳总结的最小粒度,于是理论上的唯一最优解,就是自己来训练一个模型,用于总结我们目标模型内部的规则。
更具体的,比如最常规的做法是,将模型输入构造成诸如:
判断下面这篇文章在RAG之中的引用优先级。 用户提问: 文章标题: 文章正文:将模型输出构造成引用优先级。这里的指标精细定义会比较复杂,最简化的示例是:
(1 ÷ 文章在回答引用中出现的顺序位置) × 文章在参考资料列表中的出现位置随后在预训练大语言模型的基础上,进行回归拟合的增量训练。
通常来说,用至少上万条数据进行训练之后能见到初步的成效,能让我们所训练的模型开始逐步掌握目标模型内部的规则。
RL训练生成模型
前面的Reward模型,单独拿出来也有其应用场景,但它最主要是服务于后续生成模型的训练。目的是让我们可以进一步再训练一个生成模型,它懂得RAG的内部逻辑,知道GEO该有的做法,可以直接生成出会被目标模型以极高优先级引用的文章。
RL即强化学习。以目前最常见的RL范式之一,DeepSeek R1的GRPO的思路来说明其大体运作模式:
我们找到一个预训练大语言模型之后,给这个模型构建的输入大致是:
针对用户的提问,写一篇文章,需要它能在RAG之中得到高引用优先级。 用户提问:然而此时,它尚未经历过针对性的RL训练,于是对RAG的了解仅限于自身附带的那些世界知识,是一个很模糊的认识。
因此,它会生成出来的文章大多数都是质量不高的。但是,由于模型对于同样的提问,每次生成出来的具体答案都不一样,在面向同样的问题重复生成10次之后,其中肯定有个别回答的质量比平均水平稍微高一点。这里判断回答的质量水平,需要用到的就是前面训练的Reward模型。
在那一个生成批次之中,找到那个质量相对最佳的回答之后,模型会记住这个回答之中它做了哪些事情,那么在之后的生成之中,就会愈加容易生成出具有那些特征的文章内容。在经历数以万计的迭代之后,Reward模型已掌握的RAG规则就可以逐步迁移到生成模型之中。
值得一提的是,理论上在相似架构下,想用一个小模型去完全掌握大模型的内部策略,是一件绝无可能的事情,因此我们至多仍然比较模糊的掌握目标模型内部的规则。但通常来说,哪怕是用比如开源的4B规格模型+LoRA适配去做这件事情,它也极有机会在这种特定的任务上做到远远超越人类的上限。
换言之,对于GEO这件工作,做到后面最核心的、最能保证自己竞争力的地方在于,不再用什么现成的DeepSeek来生成文章,而是直接用自己训练的模型来生成文章内容。这才是真正的降维打击。
研究范式
作为一篇综述性的科普文章,本文的大部分篇幅集中在RAG的技术底层原理上面。毕竟做GEO就是RAG的逆向工作,我们必须先搞清楚RAG内部做了什么,才有机会在正确的方向上去发力。
但必须强调的是,这些技术原理只是检索和AI领域最为常识的东西。只不过现在GEO行业发展实在太差,才使得从业者连这些都一无所知。
无论是读论文又或是啃专利,都是对于现成资料的学习,至多该归为基础夯实阶段。真正重要的问题永远是如何深入无人的领域去做研究。在黑盒问题的研究范式上,主要工具即概率、推理及机器学习。无论SEO还是GEO都大体共通。
顾问合作
针对GEO服务商
对于已经把整个链路打通,且有所案例的GEO服务商,我可以提供顾问合作,帮你们解决关键的技术瓶颈,预计两三个月内达到目前至少数倍的成效。尤其对于SEO出身的同行,应该知道我的理论研究和网站案例对于行业的领先到了何等地步,数倍是保守的说法。
针对企业
我没有精力来做GEO的落地工作,因此不单独提供GEO合作业务。不过在企业AI改造的合作业务之中,肯定也能顺带进行GEO的方向性指导,只是需要内部人员或其它GEO服务商来全程落地。