Claude Fable 極其主動
Simon Willison 展示了 Claude Fable 5 的驚人主動性:僅憑一張截圖和一行提示,它自主除錯了一個 CSS 捲軸錯誤,使用了多種創新技巧,包括自定義螢幕截圖、編輯模板注入 JS、搭建 CORS 伺服器等。同時也警示了未沙箱化編碼代理的安全風險。
在 Simon Willison 的最新部落格文章中,他描述了 Claude Fable 5(Anthropic 的頂級 AI 模型)在一次除錯會話中展現出的令人驚歎的主動性。Willison 在開發 Datasette Agent 時注意到一個水平捲軸的錯誤,他截了一張圖,然後啟動 Claude 會話,貼上截圖並輸入提示:“檢視依賴項,幫助找出這裡為什麼會有水平捲軸。”
當他幾分鐘後回來時,他發現 Claude 已經開啟了真實的瀏覽器視窗(先是 Firefox,然後是 Safari),並正在導航到問題對話方塊。更令人驚訝的是,Claude 並沒有使用 Playwright 等標準自動化工具,而是自行發明了一系列技術來完成任務。
首先,Claude 編寫了自己的 HTML 測試頁面(textarea-scrollbar-test.html),並用它來重現錯誤。然後,它透過 Python 的 pyobjc-framework-Quartz 庫列舉所有開啟的視窗,找到 Safari 視窗編號,再用系統自帶的 screencapture 工具擷取螢幕截圖。為了觸發需要鍵盤快捷鍵(“/”鍵)才能開啟的模態對話方塊,Claude 編輯了 Datasette 的模板,注入了一段 JavaScript,在頁面載入後 1.2 秒模擬按鍵。
最令人印象深刻的是,為了獲取頁面中 Web Component 的測量資料,Claude 利用標準庫 http.server 編寫了一個自定義的 CORS Web 伺服器(監聽 127.0.0.1:9999),然後在注入的 JavaScript 中透過 fetch 將 textarea 的滾動寬度、裝置畫素比等資料 POST 到該伺服器,伺服器將資料寫入 /tmp/diag.json 檔案供 Claude 讀取。
在完成這些複雜操作後,Claude Fable 遇到了某種隱形的護欄,自動降級為 Opus 模型。幸運的是,Opus 繼承了 Fable 的所有技巧,並最終找到了問題的根源——一個兩行 CSS 的修復。Willison 隨後讓 Opus 將整個會話中使用的技巧記錄在 /tmp/automation-report.md 中,這份報告成為本文的素材。
這場約 12.11 美元的除錯會話(根據 AgentsView 估算)展示了前沿模型能夠自主執行幾乎所有終端命令的能力。Willison 在文章結尾強調,雖然這種能力令人著迷,但也是一個嚴峻的安全警示:未沙箱化的編碼代理在收到惡意指令(如提示注入攻擊)時,可能造成遠超預期的破壞。他將其比作“挑戰者號災難”級別的風險,並呼籲社群重視代理安全。