一些GEO论文

我真得精读一些论文而不是全都让 GPT 给我总结了, 否则我觉得我永远都只能当无上 GPT 大人的使者.

GEO: Generative Engine Optimization#

领域老资历, 主要工作在于提出了 GEO 这个东西, 并做了第一个数据集 GEO Bench.

实验只有五篇文档, 并且这几个评价指标能否真的反映出 GEO 效果如何我觉得有待商榷.

实验方法#

从很多来源找了很多查询 (10000 个, 8:1:1 用于训练, 验证, 测试), 每个查询对应五篇来源, 每次实验选定五篇来源中的随机一篇, 应用一种 GEO 方法 (利用 LLM 改写), 比较改写前后的可见性.

采用方法包括:

  • 权威性, 把文本改得更权威
  • 添加统计数据, 可能需要外部数据
  • 类似传统 SEO, 加入更多匹配查询的关键词
  • 添加来自可信来源的相关引用
  • 添加来自可信来源的相关引语
  • 简化语言, 使其容易理解
  • 提高流畅度
  • 加入独特词汇
  • 加入技术词汇

评价指标#

Improvementsi=Impsi(r′)−Impsi(r)Impsi(r)×100Improvement_{s_i} = \frac{Imp_{s_i}(r') - Imp_{s_i}(r)}{Imp_{s_i}(r)} \times 100

相对改进程度, 0.1 优化为 0.15, 则分数为 50%.

Imppwc(ci,r)=∑s∈Sci∣s∣⋅e−pos(s)∣S∣∑s∈Sr∣s∣Imp_{pwc}(c_i, r) = \frac{\sum_{s \in S_{c_i}} |s| \cdot e^{-\frac{pos(s)}{|S|}}}{\sum_{s \in S_r} |s|}

位置调整词数:

  • 分子: 遍历回答里所有来自你网站的句子, 词数乘以衰减系数, 相加
  • 分母: 总词数

用于衡量「来自你网站的句子」占了多大比重, 有多靠前.

除此之外, 还有一个主观印象分, 由 LLM 根据以下规则打分:

  • 被引用句子和用户查询的相关性
  • 引用的影响力
  • 引用材料的独特性
  • 主观位置
  • 主观计数
  • 用户点击引用的可能性
  • 引用材料的多样性。

结论#

最有效的方法是添加引用, 添加引文, 添加统计数据.

提升流畅性和可理解性也是有用的.

权威语气没有显著提升, 说明 LLM 已经有一定鲁棒性, 不会说什么信什么.

传统 SEO 的堆关键词基本没用.

针对领域优化很重要. 例如权威性在辩论和历史类问题中有效, 引用来源对事实性问题有效, 等等.

在传统搜索引擎结果中排名更低的网站受益更大, 但我觉得这是纯纯废话.

WHAT GENERATIVE SEARCH ENGINES LIKE AND HOW TO OPTIMIZE WEB CONTENT COOPERATIVELY#

即 AutoGEO.

数据#

除了 GEO Bench 外, 弄了两个数据集:

  • E-commerce, 来自电商查询
  • Researchy-GEO, 来自 Researchy Questions 数据集, 是较为复杂的研究性问题

实验方法#

类似 GEO Bench, 一个查询对应五篇文档, 对比修改前后.

评价指标#

目标是在优化可见性的同时保证回答质量, 因此除了 GEO 指标外还有 GEU (Generative Engine Utility) 指标.

GEO 指标同 GEO Bench, 包括词数, 位置计数, 以及二者综合得到的值.

GEU 包括:

  • KPR (关键点召回率, Key Point Recall), 使用 LLM 从文档中提取要点, 然后评估回答是否包括了这些要点.
  • KPC (关键点矛盾, Key Point Contradiction), 是否有关键点冲突.
  • Citation Precision, 引用的准确性
  • Citation Recall, 事实主张是否附有引用
  • Clarity, 文本流畅度和逻辑连贯程度
  • Insight, 评估分析深度和推理细致程度

KPR 和 KPC 必须有正确答案才能评估, 因此只在 Researchy-GEO 上计算了这两项指标.

后四个指标没有给出具体计算方法, 怀疑是直接扔给 LLM 的, 或者瞎编的.

实验方法#

对每个问题, 先通过 GEO 指标衡量表现最好和最坏的文档, 然后让 LLM 总结其差异, 包括这四层:

  • Explainer 解释为什么一篇文档更受偏好. 提示词里写了建议考虑直接性, 完整性, 相关性等, 因此或许在分析时模型已经受到了引导?
  • Extractor 把具体解释变成通用规则. 例如, 解释是「A 网页步骤清晰, B 网页全是小广告」, 提炼为「步骤写清晰, 少放小广告」.
  • Merger 合并大量重复或相近的规则, 希望做到表达单一原则, 可执行, 没有歧义.
  • Filter 移除依赖某个具体问题的规则, 例如「提供与用户问题相关的具体事实」改为「提供具体事实」, 因为实际优化中这些问题是未知的.

没有说明分四层是不是效果一定更好, 虽然后面有拿掉其中一层再看效果如何的实验, 但拿掉一层之后效果也没下降太多, 而且这里四层加起来是完整的流程, 拿掉一层显然会变差, 应该对比的是分三层 (比如把 Extractor 和 Filter 合并到一层) 效果是不是更好, 而不是直接拿掉一层. 不过重点也不在这里, 能跑就行, Explainer 里提示词诱导的问题可能大一点.

设置 Overall
完整 API 43.76
去掉 Explainer 42.91
去掉 Extractor 41.78
去掉 Merger 40.28
去掉 Filter 43.71

SAGEO Arena: ARealistic Environment for Evaluating Search-Augmented Generative Engine Optimization#

少数做了 GEO 全流程的工作之一.

SAGEO: Search-Augmented Generative Engine Optimization, 搜索增强生成式引擎优化, 即先搜索相关材料, 再用模型生成回答, 并给出来源.

主要针对两个问题:

  • 以前的工作大多假定网页已经进入上下文
  • 以前的工作大多没有保留标题, 描述, 层级结构等网页信息

数据#

九个来源, 类似 GEO, 共 2700 条查询, 每个查询通过 Google Custom Search API 获取最多 100 条结果, 去重后得到 171003 篇网页.

网页包括正文和结构信息两部分, 结构信息如下:

字段 内容 可能作用
Title 网页标题 概括主题与意图
Meta Description 页面描述 提供简短内容摘要
Headings H1—H6 标题层级 表示章节主题与组织关系
Schema/JSON-LD 结构化数据 明确实体、属性和关系
Body Text 网页主要正文 提供详细事实、解释和证据

实验方法#

正文先切片, 然后构造了语义单元, 即切片后的正文+该网页的结构信息. 若一篇文章切成多份, 会对应同一组结构信息.

环节 默认实现
检索 BM25
字段结果融合 Reciprocal Rank Fusion,RRF
检索候选 Top-100 正文片段
重排 Qwen3-Reranker-4B
生成输入 重排后的 Top-10 候选片段,附带结构字段
答案生成 GPT-5-mini
文档优化 默认同样使用 GPT-5-mini

优化目标是最初就进入生成输入的文档, 因此本实验没有研究原本可见度很低的文档优化.

检索时, 会在标题, 页面描述, 正文片段等中分别检索, 然后使用 RRF (倒数排名融合):

融合分数=∑字段 u1κ+该字段中的排名\text{融合分数} = \sum_{\text{字段 } u} \frac{1}{\kappa + \text{该字段中的排名}}

排名越靠前对总分贡献越大, 然后按总分排序, 选出检索的结果.

评价指标#

网页排名定义为网页所有片段中最高的排名.

命中率:

H@k=1∣Q∣∑q∈Q1[rank(dqtgt)≤k]H@k = \frac{1}{|Q|} \sum_{q \in Q} \mathbf{1}[\text{rank}(d_q^{\text{tgt}}) \leq k]

论文主要报告检索阶段的 H@20, 重排阶段的 H@10, 生成阶段的 Citation Rate.

平均排名变化:

ΔRank=1∣Q∣∑q∈Q(rankbase−rankoptimized)\Delta \text{Rank} = \frac{1}{|Q|} \sum_{q \in Q} (\text{rank}_{\text{base}} - \text{rank}_{\text{optimized}})

AgenticGEO: A Self-Evolving Agentic System for Generative Engine Optimization#

数据来自 GEO Bench, MS MARCO, E-commerce.

大多数方法将 GEO 简化为基于 LLM 的改写, 使用固定的静态规则. 这些方法对黑盒和动态引擎缺乏适应性, 且对提示词格式敏感. 因此本文提出了一个自演化的 agent 系统.

实验方法#

AgenticGEO 分为三个阶段:

  • Offline Critic Alignment, 使用一个离线的小智能体 critic 来模拟 GE (生成式引擎) 的反馈, 而无需昂贵的在线评估.
  • Online Co-Evolution, 系统不断提出新的策略, 让真实 GE 提供反馈, 据此根据 MAP-Elites 训练 critic 和策略.
  • Agentic Multi-Turn Rewriting, 在推理时, 使用智能体的多步骤规划, critic 指导策略选择, rewriter 根据所选策略优化内容.

MAP-Elites#

MAP-Elites (Multidimensional Archive of Phenotypic Elites, 多维表型精英存档), 一种进化算法, 核心目标是生成一个包含大量高质量且行为各异的解决方案的「档案馆」. 好拗口的名字.

传统进化算法通常进行全局竞争, 所有个体相互比较, 种群收敛到单一的最优基因组; MAP-Elites 模仿了宏观进化中的生态位竞争模型, 每个生态位中保留一个 Elite, 即在该特定行为模式下性能最好的解, 新产生的个体只和同一生态位内的 Elite 竞争.

  • 定义并离散化行为空间
  • 初始化
  • 迭代进化: 选择, 变异, 评估, 更新存档

最终输出一张特征-性能地图, 展示了在不同行为模式下所能达到的最佳性能.

适用于「最优」的定义模糊, 或者需要系统具备多样化能力的问题.

智能体设计#

主要包含:

模块 论文配置 主要工作
Evolver 策略进化器 Qwen2.5-7B-Instruct 修改、组合旧策略,提出新策略
Critic 策略评价器 Qwen2.5-1.5B+数值回归头 预测某策略对当前文档的收益
Rewriter 改写执行器 Qwen2.5-32B-Instruct 按策略改写文档
GE 生成引擎 Qwen2.5-32B-Instruct 或 Llama3.3-70B-Instruct 根据五篇文档生成带引用答案,提供实验反馈

Evolver 输入查询 q, 文档摘要, 父策略 A, 可选的父策略 B, 可用的变异, 交叉算子目录 (如修改格式), 输出新的策略. 训练使用 AWR 优势加权学习, 效果较好的策略生成动作获得更大的训练权重.

Critic 输入查询, 当前文档, 策略的短摘要, 输出一个标量, 为它预测的该策略的可见性收益. 训练方法是实际执行, 计算改写前后 overall 评分之差, 训练 critic 同时进行回归 (预测收益数值) 和排序.

Rewriter 输入查询, 当前原文, 完整的策略提示词, 输出改写后正文. 实验中没有重点训练 rewriter.

训练循环:

  • 查询+目标文档
  • 从 MAP-Elites 档案取父策略
  • Evolver 生成新策略, 程序直接执行一些策略变异
  • Critic 给候选策略打分
  • 选预测最好的若干个, 随机探索若干个
  • Rewriter 按各策略生成改写文档
  • 替换五篇候选文档中的目标原文
  • GE 生成带引用答案, 计算实际可见性收益
  • 更新策略档案, Critic, Evolver

推理时只运行 Critic 和 Rewriter.

评价指标#

经典 Word, Pos, Overall.

NDCG Normalized Discounted Cumulative Gain, 归一化折损累计增益, 用于评价 critic 的排序效果.

BERTScore, 用于衡量改写后的文章与原文的相似度, BERTScore 高表示整体语义接近.