プログラミング
Show HN: Argus、コーディングエージェントがQAより速く動くチームのためのエージェンティックQA
Show HN: Argus, agentic QA for teams whose coding agents move faster than QA (github.com)
要約
Argusは、スクリプト作成やセレクタのメンテナンスなしに、AIエージェントがユーザーのようにUIをテストするビジュアルUIテストエージェントです。テストを記述しページを指示するだけで、エージェントがUIを探索し、構造化されたレポート、タイムライン、スクリーンショットを自動的にキャプチャします。このシステムは、複数のエージェントが連携して動作し、テストの実行プロセス全体を可視化することで、従来のテストでは見逃されがちなバグを発見します。
全文翻訳
Argus AIエージェントが、スクリプト作成やセレクタのメンテナンスなしに、実際のユーザーのようにUIをテストします。ArgusはビジュアルUIテストエージェントです。テストを記述し、HTTP(S)ページを指示するだけで、隔離されたPlaywrightブラウザコンテキストでページを検査する様子を観察できます。実行、タイムライン、スクリーンショット参照、構造化されたレポートが自動的にキャプチャされます。
Argusは、あなたがテストを書いていないバグを発見します。ページを指示し、「正常に動作する」とはどういう状態かを記述するだけで、自律型エージェントが実際のユーザーのようにUIを探索します。クリック、タイピング、スクロールを行い、スクリーンショットとタイムラインを含む構造化されたレポートを提供します。メンテナンスすべきテストスクリプトはなく、世話を焼くべき不安定なセレクタもありません。
スクリプトではなくエージェンティック — エージェントはページについて推論し、適応します。固定されたスクリプトを再生するわけではありません。
スタックに適合 — Playwright上に構築されており、localhostおよびプライベートネットワークアプリに対して機能します。
セットアップの手間なし — 数分でテストを開始できます。
ホストされたプラットフォームを使用する
Argusを実行する最も速い方法:インストール不要、APIキーの管理不要、セルフホスト不要。argustest.comで開始してください。
マルチエージェントパイプライン
実行は単一のモデル呼び出しではありません — 5つのエージェントが互いに引き継ぎ、ライブ実行ビューで各エージェントの動作を観察できます。
バリデーター — 実行が開始される前に、ターゲットURLとテスト記述が実際にテスト可能であることを確認します。
コンプレヘンダー — テスト記述を読み込み、それを個別のテストケースに分解します。
エクスプローラー — まずアプリをクロールし、各ページで利用可能なページとアクションをマッピングします。
ストラテジスト — マップとテストケースを具体的なステップバイステップの計画に変換します。
エグゼキューター — 実際のブラウザで計画を実行します。ナビゲート、タイピング、クリック、結果の確認を行います。
何もブラックボックスでは起こりません — 各エージェントは、個々の「/companiesにナビゲート中」や「ページに「Airbnb」があることを確認」といったアクションまで、動作中に推論をストリーミングします。これにより、アプリがマッピングされ、計画が構築され、テストが実行される様子をライブで確認できます。
Argusの内部
例
テストは意図の記述にすぎません — Argusがページとの対話方法を把握します。例えば、Y Combinatorのサイトを対象とした場合:
ターゲット:https://www.ycombinator.com
スタートアップディレクトリをテストする。
1. ホームページから、companies/startupディレクトリにナビゲートする。
2. よく知られたYC企業を名前(例:「Airbnb」)で検索し、結果に表示されることを確認する。
3. ディレクトリを特定のバッチ(例:「Winter 2024」)でフィルタリングし、表示される企業が一致するように更新されることを確認する。
4. 結果から企業のプロフィールを開き、その名前、一行説明、バッチ、ウェブサイトリンクがすべて正しくレンダリングされることを確認する。
5. ディレクトリに戻り、検索/フィルタの状態が期待どおりに動作することを確認する — ページのデザインに応じて、保持されるかリセットされるか。
6. ビューポートの幅を375pxにリサイズし、ナビゲーションがモバイルメニューに折りたたまれ、ディレクトリリストが重なり合う要素なしでスクロール可能で使いやすいままであることを確認する。
既知の企業が検索結果に表示されない場合、バッチフィルタがリストを実際にフィルタリングしない場合、企業のプロフィールに必要なフィールドがない場合、またはモバイルレイアウトが壊れた場合は、テストを失敗させる。
Argusはこれを人間が行うように実行します — フローをクリックし、ページを読んで成功または失敗を判断します — そして、タイムライン、各ステップでのスクリーンショット、およびその理由を含むパス/フェイルレポートを返します。
自分で実行する
Argusはソースアベイラブルであり、完全にローカルファーストです — SQLiteストレージ、テレメトリなし、あなたのデータとスクリーンショットはあなたのマシンから離れることはありません。
セルフホストを希望しますか?以下の手順に従ってください。
要件
Python 3.11+、uv、およびNode.js 20.19+または22.12+
実際の実行にはGemini APIキーが必要です。
ローカルで実行する
cp .env.example .env
# .envにGEMINI_API_KEYを設定する
uv sync --dev
uv run playwright install chromium
cd frontend && npm install && npm run build && cd ..
uv run uvicorn argus.app:app --reload --env-file .env
http://localhost:8000 を開きます。
フロントエンドのホットリロードには、Uvicornと並行してfrontend/でnpm run devを実行し、http://localhost:5173 を開きます。
設定は環境変数のみです:
変数 デフォルト 目的
GEMINI_API_KEY — 実際の実行に必要
GEMINI_MODEL gemini-2.5-flash Gemini RESTモデル
ARGUS_DATA_DIR data SQLiteおよびスクリーンショットディレクトリ
ARGUS_HEADLESS true Playwrightブラウザモード
ARGUS_RUN_TIMEOUT 300 実行タイムアウト(秒)
Argusは、信頼できるlocalhostおよびプライベートネットワークアプリを含む、通常のHTTP(S)ターゲットを受け入れます。ターゲットURLの認証情報や機密性の高いクエリパラメータは拒否され、プロバイダーのシークレット、入力されたブラウザ値、検査されたページコンテンツは決して保存しません。設定画面には、プロバイダー構成が存在するかどうかのみが表示されます。
Docker
cp .env.example .env
# .envにGEMINI_API_KEYを設定する
docker compose up --build
UIはhttp://localhost:8000で利用可能で、永続データは./dataに書き込まれます。
開発チェック
uv run pytest
uv run ruff check argus tests
uv run pyright argus tests
cd frontend && npm run typecheck && npm run lint && npm run build
アーキテクチャ
argus/runtime: プロバイダーニュートラルなエージェント、メッセージ、ツール、セッション境界
argus/providers/gemini.py: 生のhttpx Gemini REST/SSEアダプター(プロバイダーSDKなし)
argus/pipeline.py: 計画、単一ブラウザエージェント、証拠キャプチャ、レポート作成
argus/store.py: SQLite実行、イベント、スクリーンショット、レポート
argus/app.py: REST API、再接続可能な実行ごとのWebSockets、およびUIサービング
frontend: ダッシュボード/コンポーザー、ライブセッション、履歴、レポート、読み取り専用設定
APIドキュメントは/docsで利用可能です。すべてのデータはローカルに保存されます。このリリースには認証やマルチユーザー分離はありません。
ライセンス
Argusは、Argusソースアベイラブルライセンス1.0(ASAL-1.0)の下でソースアベイラブルです。
個人および小規模チーム(100人未満):商用および非商用の目的で、無料で利用、変更、セルフホストできます。
エンタープライズ(100人以上):商用ライセンスが必要です。セットアップについては、licensing@argustest.comまでお問い合わせください。
リリースは3年後に自動的にMITライセンスに変換されます。