Claude Fable は絶えず主体的に行動する
Simon Willison 氏は、Claude Fable 5 が CSS のスクロールバーのバグをデバッグするために、テストページの作成、JavaScript の注入、CORS サーバーの構築など、数多くの創造的な手法を自発的に用いた事例を紹介。そのセッションは約 12.11 ドルを消費し、サンドボックス化されていないコーディングエージェントの可能性と危険性を示している。
Simon Willison 氏の最新ブログ記事では、Claude Fable 5(Anthropic の最先端 AI モデル)が 1 回のデバッグセッションで示した驚異的な主体性が紹介されています。Willison 氏は Datasette Agent の開発中に、表示されるべきでない水平スクロールバーを発見し、スクリーンショットを撮って Claude セッションに貼り付け、「依存関係を調べて、なぜ水平スクロールバーが表示されるのかを特定してください」と指示しました。
数分後に戻ると、Claude はすでに実際のブラウザ(最初は Firefox、次に Safari)を起動し、問題のダイアログにアクセスしていました。さらに驚くべきことに、Claude は Playwright のような標準的な自動化ツールを使わず、独自の手法を次々と編み出していたのです。
まず、Claude はテスト用の HTML ページ(textarea-scrollbar-test.html)を作成し、バグを再現しようとしました。次に、Python の pyobjc-framework-Quartz ライブラリを使ってすべてのウィンドウを列挙し、Safari ウィンドウの番号を特定。その番号を使ってシステムの screencapture コマンドでスクリーンショットを取得しました。キーボードショートカット(「/」キー)でしか開かないモーダルダイアログを起動するために、Claude は Datasette のテンプレートを編集し、ページ読み込みから 1.2 秒後にキー入力をシミュレートする JavaScript を注入しました。
最も印象的なのは、Web Component 内の textarea の測定データを取得するため、Claude が標準ライブラリ http.server を使って独自の CORS Web サーバー(127.0.0.1:9999 で待機)を構築し、注入した JavaScript から fetch で scrollWidth や devicePixelRatio などのデータを POST 送信させ、サーバーが /tmp/diag.json に書き込む仕組みを作ったことです。
これらすべてのトリックを駆使した後、Claude Fable は何らかのガードレールに引っかかり、Opus モデルに自動的にダウングレードされました。幸い Opus は Fable が開拓した手法を引き継ぎ、最終的にバグの原因(たった 2 行の CSS 修正)を発見・検証しました。Willison 氏は Opus にセッションで使用したすべてのトリックを /tmp/automation-report.md にまとめるよう指示し、そのレポートがこの記事の基礎となっています。
AgentsView による推定では、このセッションのコストは約 12.11 ドルでした。Willison 氏は、この事例がコードエージェントの驚くべき能力を示す一方で、サンドボックスなしで実行することの危険性を強く警告しています。悪意のあるプロンプトインジェクション攻撃などに乗っ取られた場合、このようなエージェントはデータの窃取や深刻な被害をもたらす可能性があります。同氏はこれを「チャレンジャー号の災害」に例え、エージェントのセキュリティ対策の重要性を訴えています。