posts/chatgpt-ads-answer-audit.md
ChatGPT Ads 10 亿美元,答案独立得靠审计
一条广告最危险的时刻,不是它出现在答案下面。
是有一天,用户问 ChatGPT 该买哪款软件,系统给出一串品牌和理由,页面底部刚好躺着一条赞助内容。用户想知道上面的答案有没有吃到广告信号,产品团队翻遍日志,却拿不出一条能让人信服的证据。
那才麻烦。
OpenAI 刚公布,ChatGPT Ads 上线不到 200 天,年化收入运行率已经达到 10 亿美元。平台有数万名广告主,覆盖 40 多个国家,广告自助购买继续向印度、欧洲、中东和北非开放。ChatGPT 的周活跃用户也超过了 10 亿。
好家伙,用户数、商业意图和广告预算,三股水流汇进了同一个对话框。
先把数字口径摆正。10 亿美元是按当前速度折算的年化收入,不是已经确认到账的一整年收入。不到 200 天也不是精确 200 天。可即便踩住刹车,这仍然是一条很猛的增长曲线。
OpenAI 同时反复承诺,广告会清晰标识并与回答分开,广告不影响 ChatGPT 的回答,广告主无法读取私人对话,用户还能管理个性化。

公开时间线来自 OpenAI 官方更新,8 月 31 日公告同时披露 10 亿美元年化收入。
我自己的判断是,10 亿美元并不是这条新闻最难的部分。
最难的是「广告不影响回答」这句话,怎样从一条产品原则,落成工程上可以反复验收、出了争议还能回放的事实。
这道题不只属于 OpenAI。做 AI 搜索、推荐、客服和 Agent 产品的人,很快都会碰到。
同一段对话,两条责任完全不同的链
传统搜索广告大多围着关键词和页面位置转。对话广告拿到的信号更厚。
OpenAI 的广告说明写得很清楚,广告系统会考虑当前对话的语境和意图、广告落地页、标题、文案、广告主提供的语境提示,以及用户开启个性化后更广泛的 ChatGPT 使用信号。
这套能力确实有点子牛逼。
用户不再只输入「显示器」三个字。他可能已经聊了十分钟,告诉模型自己做设计、桌面很窄、眼睛容易疲劳、预算三千,还不想折腾校色。广告系统看到的不是一个词,而是一份接近需求文档的意图压缩包。
相关性当然会更高,商业价值也会更高。
麻烦同样藏在这里。回答系统和广告系统都需要理解同一段对话,却背着两套完全不同的责任。回答要帮用户做判断,广告要完成匹配与商业转化。两条链可以读取同一个路口的交通信号,但不能偷偷替对方转方向盘。
如果只在页面上把广告放到答案下方,视觉上确实分开了。可工程边界不只是一条灰色分割线。
检索候选有没有被广告库存改过,回答 prompt 有没有出现竞价信号,品牌排序有没有随着某个广告主上线而漂移,赞助商落地页有没有混进引用源,点击和转化数据会不会反过来训练推荐答案。这些问题都藏在屏幕背后。
所以「分离」至少得同时覆盖输入、生成、检索、展示、反馈和执行。少一层,承诺就可能只剩 UI。

回答走深蓝链进入带校验的档案库,广告走珊瑚链进入商店,玻璃边界阻断反向信号。
坦率讲,我没有 ChatGPT 广告系统的内部架构,也没有账号级黑盒实验数据。下面不是对 OpenAI 的违规指控,而是一套产品团队用来证明自己没越线的验收框架。
区别很重要。
真正可审计的分离,先从生成路径下刀
第一道门不是标签颜色,是生成隔离。
理想的调用图里,回答生成先在不读取广告候选、竞价结果、出价和转化目标的路径上完成。回答文本与引用集合一旦确定,就生成不可变的 trace 标识或内容摘要。广告匹配只能读取经过最小化处理的语境特征,再决定页面下面放什么。
这个顺序看着像洁癖,其实是在给责任链断电。
如果广告系统能把一个品牌塞回检索候选,或者能把「优先推荐某类商品」写回回答 prompt,页面上再清楚的赞助标签也救不了它。用户看到的仍是一个混合结果,只是混合发生在肉眼看不到的地方。
很多朋友可能会问,两条链完全不共享数据,那广告还怎么相关。
可以共享经过治理的意图表示,不能共享控制权。假设回答侧产出一组只读特征,像「办公软件」「小团队」「预算敏感」,广告侧拿它做匹配。广告侧可以决定展示哪条赞助内容,却没有权限修改回答文本、引用源与工具计划。
这更像操作系统里的只读文件描述符,不是把整块内存地址扔给两个进程,大家看着办。
厉害了,商业系统最爱的一句话是「先接上,后面再隔离」。真到后面,转化事件已经穿过消息队列、特征仓库、实验平台和训练集,谁也说不清一条信号最初从哪儿进来的。
所以边界要在第一天写进接口。
answer_trace_id
answer_completed_at
model_version
system_policy_version
retrieval_snapshot_hash
ad_match_started_at
ad_policy_version
ad_impression_id
personalization_enabled
user_confirmation_required
这不是建议把整段私人对话永久塞进日志。恰好相反,审计记录要做数据最小化,只留能证明流程顺序、配置版本和边界状态的字段。原始内容能不存就不存,需要留存也要脱敏、限权、设置期限。
审计不是多收集数据的许可证。
它是少收数据之后,仍然能解释系统做过什么。
生成隔离之后,还得做差分监控。因为架构图画得再漂亮,也可能被一条新实验配置绕过去。
最实用的办法,是准备一批长期不变的盲测问题。对同一个模型版本、同一份检索快照和同一套系统策略,分别在广告功能关闭、没有广告库存、广告库存充足、个性化开启与关闭等条件下运行。比较的不只是字面相似度,还要看品牌出现率、推荐顺序、引用域名、结论倾向和拒答率。
正常波动肯定存在,大模型不会每次吐出一模一样的句子。团队要盯的是统计分布有没有持续偏移。
某个广告主加大投放以后,回答里的品牌突然更常排在第一位。
某类商品没有赞助库存时,模型愿意讨论不购买方案,有库存以后却开始频繁引导下单。
无广告付费版与广告支持版,在控制模型和检索版本后出现稳定的推荐差异。
这些不等于系统一定做错了,但都应该触发调查。没有对照组的「广告不影响回答」,只能算一句自我描述。
这块需要注意一下,别拿付费版和免费版随手问两次就宣布抓到证据。模型版本、上下文、记忆、联网结果、地区和随机采样都可能不同。能站得住的差分测试,必须控制这些变量,并在足够多样本上看趋势。
标签要分开,证据和动作更要分开
OpenAI 在广告测试说明里说,广告会放在回答下方,带有赞助标识,与自然回答保持视觉分隔。用户可以了解为什么看到它、关闭它、反馈原因、关闭个性化,还可以清除广告数据。
这些都很重要,但界面验收不能只看设计稿。
字体缩放到 200% 后,赞助标签还在不在。深色模式里,广告卡片和引用卡片会不会长得太像。屏幕阅读器读到广告时,会不会明确说出这是赞助内容。用户连续追问以后,广告会不会被挤进回答正文。落地页返回聊天窗口时,商业内容会不会被记成用户偏好。
每一个看着细碎的问题,都会决定那条分界线在真实产品里还能不能被看见。
OpenAI 最新广告政策还要求广告不能模仿 ChatGPT 的外观、功能或声音,避免让用户误以为广告就是产品内容。这条很关键。AI 对话里的信任,不只来自左上角的品牌名,也来自整套语气、引用和交互习惯。广告一旦学得太像,哪怕技术上放在独立容器里,认知上也可能混在一起。
更难的一关出现在 Agent 开始替用户行动的时候。
今天的广告主要停在展示和点击。可 OpenAI 在公告里已经提到,未来会探索更原生的商家交互方式。等模型不只帮你比较酒店,还能调用工具预订房间,商业推荐和执行动作之间必须再加一道明确授权。
广告可以提供一个候选。
回答可以解释它与其他候选的差别。
Agent 不能因为广告相关性最高,就自己把订单提交了。
购买、转账、授权隐私、发送企业资料,任何有成本或不可逆的动作,都要把商家身份、价格、关键条款和赞助关系重新摆到用户面前,再拿一次明确确认。不是在几十行服务条款里默认勾上,而是在动作发生前让人看懂。
不然广告系统优化的是点击,Agent 系统优化的是任务完成,两套目标一叠,用户的银行卡就成了最方便的公共接口。
有点荒诞,但这类事故往往就长这样。
10 亿美元以后,分离还得写进组织目标
广告业务越成功,技术隔离越不能只靠几位工程师的职业操守。
OpenAI 公布的业务信号很亮眼。平台已经有 50 多家技术与衡量合作伙伴,CPC 与结果优化竞价占多数活动,Pixel 和 Conversions API 进入衡量链路。官方还给出两个早期案例,一个电商广告主在 28 天内取得 3 倍广告投入回报,一家技术合作伙伴报告超过 80% 的广告导流来自新客户。
这两组案例不能外推成平台平均成绩,但足够说明转化压力会越来越真实。
当收入看板每天刷新,最容易发生的不是谁突然决定作恶,而是几十个看似合理的小优化逐渐靠近边界。多给匹配模型一个特征,提高一点相关性。让推荐答案更自然地承接广告,减少一点跳出。把点击信号送回通用排序,提高一点任务完成率。
每一步都能写成一个漂亮的实验假设。
连起来就不一定了。
我一直觉得,AI 产品的商业治理最怕只审单个 PR。代码审查里每一行都能解释,系统层面的激励却已经换了方向。
所以团队需要给答案独立性单独设指标,并让它拥有否决权。品牌偏移、引用污染、敏感语境广告误投、个性化关闭失效、赞助标签可见性和高风险动作授权,都应该进发布门禁。广告收入涨了,但独立性盲测掉线,新版本就不该继续放量。
这话听着有点扫兴。
可用户把购买计划、求职焦虑、财务压力、公司采购和私人偏好放进同一个聊天窗口时,平台卖的早就不只是一个广告位。它还在借用用户对回答系统的信任。
OpenAI 的隐私设置页提供了管理个性化和清除广告数据的入口,Ads Manager 公告则强调衡量能力不向广告主暴露个人对话。产品下一步最该补的,是把这些承诺变成用户和外部审计者能理解的透明报告。
不用公开模型权重,也不用把反作弊规则全摊开。至少可以定期说明独立性测试覆盖了哪些场景,出现多少次边界回归,个性化关闭是否生效,敏感语境拦截表现如何,以及重大问题怎么修。
信任不是一句永远正确的宣言。
它更像 CI,每次改动都得重新跑。
回到开头那条广告。
它出现在答案下面,并不可怕。免费服务需要成本,广告也可能真的帮用户发现合适的产品。10 亿美元说明这门生意已经跑起来了,甚至跑得非常快。
真正危险的,是有一天广告、回答、引用和 Agent 动作悄悄缠在一起,团队只能指着页面上的分割线说,相信我们,它们互不影响。
到那时,问题不是广告有没有标签。
是系统已经没有证据。