AI

Bright Data CLIでAiderにウェブアクセスを提供する

AiderはターミナルでAIを使ってコードベースの構築・改善を支援するAIペアプログラミングツールです。
3 分読
Aider with Bright Data CLI

この記事では、以下のことを学びます:

  • AiderとはAIペアプログラミングツールとして何をもたらすか。
  • Bright Data CLIのような本番環境対応のウェブアクセスソリューションと組み合わせることで、さらに強力になる理由。
  • AiderとBright Data CLIをAI駆動の開発ワークフローで組み合わせて、より良い結果を得る方法。

さっそく始めましょう!

Aiderとは?

Aiderは、ターミナルで動作し、大規模言語モデルを使用してコードベースの構築や改善を支援するAIペアプログラミングツールです。複数のLLMをサポートし、新規プロジェクトや既存のリポジトリで動作します。

開発者はコーディング、デバッグ、リファクタリング、テスト、AIアシスタンスによるコード理解に活用しています。このソリューションはコミュニティで大きな注目を集め、170名以上のコントリビューターとともに46,000以上のGitHubスターを獲得しています。

主な機能

Aiderが提供する主な機能は以下の通りです:

  • クラウドおよびローカルLLMサポート:Claude、GPT-5.4、DeepSeekなどのトップモデルやローカルモデルに接続し、プロバイダーやセットアップ全体で柔軟性を提供します。
  • コードベースマッピング:リポジトリ全体の構造化されたマップを構築し、特に大規模または複雑なプロジェクトでAIにより良いコンテキストを提供します。
  • 多言語サポート:Python、JavaScript、Rust、Go、PHPなど100以上のプログラミング言語に対応します。
  • Git統合:意味のあるメッセージで変更を自動コミットし、AI生成の編集の差分、ロールバック、バージョン追跡を容易にします。
  • IDE統合:お気に入りのエディタと並行して動作し、ファイル内のコメントから直接コード変更をリクエストできます。
  • 画像とウェブコンテキスト:スクリーンショット、画像、ウェブページを添付して、コーディングタスクにより豊かなコンテキストを提供できます。
  • 音声からコードへ:機能リクエスト、バグ修正、テストのアイデアを話すと、Aiderがコード変更に変換します。
  • リンティングとテスト自動化:編集後に自動的にリンターとテストスイートを実行し、コードベースで検出された問題を修正できます。
  • コピー/ペーストウェブチャットサポート:ブラウザベースのLLMと連携し、チャットとエディタ間のコードと変更の転送プロセスを簡素化します。
  • インタラクティブなターミナルワークフロー:コーディングループ全体をターミナル内に保持し、実際の開発ワークフローに対して高速かつ軽量で強力なままです。

詳細は公式ドキュメントをご覧ください。

Aiderに信頼性の高いウェブスクレイピング、探索、インタラクションツールが必要な理由

Aiderがサポートする多くのLLMのうちどれを選んでも、すべてに共通の制限があります:知識の陳腐化です。大規模言語モデルは本質的にトレーニングされた静的データセットに限定されており、それは過去のスナップショットに過ぎません。

その結果、LLMは最近のトレンド、新たに発見されたセキュリティ脆弱性、最新のフレームワーク更新を知りません。時代遅れのアプローチ、非推奨のメソッド、または現在のベストプラクティスに従わないコードを推奨する可能性があります。開発タスクで依存すると、すぐに問題になる可能性があります…

明らかな解決策は、ウェブグラウンディングのための外部ツールへのアクセスをLLMに提供することです。これがまさにAiderが/webコマンドを提供する理由です。モデルがウェブページをスクレイプし(背後でPlaywrightを使用)、コンテンツを取得し、その情報をコンテキストとして使用できるようにします。

残念ながら、Aiderの組み込み/webツールはボット保護されたウェブサイトに対して確実に機能しません。より多くのサイトが自動化されたリクエストをブロックする高度なアンチボットシステムを使用するようになっているため、このコマンドの有用性が大幅に制限されています。

例えば、以下のコマンドでG2のBright Dataレビューページをスクレイプしてみてください:

/web http://www.g2.com/products/bright-data/reviews
AiderでG2レビューページに「/web」コマンドを実行する

ページを取得する代わりに、Aiderはエラーを返します。これはG2がAiderによって制御された自動化されたPlaywrightブラウザセッションを検出し、リクエストをブロックするためです。結果として、このエラーページが返される可能性が高いです:

Aiderの「/web」リクエストに応答してG2が返すエラーページ

Bright Data CLIで解決

Aiderがスクレイピングからブラウザ自動化まで、ウェブとインタラクションする最も簡単な方法は、Bright Dataのエコシステムに接続することです。Bright Data CLIを通じてそれを実現できます。CLIはBright Dataのウェブデータサービス全体をシンプルなターミナルコマンドセットにラップします。

公開されているCLIコマンドは、Bright Dataの高度なアンチボット技術195カ国にわたる4億以上のIPのプロキシネットワークを基盤としています。これにより、ブロック(CAPTCHAを含む)を心配することなく、無制限の同時実行性でどのウェブサイトにもアクセスでき、99.99%のアップタイムと99.95%の成功率を達成します。

最も関連性の高いBright Data CLIコマンドには以下が含まれます:

コマンド 説明 Bright Data製品
brightdata scrape CAPTCHA、JavaScriptレンダリング、アンチボット保護をバイパスしながら任意のURLをスクレイプします Web Unlocker API
brightdata search Google、Bing、Yandex(およびその他)で検索を実行し、構造化されたJSON結果を返します SERP API
brightdata pipelines Amazon、LinkedIn、TikTokなど40以上の主要プラットフォームから構造化データを抽出します Web Scraping API
brightdata browser ナビゲーション、クリック、タイピング、スクリーンショットなどのために実際のブラウザを制御します Browser API
brightdata scraper create AIを使用して自然言語の説明から新しいスクレイパーを作成します Scraper Studio
brightdata scraper run 対象URLに設定されたスクレイパーを実行し、抽出されたデータを返します Scraper Studio
brightdata scraper heal AIを使用して人間の承認ステップで壊れたスクレイパーを自動的に修正します Scraper Studio(自己修復機能
brightdata scraper approve スクレイパーの自己修復更新の提案を承認または拒否します Scraper Studio(自己修復機能)

利用可能なCLIコマンドの完全なリストについては、公式Bright Data GitHubリポジトリを参照してください。

注意:Bright Data CLIには、月間最大5,000リクエストが繰り返し利用できる無料プランが含まれています。

同じG2ページでAiderの/webツールに対するBright Data CLIのパフォーマンスをテストしてみましょう。結果は実際のターゲットウェブページです:

返された出力にはターゲットG2ページの実際のコンテンツが含まれています(Markdown形式)

これはBright Data CLIがG2のアンチボット保護をバイパスできたことを証明しています。さらに、結果はAI最適化されたMarkdown形式で返され、LLMが取り込んで処理しやすくなっています。ずっと良いですよね?

AiderでBright Data CLIをウェブスクレイピング、グラウンディングなどに使用する方法

このセクションでは、Bright Data CLIが提供するウェブ機能でAiderを拡張する方法を学びます。

以下の手順に従ってください!

前提条件

このセクションを進めるために、以下が必要です:

ステップ#1:Aiderを始める

次のコマンドを実行して、PyPIからAiderインストールパッケージ(aider-install)をインストールします:

python -m pip install aider-install

次にAiderをインストールするために実行します

aider-install

次に、プロジェクトフォルダに移動します:

cd your-project-folder/

Aiderを起動します:

aider

初回起動時にいくつかの質問が表示されます。Gitリポジトリが見つからない場合、Aiderが初期化できます。必要なAiderエントリを含む.gitignoreファイルも作成されます。

プロジェクトフォルダでAiderを初期化する

次に、OpenRouter(デフォルトオプション)経由でログインするかどうかを選択します。

OpenRouter統合の設定

このオプションを選択した場合、AiderをOpenRouterアカウントに接続する必要があります。その後、デフォルトモデルはopenrouter/deepseek/deepseek-r1になります。そうでない場合、次のステップで他のモデル(例:OpenAIモデル)の設定方法が案内されます。

以下のファイルがプロジェクトディレクトリに追加されます:

your-project-folder/
├── ...
├── .aider.chat.history.md
├── .gitignore
└── .aider.tags.cache.v4/

表示される画面は以下の通りです:

Aiderのミニマルなターミナルインターフェースに注目

Aider TUIがいかにミニマルかに注目してください。「>」文字の後に、設定されたモデルへのリクエストを入力するか、特定のAiderコマンドを使用できます。完了です!

ステップ#2:LLMモデルを設定する

AiderでOpenAIモデルを使用するには、まずOpenAI APIキーを環境変数として設定します。LinuxまたはmacOSでは次を実行します:

export OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>

Windowsでは次を実行します:

setx OPENAI_API_KEY <YOUR_OPENAI_API_KEY>

setxコマンドの後、開いているすべてのターミナルウィンドウを閉じ、新しいウィンドウを開いてから続行してください。これにより、新しい環境変数が利用可能になります。

次に、使用したいモデルでAiderを起動します:

aider, model <MODEL_NAME>

例えば、GPT-5.4 MiniでAiderを起動するには、次を実行します:

aider, model gpt-5.4-mini

表示される画面は以下の通りです:

設定されたモデルがgpt-5.4-miniであることに注目

完了です!Aiderが選択したOpenAIモデルに接続され、開発タスクを支援する準備が整いました。別のLLMプロバイダーを使用したい場合は、Aiderのドキュメントに従って対応するAPIキーとモデルを設定してください。

ステップ#3:Bright Data CLIをセットアップする

まず、以下のコマンドでBright Data CLIをマシンにグローバルに追加します:

npm install -g @brightdata/cli

これにより@brightdata/cli npmパッケージがインストールされ、brightdataコマンド(短縮形のbdataエイリアスも含む)がシステムに追加されます。

次のコマンドを実行して、インストールが正常に完了したことを確認します:

bdata, version

以下のような出力が表示されるはずです:

0.3.2

次に、以下を実行してCLIをBright Dataアカウントに接続します:

brightdata login

このコマンドはブラウザを開き、安全なOAuth認証フローを開始します。サインイン後、CLIは自動的に以下を行います:

  1. APIキーをローカルで検証して保存します。
  2. コントロールパネルに必要なBright Data API(cli_unlockercli_browser)をまだ存在しない場合は作成します。
  3. すぐにCLIを使用できるようにデフォルト設定を構成します。

詳細については、公式のBright Data CLIインストールガイドを参照してください。または、Bright Data CLIを始めるためのステップバイステップチュートリアルに従ってください。

すべてが正しく機能していることを確認するために、テストコマンドを実行します:

bdata scrape https://example.com

コマンドはhttps://example.comをスクレイプし、ページをMarkdown形式で返します:

期待される出力

利用可能なコマンド、引数、および動作の詳細については、公式ドキュメントまたはプロジェクトのGitHubリポジトリを確認してください。

素晴らしい!ローカルマシンにBright Data CLIを通じてエンタープライズグレードのウェブスクレイピング、ブラウザ自動化、検索、ウェブインタラクション機能が公開されました。次のステップでは、これらの機能をAiderに接続します。

ステップ#4:Aider + Bright Data CLIのセットアップをテストする

Aiderは/runコマンドを通じてターミナルとインタラクションできます。これにより、CLIコマンド(およびローカルコード)を実行し、その出力を自動的にチャットに追加できます。それでは、シンプルな例でAider + Bright Data CLI統合が機能することを確認しましょう。

aider.chatに似たウェブサイトを構築したいとします。アイデアは以下の通りです:

  1. Bright Data CLIでウェブサイトのスクリーンショットをキャプチャします。
  2. LLMにスクリーンショットを分析させ、類似したNext.jsアプリケーションをスキャフォールドさせます。

Aiderで以下のコマンドを実行して開始します:

/run bdata scrape "https://aider.chat" -f screenshot -o aider.png

これはAiderにBright Data CLIを使用してaider.chatウェブサイトにアクセスし、スクリーンショットを撮ってaider.pngとして保存するよう指示します。背後では、Bright Data Web Unlocker APIを使用し、ボット保護されたウェブサイトでも確実にアクセスしてキャプチャできます。

スクリーンショットはAiderのチャットに自動的に読み込まれないため、以下で追加します:

/add aider.png

モデルが画像にアクセスできるようになったので、Next.jsプロジェクトの生成を依頼します:

Scaffold a Next.js project from scratch in this empty repo. Use TypeScript, the App Router, and responsive CSS. Implement a homepage inspired by aider.png.

Aiderはプロジェクトを作成する前に確認を求める場合があります。次のように返答します:

The repo is empty. Create the full set of required files.

Aiderはアプリケーションの生成を開始し、以下のファイルを書き込む前に許可を求めます:

  • app/layout.tsx
  • README.md
  • app/page.tsx
  • npm run dev
  • next.config.mjs
  • next-env.d.ts
  • app/globals.css
  • next.config.js
  • package.json
  • eslint.config.mjs
  • tsconfig.json

ミッション完了!元のaider.chatホームページにインスパイアされた完全なNext.jsアプリケーションが完成しました。

以下のGIFはワークフロー全体を示しています:

AiderにおけるBright Dataを活用したウェブサイト複製ワークフロー

ステップ#5:出力を確認する

プロジェクトフォルダには完全なNext.jsアプリケーションが含まれているはずです:

your-project-folder/
├── ...
├── app/
│   ├── globals.css
│   ├── layout.tsx
│   └── page.tsx
├── eslint.config.mjs
├── next-env.d.ts
├── next.config.js
├── next.config.mjs
├── package.json
├── README.md
└── tsconfig.json

生成されたアプリケーションをテストするには、まずプロジェクトの依存関係をインストールします:

npm install

次に開発サーバーを起動します:

npm run dev

ブラウザでhttp://localhostを開きます。以下のようなウェブサイトが表示されるはずです:

Aiderが生成したウェブサイト

比較のために、モデルがインスピレーションとして使用した元のaider.chatホームページを示します:

aider.chatのホームページ

生成されたアプリケーションは、元のウェブサイトの全体的なレイアウト、構造、ビジュアルスタイルを正常に再現しています。

重要:このワークフローは、アンチボットで保護されたものを含むあらゆるウェブページのスクリーンショットをキャプチャするBright Dataの機能があってこそ可能でした。

これは単純な例に過ぎないことに注意してください。同じBright Data CLI + Aiderのセットアップを他の多くのタスクにも使用できます。例えば:

  • 競合他社のウェブサイトを分析する。
  • 新機能を実装する前に最新のドキュメントでLLMをグラウンディングする。
  • グラウンディングと分析のために製品ページ、レビュー、またはドキュメントをスクレイプする。
  • SEO監査を実施し、LLMに推奨される改善点を実装させる。
  • コードを生成する前にウェブ上のAPI、ライブラリ、フレームワークを調査する。
  • ウェブサイトから構造化データを抽出し、それを使用してダッシュボードや内部ツールを構築する。
  • 標準的なブラウザ自動化ツールでは確実にアクセスできないJavaScriptヘビーまたはボット保護されたウェブサイトとBrowser API CLIコマンドを通じてインタラクションする。

これで完成です!Bright Data CLIとAiderを組み合わせて、AIペアプログラマーにエンタープライズグレードのウェブ機能を提供する方法を学びました。Aiderはウェブサイトのスクレイプ、ウェブ検索、最新のウェブアプリケーションとのインタラクション、そして新鮮でリアルな情報によるレスポンスのグラウンディングができるようになりました。

まとめ

このブログ投稿では、Aiderとは何か、そしてウェブへのアクセスを提供することでより信頼性が高く正確になる理由を理解しました。特に、Bright Data CLIがウェブスクレイピング、検索、探索、ブラウザ自動化のための本番環境対応ツールでAiderを拡張する方法を確認しました。

実践的な例を通じて、これらのCLIツールをAiderに公開する方法を学びました。これにより、ウェブから最新情報を取得できるようになります。Bright Data CLIをインストールして、月間最大5,000リクエストを含む無料プランで始めましょう。

Bright Dataに登録して、AIに対応したウェブアクセスとデータ収集ツールの探索を始めましょう!