用户登录

技术文章

外部链接将在新标签页打开。

个人 agent 流量该按什么标记:Cloudflare 的类别、策略与账户三层

一句话回答

本次材料没有提供通用的个人 agent 请求头或字段规范。Cloudflare 的做法是在平台侧分三层处理:Bot Analysis 把 Personal Assistants 单列为流量类别;AI Crawler and Agent access policies 允许对单个受支持 agent 设置 Allow、Block on pages with ads 或 Block;Account Abuse Protection 把 agent 关联到具体用户,并支持按账户而非按 agent 缓解。对自建服务,可迁移的是类别、身份、账户的分层思路;单靠 User-Agent 或人机验证不可靠。

核心要点 TL;DR
  • 材料未给出通用标记字段;Cloudflare 的识别在平台侧完成,不依赖站点自己读取某个请求头。
  • Personal Assistants 与 Verified Bot、Likely Human、Likely Autom
  • 缓解粒度可以落到账户(Hashed User ID 加 WAF 规则),避免封掉一个 agent 时殃及其代表的所有用户

简短结论:本次材料没有给出任何一套公开、通用的请求头或字段,可以用来标记“个人 agent”。Cloudflare 在 2026 年 11 月初的两篇公告中,把识别放在平台侧完成:先在分析里把 Personal Assistants 单列为一个流量类别,再把访问策略细化到单个受支持的 agent,最后在账户层关联到具体用户。对自建服务器而言,可迁移的是“类别—身份—账户”这三层分离的思路,而不是照抄某个标记值。Cloudflare 公告

个人 agent 与普通爬虫的差别#

按 Cloudflare 的定义,个人 AI agent 是从人类用户处接受指令、通过控制云计算机或浏览器来追求目标的自动化程序,通常由 Operator 作为托管服务或产品的一部分运行(Agents aren’t humans)。它和传统爬虫的关键差别在目的:用户可能让 agent 比较商品、查找支持文章或完成购买,这些操作背后是一个真实客户。对站点来说,这几种交互都表现为自动化流量,但一刀切封掉可能等于封掉客户。

这也正是标记的难点。远程托管的 agent 是用户与站点之间的中介:站点看到的是 agent,不是用户;一个 agent 还可能同时代表很多用户。材料把这一点概括为中介问题,并给出中介原则——用户与站点之间的业务关系、各参与方的安全责任,不应因为中介存在而失效。第二篇公告在 “User attribution” 处被截断,其完整结论可能在该片段之后,不能仅凭现有内容断言其全部方案。

Cloudflare 给出的三层做法#

层材料描述的能力
流量类别Bot Analysis 图表新增 Personal Assistants 类别,与 Verified Bot、Likely Human、Likely Automated、Automated 并列
Agent 明细Top statistics 中的 Personal Assistants 组件列出哪些 agent 在访问、各自发多少请求,可联动筛选路径、状态码与来源网络
访问策略AI Crawler and Agent access policies 可对单个受支持 agent 设置 Allow、Block on pages with ads 或 Block
账户归属Account Abuse Protection(早期访问)显示 agent 代表哪个用户,并支持按 Hashed User ID 下 WAF 规则

类别层:把“代表人类的自动化”单列

在 Security Analytics 的 Bot Analysis 里,Personal Assistants 成为独立类别,安全团队可以只筛出个人 agent 流量。Cloudflare 称其维护着全球最大的已验证 bot 目录,这次是把该目录的信息引入流量详情。Top statistics 新增的 Personal Assistants 组件列出正在访问站点的 agent 及各自请求数;筛选单个 agent 后,其余组件联动显示它的请求路径、收到的状态码和来源网络。

这一设计隐含的判断是:“是否自动化”和“是否代表人类”是两个维度,而不是人机二分。这是根据公告内容作出的推断,不是公告原文的表述。

策略层:按 agent 和页面性质两个维度

原有的 Agents 策略扩展为可对每个受支持的个人 agent 单独设置,设置项更名为 AI Crawler and Agent access policies。选项有三个:Allow(不阻止)、Block on pages with ads、Block。可以先设全局为 Block on pages with ads,再对某个想欢迎的 agent 单独放行;已有的 Search 和 Training 策略保持不变。新 zone 接入时,onboarding 会询问是否靠广告变现,并据此给出推荐策略。策略粒度因此落在“哪个 agent”和“什么页面”两个轴上。

账户层:缓解落在用户,而不是整个 agent

Account Abuse Protection 让站点所有者和欺诈团队看到每个 agent 代表哪个用户:概览页显示哪些个人 agent 在用户中活跃、多少账户在使用;每次登录和注册事件显示是否由个人 agent 发起、是哪个 agent;账户概览显示代表该账户行动的 agent。调查异常登录时,可以区分一个客户已使用数周的 agent 和当天首次出现的 agent。若怀疑攻击者借 agent 操作某个账户,可对该账户的 Hashed User ID 下 WAF 规则,而不必封掉该 agent 背后所有用户。

为什么 User-Agent 和人机验证不够#

材料明确列出两个障碍。其一,agent 常常运行在住宅 IP、使用真实浏览器、混在人类流量中,并会刻意不把自己与人类流量区分开;攻击者也会复制知名 agent 的 User-Agent 字符串来获得同样待遇。其二,CAPTCHA 一类人机验证判断的是控制浏览器的实体是不是人,而 agent 本来就不是人,把信号透传给背后用户不会增加新信息。

由此可以推断,按某个新 UA 前缀或单一头部来标记个人 agent 并不可靠。识别需要平台侧的多信号判断。但材料没有说明 Cloudflare 具体使用了哪些信号、对应哪些字段,这部分待核实。

自建服务可以借鉴什么#

  • 先分类别,再谈放行。至少把“代表人类的自动化”和“批量采集”分开归类,避免所有非人类流量都落到同一个 bot 桶里。
  • 身份记录到 agent/operator 一级,但不以 UA 为唯一依据。材料已说明 UA 可被复制,且 agent 有意模糊自身特征。
  • 策略按场景分层。Cloudflare 的“有广告页面”是一个例子;自建服务可以按付费内容、写操作、高频接口等维度划分,而不是全局开关。
  • 能关联到账户时,缓解落在账户。这是材料中 Hashed User ID 加 WAF 规则所体现的思路,可减少对同一 agent 其他用户的连带影响。
  • 预留“代表谁”的上下文位。Cloudflare 称下一步目标是让站点保留与用户关系的上下文,例如是否为现有客户、授权范围、订阅状态、应适用哪些保护,并需要隐私感知的方式传递用户上下文、评估声誉、建立问责。这是其目标,不是已交付能力。

边界与待核实项#

  • 第二篇材料为截断片段,且明确将本地 agent(如 OpenClaw)或运行在用户自己浏览器、设备上的 agent 排除在主要讨论范围之外。
  • Account Abuse Protection 处于早期访问,可用区域与计费方式待核实。
  • 本次材料未提供 agent 流量占比、增长率等可核验统计数字,也没有公开的标记字段规范。
  • 若要在自建 API 网关上实现类似分层,判定信号、阈值与误判处理都需要另行设计与测试;本文不提供实测结论。

常见问题(FAQ)

有没有标准的 HTTP 头可以标记个人 agent?
本次材料没有提供这样的规范或字段名,具体标记方式待核实。Cloudflare 描述的是其平台内的分析类别与策略配置,不是公开的请求头标准。
个人 agent 和普通爬虫应该分开标记吗?
材料把它们放在不同类别,访问策略也可以分别设置。个人 agent 通常代表一个真实用户完成操作,与批量采集的目的不同。
直接封掉 agent 有什么代价?
会同时封掉它代表的其他用户。材料把这种流量混杂列为典型问题,并给出了按账户缓解的替代做法。

参考来源

  1. See the agents, set the terms: new visibility and control for personal agents
  2. Agents aren’t humans (but they kinda are)

以上为本文写作时的参考资料,引用观点以原文为准。

作者:沐小悠

本文约 8 分钟读完 · 关键词:Cloudflare、个人 agent、自动化流量标记、Bot Analysis、agent 身份

更多文章 GET 示例接口

「」标签下的其他文章