Cloudflare数据显示,我们网络中的流量有32%来自自动化流量。这包括搜索引擎爬虫、可用性检测工具、广告网络——以及最近越来越多的人工智能助手,它们会通过检索增强生成(Retrieval-Augmented Generation, RAG)技术从网络中获取相关数据以丰富其知识库。与典型的人类行为不同,AI代理、爬虫和网页抓取工具的自动化行为可能对响应请求的服务器表现出攻击性。
例如,AI机器人通常会发起大量并发请求。它们不会专注于热门页面,而是可能访问网站中访问量较少或关联度较低的内容,通常会对整个网站进行顺序性的完整扫描。例如,当某个AI助手正在生成回答时,它可能会从数十个不相关的来源中获取图像、文档和技术文章。
尽管Cloudflare已经让控制和限制对内容的自动化访问变得简单,但许多网站确实希望为AI流量提供服务。例如,应用开发者可能希望确保其开发者文档在基础AI模型中保持最新;电商平台可能希望将产品描述包含在大型语言模型(LLM)搜索结果中;出版商则希望通过按爬取次数付费等机制为其内容获得收益。
因此,网站运营者面临一个两难选择:是优化针对AI爬虫的访问,还是针对人类用户的流量?由于这两种流量的模式差异巨大,现有的缓存架构迫使运营者只能选择其中一种方式来节省资源。
在本文中,我们将探讨AI流量如何影响存储缓存,描述缓解这种影响的挑战,并提出社区可以考虑如何适应AI时代调整CDN缓存架构的方向。
这项工作是与苏黎世联邦理工学院(ETH Zurich)的研究团队合作完成的。该研究的完整版本已于2025年在云计算研讨会上由Zhang等人发表,题为《重新思考AI时代的Web缓存设计》。
让我们先快速回顾一下缓存的基本概念。当用户在其设备上发起对内容的请求时,该请求通常会被发送到离他们最近的Cloudflare数据中心。请求到达后,我们会检查是否拥有有效的缓存副本。如果有,我们可以立即提供内容,从而实现快速响应并提升用户体验。如果内容无法从缓存中读取(即“缓存未命中”),我们的数据中心将向源服务器获取新鲜副本,并将其保留在缓存中,直到过期或被其他数据替换。
在缓存中保留正确的内容对于减少缓存未命中次数并提供优质的用户体验至关重要——但对人类流量而言“正确”的选择,可能与AI爬虫所需的配置截然不同!
在此,我们将重点关注AI爬虫流量,这类流量已成为最活跃的AI机器人类型[之一](https://blog.cloudflare.com/crawlers-click-ai-bots-training/),占我们观测到的自我识别AI机器人流量的80%。AI爬虫用于支持实时AI服务,如回答问题或总结页面内容,同时也用于收集数据以构建大型训练数据集,服务于大型语言模型(LLMs)等模型。
根据Cloudflare Radar的数据,绝大多数专用AI机器人流量都用于模型训练,搜索仅居其次。(详见这篇博客文章,其中深入分析了我们在Cloudflare观察到的AI爬虫流量情况)。

虽然搜索和训练类爬虫都会通过大量顺序访问长尾内容影响缓存,但训练类流量因其高唯一URL比例、内容多样性和爬取效率低下等特点,对缓存的影响更为显著。
AI爬虫流量具有三个主要区别特征:高唯一URL比例、内容多样性以及爬取效率低下。
Common Crawl每月执行大规模网络爬取,其公开爬取统计数据显示,超过90%的页面内容都是唯一的。不同的AI爬虫也针对不同类型的内容:例如,有些专门处理技术文档,而另一些则聚焦源代码、媒体文件或博客文章。最后,AI爬虫未必遵循最优化的爬取路径。大量来自主流AI爬虫的请求会导致404错误或重定向,这往往是由于URL处理不当所致。这些无效请求的比例取决于爬虫是否被调优以有效定位活跃且有意义的内容。此外,AI爬虫通常不像人类用户那样使用浏览器端缓存或会话管理。它们可以启动多个独立实例,并且由于不共享会话状态,每个实例即使请求相同内容,在CDN看来也可能表现为新的访客。
即使是单个AI爬虫,也往往会深入挖掘网站并探索比典型人类用户更广泛的内容范围。维基百科的使用数据表明,过去被视为“长尾”或极少访问的页面如今正频繁被请求,从而改变了CDN缓存中内容受欢迎程度的分布格局。事实上,AI代理可能会反复迭代以优化搜索结果,重复抓取同一份内容。我们通过建模展示了这种迭代循环导致内容复用率低且覆盖范围广的现象。

我们对AI代理行为的建模结果显示,当它们通过迭代循环来优化搜索结果时(这是检索增强生成的常见模式),会始终保持较高的唯一访问比率(红色柱状图所示),通常在70%至100%之间。这意味着每次循环虽然普遍能提高代理的准确性(此处用蓝色线条表示),却始终在获取全新的、非重复的内容,而非回访已见过的页面。
这种对长尾资源的重复访问会冲刷掉人类流量所依赖的缓存空间,使得现有预取技术和传统缓存失效策略在爬虫流量增加的情况下效果大打折扣。
对于CDN而言,一次缓存未命中意味着必须前往源服务器获取请求的内容。想象一下你的本地图书馆没有这本书,你需要通过馆际互借系统等待送达——最终你会拿到书,但耗时远超预期。同时,这一过程也会促使图书馆考虑是否应将该书纳入本地馆藏。
由于AI爬虫具有广泛且不可预测的访问模式,并伴随长尾内容的重复使用,它们显著提高了缓存未命中率。而我们常用的提升缓存命中率的手段,如缓存推测或预加载,在这种情况下也变得收效甚微。
下图左侧展示了Cloudflare CDN单个节点在有/无识别出的AI爬虫情况下的缓存命中率对比。尽管爬虫带来的影响目前仍相对有限,但加入AI爬虫流量后,命中率明显下降。我们采用名为“最近最少使用”(LRU)的算法管理缓存,即在存储空间满时优先淘汰最久未被请求的内容。命中率的下滑说明LRU算法难以应对AI爬虫的重复扫描行为。
底部图表显示了这段时间内AI相关的缓存未命中事件。每一次未命中都代表一次对源服务器的请求,这不仅延长了响应时间,还增加了出口带宽成本并对源服务器造成更大压力。

AI机器人流量的激增已产生现实影响。以下表格引自我们的论文,展示了其对多家大型网站的影响,每项案例均附有原始报告链接。
| 系统 | 报告的AI流量行为 | 报告的影响 | 采取的缓解措施 |
|---|---|---|---|
| Wikipedia | 为模型训练批量抓取图像¹ | 多媒体带宽使用量激增50%¹ | 屏蔽爬虫流量¹ |
| SourceHut | LLM爬虫抓取代码仓库²,³ | 服务不稳定及响应变慢²,³ | 屏蔽爬虫流量²,³ |
| Read the Docs | AI爬虫每日下载大文件数百次²,⁴ | 带宽显著增加²,⁴ | 临时屏蔽爬虫流量、实施基于IP的速率限制、重新配置CDN以提升缓存效率²,⁴ |
| Fedora | AI抓取器递归爬取软件包镜像²,⁵,⁶ | 人类用户响应缓慢²,⁵,⁶ | 对已知机器人来源实施地理封锁,并屏蔽若干子网甚至国家²,⁵,⁶ |
| Diaspora | 无视robots.txt的 aggressive scraping行为⁷ | 人类用户响应延迟及停机⁷ | 屏蔽爬虫流量并添加速率限制⁷ |
影响十分严重:维基媒体因批量图像抓取导致多媒体带宽使用量激增50%;Fedora(托管大型软件包)和Diaspora社交网络则因负载过重而出现性能下降。许多其他平台也报告称,AI机器人反复下载大文件造成了带宽增长或整体速度减缓。尽管屏蔽爬虫流量可部分缓解问题,但更智能的缓存架构能让站点运营者在不影响人类用户响应速度的前提下,继续为AI爬虫提供服务。
AI爬虫支撑着诸如检索增强生成(RAG)或实时摘要等实时应用,因此延迟至关重要。正因如此,这些请求应路由至能够平衡大容量与适度响应时间的缓存。此类缓存仍需保持内容新鲜度,但可容忍略高于面向人类用户的缓存的访问延迟。
AI爬虫也被用于构建训练集和执行大规模内容采集任务。这些工作负载可承受显著更高的延迟,且不具时间敏感性。因此,它们的请求可由深层缓存层级(如源侧SSD缓存)提供,或通过队列准入机制和限流器延迟处理,以防止后端过载。这也为实现基础设施负载高峰期间推迟批量抓取提供了机会,而不会影响交互式的人机或机机交互场景。
现有项目如Cloudflare的AI Index和Markdown for Agents允许网站运营者为已知的AI代理和机器人提供简化版或精简版网站内容。我们正在规划更多举措来减轻AI流量对CDN缓存的影响,从而全面提升所有人的缓存性能。与ETH Zurich的合作团队正在实验两种互补的方法:一是结合AI感知型缓存算法进行流量过滤;二是探索新增一个专门的缓存层级,将AI爬虫流量引导至能同时优化AI爬虫与人类流量性能的缓存系统。
存储缓存中存在多种缓存替换算法,如LRU(“最近最少使用”)、LFU(“最不常用”)或FIFO(“先进先出”),它们决定了当缓存已满且需添加新元素时应淘汰哪些旧元素。LRU因其在通用场景下兼顾简单性、低开销和有效性而成为首选,并被广泛应用。然而,针对混合人类与AI机器人流量的情况,我们的初步实验表明,采用SEIVE或S3FIFO等不同缓存替换算法,或许能让人类流量在有无AI干扰的情况下实现相同的命中率。我们也正在试验开发更具针对性的机器学习驱动型缓存算法,以便实时定制缓存响应,构建更快更经济的缓存体系。
长远来看,我们认为为AI流量设立独立缓存层级将是最佳发展方向。设想这样一种架构:将人类与AI流量分别导向部署在网络不同层级的专属缓存层级。人类流量将继续由位于CDN边缘节点的边缘缓存提供服务,这些缓存优先考虑响应速度和缓存命中率。而对于AI流量,可根据具体任务类型灵活调整缓存处理方式。
未来几年,AI机器人流量对云基础设施的影响只会越来越大。我们需要更全面地评估其对全球CDN的影响,并制定大胆的新缓存策略与架构,以应对这一新型工作负载,助力构建更优质的互联网生态。
Cloudflare已在着手解决这些问题。通过AI感知型缓存技术,我们帮助遭遇高机器人流量的客户降低带宽成本;借助AI Crawl Control和Pay Per Crawl工具,我们为客户提供了对程序化访问其内容的实体更强的控制能力。
我们对这个领域的探索才刚刚开始。如果你有兴趣参与构建新型基于机器学习的缓存算法或设计上述新型缓存架构,欢迎申请实习岗位!我们在2026年夏季和秋季设有开放实习职位,致力于解决AI与系统交叉领域的诸多前沿课题。