Skip to main content
サンドボックスを使用すると、スクリーンショット、マウスクリック、キーボード入力を通じて操作できる Linux デスクトップをエージェントに提供できます。このチュートリアルでは、使い捨てのサーバーレスサンドボックスで Chromium を実行します。ローカルマシン上の Python コントローラーが、デスクトップのスクリーンショットを OpenAI の computer ツールに送信し、返された action をサンドボックス内で実行して結果を取得します。 ここでは、サンプルのブラウザーフォームへの入力をエージェントに完了させます。フォームのサーバーが送信内容を独立して検証するため、成功かどうかはモデル自身の完了報告だけで判断されるわけではありません。

前提条件

開始する前に、以下が揃っていることを確認してください。
  • Python 3.11、3.12、または 3.13 と uv。
  • サンドボックスへのアクセス権を持つ Forge APIキー。はじめにを参照してください。
  • gpt-5.6-sol と computer ツールへのアクセス権を持つ OpenAI APIキー。
  • コントローラーからサンドボックスサービスおよび OpenAI API へのアウトバウンドアクセス。サンドボックスは Debian リポジトリからパッケージをインストールします。
この例では、2 CPU と 4 ギビバイト (GiB) のメモリをリクエストし、サンドボックスのライフタイムの上限を 30 分に設定します。サーバーレス配置を明示的に選択しているため、ランナーをデプロイする必要はありません。

認証情報を設定する

作業ディレクトリを作成し、入力内容を非表示にするプロンプトを使用するために Bash を起動します。
そのシェルで、Forge と OpenAI の認証情報を入力します:
どちらのキーもローカルのコントローラー環境内に保持されます。スクリプトがこれらのキーをサンドボックスに渡すことはありません。コントローラーは、デスクトップのスクリーンショットとタスクのプロンプトをモデル API に送信します。

デスクトップコントローラーを作成する

作業ディレクトリに、次の完全な設定例を computer_use.py ファイルとして保存します。この例は 3 つのコンポーネントで構成されています。 Chromium は、ブラウザーのサンドボックスを有効にした状態で desktop ユーザーとして実行されます。フォームサーバーはサンドボックス内のループバックアドレスでリッスンします。この例では、パブリックエンドポイントの作成や、お使いのマシンでのブラウザーの起動は行いません。 アダプターは座標とキーの組み合わせを検証し、入力テキストはリテラル引数として渡します。ループは、サポートされていない action を受け取った場合や安全性レビューが要求された場合に停止します。モデルのターンは最大 20 回まで許可され、各ターンの間に 10 分の期限を超えていないかを確認します。
computer_use.py

タスクを実行して動作を確認する

同じシェルで、依存関係とともにコントローラーを実行します。
コントローラーはサンドボックスを作成し、デスクトップパッケージをインストールしてから、Chromium がフォームを読み込むのを待ちます。続いて、モデルがページを読み取り、表示されたフレーズを入力して Verify を選択します。パッケージのインストールには数分かかることがあります。モデルのターン数は実行ごとに異なる場合があります。 各 run の結果は、computer-use-results/ の下に新しく作成されるディレクトリに保存されます。 run が成功すると、result.json ファイルに "status": "passed"、"verified": true、"cleanup": "stopped" が記録されます。フォームに PASS と表示されていることを確認するには、agent/final.png ファイルを開きます。コントローラーは、フォームサーバーの検証ファイルを確認したうえで成功と判定します。 コントローラーは、タスクが失敗した場合も含め、finally ブロック内でサンドボックスの停止を試みます。クリーンアップで "failed" が報告された場合や、クリーンアップの完了前にコントローラーを終了した場合は、sandbox-id.txt ファイルに記録された ID を使用してサンドボックスを停止してください。[SANDBOX-ID] をその ID に置き換え、同じシェルでサンドボックスを停止します。
タスクが失敗した場合は、保存済みのトランスクリプトと、利用可能であれば最新の agent/turn-*.png ファイルを確認してください。API、デスクトップのインストール、ブラウザーの起動に関するエラーは、これらのファイルの一方または両方が作成される前に発生する場合があります。サンドボックスの接続エラーや実行エラーについては、サンドボックスのサポート記事を参照してください。

次のステップ

この例を応用するには、サンプルのフォームとタスクを、ご自身が管理するアプリケーションに置き換えてください。スクリーンショットと action のループはそのまま残し、アプリケーション固有の成功判定を追加します。繰り返し実行する場合は、起動時のインストールを省けるよう、デスクトップ用パッケージをコンテナーイメージに組み込んでおいてください。詳しくは サンドボックスの設定 を参照してください。 他のアプリケーションでエージェントを使用する前に、許可するアクセス先と action を定義し、機密性の高い操作には人による承認を必須にしてください。サンプルのプロンプトと入力の検証だけでは、Chromium の移動先は制限されません。コントローラーを拡張する際は、OpenAI の コンピューター操作 に関するガイダンス を確認してください。 エージェントをサンドボックスに接続するその他の方法については、エージェント を参照してください。ライフサイクル管理については、クリーンアップのパターン を参照してください。
最終更新日 2026年10月15日