Was this page helpful?
Claudeは、コンピュータ使用ツールを通じてコンピュータ環境と対話できます。このツールは、自律的なデスクトップ操作のためのスクリーンショット機能とマウス/キーボード制御を提供します。実際のウェブサイトにおける自律的なウェブナビゲーションのベンチマークであるWebArenaにおいて、Claudeはシングルエージェントシステムの中で最先端の結果を達成しており、複数ステップのブラウザタスクをエンドツーエンドで完了する強力な能力を示しています。
コンピュータ使用はベータ版であり、ベータヘッダーが必要です:
"computer-use-2025-11-24""computer-use-2025-01-24"この機能に関するフィードバックは、フィードバックフォームからお寄せください。
この機能はZero Data Retention(ZDR)の対象です。組織がZDR契約を締結している場合、この機能を通じて送信されたデータは、APIレスポンスが返された後に保存されることはありません。
コンピュータ使用は、Claudeがデスクトップ環境と対話できるようにするベータ機能です。このツールは以下を提供します:
コンピュータ使用は、より包括的な自動化ワークフローのためにbashやテキストエディタなどの他のツールと組み合わせて拡張できますが、コンピュータ使用とは具体的には、デスクトップ環境を見て制御するコンピュータ使用ツールの機能を指します。
モデルのサポートについては、ツールリファレンスを参照してください。
コンピュータ使用は、標準的なAPI機能とは異なる固有のリスクを伴うベータ機能です。これらのリスクは、インターネットと対話する際に高まります。
リスクを最小限に抑えるために、以下のような予防措置を検討してください:
状況によっては、Claudeはユーザーの指示と矛盾する場合でも、コンテンツ内に見つかったコマンドに従うことがあります。たとえば、ウェブページ上や画像に含まれるClaudeへの指示が、本来の指示を上書きしたり、Claudeにミスをさせたりする可能性があります。プロンプトインジェクションに関連するリスクを回避するために、Claudeを機密データやアクションから隔離する予防措置を講じてください。
Anthropicは、これらのプロンプトインジェクションに抵抗するようにモデルを訓練し、追加の防御層を追加しました。コンピュータ使用ツールを使用すると、分類器がプロンプトに対して自動的に実行され、プロンプトインジェクションの可能性のあるインスタンスにフラグを立てます。これらの分類器がスクリーンショット内で潜在的なプロンプトインジェクションを特定すると、次のアクションに進む前にユーザーの確認を求めるようにモデルを自動的に誘導します。この追加の保護は、すべてのユースケース(たとえば、人間が介在しないユースケース)に理想的とは限らないため、オプトアウトして無効にしたい場合は、サポートにお問い合わせください。
分類器による防御層が設置されていても、これらの予防措置は引き続き重要です。
自社製品でコンピュータ使用を有効にする前に、エンドユーザーに関連するリスクを通知し、同意を得てください。
ウェブインターフェース、Dockerコンテナ、ツール実装例、エージェントループを含むコンピュータ使用リファレンス実装から始めましょう。
コンピュータ使用を始める方法は次のとおりです:
ベータヘッダーはコンピュータ使用ツールにのみ必要です。
前述の例では3つのツールすべてを一緒に使用していますが、コンピュータ使用ツールが含まれているため、ベータヘッダーが必要です。
Claudeにコンピュータ使用ツールとユーザープロンプトを提供する
Claudeがコンピュータ使用ツールを選択する
tool_useのstop_reasonが含まれ、ツール使用リクエストを示します。ツール入力を抽出し、コンピュータ上でツールを評価し、結果を返す
tool_resultコンテンツブロックを含む新しいuserメッセージで会話を続けます。Claudeはタスクが完了するまでコンピュータ使用ツールを呼び出し続ける
ユーザー入力なしでステップ3と4を繰り返すことを「エージェントループ」と呼びます(つまり、Claudeがツール使用リクエストで応答し、アプリケーションがそのリクエストを評価した結果をClaudeに返すことです)。
コンピュータ使用には、Claudeがアプリケーションやウェブと安全に対話できるサンドボックス化されたコンピューティング環境が必要です。この環境には以下が含まれます:
仮想ディスプレイ: Claudeがスクリーンショットを通じて見て、マウス/キーボードアクションで制御するデスクトップインターフェースをレンダリングする仮想X11ディスプレイサーバー(Xvfbを使用)。
デスクトップ環境: Linux上で動作するウィンドウマネージャー(Mutter)とパネル(Tint2)を備えた軽量UI。Claudeが対話するための一貫したグラフィカルインターフェースを提供します。
アプリケーション: Firefox、LibreOffice、テキストエディタ、ファイルマネージャーなど、Claudeがタスクを完了するために使用できるプリインストールされたLinuxアプリケーション。
ツール実装: Claudeの抽象的なツールリクエスト(「マウスを移動」や「スクリーンショットを撮る」など)を仮想環境での実際の操作に変換する統合コード。
エージェントループ: Claudeと環境間の通信を処理し、Claudeのアクションを環境に送信し、結果(スクリーンショット、コマンド出力)をClaudeに返すプログラム。
コンピュータ使用を利用する際、Claudeはこの環境に直接接続しません。代わりに、アプリケーションが以下を行います:
セキュリティと分離のために、リファレンス実装はこれらすべてを、環境の表示と対話のための適切なポートマッピングを備えたDockerコンテナ内で実行します。
コンピュータ使用を始めるために必要なすべてを含むリファレンス実装が利用可能です:
コンピュータ使用の中核は「エージェントループ」です。これは、Claudeがツールアクションをリクエストし、アプリケーションがそれらを実行し、結果をClaudeに返すサイクルです。以下は簡略化された例です:
ループは、Claudeがツールをリクエストせずに応答する(タスク完了)か、最大反復回数に達するまで続きます。この安全策により、予期しないAPIコストにつながる可能性のある無限ループを防ぎます。
このドキュメントの残りを読む前に、リファレンス実装を試してみてください。
最高品質の出力を得るためのヒントをいくつか紹介します:
After each step, take a screenshot and carefully evaluate if you have achieved the right outcome. Explicitly show your thinking: "I have evaluated step X..." If not correct, try again. Only when you confirm a step was executed correctly should you move on to the next one.のようにClaudeにプロンプトを与えることができます。<robot_credentials>などのXMLタグ内にユーザー名とパスワードをプロンプトで提供します。ログインを必要とするアプリケーション内でコンピュータ使用を利用すると、プロンプトインジェクションの結果として悪い結果が生じるリスクが高まります。モデルにログイン認証情報を提供する前に、ジェイルブレイクとプロンプトインジェクションの軽減を確認してください。content配列を構築する際は、指示テキストをスクリーンショット画像の前に配置します。画像が処理される前にターゲットの説明を提供することで、クリックの精度が向上します。enable_zoom: trueを設定してcomputer_20251124を使用する場合、Claudeは、サイドバーのファイル名、タブタイトル、ステータスバーのテキスト、行番号、ボタンラベルなど、スクリーンショットのデフォルト解像度では判読できない小さなテキストや特定のUI要素について尋ねられたときに、その領域にズームインします。期待どおりにClaudeがズームしない場合は、画面全体ではなく特定の領域や要素について尋ねてください。明確な問題のセットに繰り返し遭遇する場合、またはClaudeが完了する必要のあるタスクを事前に把握している場合は、システムプロンプトを使用して、タスクを正常に実行する方法についての明示的なヒントや指示をClaudeに提供してください。
複数のセッションにまたがるエージェントの場合、実装後だけでなく、各セッションの開始時にエンドツーエンドの検証を実行してください。ブラウザベースのチェックは、コードレベルのレビューだけでは見逃される前のセッションからのリグレッションを検出します。詳細については、Effective harnesses for long-running agentsを参照してください。
Anthropicスキーマツールのいずれかが Claude API を通じてリクエストされると、コンピュータ使用専用のシステムプロンプトが生成されます。これはツール使用システムプロンプトに似ていますが、次のように始まります:
You have access to a set of functions you can use to answer the user's question. This includes access to a sandboxed computing environment. You do NOT currently have the ability to inspect files or interact with external resources, except by invoking the below functions.
通常のツール使用と同様に、ユーザーが提供するsystem_promptフィールドは引き続き尊重され、結合されたシステムプロンプトの構築に使用されます。
コンピュータ使用ツールは以下のアクションをサポートしています:
基本アクション(すべてのバージョン)
[x, y]でクリック拡張アクション(computer_20250124)
コンピュータ使用をサポートするすべてのモデルで利用可能:
拡張アクション(computer_20251124)
Claude Opus 4.8、Claude Opus 4.7、Claude Opus 4.6、Claude Sonnet 4.6、Claude Opus 4.5で利用可能:
computer_20250124のすべてのアクションenable_zoom: trueが必要です。検査する領域の左上と右下の角を定義する座標[x1, y1, x2, y2]を持つregionパラメータを受け取ります。| パラメータ | 必須 | 説明 |
|---|---|---|
type | はい | ツールバージョン(computer_20251124またはcomputer_20250124) |
name | はい | 「computer」である必要があります |
display_width_px | はい | ディスプレイの幅(ピクセル単位) |
display_height_px | はい | ディスプレイの高さ(ピクセル単位) |
display_number | いいえ | X11環境のディスプレイ番号 |
enable_zoom |
重要: アプリケーションがコンピュータ使用ツールを明示的に実行する必要があります。Claudeは直接実行できません。Claudeのリクエストに基づいて、スクリーンショットキャプチャ、マウス移動、キーボード入力、その他のアクションを実装する責任はあなたにあります。
コンピュータ使用と拡張思考の組み合わせについては、拡張思考を参照してください。
コンピュータ使用に関しては、内部ベンチマークに基づいて以下のeffort設定を推奨します:
highを使用します。高スループットまたはコスト重視のワークロードにはlowを使用します。mediumを使用します(精度とコストの比率が最良)。maxは避けてください。UIタスクでは精度を向上させることなくトークンコストが増加します。これらのモデルでは、lowは思考を完全に無効にするよりも少ない出力トークンを使用します(ミスが少ないほど再試行も少なくなるため)。そのため、コスト重視のループには強力な選択肢となります。コンピュータ使用と並行して他のツールを追加するには、同じtools配列にそれらを含めます。クイックスタートセクションでは、bashツールとテキストエディタツールを使用したこのパターンを示しています。同じ方法で独自のカスタムツール定義を追加できます。
リファレンス実装は、コンピュータ使用を始めるのに役立つことを目的としています。Claudeにコンピュータを使用させるために必要なすべてのコンポーネントが含まれています。ただし、ニーズに合わせて独自のコンピュータ使用環境を構築することもできます。以下が必要です:
tool_useの結果を実行するエージェントループコンピュータ使用ツールは、スキーマレスツールとして実装されています。このツールを使用する場合、他のツールのように入力スキーマを提供する必要はありません。スキーマはClaudeのモデルに組み込まれており、変更できません。
コンピュータ使用ツールを実装する際、さまざまなエラーが発生する可能性があります。以下はそれらの処理方法です:
Claude Opus 4.8およびClaude Opus 4.7は長辺で最大2576ピクセルをサポートしており、その座標は画像ピクセルと1:1です(スケールファクターの変換は不要)。以下の1568ピクセルに関するガイダンスは、それ以前のモデルに適用されます。
APIは画像を最長辺で最大1568ピクセル、合計約1.15メガピクセルに制限します(詳細は画像のリサイズを参照)。たとえば、1512x982の画面は約1330x864にダウンサンプリングされます。Claudeはこの小さい画像を分析し、その空間での座標を返しますが、ツールは元の画面空間でクリックを実行します。
座標変換を処理しない限り、これによりClaudeのクリック座標がターゲットを外す可能性があります。
これを修正するには、スクリーンショットを自分でリサイズし、Claudeの座標を元のスケールに戻します:
macOS Retinaディスプレイは、デバイスピクセル比2でスクリーンショットをキャプチャするため、画像は論理画面座標の2倍の解像度になります。送信前にスクリーンショットを2分の1にダウンスケールするか、クリックを発行する前にClaudeが返す座標を半分にしてください。
クリックがターゲットを外す場合、原因は通常以下のいずれかです:
| 症状 | 考えられる原因 | 対処法 |
|---|---|---|
| クリックが一方向に一貫してずれる | display_width_px/display_height_pxが実際に送信された画像の寸法と一致していない、または画像がAPI制限を超えて暗黙的にダウンスケールされている | ディスプレイの寸法がリサイズされたスクリーンショットと正確に一致することを確認する。API制限内に収まるように事前にダウンスケールする |
| クリックが正しい領域に着地するがターゲットを外す | ターゲットが非常に小さい、4K以上のソースをダウンスケールする際に詳細が失われた、またはアスペクト比が歪んでいる | enable_zoom: trueを設定する。低いDPIでキャプチャするか、関連する領域にトリミングする。リサイズ時にアスペクト比を維持する |
| Claudeが完全に間違った要素をクリックする | 曖昧な指示、または近くに視覚的に類似した要素がある | 位置を指定したプロンプトを使用する(「右下の青いSubmitボタン」)。操作をより小さなステップに分割する |
| 精度が一貫して低い | API制限を超えるスクリーンショットが送信されている、または解像度が低すぎる | 制限内に収まるように事前にダウンスケールする。ベースラインとして1280x720を試す |
モデルの選択はクリック精度に影響します。 Claude Sonnet 4.6はClaude Opus 4.6よりもクリックの機械的精度が高く、スクリーンショットが大幅なダウンスケーリングを必要とする場合により堅牢です。Claude Opus 4.7はその差を縮めています。クリック精度はSonnet 4.6とほぼ同等であり、解像度の上限が高いため、必要なダウンスケーリングが少なくなります。
コンピュータ使用機能はベータ版です。Claudeの能力は最先端ですが、開発者は以下の制限事項を認識しておく必要があります。
left_mouse_down、left_mouse_up)と修飾キーの組み合わせを使用してください。複雑なスプレッドシート操作には、依然として複数回の試行が必要な場合があります。Claudeのコンピュータ使用アクションとログは常に慎重に確認および検証してください。人間による監視なしに、完璧な精度や機密性の高いユーザー情報を必要とするタスクにClaudeを使用しないでください。
コンピュータ使用はクライアント側のツールです。セッションに関わるすべてのスクリーンショット、マウスアクション、キーボード入力、およびファイルは、Anthropicではなく、お客様の環境でキャプチャおよび保存されます。AnthropicはAPI呼び出しの一部としてスクリーンショット画像とアクションリクエストをリアルタイムで処理しますが、レスポンスが返された後はそれらを保持しません。
コンピュータ使用データがどこにどのように保存されるかはお客様のアプリケーションが制御するため、コンピュータ使用はZDR(ゼロデータ保持)の対象となります。すべての機能におけるZDRの対象については、APIとデータ保持を参照してください。
コンピュータ使用は、標準のツール使用の料金体系に従います。コンピュータ使用ツールを使用する場合:
システムプロンプトのオーバーヘッド:コンピュータ使用ベータ版は、システムプロンプトに466〜499トークンを追加します
コンピュータ使用ツールのトークン使用量:
| モデル | ツール定義ごとの入力トークン数 |
|---|---|
| Claude 4.xモデル | 735トークン |
追加のトークン消費:
コンピュータ使用と併せてbashツールやテキストエディタツールも使用している場合、それらのツールにはそれぞれのページに記載されている独自のトークンコストがあります。
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-opus-4-8", # or another compatible model
max_tokens=1024,
tools=[
{
"type": "computer_20251124",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
"display_number": 1,
},
{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"},
{"type": "bash_20250124", "name": "bash"},
],
messages=[{"role": "user", "content": "Save a picture of a cat to my desktop."}],
betas=["computer-use-2025-11-24"],
)
print(response)tool_use stop_reasonで応答し、ステップ3に戻る必要があります。| いいえ |
ズームアクションを有効にする(computer_20251124のみ)。Claudeが特定の画面領域にズームインできるようにするにはtrueに設定します。デフォルト:false |
コンピューティング環境をセットアップする
Claudeが対話する仮想ディスプレイを作成するか、既存のディスプレイに接続します。これには通常、Xvfb(X Virtual Framebuffer)または同様の技術のセットアップが含まれます。
アクションハンドラーを実装する
Claudeがリクエストする可能性のある各アクションタイプを処理する関数を作成します:
Claudeのツール呼び出しを処理する
Claudeの応答からツール呼び出しを抽出して実行します:
エージェントループを実装する
Claudeがタスクを完了するまで続くループを作成します:
解像度、思考の労力、コンテキスト管理に関するベンチマーク済みの推奨事項