12
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

✨GitHub Copilot CLI の Web 検索を Copilot Chat から使う(直書き/ラッパー)

12
Last updated at Posted at 2026-03-04

こんにちは、「Copilot Chat のエージェントから Web 検索させたいけど、別途 API キーを管理したくない…なら GitHub Copilot CLI を呼び出せばよくない?(安定運用のためにラッパーも作った)」と思い立ったアーキテクトのやまぱんです 😎

補足コメントや質問、いいね、拡散、ぜひお願いします 🥺!
間違っていたら 優しく 教えてください!

TL;DR

  • GitHub Copilot CLI は web_search をネイティブで使える(追加の検索 API / キーを用意しなくてもよい)
  • それを Copilot Chat(エージェント)から呼び出す運用にすると、「Web 検索して」だけで CLI を動かせる
  • すぐ試すなら インストラクションに CLI コマンドをべた書き、安定運用なら ラッパースクリプト
  • ラッパー実装(PowerShell / Python): aktsmm/gh-copilot-cli-web-search-tools
  • quick(速度重視)/ research(品質重視)で使い分け、モデル別ベンチマークも公開

この記事でやること

GitHub Copilot CLI の web_search を、Copilot Chat(エージェント)から"スクリプトとして"使う方法を整理します。

VS Code の Copilot Chat 単体では、環境やポリシー次第で Web 検索が使えないことがあります。そこで Copilot CLI 側の web_search を呼び出す、という発想です。

この記事では、次の 2 パターンを扱います。

  • まず試す: インストラクションに CLI コマンドをべた書き(ラッパー不要)

  • 安定運用: ラッパースクリプト化(モード・モデル・出力形式を固定しやすい)

以前は Brave Search を中心に使っていましたが、今は GitHub Copilot CLIweb_search を軸にしつつ、Brave も併用する運用に落ち着きました。

前提条件

本記事の公式情報は 2026-03-04 時点で確認しています。

  • GitHub Copilot CLI が利用可能(Copilot プラン + 必要なポリシー有効化)
  • copilot コマンドでログイン済み
  • VS Code の統合ターミナル(PowerShell)から実行

作ったもの(安定運用向け)

gh-copilot-cli-web-search-tools として GitHub に公開しています。

中身はシンプルで、copilot CLI の web_search ツールだけを固定で使うラッパーです。PowerShell 版と Python 版の両方を用意しています。

背景: Copilot Chat(エージェント)から Web 検索をスクリプトで使いたい

やりたいのはこういう運用です。

  • VS Code の GitHub Copilot(エージェントモード)が調査フェーズに入ったとき、Web 検索ラッパーを MCP ツールや外部スクリプトとして呼び出す
  • 毎回オプションを手打ちせず、決まったコマンドで安定した結果を返す
  • 後段処理(URL 一覧のパース等)がしやすいよう、出力形式を固定する

つまり、Brave / Tavily 等の検索 API を別途入れなくても、GitHub Copilot CLI の検索を GitHub Copilot Chat から使える、という話です。

copilot -p "Web 検索ツールを使って VS Code Copilot の公式ドキュメント URL を 3 つ返してください。出力は URL のみ、1 行 1 URL。" `
  --allow-all-tools `
  --allow-all-urls `
  --available-tools web_search `
  --silent

実際に実行するとこんな感じです。

Copilot CLI で web_search を実行した結果

ちゃんと URL だけが返ってきます。ポイントはこの 2 つです。

  • --available-tools web_search で、モデルが使えるツールを web_search だけに絞る(--allow-all-tools だけでも検索はできるが、ファイル読み書き・シェル実行などを封じてスコープを限定するのが目的)
  • プロンプトで「URL のみ」「1 行 1 URL」を強制して、後段処理しやすくする

ラッパーを使うとこうなる

これを毎回手打ちするのはブレるし面倒なので、ラッパースクリプトにまとめました。実際には自分で叩くだけでなく、VS Code の GitHub Copilot(エージェント)にこのラッパーを使わせる、という運用もしています。

主なパラメータ

パラメータ 説明 デフォルト
-Query / 第1引数 検索クエリ(必須)
-Mode / --mode quick(速度重視)or research(品質重視) research
-Model / --model 使用モデル quick=gpt-4.1 / research=gpt-5.1-codex(未指定時)
-NoSilent / --no-silent ツール呼び出しの詳細も表示する false
--timeout(Python のみ) タイムアウト秒数 240

取得 URL 数は -Count のようなパラメータではなく、クエリ文言で指定します。

# 基本実行(PowerShell ラッパー)
./copilot-web-search.ps1 -Query "GitHub Copilot CLI の公式ドキュメント URL を返して"

# URL を多く取りたいときはクエリに件数を書く
./copilot-web-search.ps1 -Query "GitHub Actions の事例 URL を 10 件返して" -Mode research

# モード指定
./copilot-web-search.ps1 -Query "VS Code Copilot の最新情報をざっくり" -Mode quick
./copilot-web-search.ps1 -Query "VS Code Copilot の最新情報を調査して" -Mode research

# 詳細出力(-s 無効)
./copilot-web-search.ps1 -Query "最新情報を要約" -NoSilent
# 基本実行(Python ラッパー)
python .\copilot_web_search.py "GitHub Copilot CLI の公式ドキュメント URL を 1 つ返して"

# モードとタイムアウト指定
python .\copilot_web_search.py "VS Code Copilot の最新情報を調査して" --mode research --timeout 300

Copilot Chat から使ったときの実際の様子

以下は GitHub Copilot Chat 上で「このスクリプトを使って検索して」と依頼したときの様子です。Copilot Chat がラッパースクリプトを呼び出し、URL を取得して回答しています。

Copilot Chat がラッパースクリプトを使って Web 検索している様子

取得できた URL(quick モード / モデル: gpt-4.1):

- 概要:       https://docs.github.com/ja/copilot/concepts/agents/copilot-cli/about-copilot-cli
- 使い方:     https://docs.github.com/ja/copilot/how-tos/copilot-cli/use-copilot-cli
- インストール: https://docs.github.com/ja/copilot/how-tos/set-up/install-copilot-cli

ExitCode: 0(正常終了)。URL 3件がラベル付きで返ってきました。

URL をたくさん取りたいときは?
件数を指定しない場合、取得 URL 数はモデルの自律判断に委ねられます。ベンチマーク(条件A)では claude-sonnet-4.6 が平均 11.67 件と最多でした。URL を多く集めたいときはモデルを明示指定するのが手軽です。ただし応答時間が長くなる(平均 62 秒)点に注意してください。

./copilot-web-search.ps1 -Query "GitHub Actions の事例を調査して" -Mode research -Model "claude-sonnet-4.6"

quick / research モードの使い分け

実際に運用してみて、次の分離が扱いやすかったです。

  • quick: 速度重視(軽めの確認、URL 収集)
  • research: 品質重視(根拠整理、比較、最終確認)

単発最速だけで決めず、次のバランスで評価するのが安定しました。

$$品質 = 形式遵守 \times 成功率 \times 速度$$

検証結果(公開リポジトリの実データ)

公開済みの検証結果から、代表的な数値を抜粋します。

  • 対象リポジトリ: gh-copilot-cli-web-search-tools
  • 参照: benchmarks/VALIDATION_RESULTS.md(最終更新: 2026-03-04)
  • 検証軸: seconds / url_count / unique_url_count

条件A(件数指定なし, runs=3平均)の抜粋

モデル 平均秒 平均 URL 数
gpt-4.1 17.35 4.67
gpt-5.1-codex-max 19.32 4.00
gpt-5.1-codex 20.75 5.33
claude-haiku-4.5 22.23 5.67
claude-sonnet-4.5 22.99 4.33
gpt-5.3-codex 25.12 4.33
claude-sonnet-4.6 62.03 11.67

件数指定なし条件では claude-sonnet-4.6 は URL 収集数が多い一方、応答時間が長い傾向があります。

条件B(5件指定, runs=1)の抜粋

モデル URL 数
gpt-5.2-codex 15.65 5
gpt-5.1 18.74 5
gpt-5.1-codex 19.36 5
claude-sonnet-4.5 24.46 5
claude-sonnet-4.6 26.33 5
claude-haiku-4.5 32.50 5

件数指定ありでは全モデルが 5 件を達成。速度重視なら GPT 系(最速は gpt-5.2-codex の 15.65 秒)が有利です。なお、このデータでは応答時間(秒)と URL 取得数のみを測定しており、URL の内容・信頼性は評価していません。

件数指定の有無でモデルの傾向が変わるので、詳細はリポジトリの検証データを参照してください。なお、これはあくまで一例であり、クエリ内容や実行環境によって結果は異なります。

Brave と Copilot CLI の使い分け

体感ベースですが、私の運用感は次のとおりです。

  • 速度感: Brave 系のほうが速く感じるケースはある
  • コスト: Copilot CLI は GitHub Copilot の料金に含まれているので、別途 API の課金が発生しない。Brave API は無料枠超えると有料
  • 継続運用: 調査をヘビーに回しても、別途 API の課金を気にする必要がない(※プランによるレート制限はあります)
  • 再現性: Copilot CLI はコマンドを固定できるので、同じ条件で再実行しやすい

なので私は、

  • まず Copilot CLI で定常運用(URL 収集・下調べ)
  • 必要時に Brave Search 等を補助で使う(用途によっては Brave のほうが向いている場面もある)

という順にしています。

Copilot CLI と Copilot Chat の検索の違い

どちらも便利ですが、検索の使い勝手は少し違います。

観点 Copilot CLI Copilot Chat(VS Code)
Web 検索 web_search ツール内蔵(--allow-all-tools で自動選択。--available-tools web_search でスコープを絞ることも可) プラン/ポリシー次第(使えない場合は CLI/ラッパー呼び出しで回避)
URL 取得 web_fetch ツール(ページ内容を取得) #fetch(VS Code 拡張機能の機能。URL 指定でページ取得)

VS Code で Web 検索したい場合は、Brave Search や Tavily 等の VS Code 拡張機能や MCP サーバーを別途セットアップする必要があります。ただしこれらは外部 API キーの取得・管理が必要で、無料枠を超えると課金も発生します。

この手間とコストを避けるために、GitHub Copilot の料金内で確実に動く Copilot CLI のラッパーを作った、というのがこの記事の動機です。すでに Copilot を契約している人なら、追加費用ゼロで Web 検索が使えるようになります(GitHub Copilot の費用は必要です)。

以下は GitHub Copilot CLI に検索機能の違いについて聞いたときの回答例です。

GitHub Copilot CLI の Web 検索回答例

参考: 別環境でのベンチ結果

以下は別環境で copilot CLI のモデル別ベンチマークを実行した際の結果です。

別環境でのモデル別ベンチマーク結果

モデルによって応答時間・URL 取得数にばらつきがあることがわかります。詳細は前述の「検証結果」セクションを参照してください。

期待結果

ここまでの運用を入れると、次の状態を目指せます。

  • URL 収集タスクが毎回ほぼ同じ品質で返ってくる
  • 「探索(quick)」と「深掘り(research)」を切り替えやすい
  • 記事執筆時に、一次情報(公式 URL)へ戻る導線が固定できる

注意点

--allow-all-tools / --allow-all / /yolo は非常に強力です。

  • 信頼できるディレクトリでのみ実行する
  • 実行コマンドや変更内容は必ずレビューする
  • 自動承認を使う場合は、限定環境(検証用 VM / コンテナー等)も検討する

GitHub Docs でも、ツール自動承認にはセキュリティ上の注意が必要と明記されています。

Copilot インストラクションと組み合わせると一番楽

ラッパーを用意したら、.github/copilot-instructions.md に1行書くだけで「Web 検索して」と言うだけで CLI が動くようになります。

## Web 検索

Web 検索が必要なときは `./copilot-web-search.ps1 -Query "{クエリ}"` を実行すること。
方法 メリット デメリット
インストラクションに素の CLI コマンドを書く ラッパー不要・すぐ試せる 毎回オプションがブレる・インストラクションが長くなる
ラッパー + インストラクション1行 設定はラッパー側で管理・インストラクションがシンプル ラッパーの初回セットアップが必要

ラッパーなしでインストラクションにべた書きするなら、こんな感じです:

## Web 検索

Web 検索が必要なときは以下のコマンドをターミナルで実行すること。

`copilot -p "{クエリ}" --allow-all-tools --allow-all-urls --available-tools web_search --silent`

- 出力は URL のみ、1行1件で返すよう指示すること
- 件数を指定したい場合はクエリに「10件返して」のように含めること

まず試してみたい人はこちらのほうが手軽です。慣れてきたらラッパーに切り替えると管理が楽になります。

たとえば「今日の天気は」と聞くだけで、こんな感じに返ってきます。

Copilot CLI で天気を検索した結果

「ラッパー + インストラクション1行」が長期運用では一番シンプルです。

まとめ

Brave / Tavily 等の検索 API を別途入れなくても、GitHub Copilot CLI の web_search をラッパー化するだけで、Copilot Chat からの Web 検索が追加費用ゼロで回せます(GitHub Copilot の費用は必要です)。

今回作ったものをまとめると:

  • リポジトリ: aktsmm/gh-copilot-cli-web-search-tools
  • ラッパー: PowerShell 版 / Python 版の 2 種類
  • モード分離: quick(速度重視)/ research(品質重視)
  • ベンチマーク: モデル別の比較データも公開済み

以前 Brave 系を使っていた流れからでも、ここに寄せると運用がシンプルになりました。よかったら使ってみてください~!🚀

参考

  • Using GitHub Copilot CLI(GitHub Docs)

  • About GitHub Copilot CLI(GitHub Docs)

  • GitHub Copilot CLI command reference(GitHub Docs)

  • Best practices for GitHub Copilot CLI(GitHub Docs)

  • Asking GitHub Copilot questions in your IDE(@github #web の記載)

  • Managing Copilot policies(Copilot access to Bing の有効化)

  • Web search in Copilot Chat now available(GitHub Changelog)

  • GitHub Copilot CLI Features(GitHub)

  • gh-copilot-cli-web-search-tools(実装リポジトリ)

  • Validation Results(ベンチ検証まとめ)

  • 生データ CSV(条件A: runs=3 平均)

  • 生データ CSV(条件B: 5件指定)

  • gh-copilot-cli-web-search-tools v1.0.0(初回リリース)

12
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?