Claude 3.7 SonnetとClaude 3.5 Sonnet(新)は、コンピュータのデスクトップ環境を操作できるツールとのインタラクションが可能です。Claude 3.7 Sonnetでは追加のツールが導入され、思考プロセスを有効にしてモデルの推論プロセスについてより深い洞察を得ることができます。

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

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

場合によっては、ユーザーの指示と矛盾する場合でも、Claudeはコンテンツ内の命令に従います。例えば、ウェブページや画像に含まれるClaude向けの指示が、指示を上書きしたりClaudeにミスを引き起こしたりする可能性があります。プロンプトインジェクションに関連するリスクを避けるため、Claudeを機密データやアクションから隔離するための予防措置を取ることをお勧めします。

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

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

Webインターフェース、Dockerコンテナ、ツール実装の例、エージェントループを含むコンピュータ使用のリファレンス実装で、すぐに始めることができます。

注意: この実装はClaude 3.7 Sonnet用の新しいツールを含むように更新されています。これらの新機能にアクセスするには、リポジトリの最新バージョンを取得してください。

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

以下は、Messages APIを使用してClaudeにコンピュータ使用ツールを提供する方法の例です:


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

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

  • Anthropicが定義したコンピュータ使用ツールをAPIリクエストに追加します。
  • これらのツールを必要とする可能性のあるユーザープロンプト(例:「デスクトップに猫の写真を保存して」)を含めます。

2. Claudeがツールの使用を決定する

  • Claudeは保存されたコンピュータ使用ツールの定義を読み込み、ユーザーのクエリに役立つツールがあるかどうかを評価します。
  • もしあれば、Claudeは適切にフォーマットされたツール使用リクエストを構築します。
  • APIレスポンスのstop_reasontool_useとなり、Claudeの意図を示します。

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

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

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

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

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

コンピューティング環境

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

  1. 仮想ディスプレイ: Xvfbを使用した仮想X11ディスプレイサーバーで、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コンテナ内でこれらすべてを実行します。

[残りの翻訳は続きます…]