Cara kami membangun sistem iklan baru ChatGPT demi kepercayaan pengguna dan relevansi
Oleh Ritendra Datta dan Karthik Gopalratnam, Anggota Staf Teknis
Sistem periklanan tradisional dibangun untuk merespons maksud pengguna dalam unit-unit terpisah. Pengguna mencari atau melihat sesuatu secara online, sistem iklan menerima kueri dan kunjungan halaman tersebut sebagai peristiwa, lalu mencari iklan yang cocok berdasarkan peristiwa itu. Membangun rangkaian teknologi iklan untuk ChatGPT berbeda: maksud pengguna berkembang di berbagai percakapan dan bergeser selama beberapa giliran percakapan, terkadang tanpa momen yang cocok untuk beriklan. Untuk mendukung paradigma baru ini, kami membangun sistem penayangan iklan yang dirancang khusus. Rangkaian teknologi iklan jenis baru ini berbasis LLM terdepan post-trained yang dibuat khusus untuk memanggil alat pengambilan (mengidentifikasi pilihan terbaik), pemeringkatan (memprediksi interaksi pengguna), relevansi (mengevaluasi manfaat iklan), dan pelaksanaan lelang untuk pemilihan iklan akhir serta penetapan harga.
Sistem iklan kami mengakomodasi nuansa tujuan pengguna yang terus berkembang melalui tiga keputusan desain utama: 1) menerapkan sesi iklan stateful, yang berarti informasi diingat dari satu giliran ke giliran berikutnya dan di berbagai percakapan, 2) mengandalkan LLM post-trained khusus yang menggunakan arsitektur pemanggilan alat untuk menafsirkan konteks dan maksud di balik percakapan, lalu memilih, memeringkat, dan menayangkan iklan secara efektif, serta 3) menjalankan proses pemilihan iklan secara terpisah dari pembuatan jawaban ChatGPT, dalam layanan tersendiri, agar iklan tidak memengaruhi jawaban dan nada netral ChatGPT tetap terjaga. Kami menggunakan LLM post-trained untuk mengorkestrasi seluruh alur iklan, menentukan iklan yang tepat untuk ditampilkan pada waktu yang tepat berdasarkan giliran pengguna saat ini dan riwayat percakapan. Jika dahulu membangun sistem iklan yang mampu meningkatkan dirinya sendiri seperti ini dari nol membutuhkan waktu bertahun-tahun, Iklan ChatGPT mencapai laju pendapatan setara US$1 miliar per tahun kurang dari 200 hari setelah peluncuran; kini, lebih dari 100.000 pengiklan telah beriklan di ChatGPT sejak peluncurannya.
Permintaan iklan konvensional biasanya dimulai dengan peristiwa yang terdefinisi dengan jelas. Pengguna mengirim kueri pencarian atau membuka halaman web, lalu sistem iklan menerima permintaan. Sistem jenis ini cukup sederhana: sistem mengambil kandidat iklan potensial, memeringkatnya, menjalankan lelang untuk menetapkan harga yang sesuai bagi peluang tersebut, lalu menampilkan iklan terpilih kepada pengguna. Secara alami, ChatGPT tidak menghasilkan momen sekonkret itu.
Dalam percakapan ChatGPT, orang datang dengan tujuan, bukan kueri pencarian yang hanya membutuhkan satu jawaban. Mereka mungkin sedang merencanakan perjalanan, memilih perangkat lunak untuk bisnis, melengkapi perabot rumah, atau mempelajari hobi baru. Semua itu tidak terjadi hanya dalam satu giliran percakapan. ChatGPT sering kali membantu pengguna memperjelas hal-hal yang penting selama prosesnya.
Sebagai contoh, tim teknis kami bertanya kepada ChatGPT tentang cara berlatih untuk lomba lari: percakapan dimulai dengan pertanyaan umum tentang berlari. Beberapa giliran kemudian, mereka bertanya tentang sepatu untuk menunjang latihan. Makna komersial percakapan berubah seiring munculnya setiap batasan baru—dan konteks personal ini terus berkembang di beberapa sesi. Sistem yang langsung bertindak berdasarkan pesan pertama bisa sepenuhnya salah menangkap maksud pengguna, sehingga berpotensi menurunkan kualitas pengalaman pengguna dan menghambat mereka.
Untuk membangun sistem iklan ini, kami harus melampaui arsitektur periklanan permintaan-respons dan membangun rangkaian teknologi iklan dari awal guna menemukan peluang ekonomi potensial sambil mengutamakan kepercayaan dan manfaat bagi pengguna.
Mengubah setiap pesan menjadi permintaan tersendiri, seperti pada sistem iklan tradisional, akan membawa beberapa risiko dalam konteks percakapan kami: 1) salah menafsirkan tujuan pengguna karena terlalu menyederhanakannya, 2) memulai alur iklan terlalu dini, sebelum kebutuhan sebenarnya menjadi jelas, 3) menampilkan iklan yang menghambat perjalanan pengguna alih-alih mendukungnya, dan 4) menjalankan ulang alur iklan secara tidak efisien setiap kali permintaan berubah, sehingga menimbulkan gangguan dan memboroskan biaya. Alih-alih dibangun berdasarkan peristiwa-peristiwa tersendiri, sistem iklan (yang terdiri dari pengambilan, pemeringkatan, dan penayangan) mempertahankan sesi stateful. Artinya, sesi iklan berjalan sepanjang giliran yang memenuhi syarat, sambil mengingat dan memperbarui informasi seiring perkembangannya. ChatGPT mengirimkan konteks permintaan awal ke server iklan. Sistem iklan mengikuti dan menyesuaikan diri dengan percakapan yang berkembang, bukan mengandalkan satu kueri yang menyederhanakan seluruh konteks.
Proses pemilihan iklan berjalan berdampingan dengan pembuatan respons normal ChatGPT untuk memastikan alur iklan tidak memengaruhi respons ChatGPT. Iklan disaring dan dipilih melalui sistem terpisah yang menggunakan percakapan sebagai masukan, dengan batasan kelayakan, kualitas, dan penayangannya sendiri. Pemisahan arsitektur yang penting ini—layanan berbeda dengan model dan kode yang terpisah—memungkinkan server inti ChatGPT menangani pembuatan respons organik. Sementara itu, sistem iklan secara mandiri mengevaluasi apakah ada peluang beriklan yang sesuai dan, jika ada, menyiapkan penempatan bersponsor melalui proses penayangan terpisah.
Iklan muncul di sepanjang alur jawaban ChatGPT.
Selain melindungi pengalaman pengguna, pemisahan ini memiliki beberapa dampak praktis. ChatGPT tidak bergantung pada sistem iklan—kedua layanan ini sama sekali tidak saling terkait dan tidak menggunakan model pembuatan konten yang sama. Jadi, jika sistem penayangan iklan tidak tersedia atau lambat, respons organik ChatGPT tetap berjalan tanpa terpengaruh. Artinya, sistem iklan tidak dapat membuat produk ChatGPT berhenti berfungsi atau mengalami penundaan. Manfaat lain dari pemisahan ini adalah terjaganya standar yang sangat tinggi untuk memastikan iklan benar-benar bermanfaat. Tidak menghasilkan iklan merupakan hasil yang wajar dan tetap dianggap berhasil. Sistem hanya menayangkan iklan jika iklan tersebut jelas bermanfaat bagi pengguna dan pengiklan.
Komponen arsitektur utama lainnya dalam rangkaian teknologi iklan kami adalah LLM post-trained yang menafsirkan percakapan dan menjalankan seluruh alur iklan dalam siklus agentik—memanggil alat untuk menjalankan fungsi inti sistem iklan, mulai dari pengambilan kandidat, pemeringkatan, lelang, hingga akhirnya penayangan. Kami menyebut LLM ini orkestrator.
Bagian pertama dari alur iklan adalah memahami maksud pengguna untuk memulai proses pengambilan, yaitu pencarian cepat dengan cakupan yang sengaja dibuat luas untuk menemukan calon iklan yang akan disaring kemudian. Menerima percakapan secara bertahap membuat proses pengambilan memiliki konteks yang lebih kaya, tetapi juga lebih ambigu, karena sistem iklan perlu membedakan maksud pengguna saat ini dari konteks lama yang sudah tidak relevan. Orkestrator harus menafsirkan rujukan ke pesan sebelumnya, mengenali saat pengguna berbicara secara hipotetis, dan tidak menganggap setiap penyebutan produk atau layanan sebagai permintaan untuk membeli sesuatu.
Orkestrator iklan menggunakan percakapan dan konteks pengguna yang tersedia, melakukan iterasi untuk menemukan iklan yang baik, serta berulang kali memilih alat mana yang perlu dipanggil dan kapan. Tujuan utamanya adalah menemukan iklan yang paling sesuai dengan percakapan dan konteks tersebut, yaitu iklan yang menyeimbangkan manfaat tinggi bagi pengguna dan pengiklan. Jika pengguna memilih untuk mempersonalisasi iklan, orkestrator juga mempertimbangkan informasi nonsensitif yang tersedia dari percakapan sebelumnya untuk menemukan iklan yang paling cocok.
Orkestrator iklan memanggil alat penayangan iklan secara berulang untuk menemukan iklan yang bermanfaat.
Seiring percakapan berlangsung dan orkestrator iklan menerima informasi terbaru, orkestrator dapat menjalankan serangkaian panggilan alat baru dengan konteks yang diperbarui untuk menemukan iklan yang lebih baik dan mengirimkannya ke klien. Klien kemudian dapat menggunakan iklan baru tersebut jika tiba tepat waktu.
Orkestrator dirancang untuk menyeimbangkan manfaat bagi pengguna dan pengiklan, dengan selalu mengutamakan pengguna.
Sistem iklan terdiri dari sejumlah alat tersendiri, dan orkestrator memanggilnya secara berulang untuk menemukan iklan terbaik bagi suatu percakapan. Secara garis besar, orkestrator mengubah percakapan menjadi ringkasan teks singkat, yang kemudian diubah menjadi embedding semantik (representasi makna tersimpan yang lebih mudah ditelusuri oleh sistem iklan). Orkestrator lalu mengambil kandidat iklan menggunakan embedding semantik tersebut, menyaring kelayakannya (berdasarkan anggaran, pengaturan pengguna, dan pemeriksaan awal lainnya), menilai kualitas serta relevansinya, lalu melakukan pemeringkatan akhir untuk mengidentifikasi peluang penempatan yang bernilai tinggi di akhir respons percakapan. Karena itu, setiap iklan harus memenuhi standar kelayakan dan relevansi yang tinggi agar dapat ditempatkan.
LLM orkestrator pertama-tama menyiapkan satu atau beberapa kueri yang mewakili maksud komersial yang relevan. Proses ini dapat mencakup penulisan ulang konteks percakapan untuk memperluas kemungkinan komersial, alih-alih sekadar memetakan setiap pesan ke satu kueri pencarian, lalu membuat representasi semantik. Di sini, orkestrator memadatkan percakapan multi giliran menjadi ringkasan untuk sistem pengambilan, sehingga iklan diambil dari basis data kami secara terarah.
Penempatan iklan akan lebih bermanfaat bagi pengguna maupun pengiklan jika iklan hanya muncul setelah maksud pengguna dipahami secara mendalam. Beberapa kueri dapat mempertahankan berbagai aspek maksud pengguna. Misalnya, percakapan tentang merencanakan perjalanan mungkin memuat kebutuhan yang berbeda terkait transportasi, penginapan, atau aktivitas. Sistem pengambilan dapat mempertahankan perbedaan ini, alih-alih memadatkan seluruh percakapan menjadi satu string literal.
Sebagai contoh, mari kita lihat kemungkinan rangkaian percakapan tentang sepatu mendaki:
Apa saja yang sebaiknya saya kunjungi dalam perjalanan dua hari ke Yosemite?
Apakah minggu depan akan dingin?
Lini produk baru [masukkan merek]?
Meskipun pengguna belum mengaitkan pertanyaan tentang merek sepatu dengan perjalanan ke Yosemite, percakapan ini dapat direpresentasikan dalam sistem iklan kami melalui dua kueri, seperti [shoes appropriate for hiking trip] dan [new [brand] product lines good for travel]. Ini mungkin baru upaya pertama; orkestrator dirancang untuk terus menyempurnakan representasi tersebut hingga menemukan iklan dalam inventaris kami yang sangat bermanfaat bagi pengguna.
Pengambilan adalah proses menyusun kumpulan pilihan iklan yang cakupannya sengaja dibuat luas. Kandidat dapat berasal dari berbagai strategi pengambilan, lalu bersaing dengan batasan penayangan yang sama. Kami membangun beberapa indeks yang dioptimalkan untuk berbagai batasan sistem dan produk. Misalnya, indeks untuk iklan feed produk dirancang agar mempertimbangkan ulasan produk yang positif maupun negatif saat mengambil iklan terbaik. Hal ini tidak relevan bagi iklan lain yang mungkin tidak memiliki ulasan terkait. Setiap indeks dioptimalkan untuk salah satu versi pencarian approximate-nearest-neighbor (ANN), menggunakan embedding yang mewakili maksud pengguna. Pencarian ANN ini merupakan algoritma pendekatan untuk pengambilan dari indeks semantik besar. Artinya, iklan diambil dengan sangat cepat dengan mendekati solusi yang baik, alih-alih mencari solusi yang “tepat”, sambil tetap mempertahankan sebagian besar kandidat yang relevan.
Sistem iklan menggunakan kueri hasil penulisan ulang untuk membuat embedding semantik selama proses pengambilan iklan dan menghasilkan kumpulan kandidat iklan yang luas.
Penyaringan bertujuan menyingkirkan semua kandidat iklan yang tidak memenuhi standar penempatan dari segi relevansi, penawaran, dan anggaran. Bergantung pada kandidat dan konfigurasinya, pemeriksaan penyaringan dapat mencakup ketersediaan materi iklan dan kampanye (apakah kampanye atau materi iklan aktif), penargetan kampanye (misalnya, lokal mana yang mengizinkan kampanye berjalan), batasan kebijakan (persyaratan kepatuhan terkait apa yang boleh diiklankan), ketersediaan anggaran (apakah kampanye masih memiliki anggaran untuk dibelanjakan), pengaturan laju belanja (apakah kampanye sebaiknya membelanjakan anggaran sekarang atau pada waktu lain di hari yang sama), kesesuaian penempatan (jenis percakapan yang memenuhi syarat untuk iklan ini), serta deduplikasi pada tingkat pengiklan dan kampanye (memilih jumlah iklan yang sesuai per pengiklan untuk memastikan partisipasi yang adil antarbisnis).
Kandidat yang lolos pemeriksaan kelayakan berlanjut ke tahap pemberian skor. Pada tahap ini, orkestrator memanggil alat dari berbagai sistem penilaian untuk mempertimbangkan faktor penayangan seperti relevansi semantik (apakah iklan relevan dengan tujuan pengguna?), prediksi interaksi (apakah iklan kemungkinan akan dilihat, diklik, dan menghasilkan konversi sesuai keinginan pengiklan?), serta kinerja historis (apakah iklan berkinerja baik saat ditampilkan kepada pengguna selama ini?). Orkestrator juga menyaring iklan untuk memastikan relevansi dan keamanan sebelum lelang. Sistem-sistem ini mempersempit pilihan menjadi kumpulan kandidat yang lebih kecil dan siap mengikuti lelang, tetapi belum menentukan iklan akhir yang akan ditayangkan.
Orkestrator mengevaluasi kandidat yang telah disiapkan berdasarkan konteks percakapan dan memilih kandidat iklan yang cukup layak untuk mengikuti lelang akhir. Orkestrator tidak secara langsung menentukan iklan mana yang akan ditayangkan maupun menetapkan harganya. Orkestrator mengajukan kandidat yang sesuai dengan konteks untuk dievaluasi oleh alat lelang.
Lelang menerapkan mekanisme penayangan akhir, termasuk penerimaan peserta lelang (lolos ambang minimum relevansi dan manfaat), pengaturan laju belanja (membelanjakan anggaran iklan secara lebih merata), penghitungan penawaran dan fitur lelang, pemeringkatan yang disesuaikan dengan kualitas, penetapan harga, dan pemilihan akhir.
Setelah lelang, ada dua hal yang dapat membuat iklan gagal ditayangkan. Keduanya khusus berkaitan dengan media percakapan ChatGPT.
Iklan mungkin terasa tidak pantas dalam percakapan: Meskipun percakapan telah dinilai aman untuk penempatan iklan oleh model integritas (model yang menentukan kapan iklan layak ditayangkan), dan iklan itu sendiri dinilai mematuhi kebijakan, terkadang iklan dapat terasa tidak pantas dalam konteks percakapan tertentu. Orkestrator mencegah iklan-iklan ini ditampilkan.
Permintaan iklan mungkin tidak tiba tepat waktu: Jika model ChatGPT sudah siap merespons, tetapi iklan belum siap ditempatkan, permintaan iklan melewati batas waktu dan iklan tidak ditayangkan. Karena itu, salah satu tujuan sistem iklan adalah berjalan secepat mungkin. Waktu respons model ChatGPT bersifat dinamis, dan kami tidak menunda respons percakapan demi menunggu iklan dimuat.
Jika semua pemeriksaan di atas terpenuhi, kami mengirimkan iklan ke frontend untuk dirender. Kami menganggapnya sebagai penayangan iklan dari sisi server, tetapi iklan tersebut mungkin tetap tidak ditampilkan kepada pengguna—dan ini memang disengaja dalam desainnya.
Dalam produk percakapan seperti ChatGPT, penayangan materi iklan dari sisi server tidak menjamin iklan akan ditampilkan; iklan juga harus tiba tepat waktu agar dapat disertakan dalam giliran percakapan saat itu. Materi iklan mencakup judul, deskripsi, tautan tujuan, dan ajakan bertindak jika ada. Selain itu, sistem iklan juga menyertakan pengantar buatan model, yaitu teks singkat dan netral yang menjelaskan kaitan iklan dengan percakapan. Memisahkan pengantar dari materi iklan menjaga keutuhan pesan pengiklan sekaligus mempertahankan nada netral ChatGPT.
Frontend ChatGPT menerima pengantar dan materi iklan sebagai satu paket. Jika paket tersebut tiba sebelum respons ChatGPT selesai dibuat, frontend menampilkan iklan di bawah respons ChatGPT dengan label bersponsor yang jelas. Jika paket tiba terlambat, iklan tidak ditampilkan pada giliran tersebut. Inilah perbedaan antara penayangan iklan dari sisi server dan tayangan iklan yang dilihat pengguna.
Pemilihan pemenang dan penayangan merupakan dua peristiwa terpisah. Iklan terpilih baru dianggap berhasil ditayangkan setelah ChatGPT menyetujui dan menampilkan penempatannya serta penayangannya dikonfirmasi.
Rangkaian teknologi periklanan kami menggunakan pencatatan log dan pipeline data konvensional, yang memiliki tiga manfaat utama: pengiklan dapat lebih mudah mengintegrasikan sistem yang sudah mereka miliki dengan teknologi kami, pengiklan dapat menyempurnakan strategi menggunakan data pelaporan, dan tim kami dapat menemukan bagian sistem yang perlu ditingkatkan. Selain alat pelaporan dan optimasi ini, kami menggunakan model berkualitas tinggi untuk mengevaluasi penayangan iklan dan melatih model iklan lainnya, sehingga tercipta siklus peningkatan mandiri yang andal.
Rincian peristiwa yang terjadi membantu kami memahami dan meningkatkan setiap bagian sistem iklan secara terpisah. Sistem pemrosesan log juga mencatat hasil secara terperinci, seperti:
Giliran percakapan tidak memenuhi syarat untuk iklan.
Sesi iklan dimulai, tetapi pengambilan kandidat tidak diminta.
Pengambilan tidak menghasilkan kandidat.
Kandidat berhasil diambil, tetapi gagal dalam proses pelengkapan data atau pemeriksaan kelayakan.
Iklan ditayangkan dan kemudian menerima interaksi.
Rincian ini membantu kami meningkatkan setiap bagian sistem penayangan iklan secara terpisah. Peningkatan deteksi peluang memerlukan bukti yang berbeda dari peningkatan pengambilan, kualitas kandidat, partisipasi lelang, atau keandalan penayangan.
Sistem penayangan, penayangan, dan kualitas masing-masing mengamati bagian yang berbeda dari siklus hidup iklan. Pemrosesan dengan kontrol privasi menentukan apa yang boleh digunakan untuk pengukuran dan peningkatan model.
Gagasan di balik evaluasi berbasis model adalah menggunakan model kami yang paling kuat dan memiliki kemampuan penalaran tertinggi untuk mengamati serta menilai hasil sistem, lalu meningkatkan LLM post-trained dengan melatihnya agar berkinerja lebih baik. Misalnya, kami dapat menggunakan model yang lebih kecil dan efisien atau model dengan kemampuan penalaran lebih rendah untuk orkestrasi atau pengambilan, asalkan model kami yang paling kuat mengumpulkan umpan balik dan melatih model-model kecil tersebut agar bekerja sebaik mungkin.
Kami mengumpulkan dan menindaklanjuti umpan balik manusia (klik dan tindakan menyembunyikan iklan oleh pengguna), serta survei pengguna dan umpan balik langsung dari pengiklan melalui Manajer Iklan kami. Selama pengembangan, tim kami juga terbuka menerima umpan balik dan mendengarkan langsung keinginan pengguna ChatGPT maupun pengiklan. Sumber umpan balik ini lebih menentukan arah kami daripada umpan balik hasil pengamatan model, dan turut memungkinkan kami melakukan iterasi dengan cepat untuk mengambil keputusan produk yang tepat. Model mungkin mampu memahami maksud pengguna dan berpikir kritis untuk memberikan sesuatu yang bermanfaat, tetapi manusialah yang membentuk selera.
Setahun lalu, kami belum memiliki sistem iklan dan hanya beberapa orang yang memikirkan bidang ini. Kini, kami memiliki sistem iklan andal yang menopang laju pendapatan setara lebih dari US$1 miliar per tahun, dengan orkestrator berbasis LLM yang menjalankan alur iklan. Codex menjadi pengganda produktivitas utama yang memungkinkan kami membangun sistem dari nol hingga mencapai tonggak penggunaan penting ini dengan kecepatan yang belum pernah ada sebelumnya. Sejak awal, kami menata tim dan alur kerja pengembangan untuk menggunakan Codex guna membangun dan memperluas skala sistem dengan cepat. Kami membangun mekanisme pengaman agar Codex dapat merilis kode secara andal dan aman. Secara paralel, kami menyiapkan plugin infrastruktur data untuk Codex guna mempercepat secara drastis siklus pengumpulan wawasan dan penerapan peningkatan pada sistem, termasuk fitur produk baru, peningkatan kualitas, dan kinerja sistem yang lebih baik.
Kombinasi batasan sistem kami (yang berlandaskan prinsip periklanan kami) dan orkestrator berbasis LLM memungkinkan kami menjadikan iklan bermanfaat tanpa memperlakukan setiap percakapan sebagai permintaan iklan. Ke depan, kami akan terus bereksperimen dengan format iklan yang lebih dinamis untuk meningkatkan manfaat bagi pengguna (misalnya, memungkinkan pengguna berbicara langsung dengan bisnis melalui iklan) dan pengiklan. Arsitektur rangkaian teknologi ini mampu meningkatkan dirinya sendiri, dibangun di atas model OpenAI dengan siklus umpan balik berkelanjutan. Arsitektur ini akan mempercepat kemampuan kami untuk terus meningkatkan relevansi dan personalisasi dari waktu ke waktu.



