我们如何为 ChatGPT 打造全新的广告系统,兼顾用户信任与相关性
摘要
OpenAI 详细介绍了其如何为 ChatGPT 定制广告系统:采用经过后训练的自定义 LLM,结合工具调用架构完成检索、排序、相关性计算和竞价拍卖,支持有状态的广告会话,并将广告与回答生成完全分离。该系统已实现年化收入 10 亿美元,广告主数量超过 10 万。
了解 OpenAI 如何为 ChatGPT 构建 LLM 驱动的广告系统:理解对话意图,将广告与回答分离,并大规模投放相关广告。
查看缓存全文
缓存时间:
2026/10/21 15:22
# 我们如何为 ChatGPT 构建兼顾用户信任与相关性的全新广告系统
来源:https://openai.com/index/building-chatgpt-ad-stack/
传统广告系统的设计思路是响应离散的用户意图单元。用户搜索或浏览了某个内容,广告系统将这些查询和页面浏览作为事件接收,然后基于这些事件匹配广告。为 ChatGPT 构建广告系统则完全不同:用户意图在多轮对话中逐步形成并不断演变,有时甚至没有合适的广告投放时机。为了支持这一新范式,我们构建了一套全新的广告投放系统。这种新型广告架构基于一个经过定制后训练的前沿 LLM,通过工具调用来完成检索(识别最佳选项)、排序(预测用户参与度)、相关性评估(评估广告的有用性),以及运行竞价以完成最终的广告选择和定价。
我们的广告系统通过三个关键设计决策来应对用户目标不断演变的复杂性:1)实现有状态的广告会话,即在对话的多个轮次以及多次对话之间记住信息;2)依赖一个经过定制后训练的 LLM,利用工具调用架构来解读对话的上下文和潜在意图,然后高效地选择、排序和投放广告;3)将广告选择过程与 ChatGPT 的回答生成分离,运行在独立的服务中,以确保广告不影响回答,维持 ChatGPT 中立的语气。我们使用后训练的 LLM 来编排整个广告流程,根据用户的当前轮次和对话历史,在正确的时间呈现正确的广告。过去,启动这样一个自我改进的广告系统通常需要数年时间,而 ChatGPT Ads 在上线不到 200 天内就达到了 10 亿美元的年化收入运行率(https://openai.com/index/expanding-access-to-ai-with-chatgpt-ads/);截至目前,已有超过 100,000 个广告主在 ChatGPT 上投放了广告。
## 在智能体对话中,广告应该如何运作?
传统广告请求通常始于一个明确的事件。用户提交搜索查询或打开网页,广告系统收到请求。这类系统相当简单:检索潜在广告候选、进行排序、运行竞价以合理定价,然后将最终广告展示给用户。ChatGPT 并不会天然地产生这样具体的时机。
在 ChatGPT 对话中,用户带着目标而来,而非一个单一的搜索查询。他们可能在规划旅行、为企业选择软件、为新家购置家具,或者学习一项新爱好。这些不会在对话的一个轮次中完成。ChatGPT 往往会在过程中帮助用户明确什么对自己真正重要。
举个例子,我们的工程团队曾询问 ChatGPT 如何为一场比赛进行训练:对话以一个关于跑步的一般性问题开始,几轮之后,他们又问到了有助于训练的鞋子。随着每个新约束条件的加入,对话的商业含义在不断变化——而这种个性化的上下文还会跨多次会话持续演变。如果一个系统只依据第一条消息行动,可能会完全误判用户意图,从而损害用户体验,甚至妨碍用户完成目标。
构建我们的广告系统要求我们超越传统的请求-响应广告架构,从零开始构建一套广告栈,在寻找潜在商业机会的同时,优先保障用户信任和价值。
## 对话记忆,但不影响 ChatGPT 的回答
将每条消息都视为独立请求(如同传统广告系统那样),在我们的聊天场景中会带来几个风险:1)因过度简化而误读用户目标;2)过早启动广告流程,在用户的真实需求尚未清晰之前就介入;3)展示的广告阻碍而非辅助用户旅程;4)每次请求变化都重新运行广告流程,既产生噪声又浪费成本。我们的广告系统(由检索、排序和投放组成)并非围绕单个事件构建,而是维护一个有状态的会话——广告会话在符合条件的轮次期间持续运行,随着信息的演变进行记忆和更新。ChatGPT 将初始请求上下文发送给广告服务器。广告系统跟随并适应不断发展的对话,而非依赖单一的扁平化查询。
广告选择过程与 ChatGPT 的正常回答生成并行运行,以确保广告流程不会影响 ChatGPT 的回答。广告通过一个独立的系统进行过滤和筛选,该系统基于自身的资格、质量和投放约束来处理对话。这一重要的架构边界——使用不同模型和不同代码的不同服务——使得核心 ChatGPT 服务器专注于生成自然回答;与此同时,广告系统独立评估是否存在合适的广告机会,如有,则通过独立的投放流程准备赞助展示位。
*广告与 ChatGPT 的回答路径并行运行。*
除了保护用户体验外,这种分离还有几个实际好处。ChatGPT 不依赖广告系统——两者的服务完全独立,不共享内容生成模型。因此,如果广告投放系统不可用或响应缓慢,ChatGPT 的自然回答不受影响。这意味着广告系统无法导致 ChatGPT 产品宕机或延迟。这种分离的另一个好处是,它保持了高价值广告的高标准。不返回广告是正常且成功的运营结果。系统只在广告对用户和广告主都明确有利时才会投放。
我们广告栈的另一个关键架构组件是后训练的 LLM,它解读对话并在智能体循环中运行整个广告流程——从检索阶段到排序再到竞价,最终到投放,对广告系统的核心功能发起工具调用。我们称这个 LLM 为**编排器(orchestrator)**。
广告流程的第一步是理解用户意图以启动检索过程,这是一个快速且刻意宽泛的潜在广告征集过程,以便后续进行筛选。增量式地接收对话使得检索问题更加丰富但也更具歧义,因为广告系统需要区分当前意图和过时的上下文。编排器必须解读对先前消息的引用,识别用户何时在进行假设性讨论,并避免将每次对产品或服务的提及都视为购买请求。
广告编排器利用可用的对话和用户上下文,通过迭代来寻找优质广告,反复决定何时调用哪个工具,底层目标是为该对话和上下文找到最合适的广告(即同时兼顾高用户价值和高广告主价值的广告)。如果用户选择个性化广告,编排器还会考虑用户过往对话中的非敏感信息来寻找最佳广告匹配。
广告编排器通过迭代调用广告投放工具来寻找有价值的广告。
随着对话的推进和广告编排器获得更新的信息,编排器可以基于更新后的上下文执行新一轮工具调用,以找到更好的广告并返回给客户端,客户端可以在这些广告及时到达时加以使用。
*编排器的设计目标是平衡用户价值和广告主价值,始终以用户为先。*
广告系统由独立的工具组成,编排器通过迭代调用这些工具来为对话寻找最佳广告。从宏观层面来看,编排器将对话转化为简短的文本摘要,然后将其转化为语义嵌入(即以更易于广告系统筛选的方式存储的含义表示),利用这些语义嵌入检索广告候选,过滤不合格的候选(基于预算、用户设置和其他初步检查),评估其质量和相关性,最后进行排序以识别适合在聊天回答末尾展示的高价值机会。因此,每条广告必须在资格和相关性方面达到高标准,才有资格获得展示。
### 准备捕捉意图的检索查询
编排器 LLM 首先准备一个或多个代表相关商业意图的查询。这可以包括重写对话上下文以扩展商业可能性(超越一对一的搜索查询),然后创建语义表示——编排器将多轮对话提炼为摘要版本,供检索系统使用,从而以聚焦的方式从我们的数据库中检索广告。
只有在对用户意图有深入理解时才展示广告,这对用户和广告主都更有利。多个查询可以保留意图的不同方面。例如,一段关于规划旅行的对话可能包含与交通、住宿或活动相关的不同需求。检索系统可以保留这些差异,而非将整段对话压缩为一个字面字符串。
举个例子,来看一段关于徒步鞋的潜在对话:
1. 两天的 Yosemite 行程我应该带什么?
2. 下周天气会冷吗?
3. 新 [插入品牌] 产品线?
尽管用户没有将鞋的品牌问题与 Yosemite 旅行联系起来,这段对话在我们的广告系统中可能通过两个查询来表示,例如 `【适合徒步旅行的鞋子】`和 `【适合旅行的 [品牌] 新产品线】`。这可能只是第一次尝试;编排器会不断迭代这些表示,直到在我们的广告库存中找到对用户高度有价值的广告。
### 检索可能的广告
检索是一个刻意创建宽泛广告候选池的过程。候选可能来自不同的检索策略,并在相同的投放约束下参与竞争。我们构建了多个针对不同系统和产品约束进行优化的索引(例如,产品 Feed 广告的索引在获取最佳广告时会考虑产品的正面或负面评价。这与可能没有关联评价的其他广告无关)。每个索引都针对某种形式的近似最近邻(ANN)搜索进行优化,使用代表用户意图的嵌入向量。这种 ANN 搜索是一种针对大规模语义索引的近似检索算法,意味着广告可以被非常快速地获取——接近一个良好的解决方案,而非寻找"完美"解决方案——同时保留大部分相关候选。
广告系统在广告检索过程中使用重写后的查询创建语义嵌入,产生一个宽泛的广告候选池。
### 过滤不合格的候选
过滤的目标是将所有在相关性、出价和预算方面不满足展示标准的广告候选排除在外。根据候选和配置的不同,过滤检查可能包括创意和广告系列可用性(广告系列或广告创意是否处于激活状态)、广告系列定向(例如,广告系列允许在哪些地区投放)、政策限制(关于什么可以被推广的合规要求)、预算可用性(广告系列是否还有剩余预算)、节奏控制(广告系列是否应该在此时而非一天中的其他时间花费预算)、展示位兼容性(该广告适合出现在哪些类型的对话中),以及广告主和广告系列级别的去重(为每个广告主选择合适数量的广告,以确保各企业间的公平参与)。
### 评估相关性和质量
通过资格检查的候选进入评分阶段,编排器向各种评分系统发起工具调用——评估投放相关的因素,如语义相关性(广告是否与用户目标相关?)、预测参与度(广告是否可能被查看、点击并转化为广告主期望的成果?)、历史表现(该广告在此前展示给用户时表现如何?)。编排器还会在竞价前过滤广告,确保相关性和安全性。这些系统将候选池缩小为一个更小的、准备好参与竞价的候选集,但它们仍然不决定最终投放的广告。
### 运行广告竞价
编排器在对话上下文中评估准备好的候选,选择哪些广告候选有足够的合理性进入最终竞价。编排器不直接决定投放哪条广告,也不设定价格。它只是提名上下文合适的候选,交由竞价工具进行评估。
竞价工具应用最终的投放机制,包括竞价准入(通过最低相关性和价值门槛)、节奏控制(更均匀地花费广告预算)、出价和竞价特征计算、质量调整排序、定价以及最终选择。
### 最终资格检查
竞价结束后,广告可能会在两个方面投放失败,这两者都与 ChatGPT 的对话媒介特性相关。
1. **广告在对话中可能显得不合适**:即使对话本身被完整性模型(即决定何时适合投放广告的模型)判定为适合广告展示,且广告本身被判定为符合政策,在某些特定对话的语境中,广告可能仍显得不恰当。编排器会阻止这类广告的展示。
2. **广告请求可能未及时到达**:如果 ChatGPT 模型已准备好回答,但广告尚未准备好展示,广告请求就会超时,广告无法投放。因此,广告系统的一个目标是尽可能快地运行。ChatGPT 模型的响应时间是动态的,我们不会延迟聊天回答来等待广告加载。
如果以上所有检查都通过,我们会将广告发送到前端进行渲染。我们认为这属于服务端广告**投放(delivery)**,但我们仍然可能不会将广告展示给用户——这是有意为之的。
## 最后一步:将广告展示给用户
在 ChatGPT 这样的对话式产品中,服务端完成广告创意的投放并不保证广告一定会被展示;广告还必须及时到达,以便包含在当前轮次中。广告创意包括标题、描述、目标链接和任何行动号召(call to action)。此外,广告系统还会返回一个模型生成的前言——一段简短、中立的介绍,说明该广告与对话的关联。将前言与创意分开保留,既维护了广告主的信息传达,又保持了 ChatGPT 语气的中立性。
ChatGPT 前端作为一个整体接收前言和广告创意。如果在 ChatGPT 的回答完全生成之前到达,前端会在 ChatGPT 回答下方展示广告,并明确标注为"赞助内容"。如果到达太晚,该轮对话中就不会展示广告。这就是服务端广告投放与面向用户的广告展示之间的区别。
*最终选择和投放是两个独立事件。被选中的广告只有在 ChatGPT 批准并展示了该展示位、且投放得到确认后,才会成为一次真正的投放。*
我们的广告技术栈使用了传统的日志记录和数据管道,这带来了三个主要好处:广告主可以更轻松地将现有系统与我们的技术栈集成,广告主可以通过报告数据优化策略,我们的团队也能发现系统的改进空间。除了这些报告和优化工具外,我们
相似文章
Hacker News Top
# 独家:泄露的演示文稿揭示了StackAdapt的ChatGPT广告投放策略 来源:[https://www.adweek.com/media/exclusive-leaked-deck-reveals-stackadapts-playbook-for-chatgpt-ads/](https://www.adweek.com/media/exclusive-leaked-deck-reveals-stackadapts-playbook-for-chatgpt-ads/) 如果您希望塑造媒体策略——而不仅仅是优化它——请升级您的专业素养。 [The ADWEEK MiniMBA in Marketing](https://www.adweek.com/minimba/?itm_source=articletop&itm_campaign=media4) 助您自信引领全局
OpenAI Blog
OpenAI宣布计划在ChatGPT的免费版和Go版中引入广告,同时将其ChatGPT Go订阅服务以每月8美元的价格扩展至美国及全球。公司概述了其广告投放方法的五项核心原则,强调答案独立性、对话隐私和用户控制,同时保持付费版无广告。
OpenAI Blog
OpenAI扩展ChatGPT广告试点,推出自助式广告管理器测试版、CPC竞价和增强型效果衡量工具,让企业投放广告更加便捷。
Hacker News Top
OpenAI 在 ChatGPT 中引入赞助代理用于对话式广告,并利用 AI 增强广告创建工具,集成 HubSpot 和 Shopify。
OpenAI Blog
OpenAI 正在 ChatGPT 中推出一种新的视觉广告格式,该格式将在美国的图像生成过程中进行测试,同时扩展其衡量工具和合作伙伴生态,包括与 Hightouch、Tealium、LiveRamp 以及多个归因平台的集成。