誰かが、数千万行のコードを持つ Chromium オープンソース プロジェクトをフォークして、AI エージェント用のブラウザ インフラストラクチャを作成しました。(@browserbase) 背景と動機: 既存のブラウザではなぜ不十分なのでしょうか? • 従来の設計の制限: ブラウザはもともとローカル マシンでの個人使用を目的として設計されており、スパム対策や詐欺対策のため、自動化された動作をブロックまたは阻止するように設計されています。 • AI 時代の新たな要求: 今日の AI エージェントは、長期間にわたってサーバー上で実行され、人間に代わって Web ページ全体でタスクを実行する必要がある「正当な自動化ユーザー」です。 結論: JavaScript レベルで単純にパッチを当てるだけではもはや十分ではありません。基礎となるレイヤーを詳しく調べて、ブラウザのコア動作を変更する必要があります。 コア戦略: Chromium をフォークする 自動化されたブラウザを通常のChromeブラウザと完全に同一に見せるために、BrowserbaseはChromiumをフォークすることを決定しました。これは困難な道のりでしたが、C++の低レベルからシステム全体を制御できるようになりました。 重要な技術革新(「意図的な破壊と再建」) チームはブラウザの基盤となるコードを修正することで「自動」機能を排除し、より実際のユーザーに近い動作を実現しました。主な技術的変更点は以下の3点です。 1. navigator.webdriver タグを削除します。 • 元の状態: Puppeteer などのツールを使用すると、Chromium はこのフラグを自動的に true に設定し、「私はロボットです」と直接明らかにします。 • 変更: ソースコードレベルで強制的にfalseに設定しました。これは、複雑な内部状態の受け渡しによる脆弱性の露出を回避できるため、単純なJSインジェクションよりも徹底的な対策です。 2. ユーザーエージェントIDを置き換えます。 • 元の状態: ヘッドレス モードでは、ブラウザは自動的に「HeadlessChrome」として識別します。 • 変更: ユーザー エージェントの生成ロジックが大幅に変更され、メイン プロセス、ワーカー、iframe のいずれであっても、標準の「Chrome」として一様に報告されるようになり、ヘッドレス ブラウザーの ID が完全に隠されるようになりました。 3. 長時間の接続セッション(キープアライブ)をサポートします。 • 元の状態:Linuxでは、ブラウザプロセスは通常、すべてのウィンドウが閉じられると終了します。これは、ログイン状態(Cookie、メモリ状態)を長期間維持する必要があるAIエージェントにとって致命的です。 • 変更: kBrowserAliveWithNoWindows メカニズムが有効になり、ヘッドレス ブラウザに「ハート」が付与され、表示されているウィンドウがない場合でも実行を継続できるようになり、長時間実行されるタスクの安定性が確保されます。 エンジニアリングの課題: 混沌とした中での構築 - コードの迷路: Chromium のコードベースは非常に大きく複雑です。単純なプロパティでも複数のレンダリング エンジンやネットワーク スタックが関係する可能性があり、変更が非常に困難になります。 • ビルド時間:通常、フルビルドには3~4日かかります。チームは専用のビルドインフラストラクチャを構築し、ビルド時間を約1時間に短縮しました。 • 迅速なバージョンの反復: Chromium は 6 週間ごとに更新されるため、チームはアップストリーム コードを継続的にフォローアップし、パッチを再適応させる必要があります。 公式ブログ
スレッドを読み込み中
X から元のツイートを取得し、読みやすいビューを準備しています。
通常は数秒で完了しますので、お待ちください。
