Loading...
    • 開発者ガイド
    • API リファレンス
    • MCP
    • リソース
    • リリースノート
    Search...
    ⌘K
    はじめに
    Claude の紹介クイックスタート
    モデルと料金
    モデル概要モデルの選び方Claude 4.6 の新機能移行ガイドモデルの廃止料金
    Claude で構築する
    機能概要Messages API の使用停止理由の処理プロンプトのベストプラクティス
    モデルの機能
    拡張思考適応型思考エフォート高速モード(リサーチプレビュー)構造化出力引用メッセージのストリーミングバッチ処理PDF サポート検索結果多言語サポートエンベディングビジョン
    ツール
    概要ツール使用の実装方法Web 検索ツールWeb フェッチツールコード実行ツールメモリツールBash ツールコンピュータ使用ツールテキストエディタツール
    ツールインフラストラクチャ
    ツール検索プログラムによるツール呼び出しきめ細かいツールストリーミング
    コンテキスト管理
    コンテキストウィンドウコンパクションコンテキスト編集プロンプトキャッシングトークンカウント
    ファイルとアセット
    Files API
    Agent Skills
    概要クイックスタートベストプラクティスエンタープライズ向け SkillsAPI での Skills の使用
    Agent SDK
    概要クイックスタートTypeScript SDKTypeScript V2(プレビュー)Python SDK移行ガイド
    API での MCP
    MCP コネクタリモート MCP サーバー
    サードパーティプラットフォームでの Claude
    Amazon BedrockMicrosoft FoundryVertex AI
    プロンプトエンジニアリング
    概要プロンプトジェネレータープロンプトテンプレートの使用プロンプト改善ツール明確かつ直接的に例を使う(マルチショットプロンプティング)Claude に考えさせる(CoT)XML タグを使う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はコンピューター使用ツールを通じてコンピューター環境と対話できます。このツールはスクリーンショット機能と、自律的なデスクトップ操作のためのマウス/キーボード制御を提供します。実際のウェブサイトにわたる自律的なウェブナビゲーションのベンチマークであるWebArenaにおいて、Claudeはシングルエージェントシステムの中で最先端の結果を達成しており、マルチステップのブラウザタスクをエンドツーエンドで完了する優れた能力を示しています。

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

    • "computer-use-2025-11-24" は Claude Opus 4.6、Claude Sonnet 4.6、Claude Opus 4.5 向け
    • "computer-use-2025-01-24" は Sonnet 4.5、Haiku 4.5、Opus 4.1、Sonnet 4、Opus 4、および Sonnet 3.7 向け(非推奨)

    この機能に関するフィードバックはフィードバックフォームからお寄せください。

    This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.

    概要

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

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

    コンピューター使用は、より包括的な自動化ワークフローのためにbashやテキストエディターなどの他のツールで補完できますが、コンピューター使用とは特に、デスクトップ環境を見て制御するコンピューター使用ツールの機能を指します。

    モデルの互換性

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

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

    Claude Opus 4.6、Claude Sonnet 4.6、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はユーザーの指示と矛盾する場合でも、コンテンツ内のコマンドに従うことがあります。例えば、ウェブページ上のClaudeへの指示や画像に含まれる指示が、指示を上書きしたり、Claudeにミスを犯させたりする可能性があります。プロンプトインジェクションに関連するリスクを避けるために、Claudeを機密データやアクションから隔離する予防措置を講じてください。

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

    これらの予防措置は、分類器の防御層が設置されていても引き続き重要です。

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

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

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

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

    このフォームを使用して、モデルレスポンスの品質、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-11-24" \
      -d '{
        "model": "claude-opus-4-6",
        "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."
          }
        ]
      }'

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

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


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

    1. 1

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

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

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

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

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

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

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

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

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

    コンピューティング環境

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

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

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

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

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

    5. エージェントループ: ClaudeとEnvironmentの間の通信を処理し、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,  # Add iteration limit to prevent infinite loops
    ):
        """
        A simple agent loop for Claude computer use interactions.
    
        This function handles the back-and-forth between:
        1. Sending user messages to Claude
        2. Claude requesting to use tools
        3. Your app executing those tools
        4. Sending tool results back to Claude
        """
        # Set up tools and API parameters
        client = Anthropic(api_key=api_key)
        beta_flag = (
            "computer-use-2025-11-24"
            if "20251124" in tool_version
            else "computer-use-2025-01-24"
            if "20250124" in tool_version
            else "computer-use-2024-10-22"
        )
    
        # Configure tools - you should already have these initialized elsewhere
        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"},
        ]
    
        # Main agent loop (with iteration limit to prevent runaway API costs)
        iterations = 0
        while True and iterations < max_iterations:
            iterations += 1
            # Set up optional thinking parameter (for Claude Sonnet 3.7)
            thinking = None
            if thinking_budget:
                thinking = {"type": "enabled", "budget_tokens": thinking_budget}
    
            # Call the Claude API
            response = client.beta.messages.create(
                model=model,
                max_tokens=max_tokens,
                messages=messages,
                tools=tools,
                betas=[beta_flag],
                thinking=thinking,
            )
    
            # Add Claude's response to the conversation history
            response_content = response.content
            messages.append({"role": "assistant", "content": response_content})
    
            # Check if Claude used any tools
            tool_results = []
            for block in response_content:
                if block.type == "tool_use":
                    # In a real app, you would execute the tool here
                    # For example: result = run_tool(block.name, block.input)
                    result = {"result": "Tool executed successfully"}
    
                    # Format the result for Claude
                    tool_results.append(
                        {"type": "tool_result", "tool_use_id": block.id, "content": result}
                    )
    
            # If no tools were used, Claude is done - return the final messages
            if not tool_results:
                return messages
    
            # Add tool results to messages for the next iteration with Claude
            messages.append({"role": "user", "content": tool_results})

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

    残りのドキュメントを読む前に、リファレンス実装を試してみてください。

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

    最高品質の出力を得るためのヒントをいくつか紹介します:

    1. シンプルで明確に定義されたタスクを指定し、各ステップに明示的な指示を提供する。
    2. Claudeは結果を明示的に確認せずにアクションの結果を想定することがあります。これを防ぐために、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に与えることができます。
    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.6と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. 複雑なマルチステップ操作への可視性を高める

    シンキング出力がどのように見えるかの例を以下に示します:

    [Thinking]
    I need to save a picture of a cat to the desktop. Let me break this down into steps:
    
    1. First, I'll take a screenshot to see what's on the desktop
    2. Then I'll look for a web browser to search for cat images
    3. After finding a suitable image, I'll need to save it to the desktop
    
    Let me start by taking a screenshot to see what's available...

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

    コンピューター使用ツールは、他のツールと組み合わせることで、より強力な自動化ワークフローを作成できます。これは特に以下の場合に役立ちます:

    • システムコマンドの実行(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-11-24" \
      -d '{
        "model": "claude-opus-4-6",
        "max_tokens": 2000,
        "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"
          },
          {
            "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ピクセル、合計約115万ピクセルに制限します(詳細は画像リサイズを参照)。例えば、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はウェブサイトを訪問しますが、ソーシャルメディアのウェブサイトやプラットフォームでアカウントを作成したり、コンテンツを生成・共有したり、人間になりすましたりするClaudeの能力は制限されています。この機能は将来更新される可能性があります。
    7. 脆弱性:ジェイルブレイクやプロンプトインジェクションなどの脆弱性は、ベータのコンピューター使用APIを含むフロンティアAIシステム全体で持続する可能性があります。状況によっては、Claudeはコンテンツ内で見つかったコマンドに従うことがあり、時にはユーザーの指示と矛盾することもあります。例えば、ウェブページ上のClaudeへの指示や画像に含まれる指示が、指示を上書きしたり、Claudeに間違いを犯させたりする可能性があります。以下を検討してください: a. コンピューター使用を最小限の権限を持つ仮想マシンやコンテナなどの信頼できる環境に制限する b. 厳格な監視なしに機密アカウントやデータへのコンピューター使用アクセスを与えることを避ける c. エンドユーザーに関連するリスクを通知し、アプリケーションでコンピューター使用機能を有効化またはリクエストする前に、必要な権限について同意を得る
    8. 不適切または違法なアクション:Anthropicの利用規約に従い、法律やAcceptable Use Policyに違反するためにコンピューター使用を使用してはなりません。

    Claudeのコンピューター使用アクションとログを常に注意深くレビューして確認してください。完璧な精度が必要なタスクや、人間の監視なしに機密ユーザー情報を扱うタスクにClaudeを使用しないでください。

    データ保持

    コンピューター使用はクライアントサイドのツールです。セッション中のすべてのスクリーンショット、マウスアクション、キーボード入力、および関連するファイルは、Anthropicではなくお客様の環境でキャプチャおよび保存されます。AnthropicはAPIコールの一部としてリアルタイムでスクリーンショット画像とアクションリクエストを処理しますが、レスポンスが返された後はそれらを保持しません。

    アプリケーションがコンピューター使用データの保存場所と方法を制御するため、コンピューター使用はZDR対象です。すべての機能にわたるZDR対象については、APIとデータ保持を参照してください。

    料金

    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ベースの実装ですぐに始める

    ツールドキュメント

    ツール使用とカスタムツールの作成についてさらに学ぶ

    Was this page helpful?

    • Claude 4モデルとClaude Sonnet 3.7でのシンキング機能の有効化