GPTBot:OpenAI 的模型训练爬虫
GPTBot 是 OpenAI 的模型训练爬虫,不是搜索爬虫。了解如何分别控制训练、ChatGPT 搜索曝光与用户发起的访问。
GPTBot
GPTBot 是 OpenAI 用于抓取可能被用来改进生成式 AI 基础模型内容的爬虫。它不是决定页面能否出现在 ChatGPT 搜索中的爬虫。OpenAI 分别提供 GPTBot、OAI-SearchBot 与 ChatGPT-User 三种控制项。
这个区别很重要:发布者可以拒绝模型训练抓取,同时保留公开页面被 ChatGPT 搜索发现的可能。
三种 OpenAI user-agent
| User-agent | 主要用途 | 应如何决策 |
|---|---|---|
GPTBot | 抓取可能用于模型改进的内容 | 按训练、版权与许可政策决定允许或屏蔽 |
OAI-SearchBot | 在 ChatGPT 搜索中发现并呈现公开内容 | 希望获得搜索曝光时允许 |
ChatGPT-User | 为用户发起的操作获取页面 | 单独评估;它不等同于常规爬取 |
因此,单独屏蔽 GPTBot 不应被描述为退出 ChatGPT 搜索;允许 GPTBot 也不保证收录、引用或引荐流量。
robots.txt 示例
拒绝训练抓取,但允许搜索发现:
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
若两种用途都要屏蔽,应为每个 token 建立独立规则组。除非确实希望屏蔽所有合规爬虫,不要在 User-agent: * 下误放 Disallow: /。
决策与验证清单
- 确认内容是公开、付费、授权还是受合同限制。
- 分别决定模型训练与 ChatGPT 搜索 策略。
- 在所有相关主机名与子域部署一致规则。
- 检查 CDN、WAF 与机器人管理规则;robots.txt 的允许不会覆盖边缘拦截。
- 修改后记录负责人和复查日期。
User-Agent 字符串可以伪造。应把日志请求与 OpenAI 当前公布的 IP 段交叉验证,再检查状态码、请求路径和 WAF 动作。/robots.txt 返回 200 不代表正文页与资源文件同样可达。
不要把一次 ChatGPT 提问当作唯一验证。回答可能来自旧知识、第三方搜索结果或缓存;服务器与边缘日志才是更强的访问证据。
限制
robots.txt 是给合规爬虫的请求,不是访问控制。私密内容必须使用认证与授权。若要控制索引,应配合 noindex 等索引指令,并保证爬虫可以读取该指令。
主要来源
延伸阅读:AI 爬虫、robots.txt 与 AI 引荐流量。