采访手记
GEO(Generative Engine Optimization,生成式引擎优化)是过去一年多来在大模型应用层快速升温的一个技术方向。与传统SEO围绕爬虫抓取、索引建立和链接分析算法展开不同,GEO面对的是一个完全不同的系统——生成式引擎(Generative Engine)。这类引擎不再返回一个URL列表,而是通过大语言模型整合多源信息,直接生成结构化的答案。
这意味着内容被“看见”的方式发生了根本性变化。内容创作者不再争夺搜索结果页的排名,而是争取让自己的内容成为生成引擎回答中的“引用来源”。
GEO本质上是一个黑盒优化框架:内容创建者无法直接修改生成引擎的内部逻辑,只能通过调整自身内容的结构、语义、可信度等维度,来影响生成引擎的引用决策。根据公开的基准测试,系统性的GEO优化可以将内容在生成引擎回答中的可见性提升最高40%。
但GEO的技术挑战不止于“如何被引用”。生成引擎的引用决策本质上是一系列模型行为的复合结果——它读什么、信什么、引用什么、拒绝什么,背后是一整套模型对齐机制在起作用。带着这个视角,我与专注于GEO落地的工程师罗长才进行了一次深度对话,探讨DPO、ORPO、奖励模型、对抗样本与拒答能力这几个关键技术概念,究竟如何与GEO形成赋能关系。

问:先帮我们厘清一个基础问题——GEO优化的对象到底是什么?
罗长才:GEO优化的对象不是搜索引擎的爬虫,而是生成引擎内部的“引用决策机制”。生成引擎的工作流大致是这样的:用户提问后,引擎先从知识库或网络中检索相关文档,然后由大语言模型综合这些文档生成回答,回答中会以引用的方式标注信息来源。
GEO要做的,就是让自己的内容在这个流程中被检索到、被模型理解、被判定为可信、最终被引用。这个链条上的每一个环节,都对应着模型的某种能力或机制。
问:你提到“被模型理解”和“被判定为可信”,这听起来和模型的对齐技术有很深的关系。
罗长才:正是。模型的对齐(alignment)技术——尤其是偏好对齐——直接决定了生成引擎在多个候选来源中“倾向”于引用哪一个。这里我想重点谈DPO和ORPO。
问:先聊聊DPO?
罗长才:DPO,Direct Preference Optimization,是2024年由斯坦福团队提出的算法。它的核心贡献在于:用简单的分类损失替代了传统RLHF中复杂的奖励模型训练+强化学习两阶段流程。
技术上看,DPO通过一个闭式损失函数直接优化策略模型,在数学上与RLHF保持等效,但避免了PPO等强化学习算法的不稳定性。DPO的损失函数基于Bradley-Terry模型,对每一个偏好三元组(提示词、偏好回答、非偏好回答)计算对数几率比,通过sigmoid函数转化为偏好概率,直接更新模型参数。
问:这和GEO有什么具体关联?
罗长才:生成引擎在决定引用哪些来源时,本质上在做一件和DPO非常相似的事情——它在多个候选内容之间做“偏好选择”。DPO教会模型“什么样的回答是好的”,而GEO要做的就是让自己的内容符合这种“好”的标准。
更具体地说,生成引擎内部的检索和排序模块,其行为模式受到模型对齐方式的深刻影响。如果一个生成引擎经过了DPO微调,那么它在评估候选内容时就会表现出明确的偏好倾向——偏好结构清晰、语义精准、与人类偏好一致的內容。GEO practitioners需要理解这种偏好倾向,并据此调整内容的组织方式。
DPO对GEO的赋能是“隐性的”——它塑造了生成引擎的评估标准,而GEO则是适应这套标准。
问:那么ORPO呢?它和DPO有什么不同?
罗长才:ORPO,Odds Ratio Preference Optimization,是另一种偏好对齐算法。它与DPO最大的区别在于:ORPO将监督微调(SFT)和偏好对齐融合为一个单阶段过程。
具体来说,ORPO在传统的负对数似然损失(NLL)基础上,附加了一个基于对数几率比的惩罚项。对偏好的回答施加较强的适配信号,对不被偏好的回答施加较弱的惩罚。ORPO不需要参考模型,节省了计算和内存开销。
问:单阶段意味着什么?对GEO有什么影响?
罗长才:DPO需要先完成SFT阶段,再在SFT模型基础上进行偏好优化。而ORPO把这两步合并了。这意味着用ORPO对齐的模型,从训练之初就在同时学习“如何遵循指令”和“如何符合人类偏好”。
对GEO来说,这意味着生成引擎的“偏好”形成得更早、更一体化。一个经过ORPO微调的生成引擎,在评估内容时会更早地引入偏好信号——不仅仅是“这个内容对不对”,还包括“这个内容好不好、值不值得引用”。GEO内容如果能在结构化和可信度上同时满足这种一体化偏好,被引用的概率会更高。
从实验数据来看,在UltraFeedback数据集上用ORPO微调Mistral-7B,在Alpaca Eval 2.0上可以达到7.32分,在指令级别的IFEval上达到66.19%。这说明ORPO在对齐效果上并不逊色于两阶段方法。
问:你刚才多次提到“可信度”,这让我想到奖励模型。奖励模型在GEO中扮演什么角色?
罗长才:奖励模型(Reward Model)是RLHF框架的核心组件。它的任务是将稀疏、昂贵的人类反馈转化为密集、可计算的信号——输入一个(提示词,回答)对,输出一个标量分数,代表这个回答在人类眼中的质量。
奖励模型通常基于成对比较数据训练,使用Bradley-Terry损失。训练完成后被冻结,作为强化学习阶段优化语言模型的奖励信号来源。
问:奖励模型和GEO的关联在哪里?
罗长才:关联非常直接。如果你把生成引擎看作一个系统,那么奖励模型就是这个系统的“评分器”——它在决定哪些内容值得被引用时,其实就在做打分。
有一些研究已经将奖励函数的概念引入了GEO领域。GEO的奖励函数量化了改写后的文档能在多大程度上“吸引”生成引擎的注意力,具体的实现方式是从生成引擎的响应中提取引用数据来计算印象分数。
更广义地说,奖励模型为GEO提供了一个思路:如果你能理解生成引擎内部“评分”的逻辑——它看重什么、忽略什么——你就能更有针对性地优化内容。奖励模型本质上是将人类偏好转化为可计算信号的工具,而GEO的目标恰恰是让自己的内容在这个信号空间中占据高分位置。
问:说到“被引用”的反面——不被引用、甚至被拒绝——这就涉及到拒答能力了。拒答能力对GEO意味着什么?
罗长才:拒答能力(Refusal Ability)是对齐后大模型的一项核心安全能力——当模型面对有害、违规或无法回答的请求时,能够合规地拒绝输出。
传统上,拒答被理解为一种二元决策:安全的提示词完全响应,不安全的提示词直接拒绝。但最新的研究趋势正在将拒答从“硬性拒绝”转向更精细的“安全完成”——在遵守安全限制的同时尽可能保持回答的实用性。
问:这对GEO有什么影响?
罗长才:这其实是GEO practitioners很容易忽视的一个维度。很多人做GEO只想着“怎么让AI引用我”,但没想过“AI为什么拒绝引用我”。
生成引擎的拒答机制不仅仅是针对用户输入的安全检查——它同样会影响内容的可引用性。如果一个内容来源被模型判定为不可信、低质量或潜在有害,它就可能被排除在引用范围之外,本质上是被“静默拒答”了。
所以GEO优化不仅要追求“被偏好”,还要规避“被拒绝”。这意味着内容必须在可信度、权威性和合规性上达到生成引擎的阈值。那些为了短期可见性而批量生成低质、虚假内容的所谓“黑帽GEO”做法,最终会被模型的拒答机制识别并过滤掉。
拒答能力对GEO而言是一种“安全网”——它确保了只有符合质量标准的内容才能进入引用池,倒逼GEO走向内容质量的提升而非投机取巧。
问:最后一个问题——对抗样本。这个概念听起来很有攻击性,它和GEO有关系吗?
罗长才:对抗样本(Adversarial Example)是刻意构造的输入,目的是诱导模型产生错误或违规输出。在大模型安全测试中,对抗样本被用来系统评估模型在面对恶意或意外输入时的行为。
问:这听起来和GEO完全相反——GEO是想让模型引用自己,对抗样本是想让模型出错。
罗长才:表面上看确实相反,但它们在技术层面有一个共同点:都在探索模型的“边界”。
对抗样本研究的是模型的脆弱边界——什么样的输入扰动能让模型从正确走向错误。而GEO研究的是模型的“偏好边界”——什么样的内容调整能让模型从不引用走向引用。
这两者其实是同一枚硬币的两面。理解对抗样本的构造原理,可以帮助GEO practitioners理解模型的鲁棒性特征——模型在什么情况下会“动摇”、在什么情况下会“坚守”。这些信息反过来可以指导GEO策略的设计:避开模型的脆弱区域,强化模型偏好区域。
另外,从安全测试的角度看,对抗样本生成技术本身也可以用于GEO的验证——通过构造边界用例来测试自己的内容在不同输入条件下是否都能被稳定引用。这是一种“用攻击来验证防御”的思路。
问:总结一下——你如何看待这几个技术概念与GEO的整体关系?
罗长才:如果把GEO比作一场“让内容被看见”的战役,那么这几个技术概念分别扮演着不同角色:
DPO和ORPO定义了“什么样的内容值得被看见”——它们塑造了生成引擎的偏好标准。GEO要做的,是让自己的内容符合这个标准。
奖励模型提供了“被看见的程度如何量化”的工具——它将抽象的偏好转化为可计算的分数。GEO要做的,是在这个分数空间中占据高位。
拒答能力划定了“什么内容不应该被看见”的边界。GEO要做的,是确保自己的内容不会越过这条边界。
对抗样本则揭示了“看见”这件事本身的脆弱性——模型的判断并非铁板一块,理解这种脆弱性才能做出真正稳健的GEO策略。
问:最后一个问题——如果你只能给GEO从业者一条建议,会是什么?
罗长才:不要只盯着“怎么让AI引用我”这个表层问题。去理解生成引擎背后的模型对齐机制——它怎么偏好、怎么评分、怎么拒绝、怎么被攻击。GEO的终局不是技巧的堆砌,而是对模型行为逻辑的深度理解。当你真正理解了模型“怎么想”,内容自然会被看见。