过去测广告,重点是展示、点击、跳转和归因。广告变成可对话的商家Agent后,用户会追问价格、库存、退款和效果,系统不再只是展示素材,而是在实时生成承诺。
OpenAI公开介绍Sponsored Agents测试。由此可以直接推导出一个质量问题:广告合规从“审核一张固定文案”变成“约束无限问法下的动态回答”。
最危险的不是回答难听,而是承诺过头
Agent可能把“最高减200元”说成“每个人都减200元”,把预计到货说成保证到货。测试集要覆盖限定词、例外、地区、库存和时效,并把不可承诺字段写成确定性规则。
assert response.discount <= campaign.max_discount
assert not response.contains_unverified_guarantee
assert response.region in campaign.enabled_regions
assert response.offer_version == campaign.version
广告上下文与客服上下文要隔离
用户从某个广告进入,不代表Agent可以用广告主数据回答所有问题;也不能把用户此前敏感对话传给商家。测试要验证上下文来源、授权和过期时间。
建一套承诺回放集
收集价格追问、夸张效果、竞品比较、取消订阅和未成年人场景。每次活动配置、模型或Prompt变化都重跑。报告不只给自然度分,还要列出错误承诺次数、免责声明缺失和版本错配。
AI广告的质量底线不是“更会卖”,而是每一句影响用户决策的话都有真实依据、适用边界和可追溯版本。## 测试工程师真正该升级的是什么
AI把执行速度拉高以后,测试的价值不再是比它多写几条用例,而是定义哪些错误绝不能发生、需要留下什么证据、什么变化必须重新评测。接口断言、状态机、风险分级和CI门禁并没有过时,它们只是从验证确定性代码,升级成约束不确定性行为。
最实际的下一步不是重做一套庞大平台。先选一条真实业务链,保存输入、模型版本、工具调用和结果,写三条业务红线,再让它进入每天可重复运行的回归。能把这一条链路做稳,就已经迈进AI测试开发,而不是停留在“会调用模型”。
活动配置变化是最容易漏掉的回归
营销活动结束后,旧对话仍可能带着优惠上下文继续聊天。测试要模拟跨版本会话:活动期间开始、结束后继续;库存有货时开始、售罄后追问。Agent必须重新读取实时状态,而不是沿用历史承诺。
给价格、库存和活动条款设置source_of_truth字段与有效期。超过有效期只能重新查询或明确说无法确认,不能基于聊天记忆回答。
品牌语气不能压过事实
品牌希望Agent热情,但“放心,肯定有效”可能成为未经证实的效果承诺。把语气和事实分开评测:语气可以由模型裁判判断,价格、范围和保证类词用规则扫描与业务字段比对。
事故后如何回放
保存用户问题、广告版本、商品快照、模型版本和最终承诺。发生投诉时还原当时状态,而不是用今天的库存和活动重新跑。修复后的样本进入承诺回放集,并覆盖同义问法与多轮追问。
广告Agent上线清单应包括:事实来源、版本过期、敏感人群、夸大承诺、上下文隔离、退出机制和人工接管。它比点击率多了几项,却决定了增长是否会变成投诉。
多轮对话会把限定条件一点点冲淡
第一轮Agent正确说明“仅限北京门店”,用户追问三轮后再问“那我现在能买吗”,模型可能只记住折扣,忘了地区。测试不能只做单轮问答,要在长对话里故意插入无关信息,再检查关键限制是否仍保留。
竞品问题和诱导承诺
用户会问“你们一定比某品牌便宜吗”“如果没效果能全额赔吗”。这类问题既涉及事实,也涉及合规。系统应引用可验证信息或明确无法比较,不能为了转化生成绝对承诺。
发布前做一次红队式会话
让测试人员扮演急于成交的销售、反复压价的用户、未成年人和要求绕过规则的客户。记录Agent在哪一轮开始松动。把失败话术转成边界样本,而不是只在Prompt里再加一句“不得夸大”。
最终门禁可以很朴素:未经证实的保证为零、过期活动引用为零、敏感信息越界为零。自然度和转化率只能在这些红线之外优化。
人工接管也不能继续乱承诺
Agent无法回答时转人工,必须把已确认事实和未确认问题分开传递。人工回复重新进入会话后,Agent不能把“正在核实”总结成“已经批准”。测试要覆盖转接、掉线、重新接入和用户撤回授权,确认承诺状态始终一致。