powered by TechFeed
表示モード
Deep Dive

ChatGPTの広告システムをゼロから作り直した理由 — 「会話の流れ」を読むLLMオーケストレーターで200日未満に年間10億ドル規模へ

10月21日、OpenAIが「How we built ChatGPT's novel ad stack for user trust and relevance」と題した記事を公開した。この記事では、ChatGPTの広告配信システムをLLMベースで設計・構築した技術的詳細について紹介されている。OpenAIが広告事業に参入していることは、2025年後半以降に広く報じられた。ChatGPTの月間アクティブユーザーが数億規模に達した段階で、広告は現実的な収益源として浮上した。ただし既存の広告配信技術をそのまま転用することは困難で、OpenAIは専用のシステムをゼロから構築する選択をとった。その設計思想と技術的詳細を、同社が初めて公開した形となる。

10月21日、OpenAIが「How we built ChatGPT's novel ad stack for user trust and relevance」と題した記事を公開した。この記事では、ChatGPTの広告配信システムをLLMベースで設計・構築した技術的詳細について紹介されている。

OpenAIが広告事業に参入していることは、2025年後半以降に広く報じられた。ChatGPTの月間アクティブユーザーが数億規模に達した段階で、広告は現実的な収益源として浮上した。ただし既存の広告配信技術をそのまま転用することは困難で、OpenAIは専用のシステムをゼロから構築する選択をとった。その設計思想と技術的詳細を、同社が初めて公開した形となる。


従来型の広告スタックはなぜChatGPTに使えないか

従来の広告システムは「イベント駆動」で動く。ユーザーが検索クエリを投げるか、ページを開いた瞬間に広告リクエストが発生し、マッチングして配信される。シンプルで高速だが、この設計はChatGPTには根本的に合わない。

ChatGPTのユーザーは「検索クエリ」ではなく「目標」を持って会話を始める。旅行の計画、業務用ソフトの選定、趣味の習得など、ユーザーの意図は会話の複数ターンをまたいで変化する。例として記事が挙げているのは次のような会話の流れだ:

  1. ヨセミテへの2日間の旅行で何を準備すべきか?
  2. 来週は寒くなる?
  3. ある特定ブランドの新製品ラインは?

ユーザー自身はハイキングシューズと旅行を結びつけた発言をしていないが、広告システムはこの会話から [shoes appropriate for hiking trip] と [new [brand] product lines good for travel] という2つの意図を抽出する必要がある。最初のメッセージだけを見て広告を出せば、的外れな広告になりユーザー体験を損なう。


設計の核心:3つのアーキテクチャ上の決断

OpenAIはこの問題に対して、既存の広告スタックを流用せずゼロから専用システムを構築した。設計上の決断は大きく3つだ。

1. ステートフルな広告セッション

会話の各ターンを独立したリクエストとして扱わず、広告システムが会話全体を通じてコンテキストを保持・更新し続けるステートフルなセッション設計を採用した。これにより、ユーザーの意図の変化を追跡でき、適切なタイミングまで広告配信を保留することも可能になる。

2. LLMがオーケストレーターとして全フローを制御

広告フロー全体を統括するのが、専用にポストトレーニング(fine-tuning後の追加学習)されたLLM「オーケストレーター」だ。このLLMはエージェントループ上で動作し、以下の各ステップをツールコールで順次実行する:

  • 意図の要約・クエリ生成: 複数ターンの会話を意味的な埋め込み(semantic embedding)に変換
  • 候補広告の取得(Retrieval): ANN(近似最近傍探索)を使って広告インデックスから候補を高速取得
  • フィルタリング: 予算、ターゲティング設定、ポリシー制約、ペーシング(予算消化の平準化)などで不適格な候補を除外
  • 関連性・品質スコアリング: 広告がユーザーゴールに合致するか、クリック・コンバージョン予測、過去パフォーマンスを評価
  • オークション: 最終的な価格決定と広告の選出

オーケストレーターはどの広告を出すかを直接決めるわけではなく、文脈的に適切な候補をオークションツールにノミネートする役割を担う。価格設定はオークションが行う。

リトリーバルインデックスは用途ごとに複数構築されており、例えばプロダクトフィード広告用のインデックスはレビューの有無を考慮した設計になっている一方、レビューのない広告には別のインデックスが使われる。

3. 広告システムをChatGPTの回答生成から完全分離

広告選定プロセスはChatGPTの回答生成とは独立したサービスとして動作する。モデルも、コードも共有しない。これにより:

  • 広告システムの障害や遅延がChatGPTの応答に影響しない
  • 広告がChatGPTの回答内容に干渉するリスクを構造的に排除できる
  • 「広告を返さない」ことが正常な成功ケースとして設計されており、配信バーが自然に高く保たれる

OpenAIは利用規約および広告ポリシーにおいて、広告コンテンツがモデルの回答に影響しないことを明示している。アーキテクチャ上の分離はこのポリシーの技術的な担保でもある。


フロントエンド側でも「見せない」判断がある

サーバーサイドで広告が選出されても、それがユーザーに表示されるとは限らない。ChatGPTの回答生成が先に完了してしまった場合、広告はタイムアウトして表示されない。記事では「チャットの応答を広告の準備待ちで遅らせることはしない」と明言している。

広告クリエイティブにはタイトル・説明・リンク・CTAに加え、「この広告がなぜこの会話に関連するか」を短く説明するモデル生成のプリアンブル(前置き文)が付く。このプリアンブルはクリエイティブ本体とは分離されており、ChatGPTのニュートラルなトーンを維持しながら広告主のメッセージをそのまま届ける設計になっている。


立ち上がりの速さ

記事によると、ChatGPT広告はローンチから200日未満で年換算10億ドルの収益ラン・レートに到達し、現在までに10万社以上の広告主がChatGPTに広告を出稿している。

※編集部の考察:元記事はこの数字を達成の文脈で記載しており、LLMベースの広告スタックという新規アーキテクチャを採用しながらこの規模に到達した点が、同社として強調したいポイントとみられる。


詳細はHow we built ChatGPT's novel ad stack for user trust and relevanceを参照していただきたい。