Preskočite na glavni sadržaj
OpenAI

21. listopada 2026.

Inženjerstvo

Kako smo izgradili novi oglasni sustav za ChatGPT uz povjerenje korisnika i relevantnost

Autori: Ritendra Datta i Karthik Gopalratnam, članovi tehničkog tima

Učitavanje…

Tradicionalni oglasni sustavi izgrađeni su tako da reagiraju na pojedinačne iskaze korisnikove namjere. Korisnik nešto traži ili pregledava na internetu, oglasni sustav prima te upite i preglede stranica kao događaje te na temelju njih traži odgovarajuće oglase. Izgradnja oglasnog sustava za ChatGPT bila je drukčija: korisnikova se namjera razvija kroz razgovore i mijenja tijekom više razmjena poruka, ponekad bez prikladnog trenutka za oglašavanje. Kako bismo podržali taj novi pristup, izgradili smo namjenski sustav za isporuku oglasa. Ta nova vrsta oglasnog sustava temelji se na prilagođenom, naknadno treniranom graničnom LLM-u koji poziva alate za dohvaćanje (prepoznavanje najboljih opcija), rangiranje (predviđanje angažmana korisnika), relevantnost (procjenu korisnosti oglasa) i provedbu dražbi za konačni odabir oglasa i određivanje cijena.

Naš oglasni sustav prati nijanse promjenjivih korisničkih ciljeva zahvaljujući trima ključnim projektnim odlukama: 1) uvođenju oglasnih sesija koje pamte stanje, odnosno zadržavaju informacije kroz razmjene poruka i više razgovora, 2) oslanjanju na prilagođen, naknadno obučen LLM koji pomoću arhitekture poziva alata tumači kontekst i namjeru u pozadini razgovora, a zatim učinkovito odabire, rangira i isporučuje oglase te 3) odvojenom provođenju postupka odabira oglasa od generiranja odgovora ChatGPT‑a, u zasebnoj usluzi, kako oglasi ne bi utjecali na odgovore i kako bi se očuvao neutralan ton ChatGPT‑a. Naš naknadno treniran LLM koristimo za orkestraciju cijelog oglasnog procesa. Na temelju trenutačne razmjene poruka i povijesti razgovora određuje koji je oglas prikladno prikazati i kada. Dok je izgradnja ovakvog oglasnog sustava koji se sam poboljšava nekoć trajala godinama, ChatGPT oglasi dosegnuli su tempo prihoda koji odgovara milijardi dolara godišnje za manje od 200 dana od pokretanja; od pokretanja do danas više od 100.000 oglašivača prikazivalo je oglase na ChatGPT‑u.

Kako bi oglasi trebali funkcionirati u agentskom razgovoru?

Uobičajen zahtjev za oglas obično počinje jasno definiranim događajem. Korisnik pošalje upit za pretraživanje ili otvori web stranicu, a oglasni sustav primi zahtjev. Takav je sustav prilično jednostavan: dohvaća potencijalne kandidate za oglase, rangira ih, provodi aukciju kako bi primjereno odredio cijenu prilike za oglašavanje i prikazuje odabrani oglas korisniku. U ChatGPT‑u takav konkretan trenutak ne nastaje sam po sebi.

U razgovor s ChatGPT‑om ljudi dolaze s ciljevima, a ne s upitom za pretraživanje koji traži jedan odgovor. Možda planiraju putovanje, biraju softver za svoje poslovanje, opremaju dom ili se počinju baviti novim hobijem. Sve se to ne događa u jednoj razmjeni poruka. ChatGPT često tijekom razgovora pomaže korisniku razjasniti što mu je važno.

Primjerice, naš je inženjerski tim pitao ChatGPT kako trenirati za utrku. Razgovor počinje općim pitanjem o trčanju. Nekoliko razmjena poruka kasnije pitaju o obući za trening. Komercijalno značenje razgovora mijenja se sa svakim novim uvjetom, a taj se personalizirani kontekst razvija kroz više sesija. Sustav koji bi reagirao na prvu poruku mogao bi potpuno pogrešno protumačiti namjeru, čime bi mogao narušiti korisničko iskustvo i ometati korisnika.

Pri izgradnji našeg oglasnog sustava morali smo nadići oglasnu arhitekturu zahtjeva i odgovora te izgraditi sustav od nule kako bismo pronalazili potencijalne gospodarske prilike, dajući pritom prednost povjerenju korisnika i koristi za njih.

Pamćenje razgovora bez utjecaja na odgovore ChatGPT‑a

Pretvaranje svake poruke u samostalan zahtjev, kao u tradicionalnom oglasnom sustavu, u našem bi razgovornom okruženju donijelo nekoliko rizika: 1) pogrešno tumačenje korisnikova cilja zbog pretjeranog pojednostavljivanja, 2) prerano pokretanje oglasnog procesa, prije nego što se razjasni stvarna korisnikova potreba, 3) prikazivanje oglasa koji ometaju korisnika na putu do cilja umjesto da mu pomažu i 4) neučinkovito ponovno pokretanje oglasnog procesa pri svakoj promjeni zahtjeva, uz stvaranje šuma i nepotrebnih troškova. Umjesto da se temelji na pojedinačnim događajima, oglasni sustav (koji obuhvaća dohvaćanje, rangiranje i isporuku) održava sesiju koja pamti stanje. To znači da oglasna sesija traje tijekom razmjene poruka prihvatljive za oglašavanje, pamteći i ažurirajući informacije kako se one mijenjaju. ChatGPT šalje početni kontekst zahtjeva oglasnom poslužitelju. Oglasni sustav prati razvoj razgovora i prilagođava mu se umjesto da se oslanja na jedan pojednostavljen upit.

Postupak odabira oglasa odvija se paralelno s uobičajenim generiranjem odgovora ChatGPT‑a kako oglasni proces ne bi utjecao na njegove odgovore. Oglasi se filtriraju i odabiru putem zasebnog sustava koji obrađuje razgovor prema vlastitim ograničenjima prihvatljivosti, kvalitete i isporuke. Ta važna arhitekturna granica, odnosno različite usluge koje koriste zasebne modele i zaseban kod, omogućuje glavnim poslužiteljima ChatGPT‑a da generiraju organski odgovor. Oglasni sustav za to vrijeme neovisno procjenjuje postoji li prikladna prilika za oglašavanje i, ako postoji, priprema sponzorirani oglas kroz zaseban postupak posluživanja.

Dijagram toka koji prikazuje grananje korisničkog razgovora na put generiranja odgovora u ChatGPT-u, koji daje organski odgovor te zaseban put provjere prihvatljivosti i posluživanja oglasa, koji daje jasno označen sponzorirani oglas.

Oglašavanje se odvija paralelno s generiranjem odgovora u ChatGPT‑u.

Osim što štiti korisničko iskustvo, ovo razdvajanje ima i neke praktične posljedice. ChatGPT ne ovisi o oglasnom sustavu: usluge ni na koji način nisu isprepletene i ne dijele model za generiranje sadržaja. Stoga, ako je sustav za posluživanje oglasa nedostupan ili spor, generiranje organskog odgovora u ChatGPT‑u nastavlja se neometano. To znači da oglasni sustav ne može uzrokovati prekid rada ni usporiti ChatGPT. Druga je prednost ovog razdvajanja to što zadržava vrlo visoke kriterije korisnosti oglasa. Izostanak oglasa uobičajen je i uspješan ishod. Sustav isporučuje oglas samo ako je on jasno koristan i korisnicima i oglašivačima.

LLM tumači razgovore i poziva alate

Druga ključna arhitekturna komponenta našeg oglasnog sustava jest naknadno treniran LLM koji tumači razgovore i vodi cijeli oglasni proces u agentskoj petlji, pozivajući alate za temeljne funkcije oglasnog sustava, od dohvaćanja i rangiranja do aukcije oglasa te, konačno, isporuke. Taj LLM nazivamo orkestratorom.

Prvi korak oglasnog procesa jest razumijevanje korisnikove namjere kako bi se pokrenulo dohvaćanje: brzo i namjerno široko prikupljanje potencijalnih oglasa koji će se naknadno filtrirati. Postupno primanje razgovora čini zadatak dohvaćanja sadržajnijim, ali i višeznačnijim jer oglasni sustav mora razlikovati trenutačnu namjeru od zastarjelog konteksta. Orkestrator mora protumačiti upućivanja na ranije poruke, prepoznati kada korisnik govori hipotetski i izbjeći tumačenje svakog spominjanja proizvoda ili usluge kao zahtjeva za kupnju.

Oglasni orkestrator koristi dostupan razgovor i kontekst korisnika te u više iteracija traži dobre oglase, svaki put odlučujući kada pozvati koji alat. Pritom mu je temeljni cilj pronaći najprikladniji oglas za taj razgovor i kontekst, odnosno oglas koji uravnotežuje veliku korist za korisnika i veliku korist za oglašivača. Ako korisnik odabere personalizaciju oglasa, orkestrator uzima u obzir i dostupne neosjetljive podatke o njegovim ranijim razgovorima kako bi pronašao oglase koji mu najbolje odgovaraju.

Arhitekturni dijagram koji prikazuje kontekst razgovora i korisnički profil kao ulaze u oglasni orkestrator, s alatima za dohvaćanje, procjenu relevantnosti, predviđanje događaja, prihvatljivost, tempo potrošnje i proračune te aukciju i određivanje cijena, koji uravnotežuju korist za korisnika i oglašivača.

Oglasni orkestrator u više iteracija poziva alate za isporuku oglasa kako bi pronašao korisne oglase.

Kako razgovor napreduje i oglasni orkestrator dobiva novije informacije, može pokrenuti novi niz poziva alata s ažuriranim kontekstom kako bi pronašao bolje oglase i vratio ih klijentskoj aplikaciji, koja ih zatim može upotrijebiti ako stignu na vrijeme.

Orkestrator je osmišljen tako da uravnotežuje korist za korisnika i korist za oglašivača, uvijek stavljajući korisnike na prvo mjesto.

Kako orkestrator poziva oglasne alate u agentskoj petlji

Oglasni sustav sastoji se od pojedinačnih alata koje orkestrator poziva u više iteracija kako bi pronašao najbolje oglase za razgovor. U osnovi, orkestrator pretvara razgovore u kratke tekstualne sažetke, koji se zatim pretvaraju u semantičke vektorske prikaze (pohranjena značenja koja oglasni sustav lakše pretražuje). Pomoću njih dohvaća kandidate za oglase, filtrira ih prema prihvatljivosti (na temelju proračuna, korisničkih postavki i drugih preliminarnih provjera), procjenjuje njihovu kvalitetu i relevantnost te provodi završno rangiranje kako bi prepoznao najkorisnije prilike za postavljanje oglasa na kraju odgovora u razgovoru. Svaki oglas stoga mora zadovoljiti visoke kriterije prihvatljivosti i relevantnosti kako bi mogao biti prikazan.

Priprema upita za dohvaćanje koji odražavaju namjeru

LLM koji služi kao orkestrator najprije priprema jedan ili više upita koji predstavljaju relevantnu komercijalnu namjeru. To može uključivati preoblikovanje konteksta razgovora kako bi se komercijalne mogućnosti proširile izvan doslovnih upita za pretraživanje, a zatim i izradu semantičkih prikaza. Orkestrator pritom svodi razgovor s više razmjena poruka na sažetu verziju za sustav dohvaćanja, čime ciljano dohvaća oglase iz naše baze podataka.

Prikazani oglasi bit će bolji i za korisnike i za oglašivače ako se pojavljuju samo kada je korisnikova namjera temeljito shvaćena. Više upita može sačuvati različite aspekte namjere. Razgovor o planiranju putovanja, primjerice, može sadržavati zasebne potrebe povezane s prijevozom, smještajem ili aktivnostima. Sustav dohvaćanja može očuvati te razlike umjesto da cijeli razgovor sažme u jedan doslovan niz znakova.

Kao primjer, pogledajmo mogući slijed razgovora o planinarskim cipelama:

  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?

Iako korisnik nije povezao pitanje o marki obuće s putovanjem u Yosemite, ovaj bi razgovor u našem oglasnom sustavu mogao biti predstavljen dvama upitima, poput [shoes appropriate for hiking trip] i [new [brand] product lines good for travel]. To može biti tek prvi pokušaj: orkestrator je osmišljen tako da iterativno dorađuje te prikaze dok u našoj ponudi ne pronađe oglase koji su korisniku vrlo korisni.

Dohvaćanje mogućih oglasa

Dohvaćanje je proces stvaranja namjerno širokog skupa mogućih oglasa. Kandidati mogu potjecati iz različitih strategija dohvaćanja, a kasnije se natjecati uz ista ograničenja posluživanja. Izrađujemo više indeksa optimiziranih za različita ograničenja sustava i proizvoda. Primjerice, indeks za oglase iz feeda proizvoda osmišljen je tako da pri dohvaćanju najboljih mogućih oglasa uzima u obzir pozitivne ili negativne recenzije proizvoda. To nije relevantno za druge oglase s kojima recenzije možda nisu povezane. Svaki je indeks optimiziran za neku inačicu približnog pretraživanja najbližih susjeda (ANN), uz upotrebu vektorskih prikaza koji predstavljaju korisnikovu namjeru. To ANN pretraživanje aproksimacijski je algoritam za dohvaćanje iz velikih semantičkih indeksa. Oglasi se tako dohvaćaju vrlo brzo, približavanjem dobrom rješenju umjesto traženja „pravog” rješenja, uz zadržavanje većine relevantnih kandidata.

Dijagram toka koji prikazuje preoblikovane upite kodirane u visokodimenzionalne semantičke vektorske prikaze, pretraživanje standardnih oglasa, oglasa za proizvode i neobaveznih strategija te objedinjavanje rezultata u širok skup kandidata.

Oglasni sustav koristi preoblikovane upite za izradu semantičkih vektorskih prikaza tijekom dohvaćanja oglasa i stvaranje širokog skupa kandidata za oglase.

Filtriranje neprihvatljivih kandidata

Cilj je filtriranja iz razmatranja isključiti sve kandidate za oglase koji ne zadovoljavaju kriterije prikazivanja u pogledu relevantnosti, ponuda i proračuna. Ovisno o kandidatu i konfiguraciji, provjere pri filtriranju mogu obuhvaćati dostupnost oglasnih materijala i kampanje (jesu li kampanja ili oglasni materijali aktivni), ciljanje kampanje (npr. na kojim se jezičnim i regionalnim područjima smije prikazivati), ograničenja pravila (zahtjeve usklađenosti u pogledu onoga što se smije oglašavati), raspoloživost proračuna (ima li kampanja još sredstava za potrošnju), tempo potrošnje (treba li kampanja trošiti proračun sada ili u drugo doba dana), kompatibilnost s kontekstom prikazivanja (za koje je vrste razgovora oglas prihvatljiv) te uklanjanje duplikata na razini oglašivača i kampanje (odabir primjerenog broja oglasa po oglašivaču kako bi se osiguralo ravnopravno sudjelovanje poduzeća).

Procjena relevantnosti i kvalitete

Kandidati koji prođu provjere prihvatljivosti ulaze u fazu bodovanja, u kojoj orkestrator putem alata poziva različite sustave bodovanja. Oni procjenjuju čimbenike važne za posluživanje, kao što su semantička relevantnost (je li oglas relevantan za korisnikov cilj?), predviđeni angažman (kolika je vjerojatnost da će oglas biti pregledan, kliknut i dovesti do ishoda koji oglašivač želi?) i dosadašnja uspješnost (je li oglas dosad ostvarivao dobre rezultate pri prikazivanju korisnicima?). Orkestrator također filtrira oglase kako bi osigurao relevantnost i sigurnost prije dražbe. Ti sustavi sužavaju izbor na manji skup kandidata spremnih za dražbu, ali još ne određuju koji će oglas na kraju biti isporučen.

Provedba aukcije oglasa

Orkestrator procjenjuje pripremljene kandidate u kontekstu razgovora i odabire one koji su dovoljno prikladni za ulazak u završnu aukciju. Orkestrator ne odlučuje izravno koji će se oglas poslužiti niti određuje cijenu. Predlaže kandidate prikladne za kontekst koje zatim procjenjuje alat za aulciju.

U aukciji se primjenjuju završni mehanizmi posluživanja, uključujući prihvaćanje u aukciju (zadovoljavanje minimalnog praga relevantnosti i koristi), tempo potrošnje (ravnomjernije trošenje oglasnog proračuna), izračun ponuda i značajki dražbe, rangiranje prilagođeno kvaliteti, određivanje cijene i konačni odabir.

Završne provjere prihvatljivosti

Nakon aukcije oglas se možda neće isporučiti iz dvaju razloga, oba specifična za razgovorno okruženje ChatGPT‑a.

  1. Oglas može djelovati neprimjereno u čavrljanju: iako su modeli za provjeru integriteta (modeli koji odlučuju kada je primjereno poslužiti oglas) procijenili da je razgovor siguran za prikazivanje oglasa, a sam oglas ocijenjen usklađenim s pravilima, on ponekad ipak može djelovati neprimjereno u kontekstu određenih razgovora. Orkestrator sprječava prikazivanje takvih oglasa.

  2. Zahtjev za oglas možda neće stići na vrijeme: ako je model ChatGPT‑a spreman odgovoriti, a oglas još nije spreman za prikazivanje, zahtjevu za oglas istječe vrijeme i oglas se ne isporučuje. Jedan je od ciljeva oglasnog sustava stoga raditi što brže. Vrijeme odgovora modela ChatGPT‑a promjenjivo je i ne odgađamo odgovore u čavrljanju kako bismo pričekali učitavanje oglasa.

Ako su sve navedene provjere uspješne, šaljemo oglas u korisničko sučelje na iscrtavanje. To smatramo isporukom oglasa na strani poslužitelja, ali oglas se korisniku ipak možda neće prikazati, što je namjerno predviđeno.

Posljednji korak: prikazivanje oglasa korisniku

U razgovornom proizvodu kao što je ChatGPT, isporuka oglasnog materijala na strani poslužitelja ne jamči da će oglas biti prikazan; mora stići i na vrijeme da bi bio uključen u trenutačnu razmjenu poruka. Oglasni materijal uključuje naslov, opis, odredišnu poveznicu i eventualni poziv na radnju. Oglasni sustav usto vraća uvodni tekst koji generira model: kratak, neutralan uvod koji objašnjava kako je oglas povezan s razgovorom. Odvajanjem uvoda od oglasnog materijala čuva se oglašivačeva poruka, a ton ChatGPT‑a ostaje neutralan.

Korisničko sučelje ChatGPT‑a prima uvodni tekst i oglasni materijal zajedno u paketu. Ako paket stigne prije nego što se odgovor ChatGPT‑a potpuno generira, sučelje prikazuje oglas ispod odgovora, jasno označen kao sponzoriran. Ako stigne prekasno, oglas se ne prikazuje u toj razmjeni poruka. U tome je razlika između isporuke oglasa na strani poslužitelja i prikaza oglasa korisniku.

Dijagram slijeda koji prikazuje pobjednički oglas koji priprema sustav posluživanja, završne provjere ChatGPT-a, prikaz u korisničkom sučelju i potvrde koje razlikuju odabir od uspješne isporuke.

Odabir pobjednika i isporuka zasebni su događaji. Odabrani oglas smatra se isporučenim tek nakon što ChatGPT odobri i prikaže oglas te se isporuka potvrdi.

Što se događa nakon prikazivanja oglasa

Naš oglasni sustav koristi uobičajeno bilježenje događaja i tokove obrade podataka, što donosi tri glavne prednosti: oglašivači mogu lakše povezati svoje postojeće sustave s našim, unaprijediti svoje strategije pomoću podataka iz izvješća, a naš tim može prepoznati dijelove sustava koje treba poboljšati. Uz te alate za izvješćivanje i optimizaciju upotrebljavamo visokokvalitetan model za procjenu isporuke i obuku drugih oglasnih modela, čime stvaramo snažnu petlju samopoboljšavanja.

Detaljne analize onoga što se dogodilo pomažu nam razumjeti i poboljšati svaki dio oglasnog sustava zasebno. Sustav za obradu zapisnika bilježi i detaljne ishode, kao što su:

  • Razmjena poruka nije bila prihvatljiva za oglašavanje.

  • Oglasna sesija započela je, ali dohvaćanje nije zatraženo.

  • Dohvaćanjem nije pronađen nijedan kandidat.

  • Kandidati su dohvaćeni, ali dopuna podacima nije uspjela ili nisu prošli provjeru prihvatljivosti.

  • Oglas je isporučen, a kasnije je zabilježena interakcija s njim.

Te detaljne analize pomažu nam poboljšati svaki dio sustava za posluživanje oglasa zasebno. Za poboljšanje prepoznavanja prilika potrebni su drukčiji podaci nego za poboljšanje dohvaćanja, kvalitete kandidata, sudjelovanja u aukciji ili pouzdanosti isporuke.

Dijagram toka koji prikazuje kako razmjena poruka u ChatGPT-u prihvatljiva za oglašavanje stvara ishode vezane uz proizvod, posluživanje oglasa i kvalitetu, koji prolaze kroz analitiku uz kontrole privatnosti te daju zbirna mjerenja i podatke dopuštene za poboljšanje modela.

Sustavi isporuke, posluživanja i kvalitete prate različite dijelove životnog ciklusa. Obrada uz kontrole privatnosti određuje što se smije koristiti za mjerenje i poboljšanje modela.

Snažni modeli procjenjuju i poboljšavaju cijeli sustav

Ideja procjene pomoću modela jest da naši najsnažniji modeli, s najvećim sposobnostima rasuđivanja, prate i ocjenjuju rezultate sustava, a zatim poboljšavaju naknadno obučen LLM - vršeći njegovu obuku za bolji rad. Primjerice, za orkestraciju ili dohvaćanje možemo koristiti manje i učinkovitije modele ili modele s manjim sposobnostima rasuđivanja ako naš najsnažniji model prikuplja povratne informacije i vrši obuku tih manjih modela kako bi oni svoj posao obavljali što bolje.

Ljudske povratne informacije usmjeravaju nas prema odmjerenim rješenjima

Prikupljamo povratne informacije ljudi (klikove korisnika i skrivanje oglasa), kao i odgovore iz korisničkih anketa te izravne povratne informacije oglašivača putem našeg Upravitelja oglasa, i postupamo prema njima. Tijekom razvoja naš je tim također dostupan za povratne informacije te izravno sluša što žele korisnici ChatGPT‑a i oglašivači. Taj izvor povratnih informacija utječe na naš smjer još više od opažanja modela i dijelom nam je omogućio da kroz brze iteracije dođemo do pravih odluka o proizvodu. Model možda može razumjeti korisnikovu namjeru i kritički razmišljati kako bi pružio nešto korisno, ali ljudi oblikuju osjećaj za mjeru.

Što slijedi

Prije godinu dana nismo imali oglasni sustav, a tek je nekoliko ljudi razmišljalo o tom području. Danas imamo robustan oglasni sustav koji pri sadašnjem tempu ostvaruje više od milijardu dolara prihoda na godišnjoj razini, uz orkestrator temeljen na LLM-u koji vodi oglasni proces. Codex je bio ključan za višestruko povećanje naših kapaciteta te nam je omogućio da sustav izgradimo od nule i dosegnemo ovu važnu prekretnicu u korištenju dosad neviđenom brzinom. Od samog smo početka organizirali tim i razvojne procese tako da uz Codex možemo brzo izgraditi i proširivati sustav. Uspostavili smo zaštitne mjere kako bi Codex pouzdano i sigurno isporučivao kod. Istodobno smo postavili dodatke za podatkovnu infrastrukturu za Codex kako bismo znatno skratili ciklus od prikupljanja uvida do uvođenja poboljšanja u sustav, uključujući nove značajke proizvoda, poboljšanja kvalitete i bolje performanse sustava.

Kombinacija granica našeg sustava (utemeljenih na našim načelima oglašavanja⁠) i orkestratora temeljenog na LLM-u omogućuje nam da oglašavanje učinimo korisnim bez tretiranja svakog razgovora kao zahtjeva za oglas. Ubuduće ćemo nastaviti eksperimentirati s dinamičnijim formatima oglasa kako bismo povećali korist za korisnike (npr. omogućili im da putem oglasa izravno razgovaraju s poduzećima) i oglašivače. Arhitektura sustava koja se sama poboljšava, izgrađena na modelima tvrtke OpenAI uz kontinuirane povratne petlje, omogućit će nam da s vremenom sve brže poboljšavamo relevantnost i personalizaciju.

Autori

Ritendra Datta i Karthik Gopalratnam