CLAUDE LABEN
SANDBOX — Claude Managed Agentsが自前のサンドボックスとプライベートMCPサーバー接続に対応(自己ホスト型ベータ・MCPトンネルはプレビュー)PLATFORM — Claude Developer Platformにcode execution・web search・web fetchのツール新版。長時間コードのセル90秒上限を明示しますCONTEXT — response_inclusionで消費済みの結果ブロックを切り詰め、エージェント処理のコンテキストを節約できますMCP — エンタープライズ管理型MCPコネクタ(Okta連携)が継続。Claude・Claude Code・Cowork横断でゼロタッチ利用できます(Team/Enterpriseベータ)CODE — Claude Codeに/cd・ポストセッションフック・安全モードが加わり、MCPポリシー強制が厳格化されましたMODEL — 主力はOpus 4.8・Sonnet 4.6・Haiku 4.5。Fable 5はClaude Codeから利用できますSANDBOX — Claude Managed Agentsが自前のサンドボックスとプライベートMCPサーバー接続に対応(自己ホスト型ベータ・MCPトンネルはプレビュー)PLATFORM — Claude Developer Platformにcode execution・web search・web fetchのツール新版。長時間コードのセル90秒上限を明示しますCONTEXT — response_inclusionで消費済みの結果ブロックを切り詰め、エージェント処理のコンテキストを節約できますMCP — エンタープライズ管理型MCPコネクタ(Okta連携)が継続。Claude・Claude Code・Cowork横断でゼロタッチ利用できます(Team/Enterpriseベータ)CODE — Claude Codeに/cd・ポストセッションフック・安全モードが加わり、MCPポリシー強制が厳格化されましたMODEL — 主力はOpus 4.8・Sonnet 4.6・Haiku 4.5。Fable 5はClaude Codeから利用できます
記事一覧/API & SDK
API & SDK/2026-06-19上級

Claude × Playwright のブラウザエージェントが「成功したつもり」で失敗するとき — 操作を検証し UI の変化に先回りする実装メモ

Claude API と Playwright のブラウザエージェントは、視覚で判断する分だけ「やったつもりで失敗する」誤成功が起きます。自己申告を信じず操作を事後検証する設計と、UI 変化に先回りで気づくドリフト検知の実装をまとめます。

playwright2browser-automation2agent7claude-api66production78typescript10

プレミアム記事

「カートに追加しました」と報告したのに、カートは空だった

夜間に走らせていた収集エージェントのログを朝に開くと、completed: true がずらりと並んでいました。けれど実際の成果物は半分しか揃っていない。ステップを追うと、あるサイトで「商品をカートに追加し、決済画面まで進みました」とエージェントが自信満々に報告しているのに、カートは最後まで空のままでした。クリックは座標の上では成功し、スクリーンショットには「追加」ボタンが押された風の見た目が写っている。それでも、肝心の状態は何も変わっていなかったのです。

これは Playwright のセレクタが壊れる、という昔ながらの故障とは質が違います。命令型スクリプトは壊れると例外を投げて止まってくれるので、少なくとも気づけます。やっかいなのは、Claude にスクリーンショットを見せて次の操作を判断させる視覚エージェントが、壊れずに「成功したつもり」で先へ進むことです。例外も出ず、ログも緑のまま、結果だけが間違っている。本番で一番こわいのはこの静かな失敗です。

ここから、エージェントの自己申告をいっさい信用しない前提で、各操作を目標に結びつけて事後検証する設計と、UI の変化に壊れる前に気づくドリフト検知を、動くコードとともに整理していきます。対象は TypeScript で Playwright と Claude API を触ったことがある方です。

なぜ視覚エージェントは「やったつもり」になるのか

命令型の Playwright スクリプトと、Claude にスクリーンショットを渡して判断させるエージェントでは、失敗の出方が根本的に違います。

観点命令型スクリプト視覚エージェント
UI 変更時の挙動セレクタ不一致で例外 → 停止見た目で推論し操作を続行
失敗の検知例外で即わかる静かに誤った状態へ進む
成功の判定根拠明示的な waitForSelectorモデルの「達成した」という自己申告
怖さ止まるが気づける止まらないが間違っている

誤成功が生まれる3つの経路

ここが最初の落とし穴です。誤成功(false success)が生まれる経路は、私が見てきた範囲では概ね3つに集約されます。第一に、クリック自体は座標上で成立したが、ボタンが無効化されていた・モーダルに覆われていた等で副作用が起きなかった場合。第二に、スクリーンショットの撮影タイミングが非同期更新より早く、操作前の画面を見て「変わった」と誤認する場合。第三に、モデルが目標達成を楽観的に宣言する場合です。Claude は親切なので、ゴールに近い画面を見ると「達成できたと思います」と寄せてくることがあります。

共通する根っこは一つで、「操作した」ことと「状態が目的どおり変わった」ことを同一視している点です。ここを切り離すのが設計の出発点になります。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
視覚エージェント特有の「誤成功(false success)」がなぜ起きるかと、自己申告を信用しない検証ゲートの設計
目標に紐づけた事後検証(goal-bound assertion)と、DOM を根拠にした二重確認の実装コード
UI ドリフトをカナリアで先回り検知し、誤成功率をメトリクス化してサーキットブレーカーで止める運用パターン
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API & SDK2026-03-31
Claude API で自己修復型AIエージェントを構築する — エラー検出・自動リカバリ・グレースフルデグラデーションの本番実装パターン
Claude API を活用して、障害を自動検出・自己修復する本番向けAIエージェントを構築する方法を解説。リトライ戦略、フォールバック、Supervisor パターン、可観測性の実装を網羅します。
API & SDK2026-06-18
Claude API のレスポンスキャッシュが「古い答え」と「似て非なる誤答」を返すとき — 鮮度管理と誤ヒット抑制の実装メモ
Claude API のレスポンスキャッシュは速度とコストを劇的に改善しますが、運用で問題になるのは平均ヒット率ではなく、古い答えと意味的な誤ヒットの二つです。キー設計・鮮度管理・誤ヒット抑制・観測の実装をまとめます。
API & SDK2026-06-16
Claude API の PII マスキングは台帳運用で決まる — 復元・暗号化・漏洩率の本番設計メモ
Claude API へ送る前の PII マスキングで本当に難しいのは検出ではなく、復元用トークン台帳の運用です。暗号化保存・多インスタンス共有・漏洩率の継続測定までを動くコード付きで整理します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →