0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【2026年版】ブラウザ自動化の先へ:UI-TARS、Claude Computer Use、OSWorld 2.0で構築するデスクトップGUI自律操作エージェント実践

0
Posted at

【2026年版】ブラウザ自動化の先へ:UI-TARS、Claude Computer Use、OSWorld 2.0で構築するデスクトップGUI自律操作エージェント実践

過去3年間、生成AIエコシステムはBrowser-Use、Stagehand、Playwright MCPなどを用いたWebブラウザDOM解析の自動化に注力してきました。しかし、エンタープライズ領域における実業務ソフトウェアの70%以上はブラウザDOMを持ちません。レガシーERP(SAP GUI)、複雑なVBAマクロを組み込んだネイティブExcel、デスクトップCAD、ターミナルコンソール、オンプレミスの専用業務クライアントにはWeb DOMが存在せず、DirectX、Metal、Win32、Qtで直接描画される画面に対してDOMベースのエージェントは完全に無力でした。真のエンタープライズ自動化を実現するため、2026年はネイティブな視覚・言語・行動(VLA: Vision-Language-Action)モデル、ピクセル座標グラウンディング、System-2遅考推論を備えた自律型デスクトップGUIエージェントが台頭しています。本稿では、UI-TARS 1.5、Claude 3.7 Computer Use、OSWorld 2.0ベンチマーク、そして安全なサンドボックス隔離基盤を徹底解剖します。

📑 目次

1. 要約とデスクトップGUIエージェントの最前線
2. DOM依存の終焉:なぜデスクトップ業務が重要なのか
3. 3つの知覚アーキテクチャの比較
4. UI-TARS:ネイティブVLAとSystem-2遅考推論
5. Claude 3.7 Computer Use vs オープンモデルのトレードオフ
6. Python実践実装:安全なデスクトップ操作コントローラー
7. OSWorld 2.0分析:長期タスクのドリフト克服
8. セキュリティとサンドボックス:VNC隔離と緊急停止機能
9. アーキテクチャ比較マトリクスと関連開発ツール
10. よくある質問(FAQ)

01. 要約とデスクトップGUIエージェントの最前線

Web自動化は実用段階に達しましたが、デスクトップ上の知的業務は長らく手作業のままでした。2026年、デスクトップGUIエージェントはOS画面全体を対話型キャンバスとして直接扱います:

  • HTMLセレクタからの脱却:エージェントは生の画面フレーム(1080p〜4K)を監視し、マルチモーダルLLM(MLLM)を通じてUI要素をピクセル単位で直接認識。正規化座標 (x, y) をOSのマウス・キーボード入力イベントにマッピングします。
  • オープンソースの先頭 vs 商用最高峰API:ByteDanceが公開したオープンソースモデル UI-TARS 1.5 は強化学習を用いたSystem-2自己検証・バックトラッキング(巻き戻し)を導入。Anthropicの Claude 3.7 Sonnet は高度な推論とネイティブなComputer Useツール呼び出しを提供します。
  • OSWorld 2.0の現実解:Ubuntu、Windows、macOSにわたる369の実環境タスクで構成されるOSWorld 2.0において、エージェントは100ステップの長期タスクで42%〜52%の成功率を記録。ステップ数増加に伴う状態ドリフト(脱線)の防止が最大の焦点となっています。
  • 必須となるサンドボックス隔離:OSに対する直接操作は特権リスクを伴います。本番アーキテクチャでは、使い捨てMicroVM(E2Bなど)や仮想ディスプレイストリーム(VNC/RDP)内でエージェントを実行し、ホスト側ファイアウォールと緊急キルスイッチを併用します。
+─────────────────────────────────────────────────────────────────────────────+
|               Autonomous Desktop GUI Agent Architecture (2026)              |
|                                                                             |
|  [ User Goal: "Consolidate Q3 SAP exports into Excel macro, generate PDF" ] |
|                                     │                                       |
|                                     ▼                                       |
|  ┌───────────────────────────────────────────────────────────────────────┐  |
|  │ HOST SUPERVISOR & ACTION FIREWALL (Safety Interceptor)                │  |
|  │  - Rate Limiting & Egress Filtering    - Destructive Command Blocker  │  |
|  │  - Biometric Confirmation Gateway      - Emergency Human Kill-Switch  │  |
|  └──────────────────────────────────┬────────────────────────────────────┘  |
|                                     │ Virtual Display / Peripherals         |
|                                     ▼                                       |
|  ┌───────────────────────────────────────────────────────────────────────┐  |
|  │ ISOLATED DESKTOP SANDBOX (E2B / Cloud VNC / KVM Virtual Machine)      │  |
|  │                                                                       │  |
|  │   ┌─────────────────────┐               ┌─────────────────────────┐   │  |
|  │   │ Screenshot Buffer   │               │ OS Input Controller     │   │  |
|  │   │ (1920x1080 RGB)     │               │ (PyAutoGUI / uinput)    │   │  |
|  │   └──────────┬──────────┘               └─────────────▲───────────┘   │  |
|  │              │ Raw Frame                              │ (x, y) Click  │  |
|  │              ▼                                        │ & Hotkeys     │  |
|  │   ┌───────────────────────────────────────────────────┴───────────┐   │  |
|  │   │ AGENT RUNTIME: UI-TARS 1.5 / Claude 3.7 Sonnet                │   │  |
|  │   │  1. Visual Grounding: Detect target UI elements via pixels    │   │  |
|  │   │  2. System-2 Deliberation: Check milestones & reflect         │   │  |
|  │   │  3. Action Plan: Emit precise mouse, click, and key sequences │   │  |
|  │   └───────────────────────────────────────────────────────────────┘   │  |
|  │                                                                       │  |
|  │   [ Legacy SAP Client ]       [ Native Excel ]       [ Desktop CAD ]  │  |
|  └───────────────────────────────────────────────────────────────────────┘  |
+─────────────────────────────────────────────────────────────────────────────+

02. DOM依存の終焉:なぜデスクトップ業務が重要なのか

従来のブラウザ自動化は、アプリケーションが構造化されたアクセシビリティツリーや予測可能なCSSクラスを提供することを前提としています。しかし企業の基幹業務ではその前提が崩壊します:

1. Canvas描画のWebアプリ

FigmaやCanvas描画モードのGoogle Docs、WebGLダッシュボードは、DOMノードを持たない空のキャンバス上に直接UIを描画します。

2. レガシー基幹システム

SAP GUI、AS400端末エミュレータ、Bloomberg Terminal、医療電子カルテなどのミッションクリティカルなシステムは、Webインターフェースを持たないネイティブバイナリです。

3. 複数アプリの横断連携

データのダウンロード、ローカルExcelでのVBAマクロ実行、社内CRMの更新、PDF署名など、OSのプロセス境界を跨ぐ複合業務が日常の大半を占めます。

03. 3つの知覚アーキテクチャの比較:ピクセル vs アクセシビリティツリー vs ハイブリッド

エージェントはデスクトップ画面をどのように認識すべきでしょうか?2026年現在は3つの設計アプローチが存在します:

+─────────────────────────────────────────────────────────────────────────────+
|                     Desktop Perception Paradigms                            |
|                                                                             |
|  [ Approach 1: Pure Visual Grounding (Pixel-to-Coordinate) ]               |
|    Screen Frame ──▶ High-Res VLM ──▶ Coordinates (x: 450, y: 720)           |
|    • Pros: Universal, zero OS dependency, handles Canvas / Games / Legacy    |
|    • Cons: Heavy token cost, coordinate distortion, resolution scaling drift|
|                                                                             |
|  [ Approach 2: OS Accessibility Tree Grounding (UIAutomation / AT-SPI) ]    |
|    Screen State ──▶ OS API Walk ──▶ Filtered Hierarchy ──▶ Element ID / Path|
|    • Pros: Deterministic, lightweight text tokens, 100% click precision     |
|    • Cons: 40% of native apps have broken/missing a11y trees, slow tree walk|
|                                                                             |
|  [ Approach 3: Dual-Stream Hybrid Fusion (2026 Best Practice) ]             |
|    Visual Screenshot (VLM) ◄──Fused Decision──► OS A11y Tree (Cache)        |
|    • Fast path: Use A11y node bounding box if recognized                    |
|    • Fallback: Use visual grounding when a11y nodes are obscured/custom     |
+─────────────────────────────────────────────────────────────────────────────+
比較軸 純粋ピクセルグラウンディング OSアクセシビリティツリー デュアルストリーム・ハイブリッド融合
汎用性 100%(画面上のあらゆるピクセル) 約60%(カスタム描画UIで失敗) 98%(段階的フォールバック)
トークン効率 低(約1,200〜2,000トークン/画面) 高(約300〜600トークン/ツリー) 中(約1,500トークン/判断)
クリック精度 88% - 94%(座標ズレのリスクあり) 99%(ノードが存在する場合) 98.5%(近傍バウンディングボックスに吸着)
OS非依存性 完全(VNC/画面配信に対応) 低(OS固有のAPIフックが必要) 高(モジュール式アダプター)
推論ターンレイテンシ 1.8秒 - 3.5秒(VLM推論) 0.4秒 - 0.9秒(テキストLLM) 1.9秒 - 3.2秒

04. UI-TARS:ネイティブVLAとSystem-2遅考推論

ByteDanceが開発・オープンソース化した UI-TARS は、GUI操作専用のネイティブな Vision-Language-Action (VLA) モデルの草分けです。汎用視覚モデルに後付けプロンプトを当てるのではなく、動作トークンの直接生成と強化学習に基づく内省プロセス(System-2)を統合しています:

+─────────────────────────────────────────────────────────────────────────────+
|                UI-TARS 1.5 System-2 Reasoning Trajectory                     |
|                                                                             |
|  Observation ──▶ [ Reflection & Verification ]                              |
|                   │ "Did the previous action open the File dialog?"          |
|                   │ State: YES. Detected 'Open File' window at (x: 200, y: 150)
|                   ▼                                                         |
|                 [ Sub-goal Decomposition ]                                  |
|                   │ "Next sub-goal: Select 'Quarterly_Report.xlsx'"         |
|                   │ Search Strategy: Visual scan of table rows              |
|                   ▼                                                         |
|                 [ Milestone Recognition ]                                   |
|                   │ Target element found at (x: 320, y: 410)                |
|                   ▼                                                         |
|                 [ Action Emission ]                                         |
|                   │ Action: click(point=[320, 410])                         |
|                   │ Post-Action Expectation: File selected in input box     |
+─────────────────────────────────────────────────────────────────────────────+
  • 標準化された運動トークン:正規化された 1000 × 1000 座標系において、click(point=[x, y])、double_click()、drag(start, end)、press_hotkey() などのトークンを直接出力。
  • System-2自己検証:直前の操作が期待した画面遷移を起こしたかを事前に確認。ボタン押下でダイアログが開かなかった場合、過ちを繰り返さず自動で再試行または別ルートを探索。
  • ローカル配備性:UI-TARS 7Bモデルはローカルワークステーション(Apple Silicon 32GB以上、またはRTX 4090)で実行可能であり、機密データを外部に出さず1秒未満で応答します。

05. Claude 3.7 Computer Use vs オープンモデルのトレードオフ:レイテンシ、コスト、精度

開発チームは商用の最前線API(Claude 3.7 Sonnet)と自前ホストのオープンウェイトモデル(UI-TARS 7B/72B)のどちらを採用すべきでしょうか:

  • 視覚トークンコストの試算:1080pのスクリーンショットを2秒ごとに商用モデルへ送信し続けると、100ステップの業務処理で1回あたり15〜30ドルのコストが発生します。
  • 高度な推論 vs 定型大量RPA:曖昧な指示や複雑な非構造化文書を読み解く業務にはClaude 3.7 Sonnetが最適ですが、定型的な大量データ転送や反復入力ではUI-TARSがコスト面で圧倒的優位に立ちます。
  • データガバナンス:金融・医療分野など、画面上の個人情報や財務データを外部クラウドAPIへ送信できない環境では、オンプレミスで運用可能なUI-TARSが標準的な選択肢となります。

06. Python実践実装:安全なデスクトップ操作コントローラーの構築

以下は、座標正規化スケーリング、安全ゲートキーパー、破壊的コマンドの検知遮断、人間介入承認を含む、完全に実行可能なPythonリファレンス実装です:

# Production Reference Implementation: Desktop GUI Agent Controller (2026)
# Demonstrates Vision-Language-Action Execution, Coordinate Normalization,
# Destructive Command Interception, and Human-in-the-Loop Safeguards.

import time
import math
from typing import Dict, Any, List, Tuple, Optional
from dataclasses import dataclass, field
from enum import Enum

# ─── 1. CORE DATA STRUCTURES & ACTIONS ────────────────────────────────────────

class ActionType(str, Enum):
    MOUSE_CLICK = "mouse_click"
    DOUBLE_CLICK = "double_click"
    HOTKEY = "hotkey"
    TYPE_TEXT = "type_text"
    TERMINAL_COMMAND = "terminal_command"
    WAIT = "wait"

@dataclass
class UIAction:
    action_type: ActionType
    coordinates: Optional[Tuple[int, int]] = None  # (x, y) on 1000x1000 normalized grid
    text_payload: Optional[str] = None
    hotkey_sequence: Optional[List[str]] = None
    thought_reasoning: str = ""
    is_destructive: bool = False

@dataclass
class ScreenDimensions:
    width: int
    height: int

# ─── 2. SAFETY INTERCEPTOR & GATEKEEPER ───────────────────────────────────────

class DesktopSafetyGatekeeper:
    """
    Host-side safety authority that validates actions before dispatching
    to real or virtual OS input peripherals.
    """
    DESTRUCTIVE_HOTKEYS = {("ctrl", "alt", "del"), ("cmd", "shift", "backspace")}
    DESTRUCTIVE_COMMANDS = ["rm -rf", "format", "drop database", "mkfs", "dd if="]

    def __init__(self, require_human_for_destructive: bool = True):
        self.require_human = require_human_for_destructive
        self.audit_log: List[Dict[str, Any]] = []

    def inspect_action(self, action: UIAction, human_approved: bool = False) -> Tuple[bool, str]:
        # 1. Inspect terminal/shell commands
        if action.action_type == ActionType.TERMINAL_COMMAND and action.text_payload:
            for pattern in self.DESTRUCTIVE_COMMANDS:
                if pattern in action.text_payload.lower():
                    action.is_destructive = True
                    if not human_approved:
                        return False, f"Blocked destructive terminal command pattern: '{pattern}'"

        # 2. Inspect high-risk hotkeys
        if action.action_type == ActionType.HOTKEY and action.hotkey_sequence:
            normalized_keys = tuple(sorted([k.lower() for k in action.hotkey_sequence]))
            for risk_keys in self.DESTRUCTIVE_HOTKEYS:
                if normalized_keys == tuple(sorted(risk_keys)):
                    action.is_destructive = True
                    if not human_approved:
                        return False, f"Blocked dangerous system hotkey: '{action.hotkey_sequence}'"

        # Log action to immutable audit trail
        self.audit_log.append({
            "timestamp": time.time(),
            "action": action.action_type.value,
            "coordinates": action.coordinates,
            "destructive": action.is_destructive,
            "approved": True
        })
        return True, "Action approved."

# ─── 3. PERIPHERAL ADAPTER & COORDINATE SCALER ────────────────────────────────

class OSPeripheralController:
    """
    Translates normalized model coordinates (1000x1000) to actual physical display pixels
    and dispatches low-level OS input events.
    """
    def __init__(self, display: ScreenDimensions):
        self.display = display

    def denormalize_coordinates(self, norm_x: int, norm_y: int) -> Tuple[int, int]:
        """Converts [0, 1000] model grid to [0, width] x [0, height]."""
        real_x = math.floor((norm_x / 1000.0) * self.display.width)
        real_y = math.floor((norm_y / 1000.0) * self.display.height)
        return real_x, real_y

    def execute_native_input(self, action: UIAction):
        if action.coordinates:
            rx, ry = self.denormalize_coordinates(*action.coordinates)
            print(f"🖱️  [OS DRIVER] Moving cursor to ({rx}px, {ry}px) [Model: {action.coordinates}]")
        
        if action.action_type == ActionType.MOUSE_CLICK:
            print(f"⚡ [OS DRIVER] Emitting LEFT_BUTTON_CLICK at ({rx}, {ry})")
        elif action.action_type == ActionType.DOUBLE_CLICK:
            print(f"⚡ [OS DRIVER] Emitting DOUBLE_CLICK at ({rx}, {ry})")
        elif action.action_type == ActionType.HOTKEY:
            print(f"⌨️  [OS DRIVER] Emitting KEY_COMBINATION: {' + '.join(action.hotkey_sequence or [])}")
        elif action.action_type == ActionType.TYPE_TEXT:
            print(f"⌨️  [OS DRIVER] Typing string payload: \"{action.text_payload}\"")
        elif action.action_type == ActionType.TERMINAL_COMMAND:
            print(f"🖥️  [OS DRIVER] Executing Shell Command: '{action.text_payload}'")

# ─── 4. AUTONOMOUS DESKTOP AGENT CONTROLLER ───────────────────────────────────

class DesktopGUIAgent:
    """
    The orchestrator agent combining VLA decision logic, safety inspection,
    and OS input driver dispatch.
    """
    def __init__(self, display: ScreenDimensions, gatekeeper: DesktopSafetyGatekeeper):
        self.driver = OSPeripheralController(display)
        self.gatekeeper = gatekeeper

    def step(self, action: UIAction, human_confirmed: bool = False) -> Dict[str, Any]:
        print(f"\n🧠 [SYSTEM-2 REFLECTION] {action.thought_reasoning}")

        # Safety Check
        is_safe, reason = self.gatekeeper.inspect_action(action, human_approved=human_confirmed)
        if not is_safe:
            print(f"🛑 [SAFETY INTERCEPT] Action Rejected: {reason}")
            return {"success": False, "reason": reason}

        # Dispatch
        self.driver.execute_native_input(action)
        return {"success": True, "reason": "Executed successfully"}

# ─── 5. RUNTIME VERIFICATION HARNESS ──────────────────────────────────────────

if __name__ == "__main__":
    print("=" * 75)
    print("DEMO: AUTONOMOUS DESKTOP GUI AGENT SAFETY & GROUNDING CONTROLLER (2026)")
    print("=" * 75)

    # Initialize 1080p display and safety gatekeeper
    virtual_screen = ScreenDimensions(width=1920, height=1080)
    safety_shield = DesktopSafetyGatekeeper(require_human_for_destructive=True)
    agent = DesktopGUIAgent(display=virtual_screen, gatekeeper=safety_shield)

    # STEP 1: Safe Action - Navigate SAP Menu
    step1 = UIAction(
        action_type=ActionType.MOUSE_CLICK,
        coordinates=(180, 45),  # 1000x1000 normalized grid
        thought_reasoning="Milestone 1: Click 'Accounting' dropdown in SAP native menu bar."
    )
    agent.step(step1)

    # STEP 2: Safe Action - Type Transaction Code
    step2 = UIAction(
        action_type=ActionType.TYPE_TEXT,
        text_payload="FS10N",
        thought_reasoning="Milestone 2: Enter general ledger balance inquiry transaction code."
    )
    agent.step(step2)

    # STEP 3: Malicious / Accidental Destructive Step Intercepted
    step3_destructive = UIAction(
        action_type=ActionType.TERMINAL_COMMAND,
        text_payload="rm -rf /var/sap/data/*",
        thought_reasoning="Adversarial prompt injection attempt detected on unverified clipboard buffer."
    )
    print("\n[SCENARIO 1: Destructive Action Without Approval]")
    agent.step(step3_destructive, human_confirmed=False)

    # STEP 4: High-Risk Action With Human Biometric Approval
    print("\n[SCENARIO 2: Authorized High-Risk Action via Supervisor Approval]")
    agent.step(step3_destructive, human_confirmed=True)

    print("\n" + "=" * 75)
    print(f"Demonstration Complete. Total Audit Ledger Entries: {len(safety_shield.audit_log)}")
    print("=" * 75)

07. OSWorld 2.0ベンチマーク分析:長期タスクのドリフト克服と主要な失敗パターン

OSWorld 2.0 はUbuntu、Windows、macOSにわたる369のリアルなタスクでエージェントを評価します。人間のベースラインが88.3%であるのに対し、最先端モデルは全体で49%〜52%にとどまっており、4つの典型的な失敗パターンが明らかになっています:

  • 解像度と座標のドリフト:ポップアップ通知やウィンドウの拡大縮小により対象が数ピクセル移動し、古い記憶の座標をクリックして誤動作する現象。
  • コンテキスト長の圧迫:高解像度画像を60枚蓄積すると注意機構が破綻するため、古い画像をテキスト要約へ圧縮するプルーニングが不可欠です。
  • 無応答ローディング時の連打トラップ:Webのような networkidle がないため、処理中にボタンを連打してアプリをクラッシュさせる事態。画面ピクセルの差分検知で防ぎます。
  • 低コントラストUIでの誤認:ダークモードの業務ソフトやCAD画面で、保存とエクスポートなど似たアイコンを見誤る問題。

08. セキュリティとサンドボックス:VNC隔離、eBPF制御、緊急停止(Kill-Switch)

社員のPC上で自律エージェントに直接マウスとキーボードの権限を与えることは、極めて重大なセキュリティリスクを招きます。本番運用では3層のゼロトラストサンドボックスを構築します:

+─────────────────────────────────────────────────────────────────────────────+
|               Zero-Trust Desktop Sandbox Containment Stack                  |
|                                                                             |
|  [ Enterprise Gateway ]                                                     |
|            │                                                                |
|            ▼                                                                |
|  ┌───────────────────────────────────────────────────────────────────────┐  |
|  │ LAYER 1: VIRTUAL DISPLAY & PERIPHERAL ISOLATION                       │  |
|  │ - Headless X11 / Wayland / RDP virtual server                         │  |
|  │ - The agent NEVER touches physical user hardware                      │  |
|  │ - Video frame streamed via WebRTC / VNC buffer                        │  |
|  └──────────────────────────────────┬────────────────────────────────────┘  |
|                                     │                                       |
|                                     ▼                                       |
|  ┌───────────────────────────────────────────────────────────────────────┐  |
|  │ LAYER 2: SYSTEM CALL INTERCEPTION & eBPF NETWORK EGRESS               │  |
|  │ - eBPF sensor intercepts dangerous POSIX syscalls (fork, execve, ptrace)│
|  │ - Network firewall restricts outbound traffic exclusively to whitelist│  |
|  └──────────────────────────────────┬────────────────────────────────────┘  |
|                                     │                                       |
|                                     ▼                                       |
|  ┌───────────────────────────────────────────────────────────────────────┐  |
|  │ LAYER 3: SUPERVISOR KILL-SWITCH & USER TAKEOVER                       │  |
|  │ - User moves physical mouse ──▶ Instant agent suspension (Kill-Switch)│  |
|  │ - Live action stream mirrored to supervisor dashboard                │  |
|  └───────────────────────────────────────────────────────────────────────┘  |
+─────────────────────────────────────────────────────────────────────────────+
  • 第1層:仮想ディスプレイ隔離:エージェントは隔離されたMicroVM(E2Bなど)内の仮想X11/Wayland/RDPバッファのみを操作。物理ハードウェアへの直接アクセスは完全に排除。
  • 第2層:eBPFシステムコール&通信監査:カーネルレベルのeBPFセンサーにより、危険なコマンド(rm -rf、不正なデータ外部送信)を検知遮断し、許可リスト外のIP通信を拒否。
  • 第3層:物理操作による緊急キルスイッチ:人間が物理マウスを動かすか Esc キーを押した瞬間に、エージェントのドライバ権限を即時剥奪して人間の操作を最優先。

09. アーキテクチャ比較マトリクスと関連開発ツール

2026年における主要なデスクトップ・コンピューター操作エージェント基盤の比較は以下の通りです:

比較軸 UI-TARS (ByteDance) Claude 3.7 Computer Use OpenHands E2B Desktop Sandbox
モデル形態 オープンウェイト(VLA 7B/72B) 商用フロンティアAPI モデル非依存オーケストレーター インフラサンドボックス環境
主な知覚方式 生ピクセル(System-2 VLA) 生ピクセル(Vision API) ハイブリッド(DOM + 端末 + GUI) 仮想画面フレームバッファ
ホスティング環境 オンプレミス(自社GPU基盤) クラウドAPI(Anthropic) セルフホスト / クラウド マネージドクラウド / MicroVM
対応OS Windows, macOS, Linux, Android Windows, macOS, Ubuntu Linux, Docker, ブラウザ Linux(Firecracker MicroVM)
主な用途 高頻度RPA、QAテスト、一括入力 複雑な知的業務の推論処理 ソフトウェア開発自律エージェント 安全なエージェント隔離実行環境
オープンソース性 100% オープンソース プロプライエタリ 100% オープンソース オープンSDK / マネージド

E2B

MicroVMサンドボックス

信頼できないデスクトップセッションやターミナル操作をハードウェアレベルで安全に隔離実行する、AIエージェント向け主要MicroVMクラウド環境。

E2Bの詳細を見る →

Claude 3.7 Sonnet

フロンティアモデル

デスクトップ操作、ブラウザ自動化、高度なツール実行を可能にするネイティブのComputer Use機能を備えたAnthropicの最高峰推論モデル。

Claude 3.7 Sonnetの詳細を見る →

OpenHands

オープンソース

ソフトウェア開発、ターミナル操作、デスクトップ連携のための最高峰オープンソース自律エージェントプラットフォーム。

OpenHandsの詳細を見る →

Devin

自律型ソフトウェアAI

ブラウザ、ターミナル、エディタを総合制御し、自律的にコード開発とデスクトップ環境作業を完遂するCognitionのフラッグシップAI。

Devinの詳細を見る →

10. よくある質問(FAQ)

Q1: 個別APIを開発する代わりにデスクトップGUIエージェントを使う利点は何ですか?

理想的な世界では全ソフトがRESTやGraphQLを提供すべきですが、現実の企業内には数千のレガシーシステム(SAP、オフコン端末、専用会計ソフト)が存在し、API開発には膨大な費用と年月を要します。デスクトップGUIエージェントは既存コードやDBに一切手を加えないゼロタッチ自動化を実現します。

Q2: 視覚エージェントに入力する最適な画面解像度はどれくらいですか?

4Kの生画像をそのまま入力するとトークン消費と推論レイテンシが激増します。本番環境では1920x1080でキャプチャし、モデル内部の1000x1000正規化グリッドで判断させた後、物理ピクセルへと数学的にスケーリング変換してクリックを発行するのが一般的です。

Q3: アプリの動的ローディングやアニメーションはどのように待機しますか?

ブラウザと異なりデスクトップにはロード完了通知イベントがありません。本番エージェントは視覚差分ポーリング(Visual Delta Polling)を採用し、250ミリ秒間隔でフレームを取得してピクセル変動率が1%未満に安定したことを確認してから次の操作を実行します。

Q4: マルチモニターや複数ウィンドウ環境でも動作しますか?

はい、動作します。複数画面を1つの結合キャンバス(3840x1080など)として扱うか、ウィンドウフォーカスAPIを活用して対象アプリをメイン仮想ディスプレイにアクティブ化してから視覚認識を行う構成をとります。

Q5: UI-TARSはローカルの一般的なPC環境で動かせますか?

UI-TARS 7Bモデルは、GGUFやAWQなどの量子化を行うことで、Apple Silicon搭載Mac(ユニファイドメモリ32GB以上)やNVIDIA RTX 4090単体でもローカル動作可能です。72Bモデルは企業向けのA100/H100クラスのGPU環境が推奨されます。


元記事:AgDex.ai - Beyond the Browser: Building Desktop GUI Agents in 2026 with UI-TARS, Claude Computer Use, and OSWorld 2.0

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?