takahirom/arbigent

AI Agent for testing Android, iOS, and Web apps. Get Started in 5 Minutes. Arbigent's intuitive UI and powerful code interface make it accessible to everyone, while its scenario breakdown feature ensures scalability for even the most complex tasks.

Arbigent (Arbiter-Agent) – AIエージェントテストフレームワーク

何であるか – AIエージェントを使用して、モバイル、ウェブ、TVアプリのUIレベルのテストを書いたり実行したり管理できるデスクトップアプリ(CLIラッパー付き)。高レベルの目標(例:「チュートリアルを完了する」)を依存関係を持つシナリオの連鎖に分解し、非プログラマーが視覚的なUIでシナリオを作成できるようにし、エンジニアがYAMLファイルからプログラム的に実行できるようにします。


コアアイデア

アイデア なぜ重要か
シナリオの依存関係 複雑なフロー(ログイン → 検索 → 購入)を小さな再利用可能なステップとして表現することで、テストの保守性が向上します。
ハイブリッドUI+コードワークフロー QAエンジニアはUIでドラッグアンドドロップでシナリオを作成できます。開発者はCIパイプラインから同じYAMLを呼び出せます。
クロスプラットフォーム対応 iOS、Android、ウェブ、TV(D-パッドナビゲーション含む)で動作します。
AI駆動のインタラクション エージェントはフィルタリングされたUIツリーとアクセシビリティラベルに埋め込まれたオプションのAIヒントを読み取り、タップやスクロールを決定します。
モデルの柔軟性 デフォルトは gpt-4.1 ですが、gpt-4o-mini などの安価なモデルに切り替えられます。
画像アサーションとスタックスクリーン検出 RoborazziのAI駆動画像アサーションを使用して、エージェントの行動が正しいことを検証し、スタックした場合に回復できます。
MCP(Model Context Protocol)サポート 外部ツール(例:アプリのインストール、ログの取得)はJSON構成されたサーバー経由でシナリオから呼び出せます。
再利用可能なシナリオ GitHub Actionsに似たライブラリスタイルの「関数」で、パラメータ付きで呼び出せ、重複を削減できます。
Maestro YAML統合 既存のMaestroテストフローをAIが制御を引き継ぐ前の決定論的セットアップステップとして実行できます。

一般的なワークフロー

  1. デバイスを接続(実機またはエミュレータ)し、Arbigent UIでAIプロバイダのAPIキーを入力します。
  2. シナリオを作成 – 自然言語の目標を入力するか、既存のMaestro YAML / Android Journeysファイルをインポートします。
  3. オプションのフックを追加 – カスタム初期化/クリーンアップコード、MCPサーバー呼び出し、再利用可能なシナリオ呼び出し。
  4. 実行 – UIのRunボタンをクリックするか、CLIを呼び出す(arbigent run --project-file myproj.yml)。
  5. レビュー – UIはUIツリー、スクリーンショット、AI生成アクションを表示。失敗は画像アサーションで確認できます。

インストール

プラットフォーム 手順
macOS(バイナリ) ReleasesページからUIバイナリをダウンロード。macOSがブロックした場合は、Appleの「いつでも開く」手順に従ってください。
CLI brew tap takahirom/homebrew-repo && brew install takahirom/repo/arbigent(Java 17+が必要)。
ラッパースクリプト ピン止めバージョンのラッパー(arbigent wrapper)を生成し、初回実行時に正しいリリースをダウンロード – CIでグローバルインストールなしで便利です。

どの人向けか

役割 メリット
QAエンジニア コーディング不要でUIテストを記述可能。自然言語でテストを維持できる。
開発者 / DevOps CIからのプログラム実行、並列シャーディング、AI結果キャッシュ、既存のMaestro/YAML資産の再利用。
プロダクトチーム 低レベルのUIスクリプトを書かずに、実機でエンドツーエンドフローを素早くプロトタイピング可能。

強みと弱み(作者の見解)

項目 評価(1–5) コメント
速度 1 LLMの遅延と実機インタラクションによる制限。--shard並列化と結果キャッシュで緩和可能。
保守性 4 自然言語の目標とシナリオ分解により、UIの変更にも耐性。再利用可能なシナリオで重複削減。
利用度(コスト) 1 デバイスリソースと有料LLM呼び出し(GPT-4oで約$0.005/ステップ、$0.02/タスク)が必要。リプレイ+フォールバックで再発生コストを削減可能。
信頼性 3 ビルトインの待機、ダイアログ処理、リトライ機能あり。ただしエミュレータの不安定性は実行に影響。
忠実度 5 実機/エミュレータで実行可能。動画再生などの視覚的側面も検証可能。

ライセンスとコミュニティ

  • オープンソース – 無料で使用・変更・配布可能。貢献を歓迎し、再利用可能なシナリオの仕様ファイルも提供。
  • サポート – 作者はスパムアカウントがプロジェクトを偽装していると注意。公式アップデートはXアカウント @_takahirom_@new_runnable から。

クイックスタート例(CLI)

# CLIのインストール(Homebrew)
brew tap takahirom/homebrew-repo
brew install takahirom/repo/arbigent

# 保存済みプロジェクトファイルの実行
arbigent run --project-file myproject.yml \
    --scenario-ids="login-and-play"

結論 – Arbigentは、LLM駆動エージェントで現代のモバイル/ウェブ/TVアプリをテストする目的に特化したフレームワークであり、視覚的なシナリオ作成とコードファースト実行の両方を提供しながら、カスタムツールや既存の決定論的テスト資産へのフックを公開しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト