Button
type
status
date
slug
tags
summary
category
password
icon
之前好几次让 Gemini 2.5 Pro 分析我给它的页面时,不知为何它给的答案跟网页最新内容经常有出入。最近又发生这个情况,干脆刨根问底,一直问 Gemini 为什么会发生这种情况,慢慢逆向出 Gemini 2.5 Pro 搜索的工作流
了解 Gemini 或其他 AI 搜索信息时的底层工作机制,可以帮助我们更好地使用它们,本文分享下我在逆向 Gemini 2.5 Pro 搜索功能时的发现
Gemini 的两个搜索工具
网页版 Gemini 搜索功能包含两个工具,Google Search 和 Browse。Google Search 工具用于前期快速获取相关结果,和我们使用百度导航搜索并浏览第一页结果的过程类似。Browse 工具则用于打开某个具体链接,查看其详细内容,好比我们点击一个链接查看完整网页内容。下面分别具体说下这两个工具
Google Search
与 Browse 工具不同,Google Search 工具和 Bing Search API 一样是传统搜索 API 工具
当 Gemini 判断出需要获取网上信息,或我们明确要求它从网上获取信息时,它会调用 Google Search 工具。调用过程中,Gemini 会在请求中包含一个查询列表,比如这样:
等Google Search 工具完成搜索,会返回这种结构化数据给 Gemini:
收到信息后,Gemini 根据标题、摘要等字段,判断哪些 URL 可能包含目标信息。如果发现可能包含有用信息的链接,会继续使用 Browse 工具获取其页面上更多信息
这就是 Google Search 工具的基本工作流程,很简单。另外,关于这个工具我发现一些有意思的细节
Google Search 工具的两个细节
一是Google Search 工具返回结果的数量,分为两种情况
如果 Gemini 请求时只包含一个查询词,通常 Google Search 工具会返回 10 个或更多结果。但一般来讲不超过 10 个,而且如果查询词比较长尾或生僻,可能返回很少结果或无结果
如果 Gemini 同时请求多个查询词,Google Search 工具会适当减少每个查询返回结果的数量。不仅是 Gemini,我发现 ChatGPT 也会这样。比如有 3 个查询词,让 Gemini 单独查询它们时每次都会返回 10 个结果。但如果 gemini 在一次查询请求中同时包含它们,Google Search 工具可能:
- 第一个查询返回 4 个结果,
- 第二个查询返回 4 个结果,
- 第三个查询返回 3 个结果。
这一点的价值在于如果你写提示词时需要让 Gemini 在网上搜索信息,可以明确跟它说明如果要查询多个词,每次查询时只查一个词,分批查询。这样能获得更多结果,提高优质信息获取效率
二,Gemini 在回答时,如果引用某个搜索结果中的内容,有时会在内容后面添加"1.1", "2.3"这种索引标记,像这样:

第一个数字代表第几个查询词,第二个数字代表该查询词对应结果中的第几个结果。按第一点的结论,出现这种索引标记可能代表 Gemini 优质信息获取效率下降
Browse 工具
用于获取指定页面具体信息。要注意的是,Browse 工具不是 Google Search 工具那样的传统 API 工具,工作流程像计算器一样。即,它不会在 Gemini 请求某个具体页面内容后,返回页面原始完整内容给 Gemini,像 Firerawl API、Crawlbase API 这些爬虫 API 那样
大家或许听过 AI 领域有一个“多 Agent 架构”(Multi-Agent Structure),这里的 Browse 工具就是一个 AI Agent,它专门帮助 Gemini 提取网页具体信息
Gemini 调用 Browse 工具时,生成的请求类似于:
请求包含两部分,第一部分是具体链接,第二部分为 Gemini 想要的信息,所以第二部分看起来就像是和 AI 对话一样
收到请求后,Browse 这个 AI Agent 会帮助 Gemini 从页面中提取指定信息交给 Gemini。这种设计一方面可以过滤掉大量无关上下文信息,避免 Gemini 被其他信息影响,提升回复质量;另一方面,通过使用低成本模型(应该是)完成信息提取任务,可以减少一部分 Gemini 2.5 Pro 的算力开销,降低成本
但在我使用过程中,好几次出现这种情况:我发一个页面让 Gemini 分析,它分析的内容和页面信息不符,即开头说的。我怀疑很可能是 Browse 工具在总结时过于概括,Gemini 就用自己已有知识补充可能的细节,导致看起来出现“幻觉”
为应对这个问题,我在 Gemini 的“Saved info”(保存的信息,作用类似于系统提示词,Gemini 会一直遵守)中,加入“当我提供一个链接让你分析,调用 Browse 工具时,你必须让 Browse 工具返回完整页面原始内容”,能大大减少分析具体链接时出现“幻觉”的情况
伴随 Browse 工具的信息标注系统
大家或许注意到, Gemini 有时也会像 ChatGPT 一样在句子后面加索引链接,像这样:

这部分来分析下这种链接是如何形成,注意这部分主要是我的猜想
在 Gemini 决定调用 Browse 工具查看具体页面内容,会有一个“信息标注系统”同时利用 RAG 技术对这些页面内容进行向量化。等 Gemini 生成回复时,这个系统会把每个句子拿到前面一步生成的向量数据库中匹配,如果某个句子和某个页面中的某个片段匹配度很高,信息标注系统就会在这个句子后面加入对应链接图标,供用户点击跳转
如果你从事 SEO,这一点应该重点关注。提高成为这种链接的概率可以提升曝光概率
Gemini 一般会用Browse 工具看多少个结果
前面说到,Google Search 工具会为查询词返回多个结果,Gemini 再从这些结果中挑选潜在高价值页面使用 Browse 工具查看页面具体内容。那么,如果 Google Search 工具返回 10 个结果,有没有可能 Gemini 使用 Browse 工具查看全部 10 个结果的具体内容?
结论是,如果你明确跟它说,它能做到,但一般情况下它绝对不会自己这么做。根据观察,Gemini 对于一个查询词,使用 Browse 分析具体页面内容的数量在 1~3 个。(突然发现我没有测如果同时查询多个词它会在一轮对话中用 Browse 工具分析几个结果,不过应该也很少)至于为什么,下面是我的分析
一是 Gemini 通过第一步 Google search 工具给出的页面基本信息,已能初步判断页面信息是否有价值。这就决定了除非是资源非常多的查询才可能出现这种情况。更何况 Gemini 决定是否需要查看一个页面还有对信息增量的考量,如果两个高质量页面提供的信息基本一致,就没必要继续对第二个页面使用 Browse 工具
当然也有可能谷歌在后台写提示词让 Gemini 只能看这么多数量来节省成本,这就不得而知了
Gemini 搜索完整工作流程
So,我们来把上面的内容整合一下,看看 Gemini 在整个搜素工作流中怎样融入这两个工具
第一步,根据用户的要求,生成查询词,调用 Google Search 工具,分析,分两种情况
一、从简单元数据信息已能给出答案,通常是非常简单的问题,则直接告诉用户,搜索工作流结束。如果信息不足,进入第二步
二、如果所有结果都和目标信息大相径庭,重新生成查询词并搜索,发现有用信息后进入第二步。但,如果多次变换查询词都无法找到相关信息,则明确告知用户网上没有相关信息,搜索工作流结束
第二步,从 Google Search 工具获得包含页面元信息的结构化数据后,使用 Browse 工具查看潜在高价值页面具体信息,分析,分两种情况
一、查看第一个页面后,找到目标信息,告知用户,搜索工作流结束
二、查看第一个页面不足以回答用户问题,继续使用 Browse 工具查看更多页面,直到有信心回答用户问题,搜索工作流结束
这就是 Gemini 搜索基本流程,还是挺简单的
小结
从网页版 Gemini 的搜索工作流,你可以了解到 Gemini 在其他地方,比如 Gemini CLI 中的搜索工作流,甚至其他 AI,比如 ChatGPT、Claude 是如何进行搜索的,工作方式都差不多,换汤不换药
我画了一个流程图,感兴趣可以看看:
- 作者:文雅的疯狂
- 链接:https://www.aiexplorernote.com//article/gemini-search
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。