如今,助手才是真正的读者
差不多有一年时间,我一直在误读自己网站的流量。我盯着真人访客、搜索点击和会话深度,把日志里的机器人记录当成需要过滤掉的噪声。直到我真的把它们加总起来。在一个具有代表性的日子里,我的网站接待了大约 301 位真人访客,同时收到来自 AI 代理的约 19,800 次请求。这些代理并不是在为训练而抓取我的内容。占比最大的单一来源遥遥领先,是 ChatGPT 为了当场回答某个人的问题而实时抓取我的页面。我真正的读者早已悄悄不再登门。他们是通过助手在读我,而这个助手读我的频率,大约是它所服务的那些真人的六十六倍。 {.answer-block}
摘要
- 在最近一个具有代表性的日子里,我的网站获得约 301 位真人访客和约 19,800 次 AI 代理请求。代理流量的 7 天均值约为每天 19,850 次,而真人访客的 28 天均值为每天约 301 位,比例接近 66 比 1。1
- 这些代理流量的大头并非训练爬虫,而是用户触发的实时抓取:ChatGPT-User 每天约 13,100 次请求,Claude-User 约 2,300 次——这类代理抓取页面,只是因为某个真人刚刚向自己的助手提了个问题。123
- 厂商自己的文档把界线划得很清楚。OpenAI 写道:”ChatGPT-User 不用于自动化的网页爬取。”Anthropic 则说,Claude-User 会在”个人向 Claude 提问时”去访问网站。Cloudflare 更是把它正式定义为一种独立的 Agent 行为,与 Training 和 Search 区分开来。234
- 相比之下,人人担忧的训练爬虫简直可以忽略不计:同一天里,GPTBot 只有 55 次请求,ClaudeBot 是 212 次。123
- 现实的转变在于:你的内容正越来越多地被当作”答案素材”来消费。读者是一个从未落到你页面上的真人,而真正读你的,是一个在问题发生的那一刻把你抓取过去的助手。这改变了你该衡量什么、该怎么写,甚至改变了”流量”这个词的含义。
那个重新定义一切的数字
这是一个个人网站:技术指南和随笔,十个语言版本,每天几百位真人访客。体面,但谈不上爆火。几个月来,仪表盘给我讲的是一个关于搜索点击和会话时长的整洁故事,而 AI 代理那几行数据蜷缩在角落里,被我心里贴上了”爬虫,忽略”的标签。
问题就出在这个标签上。当我终于把 Cloudflare 的边缘日志和真人分析数据放进同一个视图时,二者的比例根本不在一个量级。真人:28 天均值约每天 301 位。AI 代理:7 天均值约每天 19,850 次请求;而在我按来源逐项拆解的那个代表性日子里,是 19,785 次。1两个时间窗都很稳定,所以这个比例并不取决于我挑哪一个:19,785 比 301 是 65.7 比 1,更平滑的 7 天均值落在 65.9。就叫它六十六比一吧。
有一个合理的反驳会立刻浮现,我想在它动摇其他一切之前先承认下来:这两个数字的单位并不相同。301 是独立真人访客数,19,800 是代理请求数,而一次真人访问本身也会产生若干次页面请求。所以这并不是说”读者多了六十六倍”,更准确的说法是”助手抓取我页面的频率,大约是真人上门阅读频率的六十六倍”。诚实的比较仍然指向同一个方向,因为真正有意思的地方不是那个倍数究竟是多少,而是这些代理请求到底是什么。
并不是你担心的那种爬虫
包括我在内的默认假设是:铺天盖地的 AI 代理流量,意味着训练爬虫正把你的内容吸进下一代基础模型。正是这种恐惧催生了成百上千次 robots.txt 的修改。但我的日志显示的并非如此。
以下是同一个代表性日子按 user-agent 的拆解:1
| User-agent | 请求数 | 它是什么 |
|---|---|---|
| ChatGPT-User | 13,128 | OpenAI,用户触发的实时抓取 |
| Claude-User | 2,274 | Anthropic,用户触发的实时抓取 |
| Bytespider | 1,600 | 字节跳动,据报为训练爬虫 |
| OAI-SearchBot | 892 | OpenAI,搜索索引器 |
| PerplexityBot | 819 | Perplexity,搜索索引器5 |
| Amazonbot | 769 | 亚马逊,索引(也可能用于训练) |
| ClaudeBot | 212 | Anthropic,训练爬虫 |
| GPTBot | 55 | OpenAI,训练爬虫 |
| meta-externalagent | 36 | Meta,训练爬虫 |
请再看一遍前两行。ChatGPT-User 和 Claude-User 加起来,占了当天约两万次代理请求中的一万五千多次。二者都不是训练爬虫——这个区分并非我的个人解读,而是厂商用大白话写在文档里的。
OpenAI 的机器人文档说,它把 ChatGPT-User 用于”ChatGPT 和 Custom GPTs 中的某些用户操作”,并说”当用户向 ChatGPT 或 CustomGPT 提问时,它可能会访问某个网页”,随后直截了当地声明:“ChatGPT-User 不用于自动化的网页爬取。”2批量训练爬虫是另一个独立的代理 GPTBot,文档对它的描述是抓取”可能用于训练我们生成式 AI 基础模型的内容”。2在我那个代表性的日子里,GPTBot 发出了五十五次请求,ChatGPT-User 发出了一万三千次。
Anthropic 划的是同一条线。Claude-User”服务于 Claude AI 的用户;当个人向 Claude 提问时,它可能以 Claude-User 代理的身份访问网站”。而训练爬虫 ClaudeBot”通过收集可能有助于训练的网页内容,提升我们生成式 AI 模型的实用性与安全性”。3格局完全一样:用户触发的代理把训练爬虫远远甩在身后,2,274 对 212。
Cloudflare 挡在互联网相当大一片流量的前面,也没有讨好任何单一厂商的动机,它同样把这种分野正式确立了下来。其验证机器人分类法按行为把 AI 机器人划入几个截然不同的类别:Agent,即”代表真人访问页面的用户触发型代理”;Search,即”为构建搜索索引或 RAG 数据库而爬取”;以及 Training,即”为训练或微调模型而爬取”。4起决定作用的判据是有没有真人在驱动。训练或搜索机器人是自主爬行,为的是攒出一份长期留存的数据集;而一次 Agent 抓取是逐次触发的,由一次真人交互引发,目的是实时回答某一个具体问题。我的流量,压倒性地属于第三种。
一次实时抓取到底意味着什么
不妨在这套机制上多停留一会儿,因为它会彻底改变你的心智模型。当 ChatGPT-User 命中我的页面时,背后的链条是这样的:一个人打开助手,敲下一个问题,助手判断我的页面值得一读,于是实时抓取该页面,提取所需内容,然后组织出一段回复。这个人拿到了答案。这个人可能从未见过我的名字、我的版式、我的其他文章,也没看到页脚那行推荐我某款应用的小字。
这就是一位读者,只不过是一位我永远不会遇见的读者。助手是快递员,而我的分析工具从头到尾只看见了快递员的货车——每天一万三千趟——然后管它叫噪声。
在关于 AI 与内容的种种喧嚣之下,这种颠倒才是那个安静的故事。训练爬虫之争关心的是模型会不会在某个时刻把你的作品吸进权重里一次。这场争论当然重要,但如果你想看懂自己真实的读者群,它就是错误的观察对象。真实的读者是通过 Agent 抓取持续抵达的,每一次都由一次此刻正在发生的真人交互点燃。我日志里的每一次 ChatGPT-User 抓取,都能追溯到一个人——他向助手提出了我的页面能回答的问题;即便一个问题可能触发不止一次抓取,也有些抓取从未真正呈现给任何人。这个量级——每天一万五千次抓取对三百次真人访问——说明我的内容真正触达的人,大多站在助手的另一侧。
这对衡量一个网站意味着什么
一旦你承认助手也是真实的读者,你的仪表盘就突然少了最重要的那块表。标准分析工具建立在一个假设之上:阅读发生在你的页面上——会话、滚动深度、停留时长、首屏之下的转化元件。当一个真人通过 Claude 读你时,这些全都不会触发。助手不滚动、不转化,而且按定义每次访问都是跳出。如果你只用页面内互动来评判自己的内容,那么增长最快的那部分读者,在统计上就是隐形的。
由此得出三条调整,我已经开始逐一落实。
第一,把 AI 代理请求日志当作读者指标,而不是安全指标。我现在像追踪真人独立访客那样,逐页追踪 ChatGPT-User 和 Claude-User 的请求量,因为这个数字是我手上最接近”助手用这个页面回答别人的频率”的替代指标。被代理抓取最多的页面,未必是真人点击最多的页面,而这中间的落差本身就是一个我一直在丢掉的内容信号。
第二,别再只为”落地那一刻”做优化。为一个从搜索点进来、准备快速扫读的真人所写的页面,和为一个正在回答问题、需要干净地提取内容的助手所写的页面,不是同一回事。后一项工作奖励的是:靠前位置有清晰、自足的答案,主张明确无歧义,结构能让检索器在不带走周边装饰的前提下直接取用。这正是我在每篇文章开头都放一个直接答案区块的原因。那个区块既是写给读者的,也是写给快递员的。
第三,接受归因会变得更难这个事实,转而去衡量它投下的影子。我看不见一次 Claude-User 抓取背后的那个人,但我能看见一个二阶信号:那些到站时已经带着助手引荐来源的真人——他们读了答案,想看原文,于是点了进来。相比抓取量,这只是涓涓细流,每天九个对一万五千次;但它是那群隐形读者露出水面的一角,而它的趋势,才是”成为优质答案素材最终能否把真人送回源头”这个问题的诚实计分板。
更深一层的策略
人们很容易把这一切读成独立站的末日:助手把你的内容采空,替你作答,把真人留在自己那儿。有时候事情确实就是这样。但这个框架太扁平了,因为它忽略了抓取行为实际上在筛选什么。
助手之所以抓取你的页面,是因为在提问的那一刻,它判断你的页面是回答这个具体问题的最佳可用来源。这已经不是过去那种为关键词争排名的搜索游戏了,而是当一台答案引擎需要给出正确答案时,它会伸手去够谁。硬通货不再是外链或关键词密度,而是在足够多人会问的那件事上,可被证明、也可被检索地正确。准确、具体、保持更新的页面会被抓取;单薄的、把通识重新复述一遍的同质化内容不会,因为模型早就掌握了通识那部分,它只在需要自己并不可靠掌握的东西时才向外伸手。
所以 Agent 流量创造的激励,破天荒地与”把页面做好”这件事对齐了。不是为排名算法工程化出来的页面,而是值得为回答一个真实问题而被检索的页面。可度量的回报,已经从”有没有真人落地并向下滚动”变成了”有没有一个助手判定这是最佳来源、并把它读给一个真人听”。要我选,我宁愿在第二条赛道上竞争。
我的立场
把助手当作你的主要读者——因为从数字上看它们本来就是——并且要为”抓取”而建设,其分量不亚于为”访问”而建设。如今在你页面上的真人是少数派读者,而且往往是那个在助手作答之后,还足够在意、专程来找原文的人。多数派读者是助手本身:每当有真人的问题需要它,它就把你实时取走,而且从不碰你的分析数据。这不是一个需要拦截的爬虫问题,而是一条需要读懂的分发渠道——而且此刻,它是大多数内容站点手上最大的一条。
未来几年,衡量一个网站需要两个数字,而不是一个。一个是你看得见的流量:页面上的真人;另一个是你只能推断的流量:那些为了回答你永远不会遇见的真人而在读你的助手。在我这里,二者约为六十六比一,倾向于我看不见的那群读者。我猜你的实际情况比仪表盘告诉你的更接近这个数字,因为那些数据行正躺在我当初把自己那份丢下的同一个角落里,标签写着:噪声。
要点回顾
- 把 AI 代理请求算作读者,而不是噪声。在我的网站上,它们的数量约为真人页面到访量的 66 倍,而其构成比这个倍数更值得关注。1
- 代理流量的绝大部分是实时的、用户触发的检索,而非训练。ChatGPT-User 和 Claude-User 抓取页面,是因为有真人刚刚向助手提了个问题;厂商在文档里写明了这一点,Cloudflare 也将其归类为一种独立的 Agent 行为。234
- 训练爬虫只占极小一部分。在用户触发型代理发出超过 15,000 次请求的那一天,GPTBot 和 ClaudeBot 加起来不到 300 次。123
- 页面内分析漏掉了你增长最快的读者。助手不滚动也不转化,互动指标因此让 Agent 读者彻底隐形;改用逐页的代理抓取量作为替代指标来追踪。
- 为检索而写。开门见山给出清晰、自足的答案;做到具体、准确、保持更新。答案引擎会在提问那一刻抓取它判定为最佳来源的页面——这奖励的是真正正确,而不是关键词优化。
常见问题
ChatGPT-User 和 GPTBot 有什么区别?
GPTBot 是 OpenAI 的训练爬虫,收集”可能用于训练”基础模型的内容。ChatGPT-User 则是用户触发型代理,当有人向 ChatGPT 提问时才去抓取页面;OpenAI 明确表示它”不用于自动化的网页爬取”。2在我的日志里,二者相差好几个数量级:在 GPTBot 发出 55 次请求的那一天,ChatGPT-User 发出了 13,128 次。1
AI 助手会实时读取我的网站吗?
如果您的内容能回答常见问题,答案几乎必然是肯定的。ChatGPT-User、Claude-User、Perplexity-User 这类代理,会在真人向助手提出该页面能回答的问题时实时抓取页面。23它们既不同于训练爬虫,也不同于搜索索引器;在我的网站上,它们是代理流量的主要形态。
这和 SEO 有什么不同?
传统 SEO 优化的目标,是在真人随后会点击的结果页里获得排名。答案引擎检索优化的目标,则是成为助手实际抓取并读取、用以组织答案的那个来源——而真人往往根本不会造访。回报的重心,从排名信号转向了足够准确、具体、足够新,以至于模型在需要给出正确答案时会伸手去够您的页面。
我应该在 robots.txt 里拦截 AI 代理吗?
这是一个真实的选择,但要按行为分别决定,不能一刀切。拦截训练爬虫(GPTBot、ClaudeBot)影响的是您的内容会不会用于训练未来的模型;拦截用户触发型代理(ChatGPT-User、Claude-User)影响的则是助手能否用您的页面实时回答真人——而对许多站点来说,这已经是最大的一群读者。有一点值得留意:在遵守 robots.txt 这件事上,用户触发型代理的记录不如训练爬虫,所以 robots.txt 拦截对训练是更清晰的杠杆,对实时抓取则未必;在后者上,边缘规则可能是更可靠的控制手段。Cloudflare 的分类法之所以把这几类精确分开,正是为了让您能区别对待。4
一群我在自己网站上看不见的读者,该怎么衡量?
您无法直接归因一次实时抓取背后的那个真人,所以改为衡量两件事:一是从边缘日志中取得的逐页 AI 代理请求量,作为助手使用每个页面频率的替代指标;二是那股更小的、到站时已带助手引荐来源的真人访客流,作为隐形读者投在明处的影子。
参考来源
-
First-party analytics for blakecrosley.com, 2026-07-10 snapshot. Human visitors: 28-day average of ~301 unique humans/day. AI-agent requests: 7-day average of ~19,850/day from Cloudflare edge logs; the single-day source breakdown (ChatGPT-User 13,128; Claude-User 2,274; Bytespider 1,600; OAI-SearchBot 892; PerplexityBot 819; Amazonbot 769; ClaudeBot 212; GPTBot 55; meta-externalagent 36) is from the most recent complete day and sums to ~19,785, consistent with the 7-day average. Human figure is unique visitors; agent figure is requests, so the ~66:1 ratio compares agent request frequency to human arrival frequency, not reader counts. ↩↩↩↩↩↩↩↩
-
OpenAI, “Bots” documentation, developers.openai.com/api/docs/bots. GPTBot: “used to crawl content that may be used in training our generative AI foundation models.” ChatGPT-User (OpenAI “uses ChatGPT-User” “for certain user actions in ChatGPT and Custom GPTs”): “When users ask ChatGPT or a CustomGPT a question, it may visit a web page,” and “ChatGPT-User is not used for crawling the web in an automatic fashion.” OAI-SearchBot: “used to surface websites in search results in ChatGPT’s search features.” Retrieved 2026-07-10. ↩↩↩↩↩↩↩↩↩
-
Anthropic, “Does Anthropic crawl data from the web, and how can site owners block the crawler?”, support.claude.com/en/articles/8896518 (last updated April 7, 2026; retrieved 2026-07-10). Claude-User: “supports Claude AI users. When individuals ask questions to Claude, it may access websites using a Claude-User agent.” ClaudeBot: “helps enhance the utility and safety of our generative AI models by collecting web content that could potentially contribute to their training.” Claude-SearchBot: “navigates the web to improve search result quality for users.” ↩↩↩↩↩↩↩
-
Cloudflare, “Verified bots” and AI-bot categories, developers.cloudflare.com/bots/concepts/bot/verified-bots/ and blog.cloudflare.com/ai-bots/. Behavior categories include Agent, “user-directed agents visiting a page on behalf of a human”; Search, “crawling to build search indexes or RAG databases”; and Training, “crawling to train or fine-tune models.” Retrieved 2026-07-10. ↩↩↩↩
-
Perplexity, “PerplexityBot and Perplexity-User,” docs.perplexity.ai/guides/bots. PerplexityBot “is designed to surface and link websites in search results on Perplexity. It is not used to crawl content for AI foundation models.” Perplexity-User “supports user actions within Perplexity. When users ask Perplexity a question, it might visit a web page to help provide an accurate answer.” Retrieved 2026-07-10. ↩