AI 爬虫详解:哪些机器人用于搜索、训练和抓取,以及该允许哪些访问
了解哪些 AI 爬虫建立搜索索引、哪些收集训练数据、哪些按请求抓取页面,以及 robots.txt 如何对待它们。
更新于 阅读约 3 分钟

本文目录
简要概述
AI 公司运行的机器人包括建立索引的搜索爬虫、为模型收集内容的训练爬虫,以及按请求打开页面的用户触发抓取工具。Google、OpenAI、Anthropic 和 Apple 在 robots.txt 中为训练提供单独的控制项;Microsoft 的 Bing 页面没有列出此类控制项。Google-Extended 还会限制 Gemini 的信息溯源(grounding),但不影响内容被 Search 收录。robots.txt 依靠自愿遵守,有些抓取工具可能会忽略它。
要点
- 搜索、训练和用户触发的抓取是不同的工作。Google、OpenAI、Anthropic 和 Apple 的文档说明了单独的训练控制项;Microsoft 的文档没有。
- Google-Extended 和 Applebot-Extended 是控制令牌,不是爬虫。两家公司都表示它们不影响搜索收录,但 Google-Extended 还会限制 Gemini Apps 和 Vertex AI 中的信息溯源(grounding)。
- robots.txt 依靠自愿遵守,ChatGPT-User 和 Perplexity-User 可能会忽略它。
- 通过公布的 IP 范围或反向及正向 DNS 验证机器人,绝不要只凭用户代理判断。
- 允许你希望使用的搜索和检索机器人访问,再单独决定训练策略。Google AI 功能在 Search Console 中有自己的控制项。
AI 公司运行三类机器人:建立供助手搜索的索引的搜索爬虫、收集可能用于训练模型的内容的训练爬虫,以及因用户请求而打开页面的用户触发抓取工具。Google、OpenAI、Anthropic 和 Apple 的文档分别说明了搜索和训练的控制项,因此你可以选择不参与训练,同时保留在其 AI 搜索中的可见性。Microsoft 的 Bing 爬虫页面没有列出训练控制项。对大多数专业服务企业来说,可见性是目标。
以下细节来自各运营方的官方文档,查阅日期为 2026 年 10 月 22 日。爬虫名称和行为会变化,因此编辑线上 robots.txt 前请查看链接页面。
AI 爬虫可以完成哪三种工作?
搜索爬虫是一种抓取页面的机器人,用于建立索引,供 AI 产品或搜索引擎在用户提问时查询。允许它访问是被引用的前提,并非保证:Google 表示不保证索引和展示。屏蔽它会停止这种抓取,但各运营方对后果的描述不同,如下表所示。
训练爬虫收集的内容可能用于训练生成式模型。选择退出只针对未来:Anthropic 将屏蔽 ClaudeBot 描述为一种信号,表示网站未来的材料应从训练数据集中排除。
用户触发抓取工具是一种因用户向助手询问某个页面而请求该页面的机器人。它不会按自己的时间表自行遍历网络。
控制令牌是 robots.txt 中没有对应爬虫的名称。本文介绍 Google-Extended 和 Applebot-Extended 两种。你可以为它们编写规则,但不会有机器人以这些名称访问,因此你不会在服务器日志中找到它们。Google 表示 Google-Extended“没有单独的 HTTP 请求用户代理字符串”,Apple 表示“Applebot-Extended 不抓取网页”。
各爬虫有何用途,如何处理 robots.txt?
表中的用途和行为依据各运营方的描述,而非第三方机器人追踪工具的报告。
| 爬虫或令牌 | 运营方 | 用途 | 运营方所述的 robots.txt 行为 | 官方页面 |
|---|---|---|---|---|
| OAI-SearchBot | OpenAI | ChatGPT search 的搜索索引 | 选择退出会使网站不出现在 ChatGPT search 答案中,但仍可能作为导航链接出现。更改可能需要约 24 小时。 | OpenAI 文档 (在新标签页中打开)[1] |
| GPTBot | OpenAI | 训练 | 禁止访问表示内容不应用于训练生成式 AI 基础模型。 | OpenAI 文档 (在新标签页中打开)[1] |
| ChatGPT-User | OpenAI | 用户触发的抓取 | 由于请求由用户发起,robots.txt 规则可能不适用。不用于决定内容是否出现在搜索中。 | OpenAI 文档 (在新标签页中打开)[1] |
| Claude-SearchBot | Anthropic | 搜索质量 | 屏蔽会阻止建立搜索索引,并可能降低用户搜索结果中的可见性和准确性。 | Anthropic 支持 (在新标签页中打开)[2] |
| ClaudeBot | Anthropic | 训练 | 屏蔽表示未来的材料应从训练数据集中排除。 | Anthropic 支持 (在新标签页中打开)[2] |
| Claude-User | Anthropic | 用户指示的抓取 | Anthropic 表示其机器人遵守 robots.txt,且未将此机器人列为例外。屏蔽可能降低用户指示搜索中的可见性。 | Anthropic 支持 (在新标签页中打开)[2] |
| PerplexityBot | Perplexity | 搜索结果 | Perplexity 建议允许它访问,并表示它不用于抓取 AI 基础模型的内容。更改最多可能需要 24 小时。 | Perplexity 文档 (在新标签页中打开)[3] |
| Perplexity-User | Perplexity | 用户触发的抓取 | 因访问由用户请求,通常会忽略 robots.txt 规则。 | Perplexity 文档 (在新标签页中打开)[3] |
| Googlebot | Google Search 及其功能,包括 Discover | 常用爬虫自动抓取时始终遵守 robots.txt。 | Google 文档 (在新标签页中打开)[4] | |
| Google-Extended | 控制 Gemini 训练和信息溯源(grounding)的令牌 | 不是独立爬虫。Google 表示它不影响 Google Search 的收录或排名。 | Google 文档 (在新标签页中打开)[4] | |
| Applebot | Apple | Spotlight、Siri 和 Safari 的搜索功能。抓取的数据也可能为 Apple 的 AI 答案提供上下文。 | 遵循针对它的规则;若未提及 Applebot,则遵循 Googlebot 规则;忽略 crawl-delay。Apple 表示 nosnippet 标签可让内容退出 AI 答案。 | Apple 支持 (在新标签页中打开)[9] |
| Applebot-Extended | Apple | 生成式模型训练的控制令牌 | 不抓取页面。禁止访问会让内容退出训练,页面仍可出现在搜索中。 | Apple 支持 (在新标签页中打开)[9] |
| Bingbot | Microsoft | Bing 的标准爬虫 | 通过 robots.txt 配置。爬虫页面没有列出单独的训练或用户触发代理,因此本文不作此类断言。 | Bing 文档 (在新标签页中打开)[10] |
屏蔽训练也会屏蔽搜索吗?
对于 Google、OpenAI 和 Apple,不会。Google 表示 Google-Extended“不影响网站在 Google Search 中的收录,也不作为 Google Search 的排名信号”。OpenAI 表示其各项 robots.txt 设置相互独立,Apple 表示禁止 Applebot-Extended 的页面仍可出现在搜索结果中。有两点需要注意。Google-Extended 还限制抓取的内容是否可用于训练 Gemini 模型,以及在 Gemini Apps 和 Vertex AI 中进行信息溯源(grounding),因此屏蔽它也涉及这些产品。Microsoft 的 Bing 爬虫页面没有列出单独的训练控制项,因此该页面无法说明 Bingbot 的访问权限除 Bing 搜索外还涵盖什么。
Google 将 AI 功能和训练分开处理。它的 AI 功能页面 (在新标签页中打开)[7]表示,AI Overviews 和 AI Mode 除了要求页面被索引并有资格在 Search 中显示摘要外,没有额外的技术要求。该页面建议使用 Google-Extended 限制“Google 其他部分系统中的 AI 训练和信息溯源(grounding)”,并使用 nosnippet、data-nosnippet、max-snippet 和 noindex 限制 Search 显示的内容。
Search Console 的 Settings 下有一个单独的设置:Search generative AI control (在新标签页中打开)[14],用于管理网站是否出现在 AI Overviews、AI Mode 和 Discover 的生成式 AI 功能中。默认设置为包含网站,Google 表示截至 2026 年 8 月 31 日,该控制项已覆盖全球所有网站。更改通常需要几天才能生效。Google 补充说,该控制项不是 Search 其他部分的排名或收录信号,也不影响 AI 训练,训练由 Google-Extended 控制。
代价高昂的错误则是意外屏蔽搜索爬虫。OpenAI 表示选择退出 OAI-SearchBot 的网站“不会显示在 ChatGPT search 答案中”,但仍可能作为导航链接出现;Anthropic 表示屏蔽 Claude-SearchBot 可能降低你在用户搜索结果中的可见性和准确性。使用“User-agent: *”和“Disallow: /”的全面屏蔽规则适用于所有没有自己分组的机器人,因此可能一次挡住所有这些爬虫。
robots.txt 能强制 AI 机器人遵守规则吗?
不能,因为协议本身没有强制执行机制。2022 年 9 月发布的标准轨道规范 RFC 9309 (在新标签页中打开)[15]表示,成功下载文件的爬虫“必须遵循可解析的规则”,因此符合规范的爬虫应当遵守。同一文档表示“这些规则不是一种访问授权”,Google 的 robots.txt 简介 (在新标签页中打开)[8]表示“是否遵守取决于爬虫”。各运营方描述了自己的行为:Google 表示其常用爬虫自动抓取时始终遵守 robots.txt,Anthropic 表示其机器人遵守该文件。标准的要求与某个机器人实际如何运行是两回事。由此带来五个影响。
- 私密材料需要访问控制。密码可以保护页面隐私,robots.txt 中的一行规则不能,RFC 9309 还指出,在文件中列出路径会将其公开。Google 补充说,如果其他网站链接到被屏蔽的 URL,它仍可能不带描述地出现在结果中,并建议使用 noindex 或密码阻止页面出现。
- 用户触发的抓取工具可能不受规则约束。OpenAI 表示 robots.txt 规则可能不适用于 ChatGPT-User,Perplexity 表示 Perplexity-User 通常会忽略这些规则。Google 对其用户触发抓取工具 (在新标签页中打开)[5]也有相同说明。Anthropic 的文章表示其机器人遵守 robots.txt,并未将 Claude-User 排除在外。
- 更改不会立即生效。OpenAI 表示 OAI-SearchBot 适应 robots.txt 更新可能需要约 24 小时,Perplexity 表示最多需要 24 小时,Google 表示通常会将 robots.txt 缓存最多 24 小时。
- robots.txt 出现故障时有两层处理规则。RFC 9309 默认规定,4xx 响应意味着爬虫可以访问任何资源,而文件无法访问(5xx 错误)意味着爬虫必须假定完全禁止访问。运营方还有自己的规则。在 Google 的 robots.txt 规范 (在新标签页中打开)[12]中,除 429 以外的 4xx 错误会被视为文件不存在;出现 5xx 错误时,Google 会在最初 12 小时停止抓取,之后使用上一次有效副本最多 30 天,如果没有缓存副本则假定没有限制。本文没有找到其他运营方的同类文档。
- 具名分组优先于通配符。爬虫遵循与其名称匹配的分组;没有匹配项时使用“*”分组;两者都不存在时不应用任何规则。Apple 补充说,当 robots.txt 提及 Googlebot 但未提及 Applebot 时,Applebot 遵循 Googlebot 的规则。
如何验证机器人身份是否真实?
用户代理字符串很容易伪造。Google 和 Bing 都表示该字符串可能被伪造。请使用各运营方记录的方法检查来源 IP。
| 运营方 | 运营方记录的验证方式 |
|---|---|
| OpenAI (在新标签页中打开)[1] | 每个机器人公布的 IP 范围:openai.com 上的 searchbot.json、gptbot.json 和 chatgpt-user.json。 |
| Anthropic (在新标签页中打开)[2] | 公布的爬虫 IP 列表:来源 IP 在列表中表明爬虫来自 Anthropic。 |
| Perplexity (在新标签页中打开)[3] | 为 PerplexityBot 和 Perplexity-User 公布的 IP 范围 JSON 文件。 |
| Google (在新标签页中打开)[6] | 反向 DNS 解析到 googlebot.com、google.com 或 googleusercontent.com,再通过正向 DNS 解析回同一 IP。也可使用公布的 JSON 范围,例如 common-crawlers.json。 |
| Apple (在新标签页中打开)[9] | 反向 DNS 位于 applebot.apple.com 域中,或使用公布的 CIDR 前缀列表。 |
| Bing (在新标签页中打开)[11] | 反向 DNS 以 search.msn.com 结尾,再通过正向 DNS 解析回同一 IP。Bing 也公布了 IP 列表,并建议每天刷新。 |
不要用 IP 屏蔽作为退出方式。Anthropic 警告说,屏蔽其爬虫 IP 可能导致机器人无法读取你的 robots.txt,从而使退出设置无法生效。防火墙或机器人防护服务也可能屏蔽你本想允许的搜索机器人,Perplexity 文档提供了适用于 Cloudflare 和 AWS WAF 的允许规则,将用户代理与其公布的 IP 范围配合使用。
专业服务企业应该允许哪些访问?
先从目标出发。对专业服务企业来说,页面就是橱窗:潜在客户向助手提问,答案引用它能够读取的内容。允许搜索和检索可让页面有机会被纳入答案,但没有运营方保证一定收录。训练是关于内容的另一项选择,两者都属于更广泛的生成式引擎优化工作。
| 你的目标 | 搜索和检索机器人 | 训练控制项 | 注意事项 |
|---|---|---|---|
| 在 AI 答案中被发现和引用 | 允许 OAI-SearchBot、Claude-SearchBot、PerplexityBot、Googlebot、Bingbot 和 Applebot,并将 Search generative AI control 保持为 Include | 由你的策略决定 | 全面 Disallow 或屏蔽上述机器人的防火墙规则。允许访问不保证收录 |
| 退出训练但仍可被找到 | 如上所述允许访问 | 禁止 GPTBot、ClaudeBot、Google-Extended 和 Applebot-Extended | Google-Extended 还会限制 Gemini 信息溯源(grounding)。Perplexity 表示 PerplexityBot 不用于基础模型抓取,Bing 页面没有说明训练控制项 |
| 不出现在 Google 的 AI Overviews、AI Mode 和 Discover AI 功能中 | 将 Search generative AI control 设为 Exclude | Google-Extended 是单独的控制项 | Google 表示更改通常需要几天,其他网站的内容仍可能出现在这些功能中 |
| 保护材料隐私 | 不是 robots.txt 的职责 | 不是 robots.txt 的职责 | 使用登录或密码,因为 RFC 9309 表示这些规则不是访问授权 |
| 不让某个页面出现在搜索中 | 添加 noindex robots meta 标签或 X-Robots-Tag 标头,并允许抓取该页面(Google 的 noindex 指南 (在新标签页中打开)[13]) | 不适用 | 如果 robots.txt 屏蔽了 URL,Google 就看不到 noindex 规则,而其他网站链接到该 URL 时它仍可能出现 |
训练问题没有统一答案,运营方的页面也无法替你决定。三个问题可以帮助你判断。内容是免费阅读的,还是你销售的产品?你是否介意它出现在模型的训练数据中?运营方更改文档时,你是否会重新审视这个决定?如果内容付费或私密,登录才是有效的控制方式,因为 robots.txt 中的一行规则只是请求。对于旨在分享的免费文章,允许训练是一种合理选择,Google、OpenAI 和 Apple 都表示训练控制项独立于搜索。
即使开放爬虫访问,如果页面文字中缺少相关事实,页面仍可能无法被读取。假设检查一个服务页面:它返回 HTTP 200,没有屏蔽任何爬虫,但收费和资格规则只显示在图片或脚本渲染的组件中。Google 的 AI 功能页面要求重要内容以文本形式提供,并建议使用 URL Inspection 工具查看 Googlebot 收到的 HTML。对于其他机器人,可以获取原始 HTML(例如使用 curl)并搜索收费相关文字:如果其中没有这些文字,不运行脚本的爬虫就无法读取。解决方法是将这些事实放在页面自身文本的问题式标题下,具体做法见答案优先写作。
robots.txt 示例是什么样的?
这是一个示例,不应盲目照搬。它允许表中的搜索和检索机器人访问,并通过四个相关控制项选择退出训练。Google-Extended 还会限制 Gemini Apps 和 Vertex AI 中的信息溯源(grounding),而 Google Search 的收录不受影响,因此禁止它之前请权衡。若决定允许训练,请将这四项改为 Allow。
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Googlebot
User-agent: Bingbot
User-agent: Applebot
Allow: /
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
Disallow: /
有三个细节很重要。首先,示例没有“”分组,因此根据 RFC 9309,未具名的爬虫没有适用规则,可以抓取所有内容。这使它只是一个片段,而非完整文件。其次,如果你的文件已有“”分组,请保留它,并将其中的 Disallow 行复制到每个具名分组,因为匹配具名分组的爬虫会忽略“”分组。如果不复制,像 /app/ 这样受“”保护的路径就会变得可供具名机器人抓取。不要在 robots.txt 中列出任何真正私密的路径,因为 RFC 9309 指出列出路径会将其公开。第三,ChatGPT-User 和 Perplexity-User 被放在允许分组中以记录意图,因为其运营方表示 robots.txt 可能不适用于它们。
作为对比,plandora.com 在 2026 年 10 月 22 日的 robots.txt 对所有爬虫只有一个分组。它禁止访问 /app/、/docs 和一些 /auth 路径,允许访问其余路径,并列出了网站地图。它没有列出任何 AI 爬虫,因此每个爬虫都遵循这个分组。
如何审查你的网站目前允许哪些访问?
- 在浏览器中打开你的域名下的 /robots.txt,确认它作为普通文本文件加载,而不是错误页面。
- 阅读每个分组。查找“*”下全面适用的“Disallow: /”,以及覆盖它的具名分组。
- 检查防火墙或 CDN 机器人设置中是否有屏蔽表中搜索机器人的规则。
- 在 Search Console 中打开 Settings,检查 Search generative AI control 是否符合你的意图。
- 在服务器日志中搜索上述用户代理名称,然后使用验证表中的方法抽查部分 IP。
- 记录你的训练策略和日期。编辑后等待约一天再测试,因为 OpenAI 表示约需 24 小时,Perplexity 表示最多 24 小时,Google 表示会缓存 robots.txt 最多 24 小时。
常见问题
OpenAI 的文档将 GPTBot 描述为抓取可能用于训练其生成式 AI 基础模型的内容的爬虫,将 OAI-SearchBot 描述为让网站出现在 ChatGPT search 中的爬虫。它们是不同的 robots.txt 名称,因此你可以禁止 GPTBot 用于训练,同时允许 OAI-SearchBot 用于搜索。
不会。Google 表示 Google-Extended 不影响网站在 Google Search 中的收录,也不是排名信号。它是 robots.txt 令牌,而非独立爬虫,用于管理抓取的内容是否可用于训练未来的 Gemini 模型,以及在 Gemini Apps 和 Vertex AI 中进行信息溯源(grounding)。AI Overviews 和 AI Mode 有自己的 Search Console 控制项。
不能保证。OpenAI 表示,由于请求由用户发起,robots.txt 规则可能不适用于 ChatGPT-User;Perplexity 表示 Perplexity-User 通常会忽略这些规则。Google 对其用户触发抓取工具也有相同说明。如果页面必须保持私密,请使用登录保护,而不要依赖 robots.txt。
它只是请求,并非强制措施。RFC 9309 表示 robots.txt 规则不是访问授权。OpenAI、Anthropic、Google 和 Apple 都公布了训练控制项并说明其机器人的响应方式,但只有登录等访问控制才能真正阻止执意访问的机器人。
不要相信可能被伪造的用户代理字符串。将来源 IP 与运营方公布的范围进行比对,或者先进行反向 DNS 查询,再进行正向查询,确认解析回同一 IP。Google、Bing 和 Apple 的文档说明了预期的 DNS 主机名,OpenAI、Anthropic 和 Perplexity 则公布了 IP 列表。
OpenAI 表示 OAI-SearchBot 可能需要约 24 小时适应更改,Perplexity 表示其机器人最多需要 24 小时,Google 表示通常会缓存 robots.txt 最多 24 小时。Google 表示 Search generative AI control 的更改通常需要几天。OpenAI 没有给出 GPTBot 的时间范围,本文也没有找到 Anthropic、Apple 或 Microsoft 的时间范围,因此请至少等待一天再判断更改效果。
来源
- OpenAI bots: OAI-SearchBot, GPTBot and ChatGPT-UserOpenAI · 访问于 (在新标签页中打开)
- Does Anthropic crawl data from the web, and how can site owners block the crawler?Anthropic Support · 访问于 (在新标签页中打开)
- Perplexity crawlers: PerplexityBot and Perplexity-UserPerplexity · 访问于 (在新标签页中打开)
- Google's common crawlersGoogle Search Central · 访问于 (在新标签页中打开)
- Google's user-triggered fetchersGoogle Search Central · 访问于 (在新标签页中打开)
- Verifying Googlebot and other Google crawlersGoogle Search Central · 访问于 (在新标签页中打开)
- AI features and your websiteGoogle Search Central · 访问于 (在新标签页中打开)
- Introduction to robots.txtGoogle Search Central · 访问于 (在新标签页中打开)
- About ApplebotApple Support · 访问于 (在新标签页中打开)
- Which crawlers does Bing use?Microsoft Bing Webmaster Tools · 访问于 (在新标签页中打开)
- Verifying BingbotMicrosoft Bing Webmaster Tools · 访问于 (在新标签页中打开)
- How Google interprets the robots.txt specificationGoogle Search Central · 访问于 (在新标签页中打开)
- Block Search indexing with noindexGoogle Search Central · 访问于 (在新标签页中打开)
- Search generative AI controlGoogle Search Console Help · 访问于 (在新标签页中打开)
- RFC 9309: Robots Exclusion ProtocolRFC Editor (IETF) · 访问于 (在新标签页中打开)

