powered by TechFeed
表示モード
Deep Dive

ChatGPTのソース選定をネットワーク通信レベルで解析 — 「契約パブリッシャー枠」「商用スクレイパー枠」など内部ラベルの存在が明らかに

6月30日、Suganthan Mohanadasan(Search Engine Journal寄稿者)が「How ChatGPT Actually Picks Sources (I Read The Network Traffic, Not The Outputs)」と題した記事を公開した。この記事では、ChatGPTがどのようにウェブソースを選定しているかをブラウザのネットワークトラフィック(生のJSON)から直接解析した調査結果について詳しく紹介されている。以下に、その内容を紹介する。

6月30日、Suganthan Mohanadasan(Search Engine Journal寄稿者)が「How ChatGPT Actually Picks Sources (I Read The Network Traffic, Not The Outputs)」と題した記事を公開した。この記事では、ChatGPTがどのようにウェブソースを選定しているかをブラウザのネットワークトラフィック(生のJSON)から直接解析した調査結果について詳しく紹介されている。以下に、その内容を紹介する。


「出力」ではなく「通信」を読む

ChatGPTの引用元を調べる方法は大きく2種類ある。大手ツールが行うような「大量のプロンプトを投げて回答に登場したブランドを集計する」手法と、今回のように「ブラウザのNetworkパネルに流れるJSONを直接読む」手法だ。前者はサンプルが大きい代わりにブラックボックス。後者はサンプルが小さい代わりに、エンジン内部のフィールド名・ラベル・クエリそのものが見える。

著者は約数十件の検索で約1,240件のソースレコードを記録。主にSaaSや技術系クエリを対象にしており、数値は方向感として捉えるべきとした上で、構造的な事実(フィールドが存在すること・その名称)は確度が高いと明言している。


result_source:ソースを色分けする内部ラベル

最も重要な発見が、result_source フィールドだ。ChatGPTがウェブ検索結果を返す際、各ソースにこのフィールドが付与されているが、ユーザーには一切表示されない。値は以下の4種類。

result_source 内容
serp オープンウェブのベースライン。Yahoo、StreetInsiderなどニュース系に多い
labrador 許可リスト入りの著名パブリッシャー。Reuters、The Guardian、WSJ、FT、Wikipedia、arXivなど。スニペットは約1,080文字と長く、記事全文抽出に近い
bright 商用スクレイパーのBright Data経由。ショッピング・金融・天気・ローカル検索で支配的
oxylabs 競合スクレイパーのOxylabs経由。地方紙やローカルプレスに多い

実際のトラフィックから取り出したソースの例は以下のとおり。

{
  "attribution": "TechRadar",
  "url": "https://www.techradar.com/best/...",
  "snippet": "...",
  "pub_date": "2026-05-09",
  "result_source": "labrador"
}

labrador はOpenAIとコンテンツ契約を結んだパブリッシャー向けのライセンス層とみられ、全国紙クラスでなければ入れない。一方 brightoxylabs は商用スクレイピング企業で、著者はこの2社が競合関係にあることも指摘している(著者自身もOxylabsの顧客だという)。

天気クエリ1件の中で両社が役割分担していた例も記録されている。

metoffice.gov.uk   → bright
accuweather.com    → bright
timeanddate.com    → bright
khaleejtimes.com   → oxylabs
gulfnews.com       → oxylabs
whatson.ae         → oxylabs

SEOへの含意labrador 層への参入は現実的でない。競争の場は brightoxylabs のスクレイプ層であり、事実・数字をプレーンなHTMLテキストに書く(PDF・画像・スクリプト内に埋め込まない)ことが基本となる。また、スクレイパーが実際に到達するページに掲載されるために、PR・ブランドメンション・Redditへの露出が有効だ。


Webを検索しないクエリがある:turn_use_case

ChatGPTは質問を処理する前に turn_use_case というフィールドで分類を行う。著者が確認した値は instant searchshoppingtextlocalthinkingimage generation の6種類。

**最重要なのが text**。このバケツに分類されたクエリは、ウェブ検索を一切行わずトレーニングデータから直接回答する。

  • 「タイヤのパンク修理方法」→ text(予想通り)
  • 「2つのソート済みリストをマージするPython関数」→ text(予想通り)
  • **「2型糖尿病の最新治療ガイドライン」→ text**(最新情報が必要なはずなのに検索しない)

著者が試した「明らかに最新情報が必要な質問」10件のうち、3件は検索なしで処理された。また、クエリの分類はトピックではなくワーディングによって変わることも確認されている。「best coffee near me」はローカルパイプライン、「best 4K TVs to buy」はショッピング、「best 4K TVs with reviews」は通常検索、という具合だ。

SEOへの含意:コンテンツ制作の前に、そのクエリがそもそも検索を発火させるかを確認する必要がある。ハウツー系・定義系は text で処理されることが多く、どれほど優れたページでも引用されない。


Thinkingモードは1問から最大40件の派生クエリを発行する

高速モデルは1件程度のクエリで完結するが、Thinkingモード(o3などの推論モデル)で製品比較を行った場合、著者は1問から15〜40件の派生クエリが発行されることを確認した。

実際に記録されたクエリの一部:

"Profound AI search visibility pricing AI engines tracked 2026"
"AthenaHQ pricing AI search visibility tool"
"site:peec.ai/pricing Peec AI Starter Pro Advanced 50 prompts 150 prompts"
"Peec AI pricing $95 $245 $495 official"  ← 価格を推測してから検索で確認
"Scrunch AI pricing"  ← プロンプトに含めていないツールを自ら発見

注目点は3つ。ベンダーの価格ページに site: プローブを直接投げること、価格を自分で推測してから検索で検証すること、そしてユーザーが名前を出していないツールまで自律的に調査を広げることだ。

ページの読み取りも機械的で、$99・"Agency" といった文字列で find を実行し、openclick コマンドでHTML上の該当箇所を直接参照する。

SEOへの含意:価格や重要な数値は必ずプレーンなHTMLテキストで記述し、画像やJavaScriptの動的ロードで表示しない。site:yourdomain.com/pricing の形のプローブに対してページが正常に返ることも確認しておく必要がある。


「取得」「引用」「言及」は別物

最後に著者が強調する区別が、この3つの違いだ。

  • Fetched(取得):モデルがページをコンテキストに引き込む。result_source フィールドに記録される。
  • Cited(引用):回答の中でURLが注釈として表示される。取得されても引用されるとは限らない。
  • Mentioned(言及):ブランド名や情報が回答本文に登場するが、リンクは貼られない。

取得されても引用されず、引用されなくても言及されることがある。この3層を混同したまま「ChatGPTに載るには」を論じても精度が出ない。


本調査はProアカウント1つ・数日間・特定のクエリジャンルに限定されており、母集団調査ではない。ただし、内部フィールドの存在とその構造は1度の観測で確定する性質のものであり、そこには再現性がある。大規模な可視性調査が「何が起きているか」を測るなら、本調査は「何が起きているか」の仕組みを文書化している。両者は補完関係にある。

詳細はHow ChatGPT Actually Picks Sources (I Read The Network Traffic, Not The Outputs)を参照していただきたい。