コンピュータ使用ツール
Claudeがスクリーンショット機能とマウス/キーボード制御を通じてコンピュータ環境と相互作用し、自律的なデスクトップ操作を可能にするコンピュータ使用ツールについて説明します。
Claudeは、スクリーンショット機能とマウス/キーボード制御を提供し、自律的なデスクトップ操作を可能にするコンピュータ使用ツールを通じて、コンピュータ環境と相互作用できます。
概要
コンピュータ使用は、Claudeがデスクトップ環境と相互作用できるベータ機能です。このツールは以下を提供します:
- スクリーンショット取得:画面に現在表示されている内容を確認
- マウス制御:クリック、ドラッグ、カーソル移動
- キーボード入力:テキスト入力とキーボードショートカット
- デスクトップ自動化:任意のアプリケーションやインターフェースとの相互作用
コンピュータ使用は、より包括的な自動化ワークフローのためにbashやテキストエディタなどの他のツールと組み合わせることができますが、コンピュータ使用は特にコンピュータ使用ツールのデスクトップ環境を見て制御する機能を指します。
モデル互換性
コンピュータ使用は以下のClaudeモデルで利用可能です:
モデル | ツールバージョン | ベータフラグ |
---|---|---|
Claude 4モデル | computer_20250124 | computer-use-2025-01-24 |
Claude Sonnet 3.7 | computer_20250124 | computer-use-2025-01-24 |
Claude Sonnet 3.5 v2 (非推奨) | computer_20241022 | computer-use-2024-10-22 |
Claude 4モデルは新しいアーキテクチャに最適化された更新されたツールバージョンを使用します。Claude Sonnet 3.7は、モデルの推論プロセスをより深く理解できる思考機能を含む追加機能を導入しています。
セキュリティ上の考慮事項
コンピュータ使用は、標準的なAPI機能とは異なる独特のリスクを持つベータ機能です。これらのリスクは、インターネットと相互作用する際に高まります。リスクを最小限に抑えるために、以下のような予防措置を検討してください:
- 直接的なシステム攻撃や事故を防ぐため、最小限の権限を持つ専用の仮想マシンまたはコンテナを使用する。
- 情報盗難を防ぐため、アカウントログイン情報などの機密データへのモデルアクセスを避ける。
- 悪意のあるコンテンツへの露出を減らすため、インターネットアクセスをドメインの許可リストに制限する。
- 現実世界で意味のある結果をもたらす可能性のある決定や、Cookieの受け入れ、金融取引の実行、利用規約への同意など、肯定的な同意を必要とするタスクについて、人間に確認を求める。
一部の状況では、Claudeはユーザーの指示と矛盾していても、コンテンツ内で見つかったコマンドに従います。例えば、ウェブページ上のClaude指示や画像に含まれる指示が、指示を上書きしたり、Claudeにミスを犯させたりする可能性があります。プロンプトインジェクションに関連するリスクを避けるため、Claudeを機密データや行動から隔離する予防措置を取ることをお勧めします。
私たちはモデルをこれらのプロンプトインジェクションに抵抗するように訓練し、追加の防御層を追加しました。コンピュータ使用ツールを使用する場合、プロンプトインジェクションの潜在的なインスタンスにフラグを立てるため、プロンプトに対して分類器を自動的に実行します。これらの分類器がスクリーンショット内でプロンプトインジェクションの可能性を特定すると、次のアクションに進む前にユーザーの確認を求めるようにモデルを自動的に誘導します。この追加の保護がすべてのユースケース(例えば、人間がループに含まれていないユースケース)に理想的ではないことを認識しているため、オプトアウトして無効にしたい場合は、お問い合わせください。
プロンプトインジェクションに関連するリスクを避けるため、Claudeを機密データや行動から隔離する予防措置を取ることを引き続きお勧めします。
最後に、自社製品でコンピュータ使用を有効にする前に、エンドユーザーに関連するリスクを通知し、同意を得てください。
コンピュータ使用リファレンス実装
ウェブインターフェース、Dockerコンテナ、サンプルツール実装、エージェントループを含むコンピュータ使用リファレンス実装で素早く開始できます。
注意: 実装はClaude 4モデルとClaude Sonnet 3.7の両方に対応する新しいツールを含むように更新されています。これらの新機能にアクセスするため、リポジトリの最新バージョンを必ずプルしてください。
モデルレスポンスの品質、API自体、またはドキュメントの品質についてフィードバックを提供するには、このフォームをご利用ください - 皆様からのご意見をお待ちしております!
クイックスタート
コンピュータ使用を開始する方法は以下の通りです:
ベータヘッダー要件:
- Claude 4モデルとClaude Sonnet 3.7:コンピュータ使用ツールにのみベータヘッダーが必要
- Claude Sonnet 3.5 (非推奨):computer、bash、text editorツールにベータヘッダーが必要
上記の例では3つのツールすべてを一緒に使用しており、コンピュータ使用ツールが含まれているため、どのClaudeモデルでもベータヘッダーが必要です。
コンピュータ使用の仕組み
1. Claudeにコンピュータ使用ツールとユーザープロンプトを提供
- コンピュータ使用ツール(および必要に応じて他のツール)をAPIリクエストに追加します。
- デスクトップ操作が必要なユーザープロンプトを含めます。例:「猫の写真をデスクトップに保存してください。」
2. Claudeがコンピュータ使用ツールの使用を決定
- Claudeは、コンピュータ使用ツールがユーザーのクエリに役立つかどうかを評価します。
- 役立つ場合、Claudeは適切にフォーマットされたツール使用リクエストを構築します。
- APIレスポンスの
stop_reason
がtool_use
になり、Claudeの意図を示します。
3. ツール入力を抽出し、コンピュータでツールを評価し、結果を返す
- あなたの側で、Claudeのリクエストからツール名と入力を抽出します。
- コンテナまたは仮想マシンでツールを使用します。
tool_result
コンテンツブロックを含む新しいuser
メッセージで会話を続けます。
4. Claudeはタスクが完了するまでコンピュータ使用ツールを呼び続ける
- Claudeはツール結果を分析して、さらなるツール使用が必要かタスクが完了したかを判断します。
- Claudeが別のツールが必要だと判断した場合、別の
tool_use
stop_reason
で応答し、ステップ3に戻る必要があります。 - そうでなければ、ユーザーへのテキスト応答を作成します。
ユーザー入力なしでのステップ3と4の繰り返しを「エージェントループ」と呼びます - つまり、Claudeがツール使用リクエストで応答し、あなたのアプリケーションがそのリクエストを評価した結果でClaudeに応答することです。
コンピューティング環境
コンピュータ使用には、Claudeがアプリケーションやウェブと安全に相互作用できるサンドボックス化されたコンピューティング環境が必要です。この環境には以下が含まれます:
-
仮想ディスプレイ:Claudeがスクリーンショットを通じて見て、マウス/キーボードアクションで制御するデスクトップインターフェースをレンダリングする仮想X11ディスプレイサーバー(Xvfbを使用)。
-
デスクトップ環境:Linux上で動作するウィンドウマネージャー(Mutter)とパネル(Tint2)を持つ軽量UI。Claudeが相互作用する一貫したグラフィカルインターフェースを提供します。
-
アプリケーション:Firefox、LibreOffice、テキストエディタ、ファイルマネージャーなど、Claudeがタスクを完了するために使用できる事前インストールされたLinuxアプリケーション。
-
ツール実装:Claudeの抽象的なツールリクエスト(「マウス移動」や「スクリーンショット取得」など)を仮想環境での実際の操作に変換する統合コード。
-
エージェントループ:ClaudeとClaudeの環境間の通信を処理し、Claudeのアクションを環境に送信し、結果(スクリーンショット、コマンド出力)をClaudeに返すプログラム。
コンピュータ使用を使用する際、Claudeはこの環境に直接接続しません。代わりに、あなたのアプリケーションが:
- Claudeのツール使用リクエストを受信
- それらをコンピューティング環境でのアクションに変換
- 結果(スクリーンショット、コマンド出力など)を取得
- これらの結果をClaudeに返す
セキュリティと隔離のため、リファレンス実装は環境の表示と相互作用のための適切なポートマッピングを持つDockerコンテナ内ですべてを実行します。
コンピュータ使用の実装方法
リファレンス実装から始める
コンピュータ使用を素早く開始するために必要なすべてを含むリファレンス実装を構築しました:
- Claudeでのコンピュータ使用に適したコンテナ化された環境
- コンピュータ使用ツールの実装
- Anthropic APIと相互作用し、コンピュータ使用ツールを実行するエージェントループ
- コンテナ、エージェントループ、ツールと相互作用するウェブインターフェース
マルチエージェントループの理解
コンピュータ使用の核心は「エージェントループ」です - Claudeがツールアクションをリクエストし、あなたのアプリケーションがそれらを実行し、結果をClaudeに返すサイクルです。以下は簡略化された例です:
ループは、Claudeがツールをリクエストせずに応答する(タスク完了)か、最大反復制限に達するまで続きます。この安全装置は、予期しないAPIコストを引き起こす可能性のある無限ループを防ぎます。
コンピュータ使用ツールを使用する際は、モデルバージョンに適切なベータフラグを含める必要があります:
注意:Claude 4モデルとClaude Sonnet 3.7では、ベータフラ グはコンピュータ使用ツールにのみ必要です。Claude Sonnet 3.5 (非推奨)では、computer、bash、text editorツールにベータフラグが必要です。
このドキュメントの残りを読む前に、リファレンス実装を試してみることをお勧めします。
プロンプトでモデルパフォーマンスを最適化
最高品質の出力を得るためのヒントをいくつか紹介します:
- シンプルで明確に定義されたタスクを指定し、各ステップに明示的な指示を提供する。
- Claudeは時々、結果を明示的にチェックせずにアクションの結果を仮定することがあります。これを防ぐために、
各ステップの後、スクリーンショットを撮り、正しい結果を達成したかどうかを慎重に評価してください。あなたの思考を明示的に示してください:「ステップXを評価しました...」正しくない場合は、再試行してください。ステップが正しく実行されたことを確認した場合のみ、次のステップに進んでください。
とClaudeにプロンプトできます。 - 一部のUI要素(ドロップダウンやスクロールバーなど)は、Claudeがマウス移動を使用して操作するのが難しい場合があります。これを経験した場合は、キーボードショートカットを使用するようにモデルにプロンプトしてみてください。
- 反復可能なタスクやUI相互作用の場合、プロンプトに成功した結果のサンプルスクリーンショットとツール呼び出しを含めてください。
- モデルにログインが必要な場合は、
<robot_credentials>
のようなxmlタグ内でプロンプトにユーザー名とパスワードを提供してください。ログインが必要なアプリケーション内でコンピュータ使用を使用すると、プロンプトインジェクションの結果として悪い結果のリスクが高まります。モデルにログイン認証情報を提供する前に、プロンプトインジェクションの軽減に関するガイドを確認してください。
明確な問題のセットに繰り返し遭遇したり、Claudeが完了する必要があるタスクを事前に知っている場合は、システムプロンプトを使用してClaudeにタスクを成功させる方法について明示的なヒントや指示を提供してください。
システムプロンプト
Anthropic定義のツールの1つがAnthropic API経由でリクエストされると、コンピュータ使用固有のシステムプロンプトが生成されます。これはツール使用システムプロンプトに似ていますが、以下で始まります:
あなたはユーザーの質問に答えるために使用できる一連の関数にアクセスできます。これには、サンドボックス化されたコンピューティング環境へのアクセスが含まれます。現在、以下の関数を呼び出す以外に、ファイルを検査したり外部リソースと相互作用したりする能力はありません。
通常のツール使用と同様に、ユーザー提供のsystem_prompt
フィールドは引き続き尊重され、結合されたシステムプロンプトの構築に使用されます。
利用可能なアクション
コンピュータ使用ツールは以下のアクションをサポートします:
基本アクション(すべてのバージョン)
- screenshot - 現在のディスプレイをキャプチャ
- left_click - 座標
[x, y]
でクリック - type - テキスト文字列を入力
- key - キーまたはキーの組み合わせを押す(例:「ctrl+s」)
- mouse_move - カーソルを座標に移動
拡張アクション(computer_20250124
)
Claude 4モデルとClaude Sonnet 3.7で利用可能:
- scroll - 量制御で任意の方向にスクロール
- left_click_drag - 座標間でクリックアンドドラッグ
- right_click、middle_click - 追加のマウスボタン
- double_click、triple_click - 複数クリック
- left_mouse_down、left_mouse_up - 細かいクリック制御
- hold_key - 他のアクションを実行しながらキーを保持
- wait - アクション間で一時停止
ツールパラメータ
パラメータ | 必須 | 説明 |
---|---|---|
type | はい | ツールバージョン(computer_20250124 またはcomputer_20241022 ) |
name | はい | 「computer」である必要があります |
display_width_px | はい | ピクセル単位のディスプレイ幅 |
display_height_px | はい | ピクセル単位のディスプレイ高さ |
display_number | いいえ | X11環境のディスプレイ番号 |
最高のパフォーマンスを得るために、ディスプレイ解像度を1280x800(WXGA)以下に保ってください。高い解像度は画像リサイズによる精度の問題を引き起こす可能性があります。
重要:コンピュータ使用ツールはあなたのアプリケーションによって明示的に実行される必要があります - Claudeは直接実行できません。Claudeのリクエストに基づいて、スクリーンショットキャプチャ、マウス移動、キーボード入力、その他のアクションを実装する責任があります。
Claude 4モデルとClaude Sonnet 3.7で思考機能を有効にする
Claude Sonnet 3.7は、複雑なタスクに取り組む際のモデルの推論プロセスを見ることができる新しい「思考」機能を導入しました。この機能は、Claudeが問題にどのようにアプローチしているかを理解するのに役立ち、デバッグや教育目的で特に価値があります。
思考を有効にするには、APIリクエストにthinking
パラメータを追加します:
budget_tokens
パラメータは、Claudeが思考に使用できるトークン数を指定します。これは全体のmax_tokens
予算から差し引かれます。
思考が有効になると、Claudeは応答の一部として推論プロセスを返し、以下に役立ちます:
- モデルの意思決定プロセスを理解
- 潜在的な問題や誤解を特定
- Claudeの問題解決アプローチから学習
- 複雑な多段階操作により多くの可視性を得る
思考出力の例は以下のようになります:
他のツールでコンピュータ使用を拡張
コンピュータ使用ツールは他のツールと組み合わせて、より強力な自動化ワークフローを作成できます。これは以下が必要な場合に特に有用です:
- システムコマンドの実行(bashツール)
- 設定ファイルやスクリプトの編集(テキストエディタツール)
- カスタムAPIやサービスとの統合(カスタムツール)
カスタムコンピュータ使用環境の構築
リファレンス実装は、コンピュータ使用を開始するのに役立つことを意図しています。Claudeがコンピュータを使用するために必要なすべてのコンポーネントが含まれています。ただし、ニーズに合わせてコンピュータ使用のための独自の環境を構築できます。以下が必要です:
- Claudeでのコンピュータ使用に適した仮想化またはコンテナ化された環境
- Anthropic定義のコンピュータ使用ツールの少なくとも1つの実装
- Anthropic APIと相互作用し、ツール実装を使用して
tool_use
結果を実行するエージェントループ - エージェントループを開始するためのユーザー入力を許可するAPIまたはUI
コンピュータ使用ツールの実装
コンピュータ使用ツールは、スキーマレスツールとして実装されます。このツールを使用する際、他のツールのように入力スキーマを提供する必要はありません。スキーマはClaudeのモデルに組み込まれており、変更できません。
コンピューティング環境の設定
Claudeが相互作用する仮想ディスプレイを作成するか、既存のディスプレイに接続します。これは通常、Xvfb(X Virtual Framebuffer)または類似の技術の設定を含みます。
アクションハンドラーの実装
Claudeがリクエストする可能性のある各アクションタイプを処理する関数を作成します:
Claudeのツール呼び出しの処理
Claudeの応答からツール呼び出しを抽出して実行します:
エージェントループの実装
Claudeがタスクを完了するまで続くループを作成します:
エラーの処理
コンピュータ使用ツールを実装する際、さまざまなエラーが発生する可能性があります。以下はそれらの処理方法です:
実装のベストプラクティスに従う
コンピュータ使用の制限事項を理解する
コンピュータ使用機能はベータ版です。Claudeの機能は最先端ですが、開発者はその制限事項を認識する必要があります:
- レイテンシ:現在のコンピュータ使用レイテンシは、人間-AI相互作用において通常の人間主導のコンピュータアクションと比較して遅すぎる可能性があります。信頼できる環境でスピードが重要でないユースケース(例:バックグラウンド情報収集、自動化されたソフトウェアテスト)に焦点を当てることをお勧めします。
- コンピュータビジョンの精度と信頼性:Claudeはアクションを生成する際に特定の座標を出力する際にミスをしたり幻覚を起こしたりする可能性があります。Claude Sonnet 3.7は、モデルの推論を理解し、潜在的な問題を特定するのに役立つ思考機能を導入しています。
- ツール選択の精度と信頼性:Claudeはアクションを生成する際にツールを選択する際にミスをしたり幻覚を起こしたり、問題を解決するために予期しないアクションを取ったりする可能性があります。さらに、ニッチなアプリケーションや複数のアプリケーションを同時に操作する際に信頼性が低下する可能性があります。複雑なタスクをリクエストする際は、ユーザーがモデルに慎重にプロンプトすることをお勧めします。
- スクロールの信頼性:Claude Sonnet 3.5 v2 (非推奨)にはスクロールの制限がありましたが、Claude Sonnet 3.7は方向制御付きの専用スクロールアクションを導入し、信頼性を向上させています。モデルは指定された量だけ任意の方向(上/下/左/右)に明示的にスクロールできるようになりました。
- スプレッドシート相互作用:スプレッドシート相互作用のためのマウスクリックは、
left_mouse_down
、left_mouse_up
、新しい修飾キーサポートなどのより精密なマウス制御アクションの追加により、Claude Sonnet 3.7で改善されました。これらの細かい制御を使用し、修飾キーとクリックを組み合わせることで、セル選択がより信頼できるようになります。 - ソーシャルおよびコミュニケーションプラットフォームでのアカウント作成とコンテンツ生成:Claudeはウェブサイトを訪問しますが、ソーシャルメディアウェブサイトやプラットフォーム全体でアカウントを作成したり、コンテンツを生成・共有したり、その他の人間のなりすましに従事したりする能力を制限しています。将来この機能を更新する可能性があります。
- 脆弱性:ジェイルブレイクやプロンプトインジェクションなどの脆弱性は、ベータコンピュータ使用APIを含むフロンティアAIシステム全体で持続する可能性があります。一部の状況では、Claudeはユーザーの指示と矛盾していても、コンテンツ内で見つかったコマンドに従います。例えば、ウェブページ上のClaude指示や画像に含まれる指示が、指示を上書きしたり、Claudeにミスを犯させたりする可能性があります。以下をお勧めします: a. 最小限の権限を持つ仮想マシンやコンテナなどの信頼できる環境にコンピュータ使用を制限する b. 厳格な監視なしに機密アカウントやデータへのコンピュータ使用アクセスを与えることを避ける c. アプリケーションでコンピュータ使用機能を有効にしたり、必要な権限をリクエストしたりする前に、エンドユーザーに関連するリスクを通知し、同意を得る
- 不適切または違法な行為:Anthropicの利用規約に従い、法律やAcceptable Use Policyに違反するためにコンピュータ使用を使用してはいけません。
Claudeのコンピュータ使用アクションとログを常に慎重に確認・検証してください。完璧な精度や機密ユーザー情報を必要とするタスクには、人間の監視なしにClaudeを使用しないでください。
料金
Computer use follows the standard tool use pricing. When using the computer use tool:
System prompt overhead: The computer use beta adds 466-499 tokens to the system prompt
Computer use tool token usage:
Model | Input tokens per tool definition |
---|---|
Claude 4 / Sonnet 3.7 | 735 tokens |
Claude Sonnet 3.5 (deprecated) | 683 tokens |
Additional token consumption:
- Screenshot images (see Vision pricing)
- Tool execution results returned to Claude
If you’re also using bash or text editor tools alongside computer use, those tools have their own token costs as documented in their respective pages.