跳到主要内容

你的 Agent 是别人的 Bot 难题

· 阅读需 12 分钟
Tian Pan
Software Engineer

你构建了一个每天早上检查供应商价格的智能体。它运行真实的浏览器,点击真实的按钮,表现得就像一个勤奋的员工——只是速度更快,而且是在凌晨 6 点。然后有一天,它停止工作了。你的代码没有报错。供应商的网站现在返回一个挑战页面,接着是 403 错误,最后干脆什么都没有了。你的智能体没有坏,它只是被归类了。

这是每个智能体构建者最终都会面临的尴尬对称性:网络防御系统经过了十年的爬虫战争、撞库攻击和囤货机器人的洗礼——从统计学上看,你合法的智能体与这些恶意行为并无二致。2024 年,自动化流量占到了全球网络流量的 50% 以上,其中约 37% 被归类为恶意流量。为了对抗这股洪流而演化出来的免疫系统并不关心你的意图。它关心的是你的指纹,而你的指纹显示为“机器人”。

这不仅仅是通过更好的提示词工程(Prompt Engineering)就能磨平的暂时摩擦。这是两个合法利益之间的结构性冲突——网站运营商保护自己,而用户将工作委托给软件——目前这种冲突正通过基础设施层面解决,而不仅仅是法庭或标准制定机构。如果你在生产环境中运行智能体,这种冲突的解决方式将决定你的产品在下个季度是否还能正常工作。

免疫系统并非为你而建

现代反机器人技术栈——Cloudflare Bot Management、Akamai、DataDome、HUMAN、PerimeterX 的后继者——不再询问“这是一个浏览器吗?”它们会提出数百个更隐蔽的问题。TLS 握手指纹是否与声称的用户代理(User Agent)匹配?JavaScript 执行时间看起来像真实的硬件吗?鼠标移动是否带有人的抖动,还是数学上完美的曲线?这个 IP 是否属于数据中心?这个会话是否以合理的执行速度解决了工作量证明(Proof-of-work)挑战?

每个信号都针对特定的敌人进行了校准:抢鞋机器人、黄牛票贩、价格爬虫、批量撞库。这种校准起作用了。但也意味着在云端虚拟机中运行 Playwright 的智能体会同时触发几乎所有警报——数据中心 IP、类无头浏览器的指纹、不近人情的稳定时间间隔、没有 Cookie 历史记录、没有设备信誉。

对智能体构建者来说,痛苦之处在于,表现得越“诚实”反而越容易被检测到。一个声明了自定义用户代理的礼貌智能体,会被模式匹配进机器人列表并直接被封锁。那些原本打算拦截“恶意爬虫”的网站,会将你的报销助手也一并扫入网中,因为在协议层面,两者没有区别。防御系统读不懂意图;它们只能读取信号,而你的信号非常糟糕。

还有一个值得一提的二阶效应:误报曾经的代价很低。当反机器人系统在万分之一的会话中误报了人类时,人类只需点击一下交通灯验证码(CAPTCHA)即可继续。但当“用户”是代表付费客户行事的智能体时,误报就意味着无声的产品故障。你的用户看不到验证码——他们只会看到你的产品无法完成昨天还能完成的任务。

升级陷阱:伪装成浏览器

面对封锁,大多数团队会诉诸显而易见的工具包:隐身浏览器插件、指纹随机化、住宅代理池、验证码破解服务。这在短期内有效。然后防御方会跟进,你再次升级。你现在正处于一场军备竞赛中,而竞赛的其他参与者是拥有更充足资金且没有合规部门约束的专业欺诈团伙。

这条路径有三个会悄悄复利的成本:

  • 脆弱性。 每种隐身技术都依赖于检测器“尚未知晓”它。你的正常运行时间现在取决于对手的发布周期。走这条路的团队最终会陷入“网站又更改了机器人检测机制”的轮值排班中。
  • 信誉传染。 住宅代理让你的流量与真实的欺诈行为共享 IP。当这些 IP 被封禁时,你也会被封禁。你用确定性的封锁换取了随机性的封锁。
  • 从骚扰被重新归类为威胁。 一旦你通过轮换用户代理和 IP 来逃避明确的封锁,你就从一个过度活跃的工具变成了攻击者。2025 年的 Perplexity 事件是一个典型的警示:Cloudflare 公开指责该公司在其声明的爬虫被封锁后,切换到了通用的 Chrome 用户代理并轮换 IP 和网络,随后将其从验证机器人名单中剔除并全面封锁。无论双方各执一词的细节如何,教训是明确的——规避行为将限流问题转化为信任问题,而信任问题是会被公开化的。

更深层的问题在于,隐身手段无法随着合法性的增加而扩展。欺诈操作可以承受被封锁;它们轮换基础设施并继续。但产品公司不行。你的企业客户会问,为什么你的智能体流量看起来像僵尸网络,而“大家都是这么做的”并不是一个能通过安全审查的答案。

身份即出路:以签名代替潜行

这种结构性的修复方式既枯燥又古老:停止伪装成人类,开始证明你是谁。这就是 Web Bot Auth 背后的理念,这是一个 IETF 草案架构(draft-meunier-web-bot-auth-architecture,以及配套的密钥目录草案),建立在 RFC 9421 HTTP 消息签名(HTTP Message Signatures)之上。其原理很简单:你的智能体基础设施使用私钥对每个发出的 HTTP 请求进行签名;你在一个众所周知的目录中发布公钥;接收方网站(或其 CDN)验证签名,并能通过密码学手段获知是哪个运营商发送了该请求。

这取代了 Web 架构三十年来一直步履维艰的两种身份机制,而这两种机制对于智能体来说都已经失效了:

  • User-agent 字符串是自报的且可伪造的,这也是为什么诚实地声明它通常只会让你被封锁。
  • IP 白名单假设基础设施是稳定的、由运营商拥有的——而这恰恰是运行在无服务器平台(Serverless)、浏览器云和终端用户设备上的智能体所不具备的。

无论从哪个 IP 发出,签名都会随请求移动。正是这一特性使该方案具有“智能体形态”而非“爬虫形态”:爬虫是某一家公司在自家基础设施上的车队;而智能体是数百万用户的意图通过共享的浏览器基础设施流转。Cloudflare 的“已签名智能体”(signed agents)计划于 2025 年 8 月推出,ChatGPT 智能体、Block 的 Goose 以及 Browserbase 等浏览器基础设施提供商是早期参与者。该计划将其验证机器人项目扩展到了这一特定类别:由终端用户指导的自动化操作,其平台代表用户进行签名。AWS 已将 Web Bot Auth 接入 Bedrock AgentCore 的浏览器工具,专门为了让智能体请求在验证签名的网站上跳过验证码(CAPTCHA);WAF 厂商和商业平台也正在增加验证支持;支付网络的智能体商业协议也采用了相同的原语,用于在结账时识别智能体。

对于网站运营者来说,这把决策从“封锁所有非人类请求”转变为政策制定:允许经过验证的智能体读取产品页面,在搜索接口上对它们进行速率限制,除非它们携带支付证明,否则禁止它们进入结账流程。对于智能体运营商来说,这把诉求从“请不要注意到我”转变为“这就是我,请对我进行问责”。

难点在于——而且是一个现实的难点——谁来负责验证。如果智能体身份只有在少数几家 CDN 维护白名单时才有效,那么 Web 只是把垃圾邮件问题转换成了守门人问题。对“已签名智能体”方案的批评者正是指出了这一点:由一家公司的审核队列管理、基于注册来访问三分之一的网络,这并不是一个开放协议,而是一个检查站。IETF 草案之所以重要,正是因为它们代表了“身份作为一种任何人都可以验证的标准”与“身份作为一种商务拓展交易”之间的区别。观察验证功能是否能在没有 CDN 中介的情况下,由单个源服务器独立实现,这是最关键的细节。

在分裂的网络中运行智能体

在标准尘埃落定期间,Web 正在分层为具有截然不同交互规则的区域,你的智能体需要针对每个区域制定策略。

智能体友好区(Agent-friendly zones)——API、MCP 服务器、发布智能体可读接口的网站、吸引智能体结账的商业平台——积极欢迎你的流量,因为这能带来转化,或者因为他们为此获得了报酬。在这里,正确的做法是每次都走正门:即使抓取 HTML 更容易,也要使用 API,因为 API 是契约,而 HTML 只是暂时的停战协议。

**智能体容忍区(Agent-tolerant zones)**会验证身份并应用政策:经过验证的智能体可以获得读取权限、速率限制,或许还有付费墙。这就是签名的回报所在。签署你的请求,遵守速率限制,并将 429 错误视为一种协商而非障碍。

**智能体敌对区(Agent-hostile zones)**出于经济、法律或反滥用的原因,决定完全不接受自动化流量。票务、限量球鞋发售、某些出版商、大多数受登录限制的服务。这种令人不适的准则是:尊重它。绕过这些网站,通过授权渠道购买数据,或者将任务交回给人类。一个规避显式封锁的智能体正在以你公司的名义产生法律和声誉风险。

具体而言,2026 年的生产级智能体技术栈应该:

  • 随处声明身份——使用稳定的、有文档记录的 User-agent;在存在 Web Bot Auth 验证的地方使用签名请求;为企业客户发布 IP 范围或密钥目录以供其列入白名单。
  • 探测分类,而不只是探测失败。 针对挑战页面、隐性内容降级和蜜罐响应进行监测——网站越来越多地向疑似机器人提供错误数据而非直接封锁,这对于根据读取内容采取行动的智能体来说要危险得多。
  • 在规避行为上采用“关闭失败”(Fail closed)策略。 将“不绕过反机器人措施”作为一项明确的工程政策,这样就不会有值班工程师在压力下,为了在凌晨两点解决客户投诉而悄悄添加一个隐身插件。
  • 保留审计追踪。 当网站运营者询问“你的智能体在我的基础设施上做了什么”时,能够给出精确答案的公司将是那些能够保持其验证状态的公司。

你真正下注的方向

每个 Agent 团队其实都在两个未来中二选其一。在第一个未来,互联网保持着对抗性:谁最擅长规避,谁就能获得访问权;Agent 和防御系统就像恶意软件与杀毒软件一样共同演化;而最头部的玩家因为负担得起这场军备竞赛而最终获胜。在第二个未来,Agent 的身份变成了平淡无奇的基础设施——在边缘端验证签名,通过政策而非猜测进行管理,用问责制取代伪装——而访问权则归属于最受信任的一方。

默认路径通常会通向第一个未来。而第二个未来需要一些在短期内看似非理性的刻意选择:在声明身份会导致被封锁时依然选择声明,尊重竞争对手所无视的禁止抓取信号,在强制要求之前就做好验证工作。这正是基础设施转型的经典形态——早期推动者为标准提供补贴,而后来者则将其视为理所当然。

但这种不对称性对耐心的人更有利。规避能力是会贬值的——每种潜行技巧的半衰期都只有短短几个月。信任则是增值的——每一个月可验证的良好行为都会复利增长,最终形成一种声誉,让你的密钥进入白名单,让你的 Agent 进入商务协作计划,并让你的流量堂而皇之地从正门进入,而此时你的竞争对手还在忙着破解验证码(CAPTCHA)。在你给对方一个加密学的理由不去这么做之前,你的 Agent 永远会被视为他人的“机器人麻烦”。现在就开始给他们这个理由。

References:Let's stay in touch and Follow me for more thoughts and updates