Loading...
    • 開発者ガイド
    • APIリファレンス
    • MCP
    • リソース
    • リリースノート
    Search...
    ⌘K
    最初のステップ
    Claudeの紹介クイックスタート
    モデルと価格
    モデル概要モデルの選択Claude 4.5の新機能Claude 4.5への移行モデルの廃止予定価格
    Claudeで構築
    機能概要Messages APIの使用コンテキストウィンドウプロンプトのベストプラクティス
    機能
    プロンプトキャッシングコンテキスト編集拡張思考エフォートストリーミングメッセージバッチ処理引用多言語対応トークンカウント埋め込みビジョンPDF対応Files API検索結果構造化出力
    ツール
    概要ツール使用の実装方法細粒度ツールストリーミングBashツールコード実行ツールプログラマティックツール呼び出しコンピュータ使用ツールテキストエディタツールWebフェッチツールWeb検索ツールメモリツールツール検索ツール
    エージェントスキル
    概要クイックスタートベストプラクティスAPIでスキルを使用
    Agent SDK
    概要クイックスタートTypeScript SDKTypeScript V2(プレビュー)Python SDK移行ガイド
    APIのMCP
    MCPコネクタリモートMCPサーバー
    サードパーティプラットフォームのClaude
    Amazon BedrockMicrosoft FoundryVertex AI
    プロンプトエンジニアリング
    概要プロンプトジェネレータプロンプトテンプレートの使用プロンプト改善ツール明確で直接的に例を使用(マルチショットプロンプティング)Claudeに考えさせる(CoT)XMLタグを使用Claudeに役割を与える(システムプロンプト)Claudeの応答を事前入力複雑なプロンプトをチェーン長いコンテキストのヒント拡張思考のヒント
    テストと評価
    成功基準の定義テストケースの開発評価ツールの使用レイテンシの削減
    ガードレールの強化
    ハルシネーションの削減出力の一貫性を向上ジェイルブレイクの軽減ストリーミング拒否プロンプトリークの削減Claudeをキャラクターのままに
    管理とモニタリング
    Admin API概要使用状況とコストAPIClaude Code Analytics API
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    ツール

    コンピュータ使用ツール

    Claudeがコンピュータ環境と対話するためのコンピュータ使用ツール。スクリーンショット機能とマウス/キーボード制御を提供します。

    Claudeはコンピュータ使用ツールを通じてコンピュータ環境と対話できます。このツールはスクリーンショット機能とマウス/キーボード制御を提供し、自律的なデスクトップ操作を可能にします。

    コンピュータ使用は現在ベータ版であり、ベータヘッダーが必要です:

    • Claude Opus 4.5の場合は"computer-use-2025-11-24"
    • Claude Sonnet 4.5、Haiku 4.5、Opus 4.1、Sonnet 4、Opus 4、Sonnet 3.7の場合は"computer-use-2025-01-24"(非推奨)

    概要

    コンピュータ使用はベータ機能で、Claudeがデスクトップ環境と対話できるようにします。このツールは以下を提供します:

    • スクリーンショットキャプチャ: 現在画面に表示されているものを確認
    • マウス制御: クリック、ドラッグ、カーソル移動
    • キーボード入力: テキスト入力とキーボードショートカット
    • デスクトップオートメーション: あらゆるアプリケーションやインターフェースと対話

    コンピュータ使用はbashやテキストエディタなどの他のツールで拡張でき、より包括的なオートメーションワークフローが可能ですが、コンピュータ使用は特にコンピュータ使用ツールのデスクトップ環境を見て制御する機能を指します。

    モデル互換性

    コンピュータ使用は以下のClaudeモデルで利用可能です:

    モデルツールバージョンベータフラグ
    Claude Opus 4.5computer_20251124computer-use-2025-11-24
    その他すべてのサポートモデルcomputer_20250124computer-use-2025-01-24

    Claude Opus 4.5は、詳細なスクリーン領域検査用のズームアクションを含む新機能を備えたcomputer_20251124ツールバージョンを導入しています。その他すべてのモデル(Sonnet 4.5、Haiku 4.5、Sonnet 4、Opus 4、Opus 4.1、Sonnet 3.7)はcomputer_20250124ツールバージョンを使用します。

    古いツールバージョンは、新しいモデルとの下位互換性が保証されていません。常にモデルバージョンに対応するツールバージョンを使用してください。

    セキュリティに関する考慮事項

    コンピュータ使用はベータ機能で、標準的なAPI機能とは異なるユニークなリスクがあります。インターネットと対話する場合、これらのリスクはさらに高まります。リスクを最小化するために、以下のような予防措置を検討してください:

    1. 直接的なシステム攻撃や事故を防ぐため、最小限の権限を持つ専用の仮想マシンまたはコンテナを使用します。
    2. 情報盗難を防ぐため、アカウントログイン情報などの機密データへのアクセスをモデルに与えないようにします。
    3. 悪意のあるコンテンツへの露出を減らすため、インターネットアクセスをドメインのホワイトリストに制限します。
    4. 実世界に意味のある結果をもたらす可能性のある決定、およびクッキーの受け入れ、金融取引の実行、利用規約への同意など肯定的な同意が必要なタスクについては、人間に確認を求めます。

    状況によっては、Claudeはユーザーの指示と矛盾していても、コンテンツ内で見つかったコマンドに従う場合があります。例えば、Webページ内または画像に含まれるClaude指示は、ユーザーの指示をオーバーライドしたり、Claudeが間違いを犯す原因となる可能性があります。Claudeをプロンプトインジェクション関連のリスクから保護するため、機密データとアクションから隔離することをお勧めします。

    私たちはモデルをこれらのプロンプトインジェクションに耐性を持つようにトレーニングし、追加の防御層を追加しました。コンピュータ使用ツールを使用する場合、プロンプトインジェクションの可能性がある場合を自動的にフラグを立てるために、プロンプトに対して分類器を自動的に実行します。これらの分類器がスクリーンショット内でプロンプトインジェクションの可能性を特定した場合、次のアクションに進む前にユーザーの確認を求めるようにモデルを自動的に誘導します。この追加の保護がすべてのユースケースに理想的ではないことを認識しています(例えば、人間がループに含まれていないユースケース)。オプトアウトしてオフにしたい場合は、お問い合わせください。

    プロンプトインジェクション関連のリスクを回避するため、Claudeを機密データとアクションから隔離することをお勧めします。

    最後に、独自の製品でコンピュータ使用を有効にする前に、エンドユーザーに関連するリスクを通知し、同意を得てください。

    コンピュータ使用リファレンス実装

    Webインターフェース、Dockerコンテナ、ツール実装例、エージェントループを含むコンピュータ使用リファレンス実装で素早く開始できます。

    注: 実装はClaude 4モデルとClaude Sonnet 3.7の両方の新しいツールを含むように更新されています。これらの新機能にアクセスするには、必ずリポジトリの最新バージョンをプルしてください。

    このフォームを使用して、モデル応答の品質、API自体、またはドキュメントの品質についてフィードバックを提供してください。皆様からのご意見をお待ちしています!

    クイックスタート

    コンピュータ使用を開始する方法は以下の通りです:

    import anthropic
    
    client = anthropic.Anthropic()
    
    response = client.beta.messages.create(
        model="claude-sonnet-4-5",  # または別の互換モデル
        max_tokens=1024,
        tools=[
            {
              "type": "computer_20250124",
              "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-01-24"]
    )
    print(response)

    ベータヘッダーはコンピュータ使用ツールにのみ必要です。

    上記の例は3つのツールすべてが一緒に使用されている場合を示しており、コンピュータ使用ツールが含まれているため、ベータヘッダーが必要です。


    コンピュータ使用の仕組み

    1. 1

      1. Claudeにコンピュータ使用ツールとユーザープロンプトを提供する

      • APIリクエストにコンピュータ使用ツール(およびオプションで他のツール)を追加します。
      • デスクトップ操作が必要なユーザープロンプトを含めます。例えば、「デスクトップに猫の写真を保存してください」など。
    2. 2

      2. Claudeがコンピュータ使用ツールを使用することを決定する

      • Claudeはコンピュータ使用ツールがユーザーのクエリに役立つかどうかを評価します。
      • はいの場合、Claudeは適切にフォーマットされたツール使用リクエストを構築します。
      • APIレスポンスはstop_reasonがtool_useとなり、Claudeの意図を示します。
    3. 3

      3. ツール入力を抽出し、コンピュータ上でツールを評価し、結果を返す

      • あなたの側で、Claudeのリクエストからツール名と入力を抽出します。
      • コンテナまたは仮想マシン上でツールを使用します。
      • tool_resultコンテンツブロックを含む新しいuserメッセージで会話を続けます。
    4. 4

      4. Claudeはタスクが完了するまでコンピュータ使用ツールの呼び出しを続ける

      • Claudeはツール結果を分析して、さらにツール使用が必要か、タスクが完了したかを判断します。
      • Claudeが別のツールが必要だと判断した場合、別のtool_use stop_reasonで応答し、ステップ3に戻る必要があります。
      • そうでない場合、ユーザーへのテキスト応答を作成します。

    ユーザー入力なしでステップ3と4の繰り返しを「エージェントループ」と呼びます。つまり、Claudeがツール使用リクエストで応答し、アプリケーションがそのリクエストの評価結果でClaudeに応答します。

    コンピューティング環境

    コンピュータ使用には、Claudeがアプリケーションとウェブと安全に対話できるサンドボックス化されたコンピューティング環境が必要です。この環境には以下が含まれます:

    1. 仮想ディスプレイ: 仮想X11ディスプレイサーバー(Xvfbを使用)で、Claudeがスクリーンショットを通じて見て、マウス/キーボードアクションで制御するデスクトップインターフェースをレンダリングします。

    2. デスクトップ環境: Linuxで実行される軽量UI(ウィンドウマネージャーMutter、パネルTint2)で、Claudeが対話するための一貫したグラフィカルインターフェースを提供します。

    3. アプリケーション: Firefox、LibreOffice、テキストエディタ、ファイルマネージャなど、Claudeがタスク完了に使用できるプリインストールされたLinuxアプリケーション。

    4. ツール実装: Claudeの抽象的なツールリクエスト(「マウスを移動」や「スクリーンショットを撮る」など)を仮想環境での実際の操作に変換する統合コード。

    5. エージェントループ: Claudeと環境間の通信を処理し、Claudeのアクションを環境に送信し、結果(スクリーンショット、コマンド出力)をClaudeに返すプログラム。

    コンピュータ使用を使用する場合、Claudeはこの環境に直接接続しません。代わりに、アプリケーションが:

    1. Claudeのツール使用リクエストを受け取ります
    2. それらをコンピューティング環境のアクションに変換します
    3. 結果(スクリーンショット、コマンド出力など)をキャプチャします
    4. これらの結果をClaudeに返します

    セキュリティと隔離のため、リファレンス実装はすべてをDockerコンテナ内で実行し、環境の表示と対話のための適切なポートマッピングを備えています。


    コンピュータ使用の実装方法

    リファレンス実装から開始する

    コンピュータ使用を素早く開始するために必要なすべてを含むリファレンス実装を構築しました:

    • Claudeでのコンピュータ使用に適したコンテナ化環境
    • コンピュータ使用ツールの実装
    • Claude APIと対話し、コンピュータ使用ツールを実行するエージェントループ
    • コンテナ、エージェントループ、ツールと対話するWebインターフェース。

    マルチエージェントループの理解

    コンピュータ使用の中核は「エージェントループ」です。Claudeがツールアクションをリクエストし、アプリケーションがそれらを実行し、結果をClaudeに返すサイクルです。簡略化された例を以下に示します:

    async def sampling_loop(
        *,
        model: str,
        messages: list[dict],
        api_key: str,
        max_tokens: int = 4096,
        tool_version: str,
        thinking_budget: int | None = None,
        max_iterations: int = 10,  # 無限ループを防ぐため反復制限を追加
    ):
        """
        Claudeコンピュータ使用対話用のシンプルなエージェントループ。
    
        この関数は以下の間のやり取りを処理します:
        1. ユーザーメッセージをClaudeに送信
        2. Claudeがツール使用をリクエスト
        3. アプリケーションがそれらのツールを実行
        4. ツール結果をClaudeに送信
        """
        # ツールとAPIパラメータを設定
        client = Anthropic(api_key=api_key)
        beta_flag = "computer-use-2025-01-24" if "20250124" in tool_version else "computer-use-2024-10-22"
    
        # ツールを設定 - これらは他の場所で既に初期化されているはずです
        tools = [
            {"type": f"computer_{tool_version}", "name": "computer", "display_width_px": 1024, "display_height_px": 768},
            {"type": f"text_editor_{tool_version}", "name": "str_replace_editor"},
            {"type": f"bash_{tool_version}", "name": "bash"}
        ]
    
        # メインエージェントループ(実行不可能なAPIコストを防ぐため反復制限付き)
        iterations = 0
        while True and iterations < max_iterations:
            iterations += 1
            # オプションの思考パラメータを設定(Claude Sonnet 3.7用)
            thinking = None
            if thinking_budget:
                thinking = {"type": "enabled", "budget_tokens": thinking_budget}
    
            # Claude APIを呼び出す
            response = client.beta.messages.create(
                model=model,
                max_tokens=max_tokens,
                messages=messages,
                tools=tools,
                betas=[beta_flag],
                thinking=thinking
            )
    
            # Claudeの応答を会話履歴に追加
            response_content = response.content
            messages.append({"role": "assistant", "content": response_content})
    
            # Claudeがツールを使用したかどうかを確認
            tool_results = []
            for block in response_content:
                if block.type == "tool_use":
                    # 実際のアプリケーションでは、ここでツールを実行します
                    # 例: result = run_tool(block.name, block.input)
                    result = {"result": "Tool executed successfully"}
    
                    # Claudeの結果をフォーマット
                    tool_results.append({
                        "type": "tool_result",
                        "tool_use_id": block.id,
                        "content": result
                    })
    
            # ツールが使用されなかった場合、Claudeは完了 - 最終メッセージを返す
            if not tool_results:
                return messages
    
            # 次のClaudeイテレーション用にメッセージにツール結果を追加
            messages.append({"role": "user", "content": tool_results})

    ループは、Claudeがツールをリクエストせずに応答するか(タスク完了)、最大反復制限に達するまで続きます。このセーフガードは、予期しないAPIコストをもたらす可能性のある無限ループを防ぎます。

    リファレンス実装を試してから、このドキュメントの残りを読むことをお勧めします。

    プロンプティングでモデルパフォーマンスを最適化する

    最高品質の出力を得るためのいくつかのヒントを以下に示します:

    1. シンプルで明確に定義されたタスクを指定し、各ステップに対して明示的な指示を提供します。
    2. Claudeは明示的に結果を確認せずにアクションの結果を想定することがあります。これを防ぐために、Claudeに各ステップの後、スクリーンショットを撮り、正しい結果を達成したかどうかを慎重に評価してください。明示的に思考を示してください:「ステップXを評価しました...」。正しくない場合は、もう一度試してください。ステップが正しく実行されたことを確認した場合のみ、次のステップに進んでください。とプロンプトを入力します。
    3. 一部のUI要素(ドロップダウンやスクロールバーなど)は、マウス移動を使用してClaudeが操作するのが難しい場合があります。これが発生した場合は、モデルにキーボードショートカットを使用するようにプロンプトを入力してみてください。
    4. 繰り返し可能なタスクまたはUI操作の場合、成功した結果のスクリーンショットとツール呼び出しの例をプロンプトに含めます。
    5. モデルがログインする必要がある場合、ユーザー名とパスワードを<robot_credentials>などのxmlタグ内のプロンプトで提供します。ログインが必要なアプリケーション内でコンピュータ使用を使用すると、プロンプトインジェクションの結果として悪い結果のリスクが増加します。モデルにログイン認証情報を提供する前に、プロンプトインジェクション軽減ガイドを確認してください。

    明確な問題のセットに繰り返し遭遇する場合、またはClaudeが完了する必要があるタスクを事前に知っている場合は、システムプロンプトを使用して、Claudeにタスクを成功させる方法に関する明示的なヒントまたは指示を提供します。

    システムプロンプト

    Anthropic定義のツールの1つが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フィールドは依然として尊重され、結合されたシステムプロンプトの構築で使用されます。

    利用可能なアクション

    コンピュータ使用ツールは以下のアクションをサポートしています:

    基本アクション(すべてのバージョン)

    • 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 - アクション間で一時停止

    拡張アクション(computer_20251124) Claude Opus 4.5で利用可能:

    • computer_20250124のすべてのアクション
    • zoom - スクリーン領域を全解像度で表示。ツール定義でenable_zoom: trueが必要。検査する領域の左上と右下の角を定義する座標[x1, y1, x2, y2]を持つregionパラメータを取ります。

    ツールパラメータ

    パラメータ必須説明
    typeはいツールバージョン(computer_20251124、computer_20250124、またはcomputer_20241022)
    nameはい「computer」である必要があります
    display_width_pxはいディスプレイ幅(ピクセル)
    display_height_pxはいディスプレイ高さ(ピクセル)
    display_numberいいえX11環境のディスプレイ番号
    enable_zoomいいえズームアクションを有効にする(computer_20251124のみ)。Claudeが特定のスクリーン領域にズームできるようにするにはtrueに設定します。デフォルト: false

    重要: コンピュータ使用ツールはアプリケーションで明示的に実行する必要があります。Claudeは直接実行できません。スクリーンショットキャプチャ、マウス移動、キーボード入力、およびClaudeのリクエストに基づく他のアクションの実装はあなたの責任です。

    Claude 4モデルとClaude Sonnet 3.7で思考機能を有効にする

    Claude Sonnet 3.7は新しい「思考」機能を導入しました。これにより、複雑なタスクに取り組む際のモデルの推論プロセスを見ることができます。この機能は、Claudeが問題にどのようにアプローチしているかを理解するのに役立ち、デバッグや教育目的に特に価値があります。

    思考を有効にするには、APIリクエストにthinkingパラメータを追加します:

    "thinking": {
      "type": "enabled",
      "budget_tokens": 1024
    }

    budget_tokensパラメータは、Claudeが思考に使用できるトークン数を指定します。これは全体的なmax_tokens予算から差し引かれます。

    思考が有効な場合、Claudeは応答の一部として推論プロセスを返します。これは以下に役立ちます:

    1. モデルの意思決定プロセスを理解する
    2. 潜在的な問題または誤解を特定する
    3. Claudeの問題解決へのアプローチから学ぶ
    4. 複雑なマルチステップ操作への可視性を向上させる

    思考出力がどのように見えるかの例を以下に示します:

    [思考]
    猫の写真をデスクトップに保存する必要があります。これをステップに分解しましょう:
    
    1. まず、スクリーンショットを撮ってデスクトップに何があるかを確認します
    2. 次に、猫の画像を検索するWebブラウザを探します
    3. 適切な画像を見つけた後、デスクトップに保存する必要があります
    
    スクリーンショットを撮って、何が利用可能かを確認することから始めましょう...

    コンピュータ使用を他のツールで拡張する

    コンピュータ使用ツールは他のツールと組み合わせて、より強力なオートメーションワークフローを作成できます。これは以下が必要な場合に特に役立ちます:

    • システムコマンドを実行する(bashツール)
    • 設定ファイルまたはスクリプトを編集する(テキストエディタツール)
    • カスタムAPIまたはサービスと統合する(カスタムツール)
    curl https://api.anthropic.com/v1/messages \
      -H "content-type: application/json" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: computer-use-2025-01-24" \
      -d '{
        "model": "claude-sonnet-4-5",
        "max_tokens": 2000,
        "tools": [
          {
            "type": "computer_20250124",
            "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"
          },
          {
            "name": "get_weather",
            "description": "Get the current weather in a given location",
            "input_schema": {
              "type": "object",
              "properties": {
                "location": {
                  "type": "string",
                  "description": "The city and state, e.g. San Francisco, CA"
                },
                "unit": {
                  "type": "string",
                  "enum": ["celsius", "fahrenheit"],
                  "description": "The unit of temperature, either 'celsius' or 'fahrenheit'"
                }
              },
              "required": ["location"]
            }
          }
        ],
        "messages": [
          {
            "role": "user",
            "content": "Find flights from San Francisco to a place with warmer weather."
          }
        ],
        "thinking": {
          "type": "enabled",
          "budget_tokens": 1024
        }
      }'

    カスタムコンピュータ使用環境を構築する

    リファレンス実装は、コンピュータ使用を開始するのに役立つように設計されています。Claudeがコンピュータを使用するために必要なすべてのコンポーネントが含まれています。ただし、ニーズに合わせてコンピュータ使用のための独自の環境を構築できます。以下が必要です:

    • Claudeでのコンピュータ使用に適した仮想化またはコンテナ化環境
    • Anthropic定義のコンピュータ使用ツールの少なくとも1つの実装
    • Claude APIと相互作用し、ツール実装を使用してtool_use結果を実行するエージェントループ
    • エージェントループを開始するためのユーザー入力を許可するAPIまたはUI

    コンピュータ使用ツールを実装する

    コンピュータ使用ツールはスキーマレスツールとして実装されます。このツールを使用する場合、他のツールのような入力スキーマを提供する必要はありません。スキーマはClaudeのモデルに組み込まれており、変更することはできません。

    1. 1

      コンピューティング環境をセットアップする

      Claudeが相互作用する仮想ディスプレイを作成するか、既存のディスプレイに接続します。これは通常、Xvfb(X Virtual Framebuffer)または同様のテクノロジーのセットアップを含みます。

    2. 2

      アクションハンドラーを実装する

      Claudeがリクエストする可能性のある各アクションタイプを処理する関数を作成します:

      def handle_computer_action(action_type, params):
          if action_type == "screenshot":
              return capture_screenshot()
          elif action_type == "left_click":
              x, y = params["coordinate"]
              return click_at(x, y)
          elif action_type == "type":
              return type_text(params["text"])
          # ... handle other actions
    3. 3

      Claudeのツール呼び出しを処理する

      Claudeの応答からツール呼び出しを抽出して実行します:

      for content in response.content:
          if content.type == "tool_use":
              action = content.input["action"]
              result = handle_computer_action(action, content.input)
              
              # Return result to Claude
              tool_result = {
                  "type": "tool_result",
                  "tool_use_id": content.id,
                  "content": result
              }
    4. 4

      エージェントループを実装する

      Claudeがタスクを完了するまで続くループを作成します:

      while True:
          response = client.beta.messages.create(...)
          
          # Check if Claude used any tools
          tool_results = process_tool_calls(response)
          
          if not tool_results:
              # No more tool use, task complete
              break
              
          # Continue conversation with tool results
          messages.append({"role": "user", "content": tool_results})

    エラーを処理する

    コンピュータ使用ツールを実装する場合、さまざまなエラーが発生する可能性があります。以下はそれらを処理する方法です:

    より高い解像度の座標スケーリングを処理する

    APIは画像を最長辺で最大1568ピクセル、合計約1.15メガピクセルに制限します(詳細は画像のサイズ変更を参照)。たとえば、1512x982スクリーンは約1330x864にダウンサンプリングされます。Claudeはこのより小さい画像を分析し、そのスペースで座標を返しますが、ツールは元のスクリーンスペースでクリックを実行します。

    座標変換を処理しない限り、Claudeのクリック座標がターゲットを逃す可能性があります。

    これを修正するには、スクリーンショットを自分でサイズ変更し、Claudeの座標をスケールアップします:

    import math
    
    def get_scale_factor(width, height):
        """Calculate scale factor to meet API constraints."""
        long_edge = max(width, height)
        total_pixels = width * height
    
        long_edge_scale = 1568 / long_edge
        total_pixels_scale = math.sqrt(1_150_000 / total_pixels)
    
        return min(1.0, long_edge_scale, total_pixels_scale)
    
    # When capturing screenshot
    scale = get_scale_factor(screen_width, screen_height)
    scaled_width = int(screen_width * scale)
    scaled_height = int(screen_height * scale)
    
    # Resize image to scaled dimensions before sending to Claude
    screenshot = capture_and_resize(scaled_width, scaled_height)
    
    # When handling Claude's coordinates, scale them back up
    def execute_click(x, y):
        screen_x = x / scale
        screen_y = y / scale
        perform_click(screen_x, screen_y)

    実装のベストプラクティスに従う


    コンピュータ使用の制限を理解する

    コンピュータ使用機能はベータ版です。Claudeの機能は最先端ですが、開発者はその制限を認識する必要があります:

    1. レイテンシ:現在のコンピュータ使用レイテンシは、通常の人間が指示するコンピュータアクションと比較して、人間とAIの相互作用に対して遅すぎる可能性があります。信頼できる環境で、速度が重要でないユースケース(例:背景情報の収集、自動化されたソフトウェアテスト)に焦点を当てることをお勧めします。
    2. コンピュータビジョンの精度と信頼性:Claudeはアクションを生成する際に特定の座標を出力する際に間違いを犯したり、幻覚を見たりする可能性があります。Claude Sonnet 3.7は、モデルの推論を理解し、潜在的な問題を特定するのに役立つ思考機能を導入しています。
    3. ツール選択の精度と信頼性:Claudeはアクションを生成する際にツールを選択する際に間違いを犯したり、幻覚を見たりする可能性があり、問題を解決するために予期しないアクションを取る可能性があります。さらに、ニッチなアプリケーションまたは複数のアプリケーションと同時に相互作用する場合、信頼性が低くなる可能性があります。複雑なタスクをリクエストする場合、ユーザーがモデルに慎重にプロンプトを与えることをお勧めします。
    4. スクロール信頼性:Claude Sonnet 3.7は、方向制御を備えた専用スクロールアクションを導入し、信頼性を向上させました。モデルは、指定された量で任意の方向(上/下/左/右)に明示的にスクロールできるようになりました。
    5. スプレッドシート相互作用:Claude Sonnet 3.7では、left_mouse_down、left_mouse_upなどのより正確なマウス制御アクションの追加と新しい修飾キーサポートにより、スプレッドシート相互作用のマウスクリックが改善されました。これらの細粒度制御を使用し、修飾キーをクリックと組み合わせることで、セル選択をより信頼性の高いものにできます。
    6. ソーシャルおよび通信プラットフォームでのアカウント作成とコンテンツ生成:Claudeはウェブサイトにアクセスしますが、ソーシャルメディアのウェブサイトとプラットフォーム全体でアカウントを作成したり、コンテンツを生成して共有したり、人間になりすましたりする能力を制限しています。この機能は将来更新される可能性があります。
    7. 脆弱性:ジェイルブレイクやプロンプトインジェクションなどの脆弱性は、ベータコンピュータ使用APIを含む最先端のAIシステム全体に存在する可能性があります。状況によっては、Claudeはコンテンツで見つかったコマンドに従うことがあり、ユーザーの指示と矛盾することもあります。たとえば、ウェブページまたは画像に含まれるClaudeの指示は、指示をオーバーライドしたり、Claudeが間違いを犯す原因になったりする可能性があります。以下をお勧めします: a. コンピュータ使用を、最小限の権限を持つ仮想マシンやコンテナなどの信頼できる環境に制限する b. 厳密な監視なしに、コンピュータ使用アクセスを機密アカウントまたはデータに与えることを避ける c. エンドユーザーに関連するリスクを通知し、アプリケーションでコンピュータ使用機能を有効にするか、必要な権限をリクエストする前に同意を得る
    8. 不適切または違法なアクション:Anthropicの利用規約に従い、コンピュータ使用を使用して法律を違反したり、当社の利用可能ポリシーに違反したりしてはいけません。

    常に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:

    ModelInput tokens per tool definition
    Claude 4.x models735 tokens
    Claude Sonnet 3.7 (deprecated)735 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.

    次のステップ

    リファレンス実装

    完全なDockerベースの実装で素早く開始する

    ツールドキュメント

    ツール使用とカスタムツール作成の詳細を学ぶ

    • Claude 4モデルとClaude Sonnet 3.7で思考機能を有効にする