AI抓取开始按次付费,返回402之后报价由哪一层来定
有一类新做法是让 AI 爬虫为抓取内容按次付费,进不来时返回一个 402 状态码。关键问题是:报价和放行这件事,到底配在哪一层。把这条链路拆开看,落点其实在网络代理层,而不是网站程序层。站端要先把「愿不愿意放行」和「怎么报价」分开——排除文件表达的是抓取意愿,付费放行执行的是交易,二者管的不是同一件事。
402是谁发出来的
402 Payment Required 这个状态码,不是网页代码在渲染内容时返回的,而是挡在站点前面的那层访问控制在请求还没进到内容之前发出的。提出按次付费这套机制的平台,把它做在代理层:站点为不同区域设定每次抓取的单价,AI 爬虫带着有效支付凭据来才放行取内容,缺少有效凭据的请求就收到一个带报价的 402 响应。也就是说,决定「给不给、按多少钱给」的动作发生在请求进入应用之前,程序本身甚至还不知道有没有这个爬虫来过。
报价配在哪一层
既然放行判定在代理层,报价也就配在这一层,而不是写进网站的某个开关里。这带来两个现实含义。其一,它作用于「谁用什么身份来取」,是在访问通道上设的闸门,和页面内容长什么样无关。其二,同一套内容,对浏览器访客、对普通搜索引擎、对按次付费的 AI 爬虫,可以走不同的放行与计价规则,因为判定发生在统一的入口层。目前这类按次付费能力仍处于内测阶段,规则还在演化,站点在接入时要把它当成「入口层的访问与计费策略」来理解,而不是「内容发布设置」。
与排除文件的分工
这里最容易混的是 robots 规则和付费放行。Robots 配置表达的是「希不希望被抓取」的意愿声明,是站点对外宣告的抓取偏好,属于意愿层。付费放行是另一层:它执行的是「你来取要不要先付钱」的交易判定。两者对象不同——排除文件谈的是抓不抓,付费层谈的是放行要不要计费;层级也不同——一个更像给爬虫看的声明,一个是在入口实际拦一道的闸门。一个站完全可以同时用 robots 表达整体抓取偏好,又在更外层对特定 AI 抓取设付费门槛,因为它们本就不冲突。
站端先要定的是什么
在考虑报价之前,站端要先把「对模型侧的态度」定清楚,而这恰恰是 CMS 层能直接落的两件事。一是让内容对大模型可读:AnQiCMS 支持自动生成站点 LLMs.txt,便于大语言模型理解和索引站点内容,这解决的是「愿不愿意被模型读懂」的正向一侧。二是把抓取意愿配置清楚:robots 配置让站点能声明希望或不希望被抓取的范围。先有这两层表态,再去外层谈要不要对 AI 抓取收费,顺序才顺——先定身份和意愿,后定交易。
常见问题
问:402 是网站程序返回的吗? 答:不是,是挡在站点前的访问控制在请求进入内容之前发出的。
问:报价配置算不算 CMS 里的功能? 答:这套按次付费落在网络代理层,和站点内容发布设置不在同一层。
问:有了 robots 还要不要管付费放行? 答:robots 表达抓取意愿,付费层执行放行与计费,二者管的事不同。