agent-device

agent-device: とは何なのか、どのような問題を解決し、なぜ注目を集めているのか

解決する問題

agent-device は、AIコーディングおよびQAエージェントが、複数のプラットフォームにわたる実際のアプリケーションと対話・検証するための手段を提供します。デバイス自動化のための標準化されたCLIを提供することで、エージェントがコードについて推論することと、そのコードが物理デバイス、シミュレータ、またはエミュレータ上で実際に動作するかを確認することの間のギャップを埋めます。

仕組み

このツールは、AIエージェントの「手と目」として機能します。プラットフォーム固有のバックエンド(iOS/tvOS 用の XCTest、Android 用の ADB、Linux 用の AT-SPI、および macOS 用のローカルヘルパー)を使用してコマンドを実行します。エージェントはCLIを使用してUIの「スナップショット」を取得します。これは、要素にリファレンスID(@e1 など)を割り当てる構造化されたアクセシビリティデータです。その後、それらのリファレンスを使用して、タップ、タイピング、スクロールなどのアクションを実行します。

対象ユーザー

  • AIエージェント開発者: 実際のアプリのフィードバックループを必要とするコーディングエージェント(例:Cursor、Claude Code、または Windsurf を使用)を構築している開発者。
  • QAエンジニア: モバイルおよびデスクトップアプリの検証を自動化するために、AI駆動のQAハーネスを作成している開発者。
  • アプリ開発者: ネイティブの iOS/Android、Expo、Flutter、または React Native アプリを扱っており、AIエージェントを開発および CI/CD パイプラインに統合したい開発者。

ハイライト

  • マルチプラットフォーム対応: iOS、Android、tvOS、Android TV、macOS、Linux、および web で動作します。
  • セマンティックなインタラクション: アクセシビリティツリーを使用して、トークン効率の高いスナップショットと、信頼性の高い要素ターゲット指定のためのセマンティックなリファレンスを提供します。
  • 証拠収集: デバッグのために、スクリーンショット、ビデオ、ログ、トレース、ネットワークトラフィック、および React render プロファイルをキャプチャします。
  • 再現性: インタラクションを .ad スクリプトとして記録し、繰り返しの e2e チェックや Maestro YAML へのエクスポートを可能にします。
  • クロスパラメータ互換性: ネイティブアプリに加えて、Expo、Flutter、および React Native のようなフレームワークもサポートしています。

Sources