
你有没有想过,一个能读懂图像、能写代码、能陪你聊天的AI助手,可能会被一张小小的图片验证码彻底难倒。
这不是玩笑。2024年之后,随着计算机使用智能体(computer-use agent,指能像人一样看屏幕、操作鼠标键盘来完成任务的AI系统)越来越成熟,一个尴尬的现实浮出水面:这些能完成长达几十步操作的智能体,遇到"请点击所有含有自行车的图片"这种验证码时,经常直接卡死,整个自动化流程也跟着崩掉。更尴尬的是,现有的很多评测基准干脆绕开了这个问题:有的评测直接把带验证码的网站从测试集里删掉,有的干脆自建网站从而避开验证码这一关。这就好比考试的时候,出题人发现某道题特别难,干脆把它从卷子上撕掉。
这篇来自哥伦比亚大学、浙江大学等机构研究者的论文,决定正面硬刚这个问题。他们做了两件事:先造了一个足够大、足够精细的验证码训练数据集,叫CaptchaArena;然后用这个数据集训出了一个90亿参数(9B,即模型内部约有90亿个可调节的参数,这个规模在开源模型里属于中等偏小,方便实际部署)的智能体,叫CaptchaAgent。结果这个不算大的模型,把验证码通过率从11.4%硬生生拉到了71.7%,逼近人类的94.1%的水平。这中间发生了什么,值得好好聊一聊。
验证码为什么是AI智能体的死穴
要理解这篇论文的价值,得先明白验证码对AI智能体到底难在哪儿。
传统的验证码识别任务,通常是"给你一张图,你告诉我答案",比如识别扭曲的文字。但现在网站上的验证码早就进化了,很多需要真刀真枪地和网页互动:拖动滑块拼图、按住按钮直到进度条走完、在九宫格里选出不属于同一类的图片、按顺序点击一串汉字。这些操作不再是"看图答题",而是"看图、决策、动手、再看结果、再决策"的连续过程。
这种连续过程有个专业说法,叫闭环交互(closed-loop interaction,指智能体每做一步操作后,都会得到环境的新反馈,需要根据反馈调整下一步动作,而不是一次性给出答案)。
问题在于,现有的验证码训练数据在这方面都有明显短板。论文里提到的几个前辈工作各有各的毛病:ReCAP和CaptchaMind虽然提供了带推理过程的操作轨迹,但只覆盖7到8种验证码类型,太窄了;MirrorCAPTCHA倒是覆盖了18种类型,370K条训练样本听起来不少,但只提供答案和点击坐标,没有中间过程;Open CaptchaWorld覆盖了20种类型,但它是通过"browser-use"这个框架来测试智能体的,这个框架的动作是针对网页元素编号进行操作,而不是像人一样直接在屏幕坐标上点击,导致很多需要精细操作的验证码类型直接得零分。论文里给出一个数据:在MirrorCAPTCHA的测试里,每一个用browser-use框架的智能体,在18种类型里有6种的得分是0。
这就像你请了一个很会说话的翻译,结果发现他只会读稿子,不会现场即兴发挥。一旦对话需要临场反应,翻译就卡壳了。
还有个更本质的问题,是评分标准的粗糙。很多验证码的目标区域形状不规则,比如一个扭曲的字母或者一片弯曲的湖岸线,但不少评测系统图省事,用一个矩形框来判断点击是否命中。这就会出现"框内即算对"的情况,哪怕点击的地方其实是背景,只要落在这个矩形范围内也会被判定为正确。论文后面用实测数据证明了这一点,我们后面细讲。
CaptchaArena:5万道题,每一题都要跑通才算数
搞清楚问题之后,研究者的第一步是把数据集做扎实。CaptchaArena包含5万道验证码题目,横跨20种类型和5种交互模式(单击、多击、方向循环切换、实时操作、文本输入)。每种类型贡献2100道训练题、200道验证题、200道测试题。
这里有个细节特别值得说:每一道题的参考答案,都不是研究者凭空写的标注,而是真正在浏览器里跑通、被网页自己的验证系统接受之后才会被收录进数据集。
这个设计思路其实很朴素,但很关键。
如果只是人工标注答案而不做实际验证,标注错误是很难被发现的。比如一道"骰子求和"的题目,让AI生成一张骰子点数总和为23的图,但AI画出来的骰子加起来其实是21,这种偏差如果没人核实就直接用来训练,模型学到的就是错误的对应关系。CaptchaArena的做法是,先把答案编译成一串可执行的浏览器操作(点击、拖拽、打字),在真实环境里跑一遍,只有网页自己的验证器接受了这个结果,这道题才算过关,才会被记录成一条"截图-动作"的训练轨迹(trajectory,指从看到题目到提交答案的整个过程中,每一步的屏幕截图和对应操作组成的序列)。
这就好比开车导航,如果只是在地图上画一条路线而不实际开车试一遍,你根本不知道这条路中间是不是被施工围挡挡住了。CaptchaArena选择的是"每条路线都亲自开一遍确认能通",代价是构建成本更高,但换来的是数据的可靠性。
除了执行验证,这个数据集还有一个技术亮点,就是对不规则目标使用像素级掩码(pixel mask,指用图像中每一个像素点是否属于目标区域来精确标记边界,而不是用一个粗糙的矩形框)标注,而不是用简单的矩形框判断点击是否命中。
对于三种目标形状不规则的验证码类型(比如点击一个立体几何场景里特定颜色的物体),矩形框会带来系统性的误判空间。举个具体例子,论文里测量了一下,Geometry Click这类题目的目标物体,实际只占图像面积的0.8%,但它的外接矩形却占了1.1%,虽然差距看起来不大,但对于Pick Area这类目标是不规则大区域的题目,目标实际面积占图像的38.8%,外接矩形却占到65.1%。这意味着如果用矩形判分,超过一半的框内区域其实是背景,点在这些背景上也会被误判为正确。论文用实测数据证明了这个偏差的严重性,用矩形框判分会让Pick Area这类题目的准确率虚高21.7到44.5个百分点不等,UI-TARS这个开源模型甚至能从33%的真实准确率被"抬高"到77.5%。这已经不是误差,而是评测标准本身在撒谎。
从执行到理解:46K条带推理标注的轨迹
光有正确的操作序列还不够,因为一串坐标点击本身不会告诉模型"为什么这么点"。
研究者接下来做的事情,是给每一条验证过的操作轨迹配上推理过程的文字标注。具体做法是先用一个教师模型(GPT-5.4-mini)看着每一步的截图和正确动作,生成解释为什么要这么做的推理文字。这里有个巧妙的约束,就是让教师模型用任务层面的语言描述动作,而不是直接说出坐标数字,这样才能倒逼模型真正去定位图像中的目标,而不是简单地背答案。
生成的推理文字还要经过一个独立的裁判模型(Gemini-2.5-Flash)两次检查,两次都通过才会被采纳。裁判会从三个角度挑刺:一是内容是否和已验证的正确答案保持一致,二是有没有"事后诸葛亮"式的用词,就是那种直接把答案泄露出来的表述,三是语气是否够坚定,因为最终这个模型是要拿来做决策的,含糊其辞的描述没有训练价值。
裁判和教师模型来自不同的公司和技术路线,这个设计不是随手为之。
这就像考试作文找人批改,如果批改的老师和写作文的学生用的是同一套教材、同一个思维习惯,那批改很容易变成自说自话,双方都没发现的盲点会被一起放过。CaptchaArena特意让评判者和生成者出身不同门派,为的是降低"自己人蒙混自己人"的概率。
经过这一整套流程,最终产出了46K条带推理标注的轨迹,覆盖4.2万条训练题和4千条验证题,测试集的题目全程不参与标注,只用来最终评测,避免了标注过程中信息泄露到测试环节。
CaptchaAgent:两阶段训练出来的90亿参数全能选手
有了数据,接下来就是训练模型。研究者选择的底座是Qwen3.5-9B,这是一个90亿参数的多模态模型,训练分两个阶段。
第一阶段是监督微调(supervised fine-tuning,简称SFT,指用人工标注好的正确答案数据,直接教模型模仿这些答案的过程)。研究者从每种验证码类型的2100道训练题里抽出600道,一共1.2万道题,经过前面提到的按步展开处理后变成37621条训练样本。这一步用的是LoRA(低秩适应,一种只调整模型内部一小部分参数、而不用重新训练整个模型的高效微调方法,能大幅降低训练成本),并且只作用于语言模型部分,视觉编码器和视觉语言对齐层始终保持冻结不动。
监督微调之后,模型的Pass@1准确率(Pass@1,指模型只尝试一次就答对的比例,是衡量单次可靠性的核心指标)从未训练的11.4%跃升到70.5%,这是一次巨大的飞跃,但研究者没有止步于此。
第二阶段是强化学习(reinforcement learning,简称RL,指模型不再单纯模仿标准答案,而是通过反复尝试、根据结果好坏获得奖励或惩罚,自己摸索出更好的策略),具体用的算法是GRPO。这里最值得说道的设计,是奖励信号的来源:不需要额外训练一个奖励模型,也不需要收集人类的偏好标注,直接用验证码环境自己的验证器来打分。模型做对了,验证器说"通过",这就是奖励;做错了,环境给出相应的部分分数或惩罚。
这个设计省掉了强化学习里最烧钱、最容易出偏差的一环,也就是训练一个额外的奖励模型来模拟人类的判断标准。
这就好比学游泳,如果每一次划水动作对不对,都得靠教练站在岸边主观打分,那教练的状态、心情、标准松紧都会影响学生学到的东西。但如果游泳池本身装了传感器,你到没到终点、有没有碰壁犯规,机器直接就能判定,那这个反馈就是客观、一致、不会疲劳的。验证码题目天然自带这种客观裁判,网页的验证器本来就会告诉你对还是错,这篇论文做的,就是把这个天然存在的裁判直接接入训练循环。
强化学习阶段还有两个值得注意的细节设计。第一是难度挖掘按题目粒度进行,而不是按类型粒度。因为GRPO这种算法需要同一批采样里出现有对有错的情况才能产生学习信号,如果一道题5次采样全对或者全错,这道题就白跑了,没有训练价值。研究者专门筛出那些"有时候对有时候错"的2643道题组成强化学习训练池。第二是奖励函数被设计成对"提交答案"和"越接近正确答案"都保持单调递增,这是为了避免模型学会一种取巧行为,就是明明不确定答案,但选择干脆不提交来规避犯错风险。论文提到,在没有这个约束之前,确实观察到模型会为了拖延时间而一直"探测"环境,直到步数用完也不提交答案。
强化学习之后,Pass@1从70.5%又提升到71.7%,看起来提升幅度不大,但如果排除掉唯一出现明显退步的Click Order类型,平均提升其实有1.5个百分点,而且16个类型里有16个都在变好。更值得关注的是,这次强化学习训练出来的模型,不仅在CaptchaArena自己的测试集上表现更好,在两个完全独立的外部评测基准Open CaptchaWorld和Halligan上,Pass@1也分别从47.2%涨到51.0%、从13.6%涨到20.0%。这说明强化学习学到的不完全是死记硬背某道题的答案,而是有一定的泛化能力。
成绩单:90亿参数打赢了更大的模型和多数商业闭源系统
现在来看具体的成绩单。测试集覆盖全部4000道题(每种类型200道),CaptchaAgent每道题采样5次,其他所有对比系统各采样1次。
先说未经训练的原始Qwen3.5-9B基座模型,平均Pass@1只有11.4%。这个数字看似很低,但拆开看更有意思:在4种会自动提交的验证码类型上,它能拿到56.6分,但在剩下16种需要主动点击"提交"按钮的类型上,它最高只有0.5分。研究者进一步发现,这个基座模型整体的提交率只有20.5%,也就是说,它大多数时候压根没有点提交按钮,答案对不对根本没被判定过。这暴露出一个很本质的问题:它的主要短板不是看不懂图,而是不知道流程要走到"提交"这一步才算完成。这是一个流程性错误,而不是感知能力的错误。
再看模型规模这件事本身是否靠谱。研究者把Qwen3.5家族扩大到27B和35B-A3B两个更大的版本,结果平均分几乎没变,依然是11.4分左右。这说明单纯把模型做大,如果没有对应的专项训练数据,验证码这道坎照样迈不过去。
六个开源GUI智能体(专门为图形界面操作设计的AI系统)里表现最好的也只有35.2分,三个闭源商业模型(GPT-5.4、Gemini 3.5 Flash、Claude Sonnet 4)的成绩在49.4到69.2之间浮动。而CaptchaAgent最终跑出70.5的监督微调成绩和71.7的强化学习成绩,提交率达到96.8%,超过了所有对比模型,包括参数量远超它的闭源系统。
人类参照组的成绩是94.1分,两名标注员花了10天时间把全部4000道题各做了一遍。CaptchaAgent和人类之间还有22.4分的差距,但这个差距并不是均匀分布在所有题目类型上的,而是高度集中。论文指出,Place Dot、Dice Count、Patch Select、Slide Puzzle这4种类型加起来,就占了总差距的近六成。
剩下的坑还有哪些
研究者没有回避模型仍然存在的问题,做了细致的错误归因分析,把失败原因归成三类。
第一类是不提交。哪怕经过训练,Dice Count(骰子计数)这个任务的提交率仍然只有54.4%,几乎一半的尝试根本没被判定过就已经放弃了。这个任务本身也确实很难,人类的正确率只有83%,是人类成绩里排名倒数第三的类型,最强的对比系统也只拿到22.5分。
第二类是定位精度不够。Patch Select(在网格里精确选出物体覆盖的每一格)这个任务,所有被评测的系统都做得很差,最高只有12.5分,而人类是73.5分。Place Dot(在地图上精确点出路径终点)这个任务则是CaptchaAgent自己的短板,提交率高达95.3%,说明它很清楚要提交答案,但精确度不够,Pass@1只有16.1分,而GPT-5.4在同样的题目上能拿到88.5分。这说明这不是流程问题,是纯粹的视觉定位能力短板。
第三类是执行不稳定。有些任务只看一次尝试成绩不高,但给5次机会后成绩明显跳升,Pass@1到Pass@5之间的差距在Slide Puzzle上超过30分(从42.2跳到91.0),Bingo也接近同样幅度(从56.8跳到92.5)。这说明模型其实知道该怎么做,但第一次尝试的稳定性不够,属于"能做对但做不稳"的类型,而不是完全不会做。
这三类问题背后,其实对应着三种不同的能力短板:一个是"知道该收尾但没收尾"的执行意识问题,一个是"看得到但点不准"的精细感知问题,一个是"会做但发挥不稳定"的可靠性问题。这三个问题的解决路径完全不同,第一个需要更强的任务完成度约束,第二个需要更强的视觉定位训练(论文自己也承认视觉编码器全程冻结未参与训练,这可能是Place Dot表现差的直接原因),第三个可能需要更细粒度的强化学习奖励设计。
写在后面
读完这篇论文,让我印象最深的不是那个71.7%的最终分数,而是那个11.4%和56.6%并存的诡异数字。原始模型在自动提交的验证码上能拿56.6分,在需要手动提交的验证码上却几乎交白卷,这中间的落差比整体平均分低这件事本身更能说明问题。它告诉我们,AI在这类任务上的短板,很多时候根本不是"看不懂",而是"不知道流程走到哪一步才算完"。这种流程性的理解缺失,比感知能力的缺失更容易被忽视,因为它不会在单次截图里体现出来,只有把整个操作序列拉长了看才能发现。
另一个让我反复琢磨的细节,是矩形框判分带来的准确率虚高问题。UI-TARS在Pick Area任务上的真实准确率是33%,用矩形框判定却能变成77.5%,这个差距接近45个百分点。这提醒我一件事:很多我们看到的评测分数,可能不是模型真的变强了,而是评测标准本身的宽松程度在悄悄"送分"。一个领域如果长期用不精确的裁判标准去衡量进步,很可能会产生虚假的乐观情绪,直到有人真的去较真地重新测量。
论文最后提到的一个局限也值得留意:所有的动作都是离散的点击和拖拽,没法还原真实鼠标移动轨迹里那种连续的、带惯性的运动特征。而现实中有一类反爬虫检测系统,恰恰就是靠分析鼠标移动的微小抖动和速度曲线来判断操作者是人还是机器的。这意味着即便这个智能体能在像素级别精确点中目标,它留下的操作痕迹本身可能依然带着"机器味"。验证码这场攻防战,可能永远不会有真正的终点。
Q&A
Q1:CaptchaArena数据集是什么?
A:CaptchaArena是一个大规模验证码训练数据集,包含5万道题目、20种验证码类型、5种交互模式,每道题的答案都在真实浏览器环境中执行验证过,其中4.6万条还配有经过审核的推理过程标注。
Q2:CaptchaAgent的表现如何,能超过人类吗?
A:CaptchaAgent是基于90亿参数模型训练的验证码智能体,经过监督微调和强化学习后Pass@1达到71.7%,超过多数开源和部分闭源模型,但仍低于人类的94.1%,差距主要集中在精确定位和数字统计类题目上。
Q3:为什么用矩形框判断验证码点击对错不准确?
A:因为很多验证码目标形状不规则,矩形框会把大量背景区域也算作命中范围,论文实测发现这会让某些任务的准确率被虚高21到44个百分点,所以CaptchaArena改用像素级掩码来精确判定。
好文章,需要你的鼓励
GeoVerse融合几何潜在扩散模型与Wan2.2视频生成先验,并引入全局空间记忆机制,实现了跨视角一致、生成质量高且推理速度快的新视角合成,在多个数据集上大幅超越现有方法GLD。
本文解读TT-VidT,一种通过分离外观锚点与动作令牌、结合Diff Compression训练目标的视频自监督方法。在24种架构目标组合的受控实验中,仅TT3D与Diff Compression搭配才能进入强动作敏感区,且计算量比同类方法降低近一半。
Q&A Q1:Imprint Reader是什么? A:Imprint Reader是上海人工智能实验室团队开发的模型,通过SMaRT训练方法学会读取另一个模型冻结的权重更新,把参数层面的变化翻译成自然语言描述,判断这次更新到底注入了什么知识或诱导了什么行为习惯。 Q2:MetaEdit能做什么? A:MetaEdit能把Reader对目标行为的梯度信号迁移到原始模型上,不需要任何目标任务的训练数据,只用一句行为描述就能定向调整模型参数,已经在安全性拒绝率调节、数学推理风格转变和工具调用能力提升上验证过效果。 Q3:Imprint Reader读权重更新的准确率高吗? A:目前还不高,知识类目标的Pass@100只有2%,行为类目标是16%,说明自由生成描述的可靠性有限,但相比原始模型完全答不出来的0%基线,已经证明了权重更新的自然语言读取是可行的。
统一多模态模型能看也能画,理论上该会自我修正。本论文提出UMM-Reflection,用整条轨迹的强化学习联合训练诊断和修图能力,GenEval提升12分,且迁移到多个未训练基准,揭示RL提升的是选择可靠性而非新能力。