Přeskoč na hlavní obsah
OpenAI

21. října 2026

Inženýrství

Jak jsme vytvořili nový reklamní systém ChatGPT s důrazem na důvěru uživatelů a relevanci

Autoři: Ritendra Datta a Karthik Gopalratnam, členové technického týmu

Načítání…

Tradiční reklamní systémy jsou navrženy tak, aby reagovaly na jednotlivé projevy záměru uživatele. Uživatel něco vyhledá nebo si prohlédne online, reklamní systém přijme tyto dotazy a zobrazení stránek jako události a na jejich základě hledá odpovídající reklamy. Tvorba reklamního systému pro ChatGPT byla jiná: záměr uživatele se vyvíjí napříč konverzacemi a mění se v průběhu jednotlivých výměn, přičemž vhodný okamžik pro reklamu někdy vůbec nenastane. Pro tento nový způsob fungování jsme si vytvořili systém servírování reklam na míru. Tento nový typ reklamního systému stojí na specializovaném dotrénovaném průkopnickém LLM, který volá nástroje pro vyhledávání (určení nejlepších možností), řazení (předpověď zapojení uživatelů), relevanci (hodnocení užitečnosti reklamy) a aukce, které rozhodují o konečném výběru reklamy a její ceně.

Náš reklamní systém dokáže zohlednit jemné změny cílů uživatele díky třem klíčovým rozhodnutím v návrhu: 1) používáme stavové reklamní relace, takže si systém pamatuje informace mezi výměnami v jedné konverzaci i napříč více konverzacemi; 2) spoléháme na LLM dotrénovaný na míru, který pomocí architektury volání nástrojů interpretuje kontext konverzace a její skutečný záměr a následně účinně vybírá, řadí a servíruje reklamy; 3) výběr reklam probíhá odděleně od generování odpovědí ChatGPT, v samostatné službě, aby reklamy neovlivňovaly odpovědi a ChatGPT si zachoval neutrální vyjadřování. Náš dotrénovaný LLM řídí celý reklamní proces a na základě aktuální zprávy uživatele i historie konverzace určuje, jakou reklamu ve správný okamžik nabídnout. Zatímco vybudování takového sebezdokonalujícího se reklamního systému dříve trvalo roky, služba ChatGPT Reklamy dosáhla tempa tržeb odpovídajícího miliardě dolarů ročně za méně než 200 dní od spuštění. Od spuštění už reklamu v ChatGPT využilo více než 100 000 inzerentů.

Jak by měly reklamy fungovat v agentním chatu?

Běžný požadavek na reklamu obvykle začíná jasně definovanou událostí. Uživatel odešle vyhledávací dotaz nebo otevře webovou stránku a reklamní systém obdrží požadavek. Tento typ systému je poměrně jednoduchý: vyhledá potenciální reklamní kandidáty, seřadí je, provede aukci, která danou příležitost náležitě ocení, a výslednou reklamu zobrazí uživateli. V ChatGPT takto jednoznačný okamžik přirozeně nevzniká.

Lidé přicházejí do konverzace s ChatGPT s určitými cíli, nikoli s vyhledávacím dotazem, na který stačí jedna odpověď. Mohou plánovat cestu, vybírat software pro svou firmu, zařizovat domácnost nebo se učit novému koníčku. To vše se neodehraje během jediné výměny v konverzaci. ChatGPT často uživateli v průběhu pomáhá ujasnit si, co je důležité.

Náš technický tým se například zeptal ChatGPT, jak trénovat na závod. Konverzace začíná obecnou otázkou o běhání. Po několika výměnách se tým ptá na boty vhodné k tréninku. Obchodní význam konverzace se mění s každým novým požadavkem a tento personalizovaný kontext se vyvíjí napříč více relacemi. Systém, který by jednal hned na základě první zprávy, by mohl záměr vyhodnotit úplně chybně, a tím uživateli zhoršit zážitek a překážet mu.

Při tvorbě našeho reklamního systému jsme museli opustit reklamní architekturu založenou na požadavcích a odpovědích a vybudovat systém od základu tak, aby nacházel potenciální obchodní příležitosti, ale na první místo kladl důvěru uživatelů a přínos pro ně.

Paměť konverzace bez ovlivňování odpovědí ChatGPT

Kdybychom každou zprávu převáděli na samostatný požadavek jako tradiční reklamní systém, v našem chatovacím prostředí by to neslo několik rizik: 1) chybné pochopení cíle uživatele kvůli přílišnému zjednodušení, 2) předčasné spuštění reklamního procesu, ještě než se vyjasní skutečná potřeba uživatele, 3) zobrazování reklam, které uživateli při dosahování cíle překážejí, místo aby ho podporovaly, a 4) neefektivní opakování reklamního procesu při každé změně požadavku, které vytváří šum a zbytečně zvyšuje náklady. Reklamní systém, který zahrnuje vyhledávání, řazení a doručování, proto nestaví na jednotlivých událostech, ale udržuje stavovou relaci. Ta běží po dobu výměny způsobilé pro reklamu a průběžně si pamatuje a aktualizuje vyvíjející se informace. ChatGPT odešle reklamnímu serveru počáteční kontext požadavku. Reklamní systém sleduje vyvíjející se konverzaci a přizpůsobuje se jí, místo aby spoléhal na jediný zjednodušený dotaz.

Výběr reklam probíhá souběžně s běžným generováním odpovědi ChatGPT, aby reklamní proces odpovědi ChatGPT neovlivňoval. Reklamy filtruje a vybírá samostatný systém, který zpracovává konverzaci podle vlastních podmínek způsobilosti, kvality a servírování. Tato důležitá hranice v architektuře – různé služby se samostatnými modely a odděleným kódem – umožňuje hlavním serverům ChatGPT generovat odpověď bez reklamního vlivu. Reklamní systém mezitím nezávisle hodnotí, zda existuje vhodná příležitost pro reklamu, a pokud ano, připraví sponzorované umístění prostřednictvím samostatného procesu zobrazování.

Vývojový diagram, v němž se konverzace s uživatelem větví na proces tvorby odpovědi ChatGPT bez reklamního vlivu a samostatný proces kontroly způsobilosti a zobrazování reklam, jehož výsledkem je jasně označené sponzorované umístění.

Reklamní proces probíhá souběžně s tvorbou odpovědi ChatGPT.

Kromě ochrany zkušenosti uživatelů má toto oddělení i několik praktických důsledků. ChatGPT není na reklamním systému nijak závislý – služby nejsou nijak provázané a nesdílejí model pro generování obsahu. Pokud je tedy systém pro zobrazování reklam nedostupný nebo pomalý, tvorba běžné odpovědi ChatGPT pokračuje bez omezení. Reklamní systém tak nemůže způsobit výpadek ani zpomalení ChatGPT. Další výhodou tohoto oddělení je, že udržuje velmi vysoké nároky na přínos reklam. Nezobrazit žádnou reklamu je běžný a úspěšný výsledek. Systém naservíruje reklamu pouze tehdy, když je jednoznačně přínosná pro uživatele i inzerenty.

LLM interpretuje konverzace a volá nástroje

Další klíčovou součástí architektury našeho reklamního systému je dotrénovaný LLM, který interpretuje konverzace a řídí celý reklamní proces v agentní smyčce. Prostřednictvím volání nástrojů využívá základní funkce reklamního systému, od vyhledávání přes řazení a aukci až po samotné doručení. Tento LLM nazýváme orchestrátor.

Reklamní proces začíná pochopením záměru uživatele, na jehož základě se spustí vyhledávání: rychlé získání záměrně širokého souboru potenciálních reklam k následnému filtrování. Průběžný přísun konverzace poskytuje vyhledávání bohatší podklady, ale zároveň přináší více nejednoznačnosti, protože reklamní systém musí odlišit aktuální záměr od již neaktuálního kontextu. Orchestrátor musí interpretovat odkazy na předchozí zprávy, rozpoznat, kdy uživatel mluví hypoteticky, a nepovažovat každou zmínku o produktu nebo službě za požadavek něco koupit.

Reklamní orchestrátor využívá dostupnou konverzaci a kontext uživatele, v opakovaných krocích hledá vhodné reklamy a průběžně rozhoduje, kdy zavolat který nástroj. Jeho hlavním cílem je najít pro danou konverzaci a kontext nejvhodnější reklamu, která vyvažuje vysoký přínos pro uživatele i inzerenta. Pokud si uživatel zvolí personalizaci reklam, orchestrátor při hledání nejvhodnějších reklam zohledňuje také dostupné informace z jeho minulých konverzací, které nejsou citlivé.

Diagram architektury, v němž kontext konverzace a profil uživatele vstupují do reklamního orchestrátoru. Ten využívá nástroje pro vyhledávání, odhad relevance, předpověď událostí, kontrolu způsobilosti, řízení tempa čerpání a rozpočtů, aukce a cenotvorbu, aby vyvážil přínos pro uživatele a inzerenty.

Reklamní orchestrátor opakovaně volá nástroje pro servírování reklam, aby našel přínosné reklamy.

Jak konverzace pokračuje a reklamní orchestrátor získává aktuálnější informace, může s aktualizovaným kontextem spustit novou sadu volání nástrojů, najít lepší reklamy a předat je klientovi. Ten je může použít, pokud dorazí včas.

Orchestrátor je navržen tak, aby vyvažoval přínos pro uživatele a inzerenty, přičemž uživatelé jsou vždy na prvním místě.

Jak orchestrátor volá reklamní nástroje v agentní smyčce

Reklamní systém se skládá z jednotlivých nástrojů, které orchestrátor opakovaně volá, aby našel nejlepší reklamy pro danou konverzaci. Zjednodušeně řečeno orchestrátor převádí konverzace na krátká textová shrnutí, která se následně převádějí na sémantické embeddingy (uložené reprezentace významu, které reklamní systém snáze prohledává). Pomocí nich vyhledává kandidátní reklamy, filtruje je podle způsobilosti (na základě rozpočtu, nastavení uživatele a dalších předběžných kontrol), hodnotí jejich kvalitu a relevanci a nakonec je seřadí, aby určil nejpřínosnější možnosti pro umístění na konci odpovědi v chatu. Aby tedy byla vyhodnocena jako způsobilá k umístění, musí každá reklama splnit vysoké nároky na způsobilost a relevanci.

Příprava vyhledávacích dotazů, které zachycují záměr

LLM v roli orchestrátoru nejprve připraví jeden nebo více dotazů, které představují relevantní obchodní záměr. To může zahrnovat přeformulování kontextu konverzace, aby se obchodní možnosti neomezovaly na přímé vyhledávací dotazy, a následné vytvoření sémantických reprezentací. Orchestrátor přitom z konverzace o více výměnách vytvoří shrnutí pro vyhledávací systém, který pak cíleně vyhledává reklamy v naší databázi.

Umístění reklam bude přínosnější pro uživatele i inzerenty, pokud se reklamy budou zobrazovat jen tehdy, když systém důkladně rozumí záměru uživatele. Více dotazů může zachovat různé stránky záměru. Konverzace o plánování cesty například může zahrnovat různé potřeby týkající se dopravy, ubytování nebo aktivit. Vyhledávací systém může tyto rozdíly zachovat, místo aby celou konverzaci zredukoval na jediný doslovný řetězec.

Podívejme se například na možný sled zpráv v konverzaci o botách na turistiku:

  1. What should I cover on a two-day trip to Yosemite?

  2. Will it be cold next week?

  3. New [insert brand] product lines?

Přestože uživatel otázku na značku bot nepropojil s cestou do Yosemitského národního parku, náš reklamní systém může tuto konverzaci reprezentovat dvěma dotazy, například [shoes appropriate for hiking trip] a [new [brand] product lines good for travel]. To může být teprve první pokus. Orchestrátor je navržen tak, aby tyto reprezentace postupně upravoval, dokud v naší nabídce nenajde reklamy, které jsou pro uživatele vysoce přínosné.

Vyhledávání potenciálních reklam

Vyhledávání je proces, při kterém vzniká záměrně široký soubor možných reklam. Kandidáti mohou pocházet z různých vyhledávacích strategií a později soutěžit za stejných podmínek pro zobrazování. Vytváříme několik indexů optimalizovaných pro různé systémové a produktové požadavky. Například index pro reklamy z produktových feedů je navržen tak, aby při hledání nejlepších reklam zohledňoval pozitivní i negativní recenze produktů. U jiných reklam, které s žádnými recenzemi spojené být nemusí, to není relevantní. Každý index je optimalizován pro některou variantu přibližného vyhledávání nejbližších sousedů (ANN) pomocí embeddingů, které reprezentují záměr uživatele. Vyhledávání ANN je aproximační algoritmus pro prohledávání rozsáhlých sémantických indexů. Reklamy tak získává velmi rychle: místo hledání „toho správného“ řešení se přibližuje dobrému řešení a zároveň zachovává většinu relevantních kandidátů.

Vývojový diagram znázorňující převod přeformulovaných dotazů na vysokodimenzionální sémantické embeddingy, vyhledávání mezi běžnými a produktovými reklamami i pomocí volitelných strategií a následné sloučení do širokého souboru kandidátů.

Reklamní systém při vyhledávání reklam vytváří z přeformulovaných dotazů sémantické embeddingy a sestavuje široký soubor kandidátských reklam.

Filtrování nezpůsobilých kandidátů

Cílem filtrování je vyřadit všechny reklamní kandidáty, kteří nesplňují požadavky pro umístění z hlediska relevance, nabídek a rozpočtu. V závislosti na kandidátovi a konfiguraci mohou kontroly zahrnovat dostupnost kreativ a kampaní (zda jsou kampaň nebo reklamní kreativy aktivní), cílení kampaně (například ve kterých lokalitách smí kampaň běžet), omezení daná zásadami (požadavky na to, co lze inzerovat), dostupnost rozpočtu (zda má kampaň ještě prostředky k čerpání), tempo čerpání (zda má kampaň čerpat rozpočet nyní, nebo v jinou denní dobu), vhodnost umístění (v jakých typech konverzací se tato reklama smí zobrazit) a deduplikaci na úrovni inzerenta a kampaně (výběr přiměřeného počtu reklam od každého inzerenta, aby měly firmy spravedlivou možnost účasti).

Hodnocení relevance a kvality

Kandidáti, kteří projdou kontrolami způsobilosti, postupují do fáze bodového hodnocení. Orchestrátor v ní volá nástroje různých hodnoticích systémů, které posuzují například sémantickou relevanci (odpovídá reklama cíli uživatele?), předpokládané interakce (je pravděpodobné, že uživatel reklamu uvidí, klikne na ni a provede akci, v níž doufá inzerent?) nebo dosavadní výkon (dosahovala reklama při zobrazování uživatelům dobrých výsledků?). Orchestrátor také před aukcí filtruje reklamy, aby zajistil jejich relevanci a bezpečnost. Tyto systémy zúží výběr na menší soubor kandidátů připravených pro aukci, ale stále ještě neurčují, která reklama bude nakonec naservírována.

Průběh reklamní aukce

Orchestrátor vyhodnotí připravené kandidáty v kontextu konverzace a vybere ty, kteří jsou dostatečně vhodní pro účast v závěrečné aukci. Orchestrátor přímo nerozhoduje, která reklama se zobrazí, ani nestanovuje cenu. Nominuje kandidáty vhodné pro daný kontext, které pak vyhodnotí aukční nástroj.

Aukce uplatňuje závěrečné mechanismy pro zobrazování reklam: přijetí do aukce (splnění minimálního prahu relevance a přínosu), řízení tempa čerpání (rovnoměrnější utrácení reklamního rozpočtu), výpočet nabídky a vstupních charakteristik aukce, řazení se zohledněním kvality, stanovení ceny a konečný výběr.

Závěrečné kontroly způsobilosti

Po aukci může naservírování reklamy selhat ze dvou důvodů, které jsou specifické pro konverzační prostředí ChatGPT.

  1. Reklama může v chatu působit nevhodně: I když modely pro zajištění integrity (modely, které rozhodují, kdy je vhodné reklamu zobrazit) označily konverzaci za bezpečnou pro umístění reklamy a samotná reklama splňuje zásady, v kontextu některých konverzací může přesto působit nevhodně. Orchestrátor zobrazení takových reklam zablokuje.

  2. Požadavek na reklamu nemusí být vyřízen včas: Pokud je model ChatGPT připraven odpovědět, ale reklama ještě není připravena k umístění, požadavku na reklamu vyprší časový limit a reklama se nenaservíruje. Jedním z cílů reklamního systému je proto pracovat co nejrychleji. Doba odezvy modelu ChatGPT se mění a odpovědi v chatu nezdržujeme čekáním na načtení reklam.

Pokud reklama projde všemi výše uvedenými kontrolami, odešleme ji do frontendu k vykreslení. To považujeme za naservírování reklamy na straně serveru, ale uživateli se reklama stále ještě nemusí zobrazit – a je to záměr.

Poslední krok: zobrazení reklam uživateli

V konverzačním produktu, jako je ChatGPT, naservírování reklamní kreativy na straně serveru nezaručuje zobrazení reklamy. Reklama musí také dorazit včas, aby mohla být zahrnuta do aktuální výměny. Reklamní kreativa obsahuje nadpis, popis, cílový odkaz a případnou výzvu k akci. Reklamní systém navíc vrací krátký, neutrální úvod vygenerovaný modelem, který vysvětluje, jak reklama souvisí s konverzací. Oddělení úvodu od kreativy zachovává sdělení inzerenta a zároveň neutrální vyjadřování ChatGPT.

Frontend ChatGPT obdrží úvod a reklamní kreativu v jednom balíčku. Pokud balíček dorazí ještě před dokončením generování odpovědi ChatGPT, frontend zobrazí reklamu pod odpovědí a jasně ji označí jako sponzorovanou. Pokud dorazí příliš pozdě, reklama se v dané výměně nezobrazí. V tom spočívá rozdíl mezi naservírováním reklamy na straně serveru a jejím zobrazením uživateli.

Sekvenční diagram znázorňující přípravu vítězné reklamy systémem pro zobrazování, závěrečné kontroly v ChatGPT, zobrazení v uživatelském prostředí a potvrzení, která odlišují výběr od úspěšného naservírování.

Výběr vítěze a naservírování jsou samostatné události. Vybraná reklama se považuje za naservírovanou až poté, co ChatGPT schválí a zobrazí její umístění a naservírování je potvrzeno.

Co se děje po zobrazení reklamy

Náš reklamní systém používá tradiční logování a datové pipeline, což přináší tři hlavní výhody: inzerenti mohou snáze propojit své stávající systémy s naším, díky datům z přehledů mohou zlepšovat své strategie a náš tým může nacházet části systému, které je třeba vylepšit. Vedle těchto nástrojů pro přehledy a optimalizaci nasazujeme vysoce kvalitní model, který hodnotí servírování reklam a trénuje další reklamní modely. Vzniká tak účinná smyčka sebezdokonalování.

Podrobné rozbory průběhu nám pomáhají porozumět každé části reklamního systému a samostatně ji zlepšovat. Systém pro zpracování logů také zaznamenává dílčí výsledky, například:

  • Krok výměny nebyl způsobilý pro reklamu.

  • Reklamní relace začala, ale nebylo vyžádáno vyhledávání.

  • Vyhledávání nevrátilo žádné kandidáty.

  • Kandidáti byli nalezeni, ale selhalo doplnění jejich dat nebo neprošli kontrolou způsobilosti.

  • Reklama byla naservírována a později s ní uživatel interagoval.

Tyto podrobné rozbory nám pomáhají zlepšovat jednotlivé části systému pro zobrazování reklam nezávisle na sobě. Ke zlepšování rozpoznávání příležitostí potřebujeme jiné podklady než ke zlepšování vyhledávání, kvality kandidátů, účasti v aukcích nebo spolehlivosti doručování.

Vývojový diagram znázorňující, jak výměna v ChatGPT způsobilá pro reklamu vytváří výsledky týkající se produktu, zobrazování reklam a kvality. Ty procházejí analytickým zpracováním s ochranou soukromí a slouží k souhrnnému měření a jako povolená data pro zlepšování modelů.

Systémy pro servírování, zobrazování a kontrolu kvality sledují každý jinou část životního cyklu. Zpracování podléhající pravidlům ochrany soukromí určuje, co lze použít pro měření a zlepšování modelů.

Výkonné modely hodnotí a zlepšují celý systém

Hodnocení pomocí modelů stojí na tom, že naše nejsilnější modely s nejpokročilejšími schopnostmi uvažování sledují a posuzují výsledky systému a poté dalším tréninkem zlepšují výkon dotrénovaného LLM. Pro orchestraci nebo vyhledávání například můžeme používat menší, efektivnější modely či modely s nižší úrovní uvažování, pokud náš nejvýkonnější model shromažďuje zpětnou vazbu a trénuje tyto menší pomocníky tak, aby odváděli co nejlepší práci.

Zpětná vazba od lidí pomáhá určit, co působí vhodně

Sbíráme a zohledňujeme zpětnou vazbu od lidí: kliknutí a skrytí reklam uživateli, odpovědi v uživatelských průzkumech i přímou zpětnou vazbu inzerentů prostřednictvím našeho Správce reklam. Během vývoje je náš tým také k dispozici pro zpětnou vazbu a přímo naslouchá tomu, co chtějí uživatelé ChatGPT i inzerenti. Tato zpětná vazba ovlivňuje naše směřování ještě více než zpětná vazba z pozorování modelu a je jedním z důvodů, proč jsme mohli rychlými iteracemi dospět ke správným produktovým rozhodnutím. Model může rozumět záměru uživatele a kriticky přemýšlet, aby nabídl něco přínosného, ale cit pro to, co je vhodné, utvářejí lidé.

Co bude dál

Před rokem jsme neměli žádný reklamní systém a touto oblastí se zabývalo jen několik lidí. Dnes máme robustní reklamní systém, který při současném tempu generuje v ročním přepočtu více než miliardu dolarů a jehož reklamní proces řídí orchestrátor založený na LLM. Codex zásadně znásobil naše možnosti a umožnil nám vybudovat systém od základu a dosáhnout tohoto významného milníku ve využívání nebývalou rychlostí. Od začátku jsme tým i vývojové postupy nastavili tak, abychom pomocí Codexu mohli systém rychle vytvářet a škálovat. Pro Codex jsme vytvořili ochranné mechanismy, které umožňují spolehlivé a bezpečné nasazování kódu. Souběžně jsme pro Codex připravili pluginy datové infrastruktury, které výrazně zkracují cestu od získání poznatků k zavedení vylepšení systému, včetně nových produktových funkcí, vyšší kvality a lepšího výkonu.

Kombinace hranic našeho systému (vycházejících z našich zásad reklamy⁠) a orchestrátoru založeného na LLM nám umožňuje dělat reklamu užitečnou, aniž bychom každou konverzaci považovali za požadavek na reklamu. Do budoucna budeme dál experimentovat s dynamičtějšími reklamními formáty, abychom zvýšili přínos pro uživatele i inzerenty – například tím, že uživatelům umožníme prostřednictvím reklam mluvit přímo s firmami. Architektura systému, která se průběžně zdokonaluje a staví na modelech OpenAI s nepřetržitou zpětnou vazbou, nám umožní rychleji zlepšovat relevanci a personalizaci.

Autoři

Ritendra Datta, Karthik Gopalratnam