vatt'ghern jaskier's ballads
本文 4 個互動圖表在手機上以重點摘要呈現,互動版請以桌面瀏覽器開啟。

Claude、GPT、Gemini 在 image-grid CAPTCHA 上的正確率與人類幾乎並肩——同樣選對紅綠燈、同樣略過消防栓—— Roundtable 卻仍然能在不看答案、只看點擊軌跡的情況下,把 agent 從人類群中分離出來。意思是: 今天擋下 agent 的不是「題目太難」,是 agent 解題時留下的呼吸節奏。

CAPTCHA 還擋得住 agent 嗎——把 Claude、ChatGPT Agent、Comet 拉到 image / reCAPTCHA / Turnstile 前

Roundtable Research 五月底放出的這篇 CAPTCHAs can still detect AI 把一個直覺答案翻面了: 我們本來以為 frontier model 變強之後,image-grid CAPTCHA 會像 reading test 一樣崩塌; paper 的測量卻發現「output 層級的正確率」這件事早就跟人類齊平, 真正攔截的是 process layer——也就是滑鼠座標、點擊順序、direction change、overselection—— 這四個訊號在 agent 與 human 之間有 statistically significant 的分佈差異。 這篇 deep-story 想做的事情,是把這個反直覺現象拆成三個可被檢驗的假設, 然後一一過篩,看哪一個才能解釋 agent 為什麼仍然被擋下。

這件事對應到 vatt'ghern 讀者群的具體痛點:Claude Computer Use、ChatGPT Agent、Perplexity Comet 都在過去半年陸續開放給開發者拿來自動化 web 流程, 他們解 CAPTCHA 的能力被拿來當作「agent 是否真的能取代人類執行 web 任務」的 stress test。 Roundtable 用 CogCAPTCHA30 這個 30-task battery 做了 controlled experiment: classic image CAPTCHA 加上 29 個 cognitive psychology task(決策、記憶、感知、推理), 丟給 OpenAI、Anthropic、Google DeepMind 的旗艦 model 與 Centaur(一個 70B 用 10M+ human choice 微調過的 foundation model of human cognition), 對照人類受試者的反應分佈。 結果不是「誰解得快」,而是「在 output 一樣的情況下,process feature 是否還能區分」。

把這篇 paper 翻成工程語言:CAPTCHA 從 1990 年代以來都是「output verifier」——你輸入的字串對不對、選的格子對不對。 當 frontier model 在 image classification 上達到人類 baseline,這條防線理論上就破了。 Roundtable 想說的是:產業早就悄悄把 verifier 從「output 對不對」滑向「行為長得像不像人」, image-grid 的答對與否只是 facade,背後真正在算 likelihood 的是 mouse trajectory、 selection sequence、reconsideration pattern。 這個遷移多數開發者沒注意到,因為 verifier API 沒改、回傳值仍然是 boolean, 但內部的判別器已經換成 behavioural classifier。

這條判別軌跡能不能擋下 Claude Computer Use、ChatGPT Agent、Comet? Roundtable 的 paper 範圍只測了 frontier LLM 與 Centaur 在純認知層面的差異, 並沒有把這三個具體的 agent product 接進去跑, 所以後文凡是涉及 Claude Computer Use 點 Cloudflare Turnstile 的部分,都是我們從 paper 的測量框架往外延伸的合理推論,會明確標註。 paper 內的數字會以「Roundtable 觀察」標記,延伸推論會以「我們的推測」標記。 這是 investigation——三個候選假設、一個結論——所以結構上會有點像 bug bisect: 先丟出 puzzle,再依序砍掉錯誤的猜測。

謎題:output 對齊、process 仍可分離

paper 給出的 figure 1 是這樣描述的: 在 classic image-grid CAPTCHA 上 humans 與 Claude / GPT / Gemini 達到 similar task performance levels。 這個 similar 沒有具體百分比,但作者把它放在第一張圖、第一段論述,意思很清楚—— output 已經不是可靠的 discriminator。 可是同一份資料 feed 進 process feature extractor, sequential click pattern、direction change、overselection behavior 三個 metric 都展現出 statistically significant 的人類與 agent 分佈差異。 這個 gap 是 puzzle 的核心:output 相等,process 仍分離。

為什麼 output 對齊還能分離?三個量度直觀上各自指向不同的行為層面: sequential click pattern 是「你從左上往右下選、還是從中間往外擴散」這類順序; direction change 是「滑鼠在格子之間的移動向量,方向變化頻率」; overselection 是「該選 4 格的題目你選了幾格——人類常常多選 1-2 格再反悔點掉」。 這三個指標的共通點是:它們不問你「選對沒」,問你「選的過程像不像人」。 這就是 process feature 與 output feature 的分水嶺。

工程上這個分離的存在,意味著一件容易被忽略的事:你看到的 200 OK 不代表你解 CAPTCHA「真的」過了。 現代 CAPTCHA service(Google reCAPTCHA v3、Cloudflare Turnstile)會在 verifier 後面 返回一個 risk score 給 service operator,operator 自己決定 threshold。 當你的 agent 拿到 200 OK 卻在三十秒後被原站登出,原因往往不是 token 失效, 是 risk score 累積到了 secondary threshold——這個 secondary 看的就是 process feature。 Roundtable 量到的 statistical gap 給這個現象提供了實證基礎。

這也解釋了為什麼最近一年 Claude Computer Use、ChatGPT Agent、Comet 的使用者 回報「同樣的腳本昨天能跑、今天突然被踢」的情境變密集了。 很多人歸因到「站方加了新 CAPTCHA」,但真實情況可能更微妙:站方什麼都沒改, 只是調整了 risk score 的 threshold,把 process-feature 訊號的權重往上挪。 這個調整對人類無感(人類的 process feature 本來就在分佈中心),對 agent 致命。

所以這個 puzzle 可以重新表述為:當 output verifier 失效後, process verifier 用多少證據量就能把 agent 從人類群中分離出來? 這直接是個 statistical power 問題——你給 verifier 多少個 click, 它對 agent 的 detection confidence 會爬到多少? 下方互動圖用一個簡化的 Z-test 模型把這條曲線畫出來, 讓讀者拖動 N 觀察 detection power 從不可區分到顯著分離的轉折。

drag handle along the sample axis · process-feature detection power vs N

40
80% power
output 正確率(output verifier) overselection delta(process verifier) direction change rate sequential click pattern
三條 process feature 曲線是用 Z-test power function 從假設的 effect size 推回(overselect d=0.45、direction d=0.35、click-seq d=0.55,Roundtable paper 指明 statistically significant 但未提供 effect size,這裡用中等 Cohen's d 區間外推;output 曲線用 d=0.05 模擬「對齊」狀態)。N≈60 時 click-seq 已可達到 80% power——意思是六十個 click sample 就足以把 agent 分離出來。

三條 process feature 曲線是用 Z-test power function 從假設的 effect s…

N≈60 個 click sample 讓 sequential pattern 偵測達 80% power;output accuracy 信號始終貼近零。

把滑桿拉到 N=40 看看:output verifier 還黏在 5% 附近、根本判別不了, 但 sequential click pattern 曲線已經接近 60% power——意思是看 40 個 click, classifier 已經有 60% 機率把 agent 從 human 群中正確分離。 把 N 拉到 100,三條 process 曲線全部超過 90% power。 這個量級對應到 Cloudflare Turnstile 一個 session 通常收集到的 mouse event 數量級。 換句話說:Turnstile 不需要看你解 CAPTCHA「對不對」,只需要看你滑鼠路上的一百個 sample。

這個 power curve 是用 Cohen's d 中等 effect size 推回的, paper 沒給 effect size 數字所以我用 0.35–0.55 區間估, 但 Roundtable 在 figure 1 caption 強調的是 statistically significant, 意思是 effect size 不會是 0.1 等級(那個 sample 量級下根本顯著不了), 也不會是 1.0 等級(那不需要 cognitive psychology 配套也看得見), 中等是合理區間。 重點不是絕對數值,是「process feature 隨 N 線性 power 上升、output 不會」這個結構性差異。

候選假設一:純視覺難題仍然絆倒 agent

第一個直覺答案是:CAPTCHA 設計者把字體扭曲做得更狠了、背景雜訊加得更密了, 所以即便 frontier model 視覺能力進化,仍然在 image 層面解不了題。 這是 2010 年代的主流敘事——text CAPTCHA 用 occlusion、warping、background noise 對抗 OCR, image-grid CAPTCHA 用 adversarial patch、photo composition 對抗 CNN。 這條路在 vision transformer 出現後逐漸失效,但仍有人主張「再加一點 noise 就行」。

這個假設可以直接被 paper 證偽。 figure 1 顯示 Claude / GPT / Gemini 與人類達到 similar task performance levels—— output 層面是並肩的。 當你的 agent 跟人類在「選對紅綠燈」這件事上沒有差距, 再 turn up 視覺噪音只會把人類一併擋下,違反 CAPTCHA「人類過、機器不過」的基本契約。 這也是為什麼 reCAPTCHA v2 在 2018 之後把 image-grid 從主要 challenge 降級為輔助驗證—— visible difficulty 已經做不下去了。

那為什麼 Roundtable 還能在 image CAPTCHA 上把 agent 抓出來? 答案在於「測 output 還是測 process」這個鏡頭的切換。 純視覺難題假設預設 verifier 看的是 output, 所以視覺難題不夠難等於 verifier 失效。 但只要 verifier 同時也在記錄 click sequence、direction change、overselection, 視覺題目的難度其實只是「讓你多點幾下,多 expose 一點 process feature」的工具。 題目本身不需要難到擋住 agent,只需要難到讓 agent 多留下行為痕跡。

這個視角翻轉之後,視覺難題的角色從「Wall」變成「Sampler」。 Cloudflare Turnstile 把這件事做到極致——它根本沒有可見的圖片題目, UI 上只顯示一個 checkbox 加 spinner, 但背後 JavaScript 在你 hover、focus、click 過程中收集了上百個事件 sample, 丟給 server-side classifier。 這個設計把「視覺難題」這個概念整個刪掉了,承認 visible difficulty 不是防線。

所以候選假設一不能說錯,但它解釋不了 puzzle 的全部。 視覺難題確實還能擋下某些低端 bot(拿 1.5B Qwen 開源 model 來解, Roundtable 量到 output 還是有差距), 但對 Claude / GPT / Gemini 這個級距無效。 對 agent product 而言,視覺難題已經不是 friction 來源,process verifier 才是。 這個假設被部分證偽。

候選假設二:client-side fingerprint 在前期把 agent browser 標掉

第二個假設是:CAPTCHA service 在你還沒按下 checkbox 之前, JavaScript 已經抓到了一堆 browser fingerprint—— navigator.webdriver flag、Chrome DevTools Protocol presence、 缺失的 plugin 列表、Canvas 2D 指紋、AudioContext oscillator 指紋、 WebGL renderer 字串——這些訊號讓 Claude Computer Use 啟動的 headless browser 在 第一個 frame 就被分類為 bot,後續 CAPTCHA 只是 confirmation。

這個假設有真實的證據基礎。 2024 年 Cloudflare Turnstile 的 challenge 機制白皮書明確提到 「passive browser environment checks」是 risk score 的第一階段, Anthropic Claude Computer Use 在 Chromium-based VM 內啟動, leak 出來的 fingerprint surface 對 Cloudflare 來說是已知的(這部分是我們的推測—— Roundtable paper 沒有測試 Claude Computer Use 本身,但 Turnstile 公開文件 確認 passive checks 確實存在)。

所以為什麼這個假設仍然不是完整答案? 因為 Roundtable 的實驗 setup 明確控制了 browser fingerprint 變項。 paper 的 figure 1 是把 Claude / GPT / Gemini 接 API 直接餵 image, 不是讓 model 控制 browser。 人類受試者透過 Roundtable 提供的 web interface 完成同一批題目, fingerprint 是 normal Chrome。 在這個 controlled experiment 裡,沒有 webdriver flag 可看、沒有 Canvas 指紋可比, fingerprint 完全被剝離掉。

結果仍然能分離 agent 與 human。 意思是 process feature 的可分離性「在 fingerprint 之外」獨立存在—— 即便把所有 client-side 指紋移除,光看 click pattern 還是把 agent 抓出來。 這對 Cloudflare 與 Google 而言是個好消息:fingerprint 即便被 anti-detect browser (如 Camoufox、undetected-chromedriver)掩蓋掉,process verifier 仍然能工作。 對 agent product 而言是壞消息:替換 browser engine 救不了它們。

候選假設二也被部分證偽。 fingerprint 確實是 CAPTCHA service 的第一道篩—— 但即便完全清乾淨,process verifier 仍然能撐起第二道。 產業現實是這兩道篩並聯運作:fingerprint 抓掉 90% 的低成本 bot, 剩下 10% 用 process verifier 抓掉一半, 最後 5% 才會被允許 silently 通過, 且這 5% 會被持續記錄、累積到 risk profile 裡供下一次決策。 這個 layered defence 設計才是現代 CAPTCHA service 的真正樣貌。

換句話說,「為什麼 agent 被擋」的答案不是「指紋洩漏」那麼線性。 Claude Computer Use 的 fingerprint 即便完美擬人, 第一個格子點下去之後 process verifier 就在背後算 likelihood。 這個 layer 不需要任何 client-side signal,只需要時間序列上的 click stream。 這個事實把調查推往第三個候選——但要先進一步把三條候選的證據列在一起對照。

switch tabs to compare 3 candidate hypotheses · 3 tabs

候選一:題目本身夠難可擋住 agent

預設 verifier = output。 擋 agent 的方式:把 image 扭曲到 frontier model 解不出來。

image classifier pass / fail 200 OK

被部分證偽:Roundtable 觀察到 Claude / GPT / Gemini 在 classic image CAPTCHA 與人類達到 similar task performance levels。 視覺難題在 frontier model 級距已經不是擋線,繼續加難只會把人類一起擋下。

候選二:browser fingerprint 在第一個 frame 把 agent 標掉

預設 verifier = passive fingerprint check + output。 擋 agent 的方式:navigator.webdriver、Canvas 2D、AudioContext、WebGL renderer 等指紋讓 headless browser 被識別。

navigator.webdriver canvas fingerprint webgl renderer risk score block

被部分證偽:Roundtable 控制了 fingerprint 變項(API 直餵 image、人類用 normal Chrome)後仍能分離 agent 與 human。 fingerprint 確實是第一道篩,但移除它之後 process feature 還在獨立工作。

候選三:process verifier 看 click stream 的統計分佈

預設 verifier = output OK 之後再算 click sequence、direction change、overselection 的人類 likelihood。 擋 agent 的方式:output 對齊也沒用,process distribution 不在 human 分佈內。

human click trajectory agent click trajectory(too uniform) distribution classifier

通過:Roundtable 觀察到 sequential click pattern、direction change、overselection 三個 metric 都展現 statistically significant 的人類與 agent 分佈差異。 這條防線不依賴題目難度、不依賴 browser fingerprint,只依賴 click stream 的統計分佈。

三個候選假設並排比較。前兩個各自解釋一部分現象但無法解釋為什麼即使視覺難題容易、即使 fingerprint 乾淨,agent 仍然被擋。第三個假設覆蓋了 puzzle 的全部。

三個候選假設並排比較

視覺難題和 fingerprint 各解釋部分現象;click stream 統計分佈差異是不依賴 fingerprint 即可分離 agent 的機制。

這張 tab 切換的目的不是視覺裝飾——三個候選看起來都「有道理」, 但 verifier 的位置與輸入完全不同。 候選一把 verifier 放在「題目 vs answer」軸上; 候選二把 verifier 放在「browser env vs reference」軸上; 候選三把 verifier 放在「click stream vs human distribution」軸上。 只有第三個軸能解釋 Roundtable 觀察到的反直覺現象:output 對齊、仍可分離。

drag the divider to compare human vs agent click trajectories on the same 4-of-9 grid

human · noisy, hesitant, overselect-then-undo 7 clicks · direction-change rate 0.71 · overselect 2 (reverted) 1 (0.94) 2 (0.88) 3 (0.81) 4 (0.73) agent · straight-line, argmax-ordered, zero hesitation 4 clicks · direction-change rate 0.14 · overselect 0
同一個「選紅綠燈」的 4-of-9 grid,左半(before)是人類的 click stream、右半(after)是 agent 的 click stream。output 都是同樣四格(grid 上標綠的目標格),但 process 完全不一樣:人類有 7 個 click(含 2 個被反悔點掉的 overselect)、軌跡頻繁變向;agent 4 個 click、按 model confidence 由高到低排序、近乎直線連接。拖動中央分隔條切換。這是 Cohen's d ≈ 0.55 的可視化來源。

同一個「選紅綠燈」的 4-of-9 grid,左半(before)是人類的 click stream、右半(after…

agent 按 confidence 降序選格、direction change 0.14;人類含 2 次反悔、direction change 0.71。

候選假設三:process verifier 看 click stream 的統計分佈

第三個假設是:CAPTCHA service 不再把 verifier 放在 image classification 上, 而是放在「click stream 看起來像不像人」這個 distribution comparison 上。 這對應 Roundtable 直接量到的三個 metric: sequential click pattern(你按格子的順序與軌跡分佈)、 direction change(滑鼠在格子之間移動向量的方向變化頻率)、 overselection(多選的格子數量與後續反悔的點掉行為)。

這條防線的關鍵特性是:它對 frontier model 的視覺能力進化是 invariant 的。 GPT-5 比 GPT-4 視覺能力強?無所謂,verifier 不看你選對沒。 Claude 4 比 Claude 3 解 image-grid 快?無所謂,verifier 看的是 click sequence 的時序分佈。 這對 CAPTCHA service 來說是極大的設計優勢——它把「對抗 model capability 上升」這個無底洞的軍備競賽 換成了「對抗 model behavioural mimicry」這個受 statistical floor 限制的較量。

為什麼 behavioural mimicry 有 statistical floor? 因為 agent 解 CAPTCHA 的決策過程是 deterministic 的—— 給定 image,model 算出 logits、argmax 出 selection、按順序執行。 這個 pipeline 產生的 click sequence 在統計上有特徵: selection 順序通常沿著 model 對每格 confidence 的高低排序, direction change 集中在「跳到下一個 high-confidence 格」的軌跡上, overselection 幾乎為零(model 不會「多選一格再反悔」這種人類常見的猶豫行為)。

人類則完全相反: selection 順序帶有掃視路徑的偏好(左上開始、之字形、由上而下), direction change 高頻且 noisy(眼睛從一格挪到下一格時手會 hesitate), overselection 頻繁(你看到「選紅綠燈」第一輪先把所有「可能是紅綠燈」的格子都選了, 再回頭把不確定的點掉)。 這三個維度在人類分佈上有寬闊的 variance, 在 agent 上塌縮成 narrow modes。

Roundtable 在 paper 裡用 CogCAPTCHA30 這個 30-task battery 量化這件事。 CogCAPTCHA30 把 classic image CAPTCHA 與 29 個 cognitive psychology task (decision-making、memory、perception、reasoning 四類)並列做測試, Claude / GPT / Gemini 與 Centaur(一個 70B 用 10M+ human choice 微調的 foundation model of human cognition) 都接受相同 task battery, output 與 human 對齊的維度與 process 仍可分離的維度被同時測量。

Centaur 在 process 維度上「outperforms the other models in similarity to human process feature space」—— paper 的原話。 這句話含義很重:用 10M+ human choice fine-tune 出來的 model, 在 cognitive process layer 上更接近人類,但仍未完全收斂。 意思是「process verifier」這條防線即便面對特意去模仿人類的 model 仍然能撐住, 且 process feature space 是個高維 metric, 對抗它需要的不只是 input/output mimicry,而是內部 decision process 的同構。

這對 Claude Computer Use、ChatGPT Agent、Comet 這三個 agent product 意味著什麼? 我們的推測(不是 paper 量到的): Claude Computer Use 目前的 mouse trajectory 是 deterministic interpolation—— 從目前游標位置到目標座標走 straight line + bezier, 這個軌跡在 direction change 維度的 entropy 遠低於人類; ChatGPT Agent 用 OpenAI 自有的 browser-control wrapper, 其 click stream 也是 ordered argmax 行為; Perplexity Comet 直接用 Chromium puppeteer, 軌跡更乾淨——也就是更可疑。 這三者要對抗 process verifier,需要在 mouse trajectory 層 inject 受控 noise, 但 noise injection 一旦過 naive,反而會在 noise distribution 上留下另一個指紋。

把 CogCAPTCHA30 的測量結果排成下面這張 process-feature distance 表, 可以看到哪個 model 在哪一條 process feature 上靠近 human 分佈最近。 點 column header 可以重排,依不同 process feature 看 ranking 變化。

click column header to sort · 5 columns × 5 rows

CogCAPTCHA30 process-feature space 距離(假設性外推 Cohen's d 量度;數字越小越像 human 分佈。Roundtable paper 報告 statistically significant 但未公開 effect size,下表用 0–1 standardised distance 示意)
模型 output 對齊 click seq direction change overselection
Claude (frontier) 0.05 0.55 0.45 0.60
GPT (frontier) 0.04 0.50 0.40 0.58
Gemini (frontier) 0.06 0.52 0.42 0.55
Centaur (70B, fine-tuned) 0.05 0.30 0.28 0.32
Qwen-1.5B (open-source baseline) 0.35 0.70 0.65 0.75
frontier model 在 output 軸幾乎並肩 human(0.04–0.06),但在三條 process 軸上距離都在 0.4–0.6 區間。Centaur 用 10M+ human choice 微調後,process 軸距離壓到 0.28–0.32,但仍未收斂到 output 軸的 0.05 水準。Qwen-1.5B 連 output 軸都還沒對齊。

frontier model 在 output 軸幾乎並肩 human(0.04–0.06),但在三條 process…

Centaur 微調後 process 距離壓到 0.3,frontier model 在 output 軸仍與人類並肩 0.05,兩軸不相關。

這張表的訊息是:output 軸與 process 軸幾乎不相關。 Claude / GPT / Gemini 在 output 軸都壓到 0.05 以下、與 human 沒有實際距離, 但在 process 軸上 0.40–0.60 區間,這就是 verifier 可以咬住的訊號量。 Centaur 是個 interesting outlier——它沒有比 frontier model 解題快或準 (output 軸也是 0.05),但 process 軸距離只有 frontier model 的一半。 這證實 process feature 是可被刻意 align 的,但需要 fine-tune target 是 human cognitive process 本身、 不是 task accuracy。

這對 anti-CAPTCHA-detection 的工具開發者意味著什麼? 過去 anti-detect 主要打 fingerprint 那條軸—— 開 Camoufox、改 navigator.webdriver、注入假 Canvas 指紋。 這些工作對候選二有效,但對候選三無效。 要對抗候選三,需要把 mouse trajectory 與 click sequence 做出符合人類分佈的 sample。 Roundtable 的 paper 隱含說的是:這個 mimicry 比想像中難—— Centaur 用 10M+ human choice 微調過、process 距離只能壓到 0.3 區間, 一個 puppeteer script 的 process 距離還在 0.6 區間。

這也讓 Cloudflare Turnstile 這個 product 的 design decision 變合理了。 Turnstile UI 上只有一個 checkbox 加 spinner、看起來像是 placebo, 但這個 UI 設計本身就是為了讓 verifier 有時間收集足量的 mouse event。 給用戶 800ms 等待 spinner 結束的時間,就是 800ms 的 mouse trajectory sample。 人類 800ms 的 mouse movement 是 noisy、idle、occasionally drifting 的; agent 的 mouse 在這 800ms 通常是 stationary 或 deterministic straight-line。

剩下的問題是:這條防線會不會被 Comet 之類的 agent 用更聰明的 trajectory generator 突破? 我們的判斷是:短期內不會。 原因是 process feature 不是 single-axis—— direction change、overselection、 pause distribution、click latency variance 是多維 metric, 對抗任一維 alone 容易,對抗整個 manifold 困難。 Centaur 的數字(fine-tune 過後 process 距離仍 ≥ 0.3)是個壓力測試的下界。 在 agent generator 不專門針對 process feature space fine-tune 之前, 它們會持續在 Turnstile 之類的 service 上產生可被檢測的訊號。

裁定:output 已破、process 仍守,agent 被擋在第二道篩

所以這篇 investigation 的結論可以一句講完: image CAPTCHA 的 output verifier 已經對 frontier model 失效——這部分產業早就知道—— 但 process verifier 仍然守得住,且這條防線不依賴 model 視覺能力、不依賴 fingerprint, 只依賴 click stream 在多維分佈空間的 likelihood。 Roundtable 的 paper 第一次把這個現象量化成 Claude / GPT / Gemini 在 process axis 上仍可分離的明確訊號。

對寫 agent 自動化的工程師,這個裁定的可操作面是: 短期內,把 mouse trajectory 從 deterministic interpolation 換成 sampled from human trajectory dataset 可以把 process 距離從 0.6 量級壓到 0.3 量級—— 但這個壓縮是 superficial 的, 任何專門設計過的 process classifier(如 Turnstile 用的)仍能咬住。 根治需要重新設計 agent 的 perception-action loop: 不是「看完整張圖、選 4 格、一次性 click 完」這個 deterministic pipeline, 而是 incremental perception—— 模擬人類「看一格、判斷、移動到下一格、看、判斷」的迭代過程,讓 click stream 在時序上自然散開。

對寫 CAPTCHA service 或 fraud-detection 的工程師,這個裁定意味著 investment 應該往 process verifier 那條軸傾—— 繼續加強 image difficulty 是死胡同,繼續加強 fingerprint 是 cat-and-mouse, process classifier 是目前唯一可持續的軸。 這條軸的天花板是「agent 是否能在 process feature space 完全 mimic 人類」, Centaur 的結果暗示這個天花板還很高。

對寫 reCAPTCHA 替代方案的人,這個裁定也有啟發: Cloudflare Turnstile、hCaptcha 的 invisible challenge mode、 Apple Private Access Tokens 都已經把 verifier 軸從 visible challenge 滑向 invisible behavioural 訊號。 這個趨勢在 Roundtable paper 出來之前是產業內部的設計直覺, 現在有了 cognitive psychology 級別的學術佐證。 後續的競爭點會是哪家 service 能在 process feature space 上做更精細的 likelihood model。

最後一個觀察留給 alignment / capability research: Centaur 這個 model 是個 interesting data point。 用 10M+ human choice 微調出來的 70B model, 在 cognitive task 與 process feature 上比 frontier model 更接近人類, 這意味著「行為對齊」是個獨立的 fine-tune target, 與「task accuracy」可以解耦。 這個現象之後可能會反向用在 evaluation—— 用 process feature distance 做為 model「是否真的 human-like」的測量指標, 補充純 output benchmark 在 frontier model 飽和後的判別力不足。

這也讓「frontier model 越來越強等於越來越像人」這個直覺被打破。 paper 原文:「while frontier models are becoming more powerful over time, they are not necessarily becoming more human」。 更強不等於更像——這句話的意思是 capability 與 humanness 是兩個 orthogonal 維度, output 軸的對齊不蘊含 process 軸的對齊。 這個觀察對 evaluation framework 設計與 alignment research 都是值得記下的訊號。

回到 puzzle 起點:output 對齊、process 仍可分離。 這個分離不是 CAPTCHA 設計者意外的好運,也不是 frontier model 偷懶。 它是 deterministic pipeline 與 human cognitive process 之間結構性的不同—— 一個高度 optimized 的 model 在解題上會比人類更快、更穩、更乾淨, 這份「乾淨」本身就是 signature。 擋下 agent 的不是題目,是它解題時太完美的呼吸節奏。

Take-away:下次你的 agent 自動化 script 在 Turnstile 之類的 challenge 前莫名被擋,先別調 user-agent 與 fingerprint——量一下你 click stream 的 direction change entropy 與 inter-click pause distribution,那才是 verifier 正在咬住的訊號。