ブラウザランタイム
AnySoul では、エージェントに Web ページを閲覧・操作させることができます。ただし、現在は 2 つの異なるランタイム経路 があります。
- Web + ブラウザ拡張
- 現在のブラウザプロフィールをそのまま使う
- 実ブラウザのタブを開いて管理する
- 明示的な構造化ブラウザアクションをサポートする
- デスクトップアプリ
- AnySoul デスクトップアプリ内のローカル browser runtime を使う
- アプリ内ウィンドウで managed browser tabs を扱える
- 同じ明示的アクションに加えて、利用可能な場合はより強力な semantic browser actions をサポートする
このガイドでは、どちらを選ぶべきか、各経路で現在できること、そして性能や制約をどう理解すべきかを整理します。
まずはこれで選ぶ
Section titled “まずはこれで選ぶ”| こうしたいなら… | 選ぶもの | 理由 |
|---|---|---|
| いつも使っているブラウザの中でそのままエージェントを動かしたい | Web + ブラウザ拡張 | 現在のブラウザタブとログイン状態をそのまま使える |
| AnySoul 管理のローカル browser runtime を使いたい | デスクトップアプリ | ローカル runtime と managed tabs を AnySoul 側が持つ |
| 現時点で最も広いブラウザ能力面が欲しい | デスクトップアプリ | 明示的アクションに加えて semantic browser actions がある |
| なるべく軽く始めたい | Web + ブラウザ拡張 | デスクトップアプリ不要 |
両方のランタイムで現在できること
Section titled “両方のランタイムで現在できること”拡張経路とデスクトップ経路の両方で、次の明示的ブラウザアクションをサポートしています。
- タブを開く・アクティブにする
- 遷移、戻る、進む、再読み込み
- ページ状態の読み取り
- スクロール、フォーカス、ホバー、クリック、ダブルクリック、右クリック
- ドラッグ&ドロップ
- キー入力
- テキストのクリア、入力、貼り付け、コピー
- チェック状態の設定
- ドロップダウン選択
- フォーム送信
- ファイルアップロード
- selector、テキスト、URL の変化待ち
- 構造化データの抽出
- タブを閉じる
ほとんどの決定的な Web 操作フローでは、この明示的アクション群が最もよいデフォルトです。
ランタイムごとの差分
Section titled “ランタイムごとの差分”| 能力 | Web + ブラウザ拡張 | デスクトップアプリ |
|---|---|---|
| 現在のブラウザログイン状態を使う | はい | いいえ |
| AnySoul 管理の per-agent ローカル runtime | いいえ | はい |
| 実ブラウザのタブを使う | はい | いいえ |
| AnySoul アプリ内の managed tabs | いいえ | はい |
| 明示的な構造化ブラウザアクション | はい | はい |
semantic_act | いいえ | はい。現在の target が対応している場合のみ |
semantic_extract | いいえ | はい。現在の target が対応している場合のみ |
重要な制約: 拡張は semantic actions をサポートしない
Section titled “重要な制約: 拡張は semantic actions をサポートしない”現在のブラウザ拡張 executor は、次を サポートしていません。
semantic_actsemantic_extract
つまり、拡張経路は explicit-action-first な browser runtime として捉えるべきです。
実際には次のように考えるとよいです。
- 拡張は selector 駆動で決定的な Web フローに向いている
- タブを開く、ページを読む、フォームを埋める、ファイルをアップロードする、状態変化を待つ、構造化データを抽出するといった用途に強い
- 「通知タブを開く」「この schema で semantic に抽出する」のような自然言語主体のブラウザ命令には向いていない
それが必要なら、デスクトップアプリ経路を選んでください。
なぜ semantic actions は重いのか
Section titled “なぜ semantic actions は重いのか”デスクトップアプリでは Stagehand を通じて、より強い semantic browser actions を利用できます。
これは次のような場面で役立ちます。
- 安定した selector で対象を表現しにくいページ
- 次の操作を DOM アクションより自然言語で表したほうが簡単なケース
- ページ操作や抽出をより適応的に進めたいケース
ただし代償もあります。
- semantic actions は通常 遅い
- semantic actions は通常 token 消費が多い
- browser runtime の上に、モデルによる意味解釈レイヤーがもう一段乗る
判断の目安はこうです。
- ページのコントロールが安定していて、何をクリック・入力・抽出すべきかが分かっているなら、明示的アクションを優先する
- デスクトップ runtime が使えて、selector だけでは表現しづらい難しいページなら、semantic actions を検討する
アイデンティティとログイン状態
Section titled “アイデンティティとログイン状態”ランタイムの選択は、エージェントがどのブラウザ identity を使うかにも影響します。
Web + ブラウザ拡張
Section titled “Web + ブラウザ拡張”- エージェントは 現在のブラウザ identity を使います
- あなたがそのサイトですでにログインしていれば、拡張経路も同じログイン状態を見ます
- 独立した per-agent ブラウザプロフィールはありません
これは便利ですが、「エージェント専用の分離されたログイン sandbox がある」とは考えないでください。
デスクトップアプリ
Section titled “デスクトップアプリ”- デスクトップアプリは AnySoul 管理のローカル browser runtime を使います
- managed browser tabs は AnySoul アプリのウィンドウ内に表示されます
- より豊かなデスクトップ側のブラウザ面を使いたいなら、こちらが向いています
セットアップ: Web + ブラウザ拡張
Section titled “セットアップ: Web + ブラウザ拡張”AnySoul を実ブラウザ内で続けたい場合はこちらです。
1. AnySoul ブラウザ拡張をインストールして接続する
Section titled “1. AnySoul ブラウザ拡張をインストールして接続する”AnySoul ブラウザ拡張をインストールし、サインインして、オンライン状態を保ってください。これにより live executor presence が AnySoul に戻ります。
2. エージェントで browser runtime を有効にする
Section titled “2. エージェントで browser runtime を有効にする”Agent Settings → Browser を開き、そのエージェントの browser runtime を有効にします。
3. 現在の run mode で browser tools を有効にする
Section titled “3. 現在の run mode で browser tools を有効にする”Run Mode エディタを開き、その run mode でも browser tools を有効にします。
この 2 段階はどちらも必要です。
- Agent Browser settings はエージェント単位の長期ポリシー
- Run Mode は今回の実行で browser tools を露出するかどうかを決める
4. 明示的ブラウザフローを優先する
Section titled “4. 明示的ブラウザフローを優先する”拡張経路は semantic actions をサポートしないため、次のように組み立てるのが安定です。
- open tab
- read page
- click
- type text
- wait
- extract
自然言語ブラウザ命令に頼るより、こちらのほうが確実です。
セットアップ: デスクトップアプリ
Section titled “セットアップ: デスクトップアプリ”現時点で最も強い browser runtime を使いたい場合はこちらです。
1. デスクトップアプリをインストールする
Section titled “1. デスクトップアプリをインストールする”まず デスクトップアプリのインストール を参照してください。
2. ローカル browser runtime を有効にする
Section titled “2. ローカル browser runtime を有効にする”デスクトップアプリ内の Settings → Browser Runtime を開き、ローカル browser runtime を有効にします。
3. エージェントで browser runtime を有効にする
Section titled “3. エージェントで browser runtime を有効にする”Agent Settings → Browser を開き、そのエージェントが browser runtime を使えるようにします。
4. 現在の run mode で browser tools を有効にする
Section titled “4. 現在の run mode で browser tools を有効にする”Run Mode エディタを開き、現在の mode で browser tools を有効にします。
5. 明示的アクションを基本にし、必要なときだけ semantic actions を使う
Section titled “5. 明示的アクションを基本にし、必要なときだけ semantic actions を使う”デスクトップ経路では次の 2 系統が使えます。
- 上で挙げた明示的な構造化ブラウザアクション
- 現在の target が対応している場合の semantic actions
semantic actions は難しいページで有効ですが、明示的アクションで十分なケースなら、そちらのほうが速くて安定します。
トラブルシューティング
Section titled “トラブルシューティング”Run Mode の browser トグルがロックされている
Section titled “Run Mode の browser トグルがロックされている”これは通常、AnySoul が live browser runtime を確認できていないことを意味します。
確認してください。
- Web では: ブラウザ拡張が接続されていてオンラインか
- デスクトップでは: Settings → Browser Runtime でローカル browser runtime が有効か
キャッシュ状態だけでは browser トグルは解放されません。
Agent Browser を有効にしたのに browser が使えない
Section titled “Agent Browser を有効にしたのに browser が使えない”次の 2 つが両方必要です。
- エージェント側で browser runtime が有効
- 現在の run mode で browser tools が有効
どちらか一方でもオフなら browser tool は使えません。
モデルに browser_control が出てこない
Section titled “モデルに browser_control が出てこない”両方の設定を有効にしてもモデルが browser tool を見ていないようなら、次を確認してください。
- 現在の run mode に本当に browser tools が含まれているか
- キャッシュではなく live browser runtime が現在利用可能か
- browser 設定や runtime 状態を変えたあとに、新しい run を開始したか
browser_control は、現在の run、agent policy、live runtime availability が揃ったときだけモデルに注入されます。
拡張は接続されているのに semantic_act / semantic_extract が出てこない
Section titled “拡張は接続されているのに semantic_act / semantic_extract が出てこない”これは期待どおりです。
拡張経路は現在 semantic browser actions をサポートしていないため、AnySoul はそのランタイムではそれらを利用可能アクションとして提示しません。
デスクトップアプリは使えるのに browser task が失敗する
Section titled “デスクトップアプリは使えるのに browser task が失敗する”次を順番に確認してください。
- デスクトップ側の Browser Runtime が有効か
- そのエージェントに browser runtime 利用権限があるか
- 現在の run mode が browser tools を露出しているか
- そのページフローが現在の runtime が本当にサポートしているアクションで表現されているか
エージェントが曖昧なブラウザ命令に寄りがち
Section titled “エージェントが曖昧なブラウザ命令に寄りがち”拡張経路を使っているなら、次のような明示的ステップに分解してください。
- まずページを読む
- 対象要素を見つける
- クリックまたはフォーカスする
- テキストを入力または貼り付ける
- 次の状態変化を待つ
- 最後に結果を抽出する
これが現在の拡張 runtime を最も安定して使う方法です。
selector ベースで表現しにくい難しいページで、どうしても自然言語のブラウザ操作が必要なら、拡張経路に無理をさせるのではなくデスクトップアプリ経路へ切り替えてください。
- デスクトップアプリのインストール — デスクトップセットアップ
- ブラウザ拡張機能 — Context Bro ガイド(これは別製品であり、AnySoul の browser runtime executor ではありません)
- イベントストリーム — エージェントがコンテキストを蓄積していく仕組み
- AI Browser Agent ユースケース — 公開向けのユースケース紹介
- ひとつのブラウザーエージェント、ふたつの実行パス — ブラウザランタイムの発表記事