AI、データ活用、業務改善に関する最新情報やNexaflowの取り組みをお届けします
AIサマリー
AIがPCを操作する新技術「Computer Use」は、スクリーンショットを基にマウスやキーボード操作を行う。成功率はOS環境で14.9%、Webブラウザで32%を達成。主なユースケースにはGUI自動化やレガシーシステムとの連携があり、精度向上や速度改善が期待される。セキュリティリスクや処理速度の制限も考慮する必要がある。
AIがPCを操作する時代が到来しました。2024年10月、AnthropicはClaudeに「Computer Use」機能を搭載し、AIがスクリーンショットを見ながらマウスやキーボードを操作できるようになりました。本記事では、Computer Use技術の仕組みと実験結果を詳しく解説します。
関連記事: 本記事は「AIエージェント論文おすすめ9選」の詳細解説記事です。他の論文も合わせてご覧ください。
| 項目 | 内容 |
|---|---|
| タイトル | Developing a Computer Use Model |
| 著者 | Anthropic |
| 発表 | 2024年10月 |
| リファレンス | Computer Use ドキュメント |
Computer Useは、視覚認識と行動生成の2つの能力を組み合わせたマルチモーダルAIシステムです。
AIはまず現在の画面状態をスクリーンショットとして受け取ります。Claude 3.5 Sonnetのビジョン能力を活用し、画面上の要素を認識します。
[入力] スクリーンショット画像(PNG/JPEG)
↓
[認識] - ボタン、テキストフィールド、アイコンの位置
- テキストコンテンツの読み取り
- UI要素間の関係性
ユーザーの指示を理解し、達成するために必要な操作の計画を立てます。
[ユーザー指示] 「Googleで"AI agent"を検索して」
↓
[計画] 1. ブラウザのアドレスバーを見つける
2. Google.comにアクセス
3. 検索ボックスをクリック
4. "AI agent"と入力
5. Enterキーを押す
計画に基づいて、具体的なマウス・キーボード操作を出力します。
# Computer Useが出力する操作の例
{
"action": "mouse_move",
"coordinate": [640, 360] # 画面中央付近
}
{
"action": "left_click"
}
{
"action": "type",
"text": "AI agent"
}
{
"action": "key",
"key": "Return"
}
操作後に新しいスクリーンショットを取得し、タスクが完了したか確認します。未完了なら次の操作を計画します。
Computer Useは画面上の要素の座標を推定する能力を持っています。ただし、完璧ではありません。
座標推定の課題:
対策:
| 操作タイプ | 説明 | 例 |
|---|---|---|
| mouse_move | マウスを指定座標に移動 | coordinate: [100, 200] |
| left_click | 左クリック | 現在位置でクリック |
| right_click | 右クリック | コンテキストメニュー表示 |
| double_click | ダブルクリック | ファイルを開く |
| left_click_drag | ドラッグ操作 | ファイル移動、範囲選択 |
| type | テキスト入力 | text: "Hello World" |
| key | キーボードショートカット | key: "ctrl+c" |
| screenshot | 画面キャプチャ取得 | 現在の状態確認 |
# Computer Use ツールの定義
tools = [
{
"type": "computer_20241022",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
"display_number": 1
}
]
Anthropicは複数のベンチマークでComputer Useを評価しました。
| 評価対象 | 成功率 |
|---|---|
| Claude 3.5 Sonnet (Computer Use) | 14.9% |
| GPT-4V | 7.5% |
| 人間の平均 | 72.4% |
OSWorldは、実際のOS環境(Ubuntu)で複雑なタスクを実行するベンチマークです。ファイル操作、アプリケーション起動、設定変更などが含まれます。
| 評価対象 | 成功率 |
|---|---|
| Claude 3.5 Sonnet (Computer Use) | 32.0% |
| GPT-4V + SoM | 26.0% |
| 人間の平均 | 78.2% |
WebArenaは、Webアプリケーション(GitLab、Reddit、ショッピングサイト等)でのタスク実行を評価します。
人間との比較:
従来AIとの比較:
従来のRPAの課題:
Computer Useによる解決:
[タスク] 毎日のレポート作成
1. Excelを開く
2. データを更新
3. グラフを作成
4. PDFとして保存
5. メールで送信
AIが視覚的にUIを認識するため、ボタンの位置が変わっても対応可能です。
課題: APIがない古いシステムとの連携
解決策:
[例] 古い在庫管理システムからデータ抽出
1. システムにログイン
2. 在庫一覧画面を開く
3. データをコピー
4. Excelに貼り付け
5. CSVとしてエクスポート
従来のE2Eテストの課題:
Computer Useによるテスト:
[自然言語でテストケースを記述]
「ログイン画面でユーザー名とパスワードを入力し、
ログインボタンをクリック。
ダッシュボードが表示されることを確認」
ユースケース例:
[タスク] 100件の顧客情報をCRMに登録
- CSVから顧客情報を読み取り
- CRMのフォームに1件ずつ入力
- 登録完了を確認
重要な注意事項:
Computer Useは画面に表示されるすべての情報にアクセス可能
パスワード入力画面では注意が必要
機密情報が映り込まないよう配慮
専用のサンドボックス環境での実行を推奨
必要最小限の権限のみ付与
インターネット接続の制限
完全な自律動作は危険
重要な操作前には確認を挿入
ログの記録と監査
| 制限 | 詳細 |
|---|---|
| 解像度 | 高解像度では精度が低下(1024x768推奨) |
| 処理速度 | スクリーンショット取得・分析に時間がかかる |
| 動的UI | アニメーション、ポップアップへの対応が困難 |
| マルチモニター | 複数画面の同時操作は未対応 |
| 音声/動画 | 音声認識、動画再生の操作は限定的 |
推奨される用途:
推奨されない用途:
import anthropic
client = anthropic.Anthropic()
# Computer Useツールの定義
tools = [
{
"type": "computer_20241022",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
"display_number": 1
}
]
# APIリクエスト
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
tools=tools,
messages=[
{
"role": "user",
"content": "Googleで'AI agent'を検索してください"
}
]
)
# レスポンスの処理
for block in response.content:
if block.type == "tool_use":
print(f"操作: {block.name}")
print(f"入力: {block.input}")
def run_computer_use_loop(task: str, max_steps: int = 10):
# Computer Useの操作ループを実行
messages = [{"role": "user", "content": task}]
for step in range(max_steps):
# スクリーンショットを取得
screenshot = capture_screenshot()
# APIリクエスト
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
tools=tools,
messages=messages
)
# 操作を実行
for block in response.content:
if block.type == "tool_use":
result = execute_action(block.input)
messages.append({
"role": "tool",
"tool_use_id": block.id,
"content": result
})
# 完了判定
if is_task_complete(response):
break
return response
RPA(Robotic Process Automation):
Computer Use:
現在、公式にサポートされているのは:
Anthropicが提供するDockerイメージを使用することで、安全なサンドボックス環境で実行できます。
はい、Claude APIの利用規約に従って商用利用可能です。ただし、以下の点に注意:
リアルタイム性が求められるタスクには向いていません。
現時点では、単一ディスプレイでの操作のみサポートされています。マルチモニター環境では、主画面のみが操作対象となります。
Computer Useは、AIがGUIを操作する新しいパラダイムを切り開いた技術です。
Computer Useはまだ発展途上の技術ですが、以下の進化が期待されます:
AIエージェント開発の次のステップとして、ぜひComputer Useを試してみてください。
| 前の論文 | 次の論文 |
|---|---|
| ReAct: 推論と行動の統合 | Swarm: マルチエージェント |
本記事はAnthropicの公式ドキュメントおよび技術資料に基づいて作成しました。
こちらの記事も参考にしてください

Epiplexityは計算制約のあるAIモデルの学習可能性を定量化する新しい情報理論の尺度であり、シャノンエントロピーの限界を克服します。特に、データ拡張、カリキュラム学習、LLMの汎用能力など、従来の理論では説明できなかった現象を統一的に解決します。Epiplexityは、データセット設計や事前学習の最適化に新たな指針を提供し、今後のAI研究において重要な概念とされています。

MetaGPTは、複数のAIエージェントが協調してソフトウェア開発を自動化するフレームワークであり、各エージェントが特定の役割を持ち、標準作業手順(SOP)に従って作業を行います。HumanEvalで85.9%の高い性能を達成し、従来の手法に比べて大幅な品質向上を実現しています。プロトタイプ開発やドキュメント自動生成に応用可能で、商用利用も可能です。

SwarmはOpenAIが提案する軽量なマルチエージェント協調フレームワークで、エージェントとハンドオフの2つの概念を用いてシンプルな協調を実現します。教育や実験に最適で、カスタマーサポートや航空券予約システムなどの具体的なユースケースが紹介されています。実運用には不向きで、OpenAI APIに依存していますが、マルチエージェントの基本を学ぶには適しています。