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コンテナ、ツール実装例、エージェントループを含むコンピュータ使用リファレンス実装で始めましょう。
コンピュータ使用を始める方法は次のとおりです:
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)ベータヘッダーはコンピュータ使用ツールにのみ必要です。
上記の例では3つのツールすべてを一緒に使用しており、コンピュータ使用ツールが含まれているためベータヘッダーが必要です。
Claudeにコンピュータ使用ツールとユーザープロンプトを提供する
Claudeがコンピュータ使用ツールを選択する
stop_reasonはtool_useとなり、ツール使用リクエストを示します。ツール入力を抽出し、コンピュータ上でツールを評価し、結果を返す
tool_resultコンテンツブロックを含む新しいuserメッセージで会話を続けます。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はこの環境に直接接続しません。代わりに、アプリケーションが以下を行います:
セキュリティと分離のために、リファレンス実装はこれらすべてを、環境の表示と対話のための適切なポートマッピングを備えた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に提供してください。
複数のセッションにまたがるエージェントの場合、実装後だけでなく、各セッションの開始時にエンドツーエンドの検証を実行してください。ブラウザベースのチェックは、コードレベルのレビューだけでは見逃される前のセッションからのリグレッションを検出します。詳細については、長時間実行エージェントのための効果的なハーネスを参照してください。
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 | いいえ | ズームアクションを有効にする(computer_20251124のみ)。Claudeが特定の画面領域にズームインできるようにするにはtrueに設定します。デフォルト:false |
重要: アプリケーションがコンピュータ使用ツールを明示的に実行する必要があります。Claudeは直接実行できません。Claudeのリクエストに基づいて、スクリーンショットキャプチャ、マウス移動、キーボード入力、その他のアクションを実装する責任はあなたにあります。
コンピュータ使用と拡張思考の組み合わせについては、拡張思考を参照してください。
コンピュータ使用に特化した内部ベンチマークでは、以下のeffort設定が推奨されます:
highを使用し、高スループットまたはコスト重視のワークロードにはlowを使用します。mediumを使用します(精度とコストの比率が最良)。maxは避けてください。UIタスクでは精度を向上させずにトークンコストが増加します。これらのモデルでは、lowは思考を完全に無効にするよりも少ない出力トークンを使用します(ミスが少ないほど再試行が少なくなるため)。そのため、コスト重視のループには強力な選択肢となります。コンピュータ使用と並行して他のツールを追加するには、同じtools配列にそれらを含めます。クイックスタートセクションでは、bashツールとテキストエディタツールを使用したこのパターンを示しています。同じ方法で独自のカスタムツール定義を追加できます。
リファレンス実装は、コンピュータ使用を始めるのに役立つことを目的としています。Claudeにコンピュータを使用させるために必要なすべてのコンポーネントが含まれています。ただし、ニーズに合わせて独自のコンピュータ使用環境を構築することもできます。以下が必要です:
tool_useの結果を実行するエージェントループコンピュータ使用ツールはスキーマレスツールとして実装されています。このツールを使用する場合、他のツールのように入力スキーマを提供する必要はありません。スキーマはClaudeのモデルに組み込まれており、変更できません。
コンピューティング環境をセットアップする
Claudeが対話する仮想ディスプレイを作成するか、既存のディスプレイに接続します。これには通常、Xvfb(X Virtual Framebuffer)または同様の技術のセットアップが含まれます。
アクションハンドラーを実装する
Claudeがリクエストする可能性のある各アクションタイプを処理する関数を作成します:
Claudeのツール呼び出しを処理する
Claudeの応答からツール呼び出しを抽出して実行します:
エージェントループを実装する
Claudeがタスクを完了するまで続くループを作成します:
コンピュータ使用ツールを実装する際、さまざまなエラーが発生する可能性があります。以下はそれらの処理方法です:
コンピュータツールに送信されるスクリーンショットは、すでにClaudeの画像サイズ制限内に収まっている必要があります(画像サイズ制限を参照)。APIはサイズ超過の画像をリサイズしません。制限を超えるスクリーンショットは、HTTP 400検証エラーで拒否されます。
制限はモデルによって異なります。Claude Opus 4.8およびClaude Opus 4.7は長辺で最大2576ピクセルを受け付けます。それ以前のモデルは長辺で最大1568ピクセル、合計で約1.15メガピクセルを受け付けます。以下の例では、以前のモデルの1568 px / 1.15 MPの制限を使用しています。お使いのモデルの制限に置き換えてください。
画面が制限より大きい場合は、送信前にスクリーンショットをリサイズし、display_width_px/display_height_pxをリサイズ後の寸法に設定し、Claudeが返す座標を元の画面空間にスケールバックします:
macOS Retinaディスプレイは、デバイスピクセル比2でスクリーンショットをキャプチャするため、画像は論理画面座標の2倍の解像度になります。送信前にスクリーンショットを2倍に縮小するか、クリックを発行する前にClaudeが返す座標を半分にしてください。
クリックがターゲットを外す場合、原因は通常以下のいずれかです:
| 症状 | 考えられる原因 | 対処法 |
|---|---|---|
| クリックが一方向に一貫してずれる | display_width_px/display_height_pxが実際に送信された画像の寸法と一致していない | ディスプレイの寸法が送信するスクリーンショットと正確に一致していることを確認する |
| クリックは正しい領域に着地するがターゲットを外す | ターゲットが非常に小さい、4K以上のソースを縮小する際に詳細が失われた、またはアスペクト比が歪んだ | enable_zoom: trueを設定する。低いDPIでキャプチャするか、関連する領域にトリミングする。リサイズ時にアスペクト比を維持する |
| Claudeが完全に間違った要素をクリックする | 曖昧な指示、または近くに視覚的に類似した要素がある | 位置を指定したプロンプトを使用する(「右下の青いSubmitボタン」)。操作をより小さなステップに分割する |
| 精度が一貫して低い | 解像度が低すぎる | ベースラインとして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ツールやテキストエディタツールも使用している場合、それらのツールにはそれぞれのページに記載されている独自のトークンコストがあります。
次のツールに進む:Claudeでファイルを表示、作成、編集する
完全なDockerベースの実装で始める
ツール使用とカスタムツールの作成について詳しく学ぶ
解像度、思考の労力、コンテキスト管理に関するベンチマーク済みの推奨事項
Was this page helpful?