GPT-4 VisionとVimiumを活用したWeb探索
(github.com/ishan0102)- GPT-4Vのビジョン機能だけでWebブラウジングが可能かを実験するプロジェクトで、マルチモーダルモデルにWebとやり取りするためのインターフェースを提供
- ブラウザのDOMをテキストとして渡さないと、モデルが何をクリックしようとしているのか判断しにくいという問題を扱う
- Vimium Chrome拡張を使ってキーボードだけでWebを探索できるようにし、それを通じてモデルがWebとやり取りする方法を実験
- 実行フローは、Python要件のインストール、Vimiumのローカルダウンロード、Playwright実行時の拡張機能の手動ロード、
python main.pyの実行で構成 python main.py --voiceでVoice Modeを実行し、音声コマンドで目標を伝えてブラウザ操作をリアルタイムに行わせることが可能- 現在のVision APIはJSON modeやfunction callingをサポートしていないため、より原始的なプロンプト方式に依存せざるを得ないという制約がある
- 低解像度ではモデルが何も検出できない場合があり、より高解像度の画像を使えば改善される可能性はあるが、より多くのトークンが必要になる
1件のコメント
Hacker News のコメント
いまやこんなことが可能になっているのは本当に驚き: https://github.com/ishan0102/vimGPT/blob/682b5e539541cd6d710...
プロンプトが「ユーザーの目標を助けるために navigate、type、click、done のうちどの動作をするかを選び、黄色い文字列でクリック対象を指定し、JSON だけを返せ」というような形でブラウザ操作をさせている
職場には、レガシープログラム同士の間で手作業のデータコピーだけをしている人がかなりいる。政府系なので技術的負債が大きすぎて、システム同士をつなぐ方法を見つけられていない
こういうツールがいつか、こうした問題の上で動くレイヤーになれるなら期待できる。計算資源の観点では奇妙な解法ではある
既存のやり方が気になって尋ねると、オフィス奥のコンピュータまで連れて行かれ、壁紙には MS EXCEL と INTERNET EXPLORER と書かれた 2 つの四角形があった。担当者は 2 つのアプリを開いてウィンドウを正確にその四角形に合わせ、それから RuneScape のチーターが使いそうな自動クリッカーを走らせて、Excel の値を Web サイトのフォームにコピーしていた。すごかった
ユーザー名、パスワード、メールアドレス、実住所、クレジットカード情報などが全部そうで、入力を助けようとする拡張機能もあるが、きちんと継続的に動くものはない。ユーザー名とパスワードだけを一貫して入力してくれることすら期待しづらい。インターネット利用において広告よりも大きな最大の苛立ちで、LLM があろうとなかろうと、いまだに解決されていないのは驚きだ。これを完全に解決するソフトウェアなら、月額料金を払ってもいい
これまでこうした製品はかなり壊れやすかったが、最近の AI 技術の爆発的進展はこの領域にとって大きな追い風に見える
ChatGPT のようなものを統合するとしても、ちゃんと分かっている人がレビューする必要があるだろうし、その人たちが最初にする助言が「そこに ChatGPT は使わないでください」だったとしても驚かない
vim は意図せずして、ChatGPT にとって素晴らしい実装された身体になっているように思う。テキストストリームでできないことはなく、インターネットにはすでに vimscript があふれている
似た実験を始めたので、同じ方向を考えている人がいれば参考にしてもよい: https://github.com/LachlanGray/vim-agent
作った者です。気になることがあれば聞いてください。コントリビューションも歓迎します。README に可能な次のステップをいくつか残してあります
何らかの形で、公開された World Wide Web が独自の動的 API オーバーレイサーバーへと変わりつつあります
GPT-4 Vision でスクリーンショットとアクションを使ってブラウジングする似たアイデアを試してみたが、スクリーンショット上に情報を重ねて表示しようとして失敗したあと、結局 Playwright からアクセシビリティツリーを取得してテキストとして一緒に送った
そうするとモデルがインタラクション可能な選択肢を把握できるので、自分の場合はよりうまく動いた。作者がここにいて今後のアイデア一覧もあるので、よければこれをリストに追加してもよさそうだ
この数週間、ChatGPT インターフェースでこれをいじっていた。いくつかコツがある
CSS を変えてグラデーションと角丸をなくし、太い白文字に赤色が最も一貫していた。フォントサイズを大きくし、ラベルが 2 つ重なったら互いに押しのけたうえで要素を指す矢印を追加するとよい。API には注釈付き画像と注釈なし画像の両方を送るほうがよかった
ブラウザ用のオートパイロットを作れる
これが大規模に展開されると、今後ボットトラフィックを見分けるのがものすごく難しくなるだろう。ただ短期的には、安価または許容可能なコストにはなりにくいという問題が見える
こうしたツールは、ウェブトラッキングやインターネット広告全般にどんな影響を与えるのだろう? エージェントが代わりにウェブを巡回し、広告やポップアップを見ず、トラッキングも避けながら、正確に探しているものだけを持ってこられるなら、優れた広告ブロッカーになり得る。
もしかするとSEOを無意味にして、インターネットの品質を高めるかもしれない。逆に、広告が取得されたコンテンツの中に何らかの形で「紛れ込む」副作用も起き得るのか気になる。
オランダの多くの会社は給与をこのように支払っている。1) 会計士から給与明細を受け取り、2) 各従業員にその明細の金額分だけ銀行振込を手動で開始し、3) 源泉徴収した給与税を税務当局に送る銀行振込も手動で開始する。
まったく無駄な手作業で、手動プロセスである理由がない。ところが自動化はほぼ不可能だ。会計ポータルにはAPIがないか、あってもデータをPDFでダウンロードさせるだけだったり、API費用がかなりかかったりする。銀行にもAPIがないか、単に社内手続きを自動化したいだけなのに、公開アプリを出すかのように開発者アカウント登録を求めてくる。だから給与と税金を支払う最も簡単な方法は、今でも人を雇って手動で処理してもらうことだ。AIに実際の銀行振込を開始させることは信頼しないだろうが、取引を準備しておいて、人間が送信承認だけする形なら可能かもしれない。
Adeptのコンセプトとかなり似ているのだろうか? ただ、製品はまだ準備できていないようだ: https://www.adept.ai/
Adeptは途中で方向転換したようではあるが、元のコンセプトはこれと非常に似ていた。