オムニモーダルに依存せず、DOM圧縮でトークン効率よくWebを探索するAIエージェントライブラリ
(tidesurf.org)普段はGNをたまに読むだけで、投稿は今回が初めてです。よろしくお願いします!
不確実な現行のオムニモーダルWebサーフィンエージェントの代わりに、CDPで取得したDOMをLLMが理解できるよう最小限に整形・圧縮し、MCPにしたらどうだろう? というアイデアから作ってみたライブラリです。
作った理由
- スクリーンショットベースのWebエージェントはビジョンモデルが必要で、トークン消費が非常に激しいです。
- 既存のDOMシリアライズはCSSクラス、ラッパー
div、スクリプトまで全部含むため、1ページで5万〜10万トークンになります。 - エージェントに必要なのはボタン、リンク、入力、テキストだけなのに、そのためにコンテキストウィンドウ全体を使うのは非効率です。
動作方式
- CDPを通じてChromeインスタンスに接続した後、DOM内で最小限の識別に必要な要素以外はすべて取り除きます。
- その後、各要素に短いIDを付け、Agentにその内容を渡します。
- エージェントからのインタラクティブ要素に対して
click("B1")、type("I1", "検索語")のような操作もサポートします!
ベンチマーク
- GitHub: 84,357 -> 2,593 トークン (32x)
- Wikipedia: 123,615 -> 12,097 トークン (10x)
- MDN: 24,923 -> 1,793 トークン (14x)
- HN: 8,736 -> 1,038 トークン (8.4x)
- 平均93%のトークン削減、パース時間は約30ms
ペーパースペック
- TypeScriptベースで、ランタイムとしてBun Native、またはNode 18+もサポート
chrome-remote-interfaceRuntime に依存- ElysiaJSベースのバックエンド
リンク
- GitHub: https://github.com/TideSurf/core
- npm: https://www.npmjs.com/package/@tidesurf/core
- ドキュメント/デモ: https://tidesurf.org
個人的なデバッグ用に作って使っていたところ、意外と実用的だったのでOSS化して公開してみました。ぜひ一度使ってみて、たくさんフィードバックをお願いします!
まだコメントはありません。