
AIエージェント向けの「コンピュータ操作ツール」とは、APIを介さず、画面、マウス、キーボードを通じてエージェントがソフトウェアを操作できるようにする機能です。2026年現在、この機能を追加する方法は2つあります。Anthropic、OpenAI、Googleが提供する低レベルのプリミティブ(スクリーンショット、クリック、タイピング)をエージェントに与えて、環境や実行ループを自前で構築する方法と、タスクレベルのオペレーターを利用する方法です。後者は Sai API Simularが提供しており、1回のHTTP呼び出しでGUIタスク全体をコンピュータ操作エージェントに委任できます。このエージェントはWindowsまたはLinux環境を既に備えており、進捗をイベントとして報告し、機密性の高い操作の前には承認を求めます。本ガイドでは、これら両方のパターンを解説します。Saiコンピュータ操作APIの仕組みをエンドツーエンドで紹介し、OpenAI Agents SDK、LangGraph、Vercel AI SDK、MCP向けの統合コード例を提示するとともに、構築の手間、コスト、信頼性の観点から4つの選択肢を比較します。
以下の内容はすべて、2026年10月10日時点の各ベンダーの最新ドキュメントに基づいて確認されています。Sai向けのフレームワーク統合スニペットは公開REST APIに基づいて記述されており、Simularから公式の例が公開されていない箇所についてはエンジニアリングレビューが必要な旨を明記しています。
コンピュータ操作ツールとは、関数呼び出しの概念において、言語モデルエージェントがコンピュータ画面を認識し、操作(スクリーンショットの撮影、カーソルの移動、クリック、スクロール、タイピング、キー入力)を行えるようにするツールです。これがあれば、エージェントはAPIを持たないデスクトップソフトウェア、ベンダーポータル、管理コンソールなど、グラフィカルインターフェースを持つあらゆるアプリケーションを操作できます。このツールがなければ、エージェントはアクセス可能なAPIやコードを通じてしか世界に働きかけることができません。
この用語は、大きく異なる2つの製品を指します。モデルベンダーが提供するのは コンピュータ操作プリミティブであり、これはモデルが理解できるツール定義(Anthropicのcomputer_toolset_20260801、OpenAIのcomputer tool、Geminiのcomputer_useなど)です。これらは、あなたが提供するディスプレイに対してコードが実行すべきアクションを返します。もう一方は ツールとしてのコンピュータ操作エージェントであり、これは独自のコンピュータを備えたホスト型エージェントです。タスクの記述を受け取って結果を返すため、エージェントはクリック操作の一つひとつを制御するのではなく、GUIタスク全体を委任できます。本ガイドでは、後者の例としてSaiを取り上げます。
どちらを選ぶべきかは、あなたがコンピュータ操作エージェントを「構築」しているのか、それとも「利用」しているのかによって決まります。
プリミティブ:エージェントがマウスとキーボードを直接制御する。 モデルの呼び出しにベンダーのツールを追加します。モデルはターンごとに1つ以上のアクション(指定座標での左クリック、文字列の入力、スクリーンショット撮影など)を返し、あなたのコードがそれをホスト環境(Xvfbを搭載したDockerコンテナ、Playwrightブラウザ、仮想マシンなど)で実行し、新しいスクリーンショットをキャプチャしてモデルに送り返します。環境、ループ、座標のスケーリング、エラー処理、安全チェック、そしてスクリーンショットごとのコストはすべてあなたが管理します。これは、研究目的やカスタムUI、あるいはコンピュータ操作製品そのものを構築する場合など、画面に対する推論をエージェント内部で行う必要がある場合に適した選択です。
タスクレベルのオペレーター:エージェントが作業を委任する。 エージェントにrun_on_computer(task)のような関数ツールを1つ追加します。これが呼び出されると、タスクがSaiに送信されます。Saiはクラウド上のコンピュータ(またはSaiデスクトップアプリを実行しているあなたのマシン)を準備または起動し、独自のモデルスタックで画面を操作します。進捗をストリーミングし、コマンド実行やログインが必要な場合は承認を求め、最終的なテキスト結果を返します。エージェントがスクリーンショットを直接見ることはありません。これは、GUI作業がより大きなワークフローの一部である場合や、クリックごとの制御よりもタスクごとの信頼性が重要な場合、あるいはデスクトップインフラを運用したくない場合に適した選択です。
コンピュータ操作ツールが必要となるのは、APIが存在しないタスクです。Simularの例がその好例です。実際のブラウザでのステージング環境のサインアップフローのテスト、Webログインしか提供していないベンダーポータルからの月次請求書の取得、インポート機能のない社内フォームへのCSVデータの入力、Windowsマシンでのバグ報告のステップバイステップの再現とキャプチャ、管理コンソールでの非アクティブアカウントの検索とエクスポートなどです。これらは人間が数分かけてクリックする作業ですが、APIのみのエージェントにとっては解決不可能な問題です。
この原則は、ツールを使うべきでない場面も教えてくれます。ドキュメント化されたAPIやSDKが存在する場合、データが既にローカルにある場合、あるいは正確なバイト単位の出力が必要な場合は、コードを書くべきです。コンピュータ操作は関数呼び出しよりも低速でコストがかかります。その価値は、関数呼び出しが機能しない場所で機能することにあります。
プリミティブ(基本要素)において、信頼性とはループ処理で何を実現できるかであり、実際に構築してみるまで分かりません。Saiは数値を公開しています。標準的なコンピュータ操作ベンチマークの長期ホライゾン版であるOSWorld 2.1において、SimularはSaiのパーシャルスコアを77.3%、タスクあたりのコストを14.34ドルと報告しており、Claude Opus 5と同等の性能をより低コストで実現しています。また、 軌跡と手法も公開されています。これらはベンダーが報告した数値ですが、この比較においてコンピュータ操作ツール向けに公開されている唯一のタスクレベルの完了率およびコストの数値です。モデルベンダーは製品スコアではなくモデルスコアを公開しており、タスクあたりのコストは決して公開していません。
タスクあたりのコストは、独自のテレメトリにも表示されます。すべての /events レスポンスには、 usage.costUsd 現在のタスクとセッションのモデル呼び出し回数が含まれているため、フレームワークツールはスクリーンショットのループを計測することなく、委任された各ジョブのコストをログに記録できます。また、繰り返し作業については、Saiの「一度実行し、コードとしてリプレイする」モデルが鍵となります。タスクを一度実行した後、Saiにワークフローを名前付きのパラメータ化されたスキルとして保存するよう指示できます。その後の実行ではコードがリプレイされ、画面の状態が重要な部分のみモデルにクエリが送信されます。UIの変更によってステップが中断された場合のみ、エージェントが引き継ぎます。Simularの神経記号的コンピュータ操作の研究では、学習済みポリシーによって実行あたりのコストを約15〜217倍、レイテンシを3.4〜5.1倍削減できたと報告されています。これが、初回は数ドルかかるスケジュールジョブが、その後は数セントで済む理由です。
コンピュータ操作ツールは、エージェントに与えるツールの中で最も強力なものです。すべてのベンダーが「隔離された環境で実行すること」「画面上の情報を信頼できない入力として扱うこと(プロンプトインジェクションはLLMアプリケーションのOWASP Top 10の筆頭です)」「重要なアクションには人間を介在させること」という3点を共通して挙げています。SaiのAPIは、3点目をプロトコルに組み込んでいます。コマンド実行時には承認が必要となり、ユーザーが回答しなければなりません。サインイン、パスワード入力、Googleアカウントの接続、電話番号認証などは、API単独では完了できない「リンクのみ」の承認プロセスとなっているため、エージェントが騙されて認証情報を入力させられることはありません。 task レスポンスを使用すると、すべてを事前に承認することなく、特定のタスクに対してアクションのクラスを事前に承認できます。また、 POST /abort は、実行中のタスクを停止します。
運用上の制限は公開されており、設計時に考慮すべきです。アカウントあたり1時間60メッセージ、1時間1,200イベントポーリング( wait=30を使用し、タイトなループは避けてください)、1分あたり20承認、1時間あたり30アップロード(各25MBまで)。無料プランのコンピュータは、その日最初の要求時に起動まで約2分かかり、1日の利用時間制限があります。有料プランでは、アイドル時に休止し、次のメッセージで復帰する専用マシンが提供されます。
これら3社のベンダーツールは非常に優れており、Saiはその基盤として各社のモデルを利用可能です。比較の焦点は、それぞれを採用する際に何を負担するかという点にあります。
Anthropicのコンピュータ操作ツール は、最も成熟したプリミティブセットです。ズーム、ターンごとのバッチ呼び出し、ディスプレイサイズと座標スケーリングに関する詳細なガイダンスなど、17のアクションが含まれています。これを採用する際のコストは環境構築にあります。Anthropicのリファレンス実装は、Xvfb、ウィンドウマネージャ、Firefox、LibreOfficeを実行するDockerイメージであり、スクリーンショットを除いても、ツール定義だけでリクエストごとに約4,500入力トークンを消費します。Claude上でコンピュータ操作製品を構築している場合はここから始めてください。もし既存のエージェント内でClaudeのモデルにGUI操作を行わせたい場合は、Saiなら選択可能です。 anthropic/claude-sonnet-5またはclaude-opus-5-5 モデルとして指定し、環境設定はスキップします。
OpenAIのコンピュータツール がResponses APIでGA(一般提供)に達し、バッチ処理された actions[] および、スムーズな移行を実現します。 computer-use-preview。Agents SDKはこれを次のようにラップします: ComputerTool (安全確認コールバック付き)。引き続き Computer インターフェースをPlaywrightまたはVMに対して実装する必要があります。OpenAIの公式ガイダンスでは、GPT-6 Astraについてはコード実行を優先し、コンピュータツールは「代替手段」として推奨されています。
Gemini Computer Use は実行コストが最も安価なプリミティブであり、最も幅広い環境リスト(ブラウザ、モバイル、デスクトップ)に対応しています。正規化された座標系によりスケーリングも容易です。現在はプレビュー版であり、インジェクション検知はオプトイン方式です。Googleの公式ドキュメントでも、サンドボックス環境で実行し、重要なタスクからは隔離するよう推奨されています。
Sai は、APIの背後で完全なコンピュータ操作エージェントとして機能する、これら4つの中で唯一の存在です。その反面、スクリーンショットやクリックのプリミティブを公開していないという明確な制限があります。エージェントがピクセル単位で推論を行う必要がある場合、Saiは適していません。この設計は、ほとんどのエージェント開発者が「画面の操作」ではなく「タスクの完了」を求めているという考えに基づいています。
Sai APIは、以下のRESTインターフェースで提供されます。 https://api.simular.ai/v1/agents。認証にはベアラートークンを使用します(Authorization: Bearer sapi_...)。無料プランには共有のWindowsクラウドコンピュータとデイリークレジットが含まれます。有料プランでは専用のWindowsまたはLinuxコンピュータ(50ドルの従量課金プランでは最大5台まで同時利用可能)が追加され、自身のMacやWindowsマシンで実行するオプションも選択できます。キーはGoogleログイン後にポータルで作成されます。無料アカウントの場合は、事前に電話番号認証が必要です。
POST /v1/agents/message は、平易な言葉でタスクを受け付けます。 wait: false を設定すると、 sessionId が即座に返され、イベントをポーリングします(デフォルトの wait: true は、サーバー送信イベントをストリーミングします)。 machineId は、コンピュータが1台の場合は省略可能です。 model は、 auto または /modelsからのIDを受け付けます。 attachments には、事前にアップロードしたファイルを指定します。
curl -s "$SAI_API_URL/v1/agents/message" \
-H "Authorization: Bearer $SAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "Open Notepad, type hello, save it to the desktop as hello.txt",
"wait": false
}'
{ "sessionId": "cs_01HZY", "machineId": "free-3fA9kQ2xYz", "queued": false }
GET /v1/agents/events?sessionId=...&since=...&wait=30 最大60秒間ロングポーリングを行い、セッションを返します ステータス (実行中、needs_approval、待機中またはエラー)、新しいイベント、不透明な カーソル を戻り値として渡すには ~以来、これまでのアシスタントのテキスト、および 使用量 トークン数、モデル呼び出し、および コスト(米ドル) タスク用。進捗イベント(data-progress)は、「メモ帳を開いています」といった短いナレーションで、使用中のツールを示します。APIは意図的にスクリーンショットを返さない仕様となっており、これによりエージェントのコンテキストを小さく保っています。
{
"events": [
{ "type": "data-progress", "data": { "text": "Opening Notepad", "tool": "computer" } }
],
"cursor": "1790000012345:3",
"status": "running",
"text": ""
}
Saiがコマンドを実行したい場合や、事前に確認が必要なアクションを行う場合、あるいは選択を求める必要がある場合、セッションステータスは needs_approval となり、レスポンスには 承認 オブジェクトが含まれます。これに対して POST /v1/agents/approve と レスポンス の はい、いいえ、または タスク (これ以降の同様の要求をすべて承認する)。選択の承認には 選択肢 配列が必要です。一部の承認はリンク経由のみとなります(Googleアカウントの接続、サイトパスワードの入力、電話番号認証など)。APIはこれらに直接回答できないため、 approvalUrl をアカウント所有者に提示する必要があります。所有者が手続きを完了するとタスクが再開されます。これは、手動で構築されたコンピュータ操作ループの多くが対応できていない部分ですが、本システムではファーストクラスのイベントとして扱われます。
curl -s "$SAI_API_URL/v1/agents/approve" \
-H "Authorization: Bearer $SAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "approvalId": "ap_7Qw", "response": "yes" }'
ステータスが 待機中、テキスト の場合、そこにSaiの回答が格納されます。同じ sessionId に対して後続のメッセージを送ることで、会話とデスクトップの状態を継続できます。 POST /new-session はセッションを新規開始し、 POST /abort は実行中のタスクを停止します。ファイルのアップロードは以下を通じて行います。 POST /upload (rawバイト、25MB、PDF、画像、CSV、コード)は添付ファイルとして参照されます。タスクを開始し、進捗を表示し、コマンドプロンプトを自動承認してテキストを返す完全なPythonループは約60行です。Simularはこれを以下の場所で公開しています。 クイックスタートとサンプル、以下のバージョンは、次セクションでフレームワークツールに組み込むものです。
無料のAPIキーを作成し、1回送信する POST /v1/agents/messageだけで、エージェントはコンピュータを手に入れます。OpenAI Agents SDK、LangGraph、またはVercel AI SDKで関数ツールとしてラップするか、MCPサーバーをClaude Code、Codex、またはCursorに追加してください。無料プランにはクラウドコンピュータが含まれており、50ドルの従量課金プランでは、専用のWindowsまたはLinuxマシンを最大5台まで並列で利用可能です。