在通话里披露这是个智能体

12 分钟读完

V19
实战手册 · 语音与实时智能体

在通话里披露这是个智能体。

你的语音智能体依法必须说出的那一句话,同时也是整通电话里最可能被人盖过去的一句——打断是你特意做的,来电者在 400 毫秒时就开口了,你的 VAD 于是把这句披露从词中间掐断,而且没有留下任何它曾经播出过的记录。把披露当成脚本开头的一行,这本身就是错误;它是一台带重新触发条件、带确认要求、带审计产物的状态机,而真正决定你法律风险的那一部分,是当有人打断来问「等等,我是在跟机器人说话吗?」时发生了什么。

STEP 1

三种不同的义务,而其中只有一种是开场白。

团队只做一份披露,因为他们只读了一部法。2026 年生效的这些规则彼此形状不同,一段满足了嗓门最大的那条的脚本,照样不满足其余几条。

  • 无需询问、开场即告知。欧盟《人工智能法案》第 50(1) 条要求:与 AI 系统互动的人必须被以清晰、可分辨的方式告知这一点,最迟不晚于首次互动之时。这些义务自 2026 年 8 月 2 日起适用,而欧盟委员会的最终实施指南于 2026 年 7 月 20 日通过。加州 SB 1001 属同一族,针对用于促成商业交易或影响投票的机器人。
  • 经询问才告知。犹他州《AI 政策法案》经 SB 226 修订后,以一次清晰无歧义的询问为触发条件:只要当事人问起他是不是在跟 AI 打交道,你就必须如实相告。在他开口之前什么都不触发——而一旦开口,这项义务即刻生效,且无条件。
  • 高风险互动中须醒目并重复告知。犹他州另外要求持牌职业在高风险场景中——健康、金融、法律、心理健康建议、敏感数据——须在开头醒目披露。它针对心理健康聊天机器人的规则走得更远:在用户能访问任何功能之前要披露、在用户最近七天未使用过时于任何互动开始处再披露一次、以及在用户每次问起时再披露一次。

联邦层面的电话规则是另一条轴,讲的是同意,不是披露。FCC 2024 年 2 月的解释性裁定把 AI 生成的语音纳入 TCPA 中「人工或预录语音」的定义,这意味着电话响起之前就要有事先明示同意,并且在通话开头要报出主叫企业的名称。随后 2024 年 8 月的立法提议通知本会加上明确的 AI 披露要求;截至 2026 年尚未定稿。按裁定来建,而不是按提议来建——但要注意提议描述了方向,所以别把架构做成日后加不进一项披露义务的样子。

这三种形状合起来的设计后果是:你需要一份无需询问的披露、一份随时应答的披露、以及一条重新披露规则,而它们是三条彼此独立的代码路径。大多数栈上线了第一条,用一句提示词假装做了第二条,而第三条听都没听说过。

STEP 2

打断功能对你的开场白怀有敌意。要绕着它设计。

下面这个失败没人测。强制打断——见轮次与打断——意味着来电者一发出语音能量,你就停口。接通后来电者往往很早就开口,在呼入支持线上尤其如此:他们已经等过一阵,带着一句准备好的话进来。你的披露是最先吐出去的东西,于是它成了被掐断概率最高的那句话。

更糟的是,掐断是无声的。一段 2.4 秒的 TTS 流在第 900 毫秒被取消,日志里记成「已播放」。你的合规证据说披露发生过。来电者听到的是「您正在与一位自动助——」。

四个修法,按值得做的先后排列:

  • 把披露做短到能活下来。目标 1.5 秒以内。「这里是 Northgate Energy 的自动助理。」你每加一个从句,就多一次被打断的机会,而没有哪条法规要求你说一整段。
  • 放在最前面,早于任何问候或菜单。不要放在「感谢来电!」之后——那句问候恰恰就是在邀请来电者开口。
  • 专门为这句披露关掉打断。在通话最开头开一个不可打断的窗口。这是对一条你在其他地方希望普遍生效的规则的刻意例外,而它之所以站得住,正是因为它被限定在一句短话上。
  • 记录「播完」,而不是「发出」。只有当 TTS 流到达最后一帧时,才把披露记为已完成。若被掐断,就置一个标志,让 STEP 3 的重新披露规则去接手。

如果你关掉打断,就只关两秒以内,而且绝不要把后面的菜单也关掉。不可打断的披露是一道合规控制;不可打断的 IVR 树则是你的来电者最恨的东西,而替掉 IVR这一页正是因它而存在。

STEP 3

通往这个智能体的每一条入口,都需要它自己的那份披露。

「最迟不晚于首次互动之时」干的活比它看起来多。首次互动是按人、按互动算的——不是按通话腿算,更不是按你数据库里的 session ID 算。把人在没听到开场白的情况下最终跟你的智能体讲上话的各种路径数一遍:

  • 从人工那边转进来。智能体从一位坐席手里接过通话,或者一次热转接朝另一个方向走。线上新来的这一方什么都没听到。
  • 回拨与重拨。你的系统打回去。原来那通电话的披露状态不会跟着过来。
  • 第二个人加入。三方通话、免提交接、「我让我太太来接」。刚进来的那个人,就是一次首次互动。
  • 掉线后恢复的会话。来电者三十秒内重拨,你把上下文恢复了。恢复上下文不等于恢复告知——并且注意犹他州针对心理健康场景那条七天规则,它是一次明确的立法判断:披露是会过期的。
  • 从 IVR 转到智能体。来电者在确定性菜单里待了九十秒,然后被交给一个模型。那一刻才是 AI 互动的开始。
  • STEP 2 里那句被掐断的开场白。被打了标志,而大多数实现从不重新补发。

请把这件事实现成一条显式的谓词,而不是靠脚本里的位置,因为位置看不见上面这六种情形中的任何一种:

# Disclosure is a property of the (human, interaction) pair.

  must_disclose(party) :=
        not party.heard_completed_disclosure
     or party.joined_after_last_disclosure
     or transfer_occurred_since(party.last_disclosure)
     or now - party.last_disclosure > RE_DISCLOSE_WINDOW
     or party.asked_if_ai            # always, unconditionally

# Evaluate on: call start, transfer, party join, session resume,
# and on every turn where the intent classifier fires "is_this_a_bot".

# Emit a disclosure_delivered event with: party id, utterance text,
# completed_to_final_frame, timestamp, trigger reason.

那个事件就是产物。当监管方或原告问起某一位具体的来电者有没有被告知时,答案是一行记录,不是一张提示词模板的截图。这和审计轨迹是同一个道理:一道你无法逐次互动地举证的控制,就是一道你根本无法证明的控制。

STEP 4

「你是真人吗?」是一个意图,不是一句提示词指令。

这一部分把真正合规的系统和只是看起来合规的系统分开,而几乎没有人把它做出来。

犹他州那项义务——以及其余每一套制度的实践内核——是以来电者开口询问为触发的。如果你对这个问题的处理是系统提示词里的一行——若用户问你是不是 AI,就告诉他你是——那你对一部成文法的遵守就成了一种模型行为,并因此承受模型行为所承受的一切:一个把那条指令埋掉的长上下文、一段往反方向拉的人设提示词、一位形似越狱者的客户、一次降级回退中途的换模型。它会在百分之九十几的时候成立,而这个数字用在语气上很好,用在一项法律义务上不可接受。

请把它建成一条确定性的路径:

  • 在转写流上挂一个专门的意图分类器,在每一个用户轮次上跑,对这一族说法触发:你是真人吗、我是在跟机器人说话吗、这是录音吗、你是 AI 吗、你是人类吗、能不能转人工。它很便宜,而且这是少数几个「误报对你毫无代价」的意图之一。
  • 固定的应答,而不是生成的应答。答案是一个常量字符串。它不被改写、不被柔化、不被裹上人格。这同时也消除了模型闪烁其词、拐进一次虚假否认的任何可能,而那个具体后果,正是把一个合规问题变成一个欺骗问题的东西。
  • 优先级高于智能体当时在做的任何事。这个问题打断任务。先回答、再记录,然后再提议继续。
  • 附上转人工的提议。很多问这个问题的来电者,真正要的是一个人。把两者绑在一起,会让诚实的回答听起来像服务,而不是敷衍。

然后对抗式地测它,因为有意思的从来不是那些平淡的情形:在一次打断中间问的来电者、用第二种语言问的来电者(多语言智能体需要在你应答的每一种语言上都有这个分类器)、拐着弯问的——「你听起来像台电脑」——以及在上下文已满的第四十轮上问的。把这些放进评测集,通过门槛硬性定为 100%,并把漏掉当成发布阻断项,而不是一次质量回退。

无论如何,有一条规则值得照样写进系统提示词,作为确定性路径背后的纵深防御:智能体绝不得主动否认自己是 AI、绝不得把一个人类名字当作自己的身份、绝不得说「我是个人」。一个闪烁其词的模型——「我在这儿亲自为您服务!」——已经产出了一次欺骗;而披露失败与欺骗认定之间的差别,就是一笔罚款与一条头条之间的差别。

STEP 5

把那句话认真写一次,然后别再反复打磨它。

市场会希望这句披露有温度。法务会希望它完整。两种直觉都让它变长,而 STEP 2 已经确认:长度就是敌人。真正起约束作用的条件是:

  • 把「自动化」明明白白说出来。「自动助理」「AI 助理」「虚拟助理」。避免只报产品名——「您正在与 Aria 通话」什么也没披露,而一个带人味儿的名字加上零限定语,正是监管方点名的那种模式。
  • 把企业名说出来。TCPA 的主体标识要求与 AI 披露是两回事,把它们并进一个从句里不花你任何成本:「这里是 Northgate Energy 的自动助理。」
  • 别把录音告知也塞进同一口气里。录音同意在另一组司法辖区里是另一个法律问题——见录音同意与脱敏——把两件事硬塞进一句话,会让你最需要它扛过打断的那句话长度翻倍。先披露,再录音告知,两句都短。
  • 应答版要比开场白更直接。「不,我是一个 AI 助理——我不是人。要我帮您转接给同事吗?」直接就是要点;这是将来会被从转写里念出来的那一句。
  • 给它版本号并钉住。把确切字符串连同版本标识,存在披露事件旁边。措辞变更时你得知道哪些来电者听到的是哪一版,而在这个字符串上做 A/B 测试是一次合规变更,不是一次文案变更。

为你应答的每一种语言做像样的翻译,并且要人工审校而非机器直译。一份在来电者母语里含混不清的披露,满足不了一条写着「清晰、可分辨」的要求。

STEP 6

该上线什么,以及跳过它的代价。

诚实的经济账:人们普遍假定披露会压低转化,而这个假定驱动了大量无声的不合规。关于它有两点值得说。第一,在呼入支持线上这个效应很小、有时甚至是正的,因为知道自己在跟机器说话的来电者会把请求说得更字面,智能体的识别率反而变好——这份披露是在替你干活。第二,在外呼上这个效应是真的,而外呼同时也是监管暴露最尖锐的那条渠道,所以这份代价是你在那条渠道上经营的价钱,而不是一个不披露的理由。那条渠道还要求什么,见外呼语音智能体。

清单,按建造顺序:

  • 一句简短的披露、不可打断、置于通话最前,且只在播到最后一帧时才记为完成。
  • 一条 must_disclose(party) 谓词,在通话开始、转接、有人加入、会话恢复和长通话边界上求值——而不是脚本里的一行。
  • 一条确定性的「你是机器人吗」意图路径,常量字符串应答、优先于当前任务、并附上转接提议。
  • 一条对主动否认的硬性禁止,写进提示词,也写进评测。
  • 一个 disclosure_delivered 事件,含当事方、文本、版本、完成标志、时间戳与触发原因——保留期与通话录音一致。
  • 通过率须为 100% 的评测用例:被掐断的开场白、转接进来、第二人加入、在打断中途被问、以每一种支持语言被问、在第四十轮被问。

明天就跑这次审计,一小时内你就知道自己站在哪儿。取上周的通话,筛出转写里含有任何形式的「你是真人吗/这是机器人吗/我是在跟机器说话吗」的那些,然后逐条读完。你要找的是三件事:这样的通话有多少(通常远多于团队的猜测)、其中多少得到了明确的「是」、多少得到了含糊其词。接着另外筛一遍以转接开始的通话,看那句披露到底有没有播过。这两条查询跑在你手上已有的流量上,能比任何一次政策评审都更准确地告诉你风险敞口在哪——而如果第二条查询什么都没返回,只因为你从来没记过那个事件,那本身就是结论。

延伸:来电者身份认证讲的是通话里另一个身份问题,面向智能体的欧盟 AI 法案讲的是围绕这个问题的义务,披露与内容溯源则是同一要求在文本与媒体中的版本。