AI

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

AiderはターミナルでAI pair programmingを実現するツールで、大規模言語モデルを使用してコードベースの構築や改善を支援します。
3 分読
Aider with Bright Data CLI

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

  • Aiderとはどんなツールであるか、またAI pair programmingツールとして何をもたらすか。
  • Bright Data CLIのような本番環境対応のウェブアクセスソリューションと組み合わせることで、さらに強力になる理由。
  • AIを活用した開発ワークフローでAiderとBright Data CLIを組み合わせて、より良い結果を達成する方法。

さっそく始めましょう!

Aiderとは?

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

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

主な機能

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

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

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

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

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

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

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

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

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

/web http://www.g2.com/products/bright-data/reviews
AiderでG2レビューページに対して

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

Aiderの

Bright Data CLIが解決策

スクレイピングからブラウザ自動化まで、Aiderがウェブとインタラクションできるようにするもっともシンプルな方法は、Bright Dataのエコシステムに接続することです。これはBright Data 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 discover AIを活用したウェブ発見で、意図に基づいて結果を見つけてランク付けし、オプションでフルページコンテンツを提供 Discover 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ページでBright Data CLIのパフォーマンスをAiderの/webツールと比較してみてください。結果は実際のターゲットウェブページです:

返された出力にはターゲット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のミニマルなTUIに注目

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に対応したウェブアクセスとデータ収集ツールの探索を始めましょう!