The AI / news

Vercel Labs、 « エージェントコンピュータユース »向けagent-desktopをオープンソース化

Vercel Labs、 "エージェントコンピュータユース"向けagent-desktopをオープンソース化
1 min de lecture

Vercel Labsは、AIエージェントがmacOS、Windows、Linux上のデスクトップアプリケーションを操作できるようにするオープンソースのコマンドラインインターフェース(CLI)ツール、agent-desktopを公開した。2026年10月30日にApache-2.0ライセンスでリリースされたバージョン1.0.2では、スクリーンショットではなく、OSのアクセシビリティツリーを利用している。

視覚的ではなく構造化された読み取り

アクセシビリティツリーとは、支援ツール向けにシステムが提供するインターフェース要素の構造化された記述である。agent-desktopはエージェントにJSON形式のスナップショットを渡し、操作可能な各要素には参照(ref)が割り当てられる。これらの参照はスナップショットIDで修飾され(例:@s8f3k2p9:e8)、不完全な参照(例:@e8)はINVALID_ARGSコードで拒否される。

インターフェースが変更されると、アクションはSTALE_REFまたはAMBIGUOUS_TARGETを返す可能性があり、その場合エージェントは新たなスナップショットを取得する必要がある。エラーは再試行が安全かどうかも示す。このツールはエージェントとしてではなく、エージェントから呼び出されるコンポーネントとして設計されており、言語モデルは組み込まれておらず、GUIも備えていない。Rustで書かれており、Python、Swift、Go、Ruby、Nodeのプログラムから直接呼び出せるCライブラリが付属する。

x64およびARM64アーキテクチャのmacOS 13+、Windows 10 1809+またはServer 2019+、Ubuntu 24.04+で動作し、GPUは不要。macOSでは、agent-desktop permissions –guideコマンドでアクセシビリティ権限を付与する必要がある。

開発者が発表したトークン削減効果

モデルに送信するデータ量を抑えるため、–skeletonオプションでは深さ3レベルまでしか読み取らない。開かれていないコンテナは子要素の数と、特定領域を探索するための参照を示す。開発者によると、Slack、VS Code、Notionでのツリー全体の走査と比較して、トークン(モデルが処理するテキスト単位)の削減率は78%から96%に達するという。Apple Mapsでは、1回の観測あたり3,811トークンだったものが、この方法では273トークンになったと報告されている。52ステップの模擬タスクでは、消費トークン数が198kから31kに減少した。これらの数値は自主申告によるもので、独立したベンチマーク結果ではない。

Anthropicのドキュメントによると、同社のコンピュータ使用ツールで使用されるスクリーンショットは入力で約1,000〜1,800トークンかかり、ツール定義はリクエストごとに約4,500トークンを追加するとされる。一方、OpenAIはクリック、入力、スクロールなどのアクションを提供しており、ユーザーのコードがそれらを実行する。Microsoft UFO²もUI Automationを利用するが、Windows向けの完全なエージェントとして位置づけられている。

参照を用いたアクションは、ポインタを移動させたりフォーカスを奪ったりすることなく、アクセシビリティAPIを介して実行されるため、ユーザーがマシンを通常使用している間にもエージェントが作業を続けられる。グローバルオプションの–headedは、必要に応じて物理的な入力を許可する。また、各アクションは、ターゲットが表示され、アクティブで、安定するまで最大5,000ms待機する。

プロジェクトはいくつかの制限を指摘している。アクセシビリティツリーを公開しないアプリケーションはツールからアクセスできない。ChromiumやElectronアプリケーションはコールドスタート時に、Webツリーを公開するまで10〜25秒かかる場合がある。最後に、スナップショット、クリップボード読み取り、キャプチャには個人データが含まれる可能性があり、ドキュメントでは公開ログから遠ざけることを推奨している。コードはプロジェクトのGitHubリポジトリで入手可能。インストールはnpm install -g agent-desktopコマンドで行い、その後エージェントはagent-desktop skills get desktopコマンドでツールを認識する。