Skip to content

agent-browser スキルAIエージェント向けCLIブラウザ自動化

daemon常駐 + CLIインタフェース + LLMフレンドリー要素参照。dev-workflowのE2Eテストを適材適所で補完する。

agent-browser スキル設計書

背景と位置づけ

dev-workflow の /issue-test コマンドでは、E2E テスト・エビデンスキャプチャに Playwright を使用している。本スキルは Playwright を置き換えるのではなく、用途に応じて使い分けられる第 2 の選択肢 として位置づける。

当初の想定 vs 実測の結果

当初は「Rust 製だから Playwright より 100 倍軽い/速い」と考えていたが、実機ベンチマークの結果、下回りのブラウザは両者とも同じ chrome-headless-shell を使うため、性能は本質的に同等だと判明した(詳細は ベンチマーク 参照)。

agent-browser の真の価値は性能ではなく、AI エージェントとの親和性と運用形態にある:

  1. daemon 常駐 → 2 回目以降の単発コマンドが 7 倍速い(warm start 178 ms vs cold start 1,229 ms)
  2. CLI インタフェース → bash から直接呼べる、AI エージェントが Node.js スクリプトを書かなくて済む
  3. アクセシビリティツリー基準の要素参照 @e1 → LLM がスナップショット出力から直接読んで操作できる
  4. 単体 Rust バイナリ → Node.js 非依存(Homebrew / Cargo 経由のインストール時)

スキルの位置づけ

dev-workflow スキル
  └── /issue-test コマンド
       ├── Playwright             ... 1 フロー内の連続 E2E、既存 Node.js エコシステム統合
       └── agent-browser(本スキル)... daemon 常駐 AI エージェント、CLI 統合、認証付き再利用

実測パフォーマンス比較

シナリオagent-browserPlaywrightどちらが速い?
Cold start (open+shot+close 1回)1.21 s1.23 s≈ 同等
Warm start (daemon 常駐→shot のみ)0.17 s不可agent-browser 専用
1 フロー内 5 連続 shot1.86 s1.30 sPlaywright 1.41x 速い
並列 3 セッション × 5 shot1.86 s
メモリ (idle + 1 page)290 MB286 MB≈ 同等
依存関係単体バイナリNode.js + npmagent-browser シンプル

理由: 両者とも内部で同じ chrome-headless-shell を起動しているため、Chromium の性能に律速される。差が出るのは IPC オーバーヘッド(agent-browser は毎コマンド socket 経由 = +170ms)と Node.js 起動時間(Playwright は毎回のスクリプト起動 = +数百ms)だけ。

詳細な計測結果とシナリオ別のおすすめは ベンチマーク使い分けガイド を参照。

関連リンク