「自然言語でWebを操作する」がついに3行のコードで実現
Webアプリの操作を自動化しようとすると、これまでは何かと大変でした。SeleniumやPuppeteerを使ってブラウザを外部から制御する方法が主流でしたが、環境構築だけで半日かかることもありますし、アプリのUI変更があるたびにスクリプトが壊れる……という経験をしたことがある方も多いのではないでしょうか。
そこに登場したのが、アリババがGitHubで公開した「Page Agent」です。このツールの最大の特徴は、外部からブラウザを動かすのではなく、WebページのDOM(ページの構造情報)に直接アクセスして操作するという点にあります。つまり、ページの内側から動くエージェントです。
導入は本当に3行で終わる
Page Agentの導入方法はシンプルで、HTMLにscriptタグを1行追加するか、npmパッケージ(npm install page-agent)を使うかのどちらかです。設定が終われば、あとは自然言語のコマンドを渡すだけでUIを操作できるようになります。たとえば「fill out this form」と指示するだけで、フォームへの入力を自動で行ってくれます。
技術的な仕組みとしては、画面のスクリーンショットを撮ったりOCRで文字を読み取ったりする方法は使っていません。代わりに、DOMをテキスト形式に変換して「対話できる要素だけ」を抽出し、それをLLMに渡して次のアクションを判断させています。画像処理が入らない分、速度も軽快で、CORS制限にも引っかかりにくい構造になっています。
自分のLLMを持ち込める「BYOL」アプローチ
Page Agentのもう一つの大きなポイントは、どのLLMと組み合わせるかを自分で選べることです。GPT-4でもClaudeでも、あるいはQwenやMistralでも、APIキーさえあれば接続できます。外部のバックエンドサービスを経由しないため、ページの操作内容や入力データが第三者に渡る心配がありません。
競合サービスとして、同様のAIコパイロット機能を月額30ドルで提供している企業もありますが、Page AgentはMITライセンスで無料公開されています。もちろん、LLMのAPI利用料は別途かかりますが、ツール自体のコストはゼロです。リリースからすぐにHacker Newsでトレンド入りし、GitHubのスター数は17,000を超えました。
どんな場面で使えるか、具体的に考えてみる
たとえば、毎日使っている社内のCRMシステムで20回クリックしないとできない作業があるとします。Page Agentを組み込めば、それを1文の指示に置き換えられる可能性があります。「先月の売上データをエクスポートして担当者でフィルタして」といった操作を、自然言語でこなせるようになるわけです。
また、古くて使いにくいレガシーWebアプリの操作補助にも向いています。UIのリニューアルに予算をかけられない場合でも、Page Agentを薄く乗せるだけで、音声や自然言語での操作に対応させることができます。アクセシビリティの改善策としても注目されています。
複数ページにまたがる操作をしたい場合は、オプションのChrome拡張機能「Page Agent Ext」を併用する必要があります。また、本番環境ではデモ用のCDNは使わず、自分のLLMエンドポイントを明示的に設定することが推奨されています。APIキーの管理やCORSの設定は、導入前に確認しておきたいポイントです。
フリーランスへの影響
フリーランスのWeb開発者やエンジニアにとって、Page Agentはクライアント案件の提案の幅を広げるツールになりそうです。「自然言語でWebアプリを操作できる機能を追加したい」というニーズは、特にSaaSや社内ツールを持つ企業から増えてきています。これまでは実装コストが高かったこの種の機能を、Page Agentなら比較的少ない工数で提供できるかもしれません。
一方で、ノーコードツールに慣れたフリーランスや、JavaScriptの経験が浅い方には、まだ少しハードルがある印象です。ドキュメントが英語のみという点も、日本語ユーザーにとっては最初の壁になるかもしれません。日本語対応については現時点では明言されておらず、LLMの言語設定で対応するかたちになります。
現時点では「試してみたい開発者向けのツール」という段階ですが、今後のコミュニティの成長次第では、フリーランスが差別化のために使える武器になっていく可能性は十分あります。
まとめ
Page Agentは、Webページに自然言語操作を組み込みたい開発者にとって、試す価値のあるオープンソースツールです。まずはGitHubのサインアップ不要のライブデモで動作を確認してみるのが手軽な第一歩になります。すぐに実務投入というよりは、個人プロジェクトや小規模な実験から始めてみるのが現実的な使い方かもしれません。

コメント