AI 搜索如何推荐?抓包实测 5 家国产 AI 的搜索词与引用来源

举报
yd_223480201 发表于 2026/11/09 10:23:41 2026/11/09
【摘要】 实测五家国产 AI 的位置处理、查询改写、历史上下文与来源筛选,并提供公开数据复算结果。

本文转载自 opengeo.page,原文链接:https://opengeo.page/observations/001-suzhou-yimei/

来源:OpenGEO 项目。原文采用 CC BY 4.0 许可(文中第三方截图、引文与商标除外);本次未转载图片。


一句话结论:AI 搜索不会直接拿你的原话去搜。它会先判断你的位置,把问题改写成多条搜索词,再从搜到的结果里挑出一部分交给模型。这几步各家做法不同,前面聊过什么也会掺进来,所以同一个问题,四家给出的推荐名单只有 2 家重合。

我在 5 家国产 AI 上问了同一句话:「苏州当地有哪些医美?」然后抓包看它们背后的请求。5 家都问了,但数据不齐:搜索词能对比的是豆包、千问、Kimi 3 家;最终回答能对比的是这 3 家加腾讯元宝;DeepSeek 这一问没有纳入对比,只在下一问里看到了多轮检索。这一问里能看到的差异,主要集中在下面三个环节。

图 1:从提问到回答的流程。黑框是这次抓包看到差异的三个环节。

本文要点

  • 位置识别:3 家在问题之外处理了位置相关信息,例如 IP 归属地、浏览器定位权限、地区检索工具。

  • 搜索词改写:同一句话,有平台改写出 1 条搜索词,有的 3 条,有的 5 条,方向也各不相同。

  • 对话历史会进入搜索词和回答:其中一家把上一轮聊过的企业名带进了这一轮的搜索词,回答也按之前聊过的内容整个改了。

  • 来源筛选:其中一家检索到 20 条素材,最后只把 5 条送进模型。

  • 最终推荐:四家推荐的机构从 6 家到 16 家不等,四家都提到的只有 2 家。

  • 对 GEO 的启示:要研究的是 AI 改写后的搜索词,不只是用户输入的关键词;测试推荐率时,会话上下文必须作为变量控制。

说明:诊所和药企名称用 XX 代替。【实测】是抓包里直接看到的,【推断】是根据实测推出来的,【未知】是没抓到或判断不了的。

AI 搜索会获取你的位置吗?

会,至少有 3 家这样做。

平台 观察到的动作 证据
豆包 请求里带了 3 项浏览器定位权限状态,没有坐标 【实测】
千问 提问前先查 IP 归属地,埋点 user_city 为「苏州市」,意图标为「本地生活-地点周边信息查询」 【实测】
腾讯元宝 调用了 region_search 地区检索工具 【实测】
Kimi 未观察到 【未知】
DeepSeek 未观察到 【未知】

不过问题里已经写了「苏州」,所以这次判断不了定位有没有影响推荐结果【未知】。对本地服务类商家来说,值得关注的是:即使用户没写城市,AI 也可能自己判断出来。

AI 搜索实际搜的是什么词?

不是你的原话。AI 会先把问题改写成搜索词,即「查询改写」(Query Rewriting)。

平台 条数 实际搜索词
千问 1 苏州当地医美机构及医疗美容医院
Kimi 3 苏州 医美机构 知名 排行榜 2025;苏州 整形医院 公立 医疗美容科;苏州 医美 产业 企业
豆包 5 苏州正规医美机构 公立三甲皮肤科 连锁医美 敏感肌;苏州姑苏XX医美诊所介绍;苏州吴中 高新区 医美机构推荐 敏感肌;苏州敏感肌医美面诊避坑;苏州光子嫩肤红血丝机构测评

腾讯元宝的改写词这次没抓到,DeepSeek 这一问没有计入。

图 2:同一句话改写出的搜索词,千问 1 条、Kimi 3 条、豆包 5 条。

三家的思路很不一样【实测】:

  • 千问基本照原意搜。

  • Kimi 加了排行榜、公立医院和产业方向。

  • 豆包拆得最细,敏感肌、面诊避坑、光子嫩肤都单独搜了。不过这个对话里此前聊过护肤,「敏感肌」「红血丝」这类词很可能来自对话历史,不全是它自己拆出来的【推断】。

用户问的是「苏州医美」,AI 实际搜的可能是「敏感肌面诊避坑」。只围着原始关键词做内容,覆盖不到这些搜索。

聊过的内容会影响 AI 搜索吗?

会,而且不只影响搜索词。这次在豆包身上看到了完整的一条链。

搜索词里出现了上一问的企业。 豆包的第二条搜索词是「苏州姑苏XX医美诊所介绍」。我这一问没提过这家诊所,但它和我上一问「XX药业是什么」里的药企同名【实测】。

对话轮次 内容
第 2 问 「XX药业是什么」
第 3 问 「苏州当地有哪些医美」
豆包生成的搜索词 「苏州姑苏XX医美诊所介绍」

回答也按对话历史改了。 豆包的回答开头写「结合你的情况」,列出了几项肤质问题,还说某家机构离我所在的区很近。这些我在这一问里都没说,来自同一对话里更早聊过的护肤内容【实测】。和上一问药企同名的那家诊所,在回答里被单独列为一项,并标为重点【实测】。

脱敏说明:肤质、诊所名称和回答里对这家诊所的评价,这里都不写出。

对话历史出现在了搜索词里,也出现在了最终回答里【实测】。由此推断,AI 改写搜索词和组织回答时,都会参考对话历史【推断】。

要说明的是,豆包这个对话里,同样的三问此前已经问过一轮,「XX药业」在历史里出现了不止一次,影响可能被放大了。千问、DeepSeek 的对话里也有前一轮历史,但这次没看到同样的情况,不能因此说它们不用对话历史【未知】。

这对 GEO 测试影响很大:新开对话直接问,和聊了几轮之后再问,AI 搜的东西可能不一样。

AI 搜到的内容都会用吗?

不会。搜到、读到、引用,是三件事。

千问:检索 20 条,送进模型 5 条。 material_stat 字段显示检索到 20 条素材,最后送进模型的只有 5 条【实测】。这 5 条怎么挑出来的,还原不了【未知】。

图 3:千问检索到 20 条素材,送进模型的只有 5 条。

豆包:抖音和工商信息占比不低。 页面显示参考了 29 篇,我抓到其中 17 条带链接的来源【实测】:

来源类型 条数
同名诊所相关(企查查、区政府备案公告、黄页、爱企查、招聘页、点评页) 6
抖音视频 4
医院官网 2
中华网 2
其他(杭州网、潮新闻、小荷各 1) 3

此前问护肤品时,29 篇里也有 10 篇来自抖音。工商、备案这类实体信息,同样进入了引用。不过这些只是被引用的来源,不等于全部候选,各自权重多大看不出来【未知】。各平台的部分单独整理成了平台页:豆包、千问、Kimi、腾讯元宝、DeepSeek。

Kimi:一轮检索,引用定位到段落。 Kimi 搜了一轮,回答里标了 12 处引用,来自 8 个不同网页。每处引用都能关联到原网页里的具体段落,不只是一个网址【实测】。

DeepSeek:会根据第一轮结果再搜。 这组数据来自下一问:开着深度思考,问苏州光子嫩肤的价格。它先搜 5 个词拿到 30 条结果,打开 7 个网页;接着搜了 4 个更具体的词,细到「苏州市立医院 东区 光子嫩肤 M22 价格 单次」,再打开 3 个网页,然后才回答【实测】。这是另一道题,不能和其他平台直接比较,但说明有的 AI 会多轮追加检索【推断】。

AI 最后推荐了谁?

四家的推荐名单重合得很少。

平台 推荐机构数 回答的特点
豆包 16(公立 6) 按对话历史定制;单列与上一问药企同名的诊所
千问 12 名单偏消费向,另附一张项目价格参考表
Kimi 10,末尾另列 7 个名字 12 处引用都带段落锚点;提醒网上的「十大排名」多出自医美营销网站
腾讯元宝 6(公立 2) 最克制,每家附地址

四家都提到的只有 2 家:一家市属公立医院,一家全国连锁医美【实测】。被三家提到的有 5 家(不算 Kimi 末尾只列名字的 7 家)【实测】。

机构名单本身不是这次要比的,所以除计数外不列名字。回答原文含个人信息和对商业机构的评价,没有公开。

这就回到了开头的问题:位置、搜索词、来源、对话历史,每一步都不同,最后推荐的机构也不同。同一句话,在一家 AI 里被推荐,不代表在另一家也会被推荐【推断】。

这对 GEO 优化意味着什么?

  • 研究 AI 改写后的搜索词,而不只是用户的原词。豆包的 5 条搜索词里,4 条带上了人群(敏感肌)、项目(光子嫩肤)、顾虑(避坑)或区域,没有一条是原话。内容能覆盖这些细分问题,才更可能被搜到。

  • 测 AI 推荐率时,要控制会话上下文。同一个对话里聊过护肤,豆包的搜索词和推荐名单就都跟着变了。不说明是新会话还是连续会话的推荐率数据,很难复现。

  • 被检索、被读取、被引用、被推荐,要分开看,也要分平台看。千问检索到 20 条只送 5 条进模型;四家的推荐名单只有 2 家重合。只看一家 AI 的最终推荐,既解释不了优化为什么有效,也代表不了你在其他 AI 里的位置。

常见问题

AI 搜索和传统搜索引擎有什么区别?

传统搜索直接按关键词返回网页排名。AI 搜索会先改写问题、可能多轮检索,再从结果里挑一部分交给模型生成回答。所以 AI 推荐并不等于「搜索排名靠前的网页」。

为什么不同 AI 对同一个问题推荐不一样?

从这次抓包看,原因至少有三个:位置处理方式不同,改写出的搜索词不同,从检索结果里挑选的来源也不同。之前聊过的内容也会改变推荐。这次四家的推荐名单,只有 2 家重合。

AI 搜索会参考之前的对话吗?

会。这次观察到一家平台把上一轮的企业名带进了搜索词,回答也按之前聊过的内容重新组织。其他平台没观察到,但不能排除。

GEO 优化应该从哪里入手?

先搞清楚 AI 针对你的行业会改写出哪些搜索词,再看哪些类型的来源容易被引用,比如官网、工商备案、短视频、媒体报道。测试时注意区分新会话和连续会话。

测试方法与局限

  • 时间:2026-10-30 23:22 至 23:35(CST);Kimi 另行采集,为 10-31 01:34 至 01:37

  • 条件:单账号,单次连续对话,苏州电信网络

  • 上下文:目标提问是会话第 3 问,前两问是苏州有名的护肤品和「XX药业是什么」。豆包、千问、DeepSeek 的对话里,同样三问此前已经问过一轮(未采集);腾讯元宝、Kimi 是新对话

  • 能看到:搜索词、部分检索结果与引用、部分埋点字段、工具调用名;豆包、千问、Kimi、腾讯元宝的最终回答

  • 看不到:系统提示词、模型实际读了哪些正文、内部排序规则;腾讯元宝这一问的搜索词,以及 DeepSeek 这一问的回答(DeepSeek 这一问搜了 4 个词,数据里保留了,文中没有统计)

只测了一次,结论不代表平台的普遍表现,只能作为后续控制变量实验的假设。

采集步骤、各平台的模式和未知项,见采集方法。

脱敏后的抓包提取数据(搜索词、来源、工具调用、埋点字段,CC BY 4.0)已公开在 Hugging Face:Maodian/opengeo-observation-001。数据卡逐条列出了文中各项数字对应的记录,并写明了采集时间等细节。最终回答的原文含个人信息和对商业机构的评价,没有放进数据集。

数据与复算

文中大部分数字可以用公开数据自己算一遍。

数据集里有什么

数据集是 Maodian/opengeo-observation-001,复算用固定版本 0ef3c61,CC BY 4.0。共 6 个 JSONL 文件,一行一条记录:

文件 行数 内容
turns.jsonl 69 每一轮提问:平台、会话、轮次、原话、采集时间、模式开关
queries.jsonl 96 平台实际搜索的词:第几次检索、第几个词、搜索词、取自哪个字段
sources.jsonl 685 来源:所处环节(展示、引用、检索、打开)、序号、网址、域名、标题、按域名的粗分类、是否脱敏、引用次数
tool_calls.jsonl 81 工具调用:顺序、工具名、带了几个搜索词
signals.jsonl 677 埋点和信号:位置、意图、检索计数、对话历史、模型、用量
context_probe.jsonl 25 上下文探针:每轮输入和输出 token

本文用到的是 session = main(主会话三问)和 session = main_q4(DeepSeek 深度思考那一问)。字段说明见数据卡。

去掉了什么

  • 不公开:原始请求和响应、请求头、Cookie 和鉴权信息、各类 ID、账号、IP 地址(只留城市「苏州市」)、经纬度、设备信息、回答正文、思考过程、网页摘要。

  • 第 2 问的药企和同名诊所,在提问、搜索词、标题里换成 XX。能指向它的网址整条删除,只留域名,并标记 entity_masked = true。

  • 人名换成「某某」,标题里的手机号换成「[电话已移除]」。网址只保留白名单内的查询参数。

  • 四家的最终回答不在数据集里,所以「AI 最后推荐了谁」一节的机构数无法复算。

怎么复算

  • 下载复算脚本 recompute.py(MIT 授权,只用 Python 标准库)。

  • 运行 python3 recompute.py。脚本从 Hugging Face 下载上面的固定版本,先核对 5 个数据文件的 SHA-256,不符就停止。已经下载了数据的,用 python3 recompute.py --data 数据目录,不联网。

  • 脚本逐项打印复算值和应为值。2026-11-08 运行结果:34 项全部一致,退出码 0。

各项怎么算:

文中的数字 怎么算 复算结果
豆包改写出 5 条搜索词,第 2 条是「苏州姑苏XX医美诊所介绍」 queries:doubao、main、turn 3 5 条,query_index 2 一致
Kimi 3 条,千问 1 条 queries:kimi turn 3;qwen turn 3 中 query_source 为 intent_data.hotspot_intent.rewrite_content 的行 3;1
千问检索 20 条,送进模型 5 条 signals:qwen turn 3 的 hotspot_intent.material_stat.total 和 sent_to_model 20;5
豆包参考 29 篇,抓到 17 条带链接的来源 sources:doubao turn 3 共 29 行。12 行是无链接的视频卡片(source_type 以 card_without_url 开头),其余 17 行有标题或网址 29;12;17
其中同名诊所相关 6 条 17 行里 entity_masked = true 的行,网址已删 6
抖音 4、医院官网 2、中华网 2、其他 3 剩下 11 行有网址,按 domain 计数 4、2、2、3
问护肤品时,29 篇里有 10 篇来自抖音 sources:doubao turn 1,source_type = short_video 29 行里 10 行
Kimi 12 处引用,来自 8 个不同网页,都带段落锚点 sources:kimi turn 3 中 cited = true 的行,数不同网址,再合计 cite_events 和 cite_with_text_fragment 8;12;12
Kimi 只搜了一轮 tool_calls:kimi turn 3 的 web_search 1 次
DeepSeek 先搜 5 个词、拿到 30 条结果、打开 7 个网页;再搜 4 个词、打开 3 个 queries、sources、tool_calls:deepseek main_q4,按 round 计数 5、30、7;4、3
豆包 3 项定位权限、没有坐标;千问 user_city 为苏州市,意图为本地生活;元宝调用 region_search signals 和 tool_calls 一致

几点说明:

  • 医院官网的 2 条是同一家医院的两个页面。

  • 千问的「1 条」只指 hotspot 模块的改写词。同一轮里 RAG 检索工具用了 2 条(主查询加子查询),20 条和 5 条也属于 hotspot 模块,见数据卡。

  • 抓到的 17 条里,同名诊所相关的 6 条网址已删,公开数据只能核对剩下 11 个网址。

  • turns.jsonl 里 Kimi 第 1 问的 user_prompt 是乱码(UTF-8 文字被按 Latin-1 解码),用 .encode(“latin-1”).decode(“utf-8”) 可以还原。不影响上面的数字。

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。