同义不等于同路:我在2万+条GEO优化采样里看到的Query敏感性
过去几个月,我累计保存和处理的 GEO 相关采样已经超过 2 万条。
这些数据最初并不是为了研究“应该怎么提问”。
我真正想解决的问题一直是:
当用户表达的是同一个需求时,为什么有时候 AI 会想到一个品牌,有时候却完全不会?
随着采样量增加,我越来越确定一个现象:
语义接近,不代表检索路径相同。
有时只是调整语序、替换一个限定词,甚至改变一句话的表达结构,AI 在检索阶段产生的 Query Rewrite 就可能不同。
而一旦 Query Rewrite 改变,后面的来源、实体、候选对象和最终答案,都可能跟着改变。
我现在更愿意把这条链写成:
用户原始问题
↓
Query Understanding
↓
Query Rewrite / Expansion / Fan-out
↓
Retrieval
↓
Candidate Sources / Entities
↓
Reranking
↓
Generation
↓
Mention / Citation / Recommendation
这意味着,我们过去把“一道问题”作为 GEO 的最小测量单位,可能还不够。
真正需要观察的,是:
一个用户意图经过不同自然语言表达以后,会不会进入不同的检索路径。
先说明:下面的例子经过脱敏重构
为了不公开真实项目、真实品牌和内部采样题集,下面涉及律所行业的例子是根据真实实验结构进行的等价脱敏重构。
它用于解释实验机制,不是原始采样记录的逐字公开。
真实原始 Question、Observation、Query Rewrite 和 Sampling Run 仍保留在内部研究数据中。
假设用户只是想找一家成都律所
从人的角度看:
A:成都推荐一家律所
B:成都律所推荐
这两个问题表达的需求非常接近。
用户都是在寻找:
成都有哪些值得考虑的律所?
如果只从“语义理解”出发,我们很容易认为:
A ≈ B
所以最终结果应该差不多。
但在真实的 AI 搜索系统里,中间还有一层经常被忽略:
Retrieval Planning。
AI 并不一定直接拿用户原句去搜索。
它可能重新组织问题、拆分意图、补充实体,然后产生多个检索 Query。
例如,下面只是为了说明机制而构造的脱敏示意:
成都推荐一家律所
↓
可能展开为
├─ 成都靠谱律师事务所
├─ 成都法律服务推荐
├─ 成都律师事务所口碑
└─ 成都专业律所
而:
成都律所推荐
↓
可能展开为
├─ 成都律所推荐
├─ 成都律所排名
├─ 成都律师事务所哪家好
└─ 成都知名律师事务所
两组 Query 在人看来仍属于同一个需求。
但它们进入搜索系统以后,已经开始访问不同的信息空间。
真正发生变化的可能不是答案,而是答案之前
如果只保存最终回答,我们看到的可能只是:
A → 推荐了律所甲
B → 推荐了律所乙
然后得出一句很容易传播但几乎没有研究价值的话:
“你看,换个语序答案就变了。”
这个结论远远不够。
因为生成式 AI 本身存在随机性。
即使完全不修改问题,两次回答也可能不同。
所以真正值得研究的不是:
Answer A ≠ Answer B
而是能不能进一步观察:
Query A
↓
Rewrite Set A
↓
Source Set A
↓
Entity Set A
↓
Answer A
和:
Query B
↓
Rewrite Set B
↓
Source Set B
↓
Entity Set B
↓
Answer B
如果差异从 Query Rewrite 就开始出现,随后 Retrieval Source、候选实体和最终推荐继续发生变化,那么这就不再只是一次随机答案波动。
它变成了一条可以测量的检索链。
2万多条采样真正给我的,不是一个营销数字
这里我也想把边界讲清楚。
我累计保存和处理的 GEO 相关采样已经超过 2 万条。
但我不会说:
“我做了2万次严格的语序对照实验。”
不是。
这些数据来自不同时间、平台、题集和实验任务。
并不是每一条都拥有完整的 Query Rewrite。
真正重要的是,大量长期采样让我逐渐能够区分:
普通生成波动
和:
值得继续追踪的结构性异常
数据足够多以后,一次答案改变已经不会让我马上得出结论。
我更关心的是:
Question有没有变化?
↓
Query Rewrite有没有变化?
↓
检索来源有没有变化?
↓
候选实体有没有变化?
↓
最后的推荐才有没有变化?
这可能才是 GEO 从“看答案”走向“测系统”的分界线。
在目前能够完整回溯的数据里,我已经开始记录中间层
现在我的采样系统不再只保存:
AI 最后回答了什么。
而是尽可能把整个链路拆下来。
包括:
Question
↓
Observation
↓
Sampling Run
↓
Query Rewrite
↓
Source
↓
Competitor / Entity
↓
Final Answer
在目前具有完整 Query Rewrite 链路的数据中,我已经能够把 Sampling Question 和 Query Rewrite 通过真实 ID 回溯。
这件事情对我来说,比最终某一次“排第一”重要得多。
因为它第一次让:
AI为什么得到这个答案
开始变得部分可观测。
一个意思,为什么可能走进不同的网络世界?
回到律所这个脱敏例子。
除了语序,词本身也可能改变检索规划。
例如:
“推荐”
可能把系统推向:
候选生成
评价
列表
排名
“靠谱”
可能增加:
口碑
案例
资质
评价
风险
“律所”
可能强化:
Organization Entity
“律师”
则可能强化:
Person Entity
“成都”
还可能增加:
本地来源
地域实体
Local intent
所以“一字之差”真正值得研究的地方,并不是:
AI 是不是像传统关键词搜索一样少一个字就不认识。
恰恰相反。
问题可能在于:
一个词改变了系统对任务的理解,从而改变 Retrieval Planning。
这两个解释完全不同。
所以我不再把Query当成一个点
以前做 GEO Benchmark,我们很容易这样设计:
Question 01
Question 02
Question 03
...
然后固定问题,重复采样。
这依然非常重要。
但它测出来的是:
固定表达下的稳定性。
真实用户不会永远使用同一句话。
所以我现在更愿意把测量单位拆成三层:
Intent
↓
Query Family
↓
Query Variant
例如:
Intent:
寻找法律服务提供者
Query Family:
成都律所发现
Variant:
├─ 成都推荐一家律所
├─ 成都律所推荐
├─ 成都有哪些靠谱律所
├─ 成都律师事务所哪家好
└─ 成都找律所推荐
这些 Variant 对人来说可能属于同一个任务。
但真正的实验应该继续向后比较:
Variant
↓
Rewrite Set
↓
Source Set
↓
Entity Set
↓
Final Answer
这时候我们测量的才不再是一句话。
而是一个需求空间。
这会改变GEO Benchmark应该怎么设计
假设企业真正关心的是:
用户找律师事务所时能不能想到我?
只固定:
成都律所推荐
每天测试100遍,
最终我们可能得到非常稳定的推荐率。
但它只能说明:
在这一种语言表达下,这个品牌的可见度如何。
真实用户可能使用另外十几种表达。
如果不同 Variant 产生不同 Rewrite Set,那么单一 Question 的稳定结果并不足以代表整个 Intent。
所以一个更成熟的 Benchmark 应该逐渐区分:
Question Stability
和:
Intent Coverage
前者回答:
这一句话重复问,结果稳定不稳定?
后者回答:
用户换一种自然说法以后,这个品牌还能不能进入候选?
我认为这两项指标未来都应该存在。
但千万不要把这个研究变成“一个Query建一个页面”
这是我最不希望这个发现被误用的地方。
最容易出现的 GEO 做法会是:
成都推荐一家律所
→ 一个页面
成都律所推荐
→ 一个页面
成都靠谱律所
→ 一个页面
成都律师事务所哪家好
→ 一个页面
然后批量制造几百个近义 URL。
我认为这是错误方向。
Query Variant 应该扩大的是:
测量空间。
而不是:
页面数量。
正确方向反而应该是:
多个 Query Variant
↓
理解共同 User Task
↓
建设一个真正完整的信息资产
↓
覆盖用户需要的事实、实体和证据
↓
让不同 Retrieval Path 最终都可能找到它
所以:
Query Family 是研究单位,不一定是页面单位。
这点对 SEO 和 GEO 都重要。
SEO和GEO在这里其实开始汇合了
传统 SEO 经常问:
这个页面应该优化哪个关键词?
而做了这些实验以后,我越来越愿意换一个问题:
这个页面应该解决哪个信息任务?
关键词仍然重要。
但越来越像用户进入某个信息空间的不同入口。
真正稳定的内容资产仍然需要:
清晰的 User Task
+
完整的信息覆盖
+
明确的实体
+
可靠的证据
+
可抓取的结构
这也是为什么我现在很难再把:
SEO
和:
GEO
理解成完全独立的两套技术。
它们最终都在解决:
信息如何被找到、理解、验证和使用。
只是生成式搜索在用户 Query 和最终答案之间,增加了更多概率性的:
Rewrite
Retrieval
Rerank
Synthesis
过程。
我真正想留下的是一条可复验的研究链
关于这个发现,我不会主张:
“我是世界上第一个发现AI会受措辞影响的人。”
这个命题没有意义。
我也不会说:
“换一个字,AI结果一定会改变。”
它显然不是确定性的。
我真正希望公开并持续验证的是一个更具体的工程问题:
在中文GEO环境中,同一用户意图的不同自然语言表达,可能触发不同的 Query Rewrite;这种差异可以继续传导到 Retrieval Source、候选实体和最终 Brand Visibility。
我认为真正值得记录的不是一句:
“AI对语序敏感。”
而是:
Query Variant
↓
Query Rewrite
↓
Retrieval Source
↓
Entity Candidate
↓
Brand Visibility
这条链能不能被持续观察、重新运行和反复验证。
在AI搜索里,同义不一定意味着同路
这是目前这些数据让我越来越确定的一点。
两个问题在人看来完全可能是一回事。
但如果不同语言表达让系统选择了不同的检索路径,那么从那一步开始:
它们看到的互联网,可能就已经不是同一个互联网。
而我接下来真正想继续测量的,
就是发生在:
用户问题
和:
最终答案
之间,
那条过去几乎完全看不见的路。
研究说明与证据承诺
为保护真实研究对象、内部采样题集及执行参数,本文涉及律所行业的 Query 示例均为基于真实实验结构进行的等价脱敏重构,并非原始采样记录逐字公开。
本文所述机制判断来自长期 GEO Sampling 数据。作者累计保存的相关采样数据已超过 2 万条,但本次 Evidence Bundle 仅冻结与本研究主张直接相关的证据子集,并不包含全部累计样本。
Evidence ID:
GEO-QUERY-SENSITIVITY-V1
Public Commitment Date:
2026-09-17T21:22:15+08:00
Earliest Verified Internal Record:
2026-09-08
Root SHA-256:
7f0aec0047760023bb484cb1d85ced7bc7997bc953350b07bdef0c2a8fd25e63
原始研究证据由作者私有保存。
该 Hash 用于证明在 Public Commitment Date 时,作者已经对一组固定证据建立完整性承诺;它本身不构成更早日期的密码学时间证明。
引用来源:改文章摘录自GEO优化专家王涛个人官网:https://taomir.cn/articles/geo-query-sensitivity/