agent-browser と playwright-cli の再比較: Rust 版 agent-browser は snapshot -i -c でトークン差が約6%まで縮んだ
Rust ネイティブになった agent-browser(v0.21.4)は、snapshot -i -c を使えば playwright-cli(0.1.5)とのトークン差が約6%(28.0K と 26.3K)しかない。ネットワーク記録・差分・iOS 対応も増えたので、普段は agent-browser、Playwright の API を直接書きたいときだけ playwright-cli、という使い分けでよい。
解決する問題
- エージェントにブラウザを操作させるとき、ページの読み取り(スナップショット)がトークンを大量に使う
- 以前の比較で「playwright-cli のほうが軽い」と言われていたが、今も当てはまるか分からない
比較の数字(元記事の計測)
| やり方 | トークン |
|---|---|
agent-browser snapshot -i -c | 28.0K |
agent-browser snapshot -i | 33.5K |
| playwright-cli | 26.3K |
-iは操作できる要素だけ、-cはさらに短く詰めた形。-cを付けるかどうかで差が大きい
agent-browser で増えた主なコマンド
bash
agent-browser network requests --filter api # 通信の一覧を絞り込む
agent-browser network har start # HAR の記録を始める
agent-browser network har stop out.har # 記録を止めて保存
agent-browser diff snapshot # 前回のスナップショットとの差分
agent-browser diff url https://a.example https://b.example # 2つのURLの差分
agent-browser -p ios open https://example.com # iOS(シミュレーター)で開く- 既存のブラウザを使う:
--executable-path・--args・--cdp、または環境変数AGENT_BROWSER_EXECUTABLE_PATH
使い分け
- 普段の確認・操作・通信の調査: agent-browser(
snapshot -i -cを既定にする) - Playwright の API をそのまま書いて実行したいとき(
run-code): playwright-cli
注意点
- 数字は元記事の対象ページでの計測。ページによって差は変わるので、自分のよく見るページで一度測るとよい
- どちらもバージョンが上がるのが速い。オプション名は
--helpで確かめる
関連
- agent-browser で Web Vitals を測って変更の効果を検証する
- E2E テストは「Chrome DevTools Recorder で録画 → JSON を AI に渡して Playwright 化」で書く