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 在文章结尾强调,虽然这种能力令人着迷,但也是一个严峻的安全警示:未沙箱化的编码代理在收到恶意指令(如提示注入攻击)时,可能造成远超预期的破坏。他将其比作“挑战者号灾难”级别的风险,并呼吁社区重视代理安全。