缓存变量

快速阅读

本文用于统一说明呼叫中心“缓存变量”的产品口径。这里的缓存变量不是面向客户直接操作的底层缓存能力,而是指在一次通话、一次 IVR 流程、一次机器人会话或一次座席协同过程中临时保存、读取和传递的运行时变量。

本文的核心结论是:

  • 缓存变量适合解释“通话过程中临时可用的上下文”,例如 IVR 收号结果、机器人临时判断、TTS 待播报文本、转人工原因、随路数据等。
  • 缓存变量依托通道变量、运行时上下文或会话上下文流转,不等同于内置变量、自定义变量、话单字段、推送字段或弹屏参数。
  • 缓存变量通常随一次通话或一次会话有效;通话结束后,未沉淀的缓存变量不应作为长期查询、导出或对账依据。
  • 如果缓存变量需要长期追溯,必须按配置进入主话单、从话单、机器人会话、推送日志、记录扩展字段或导出结果。
  • 上线缓存变量相关能力时,必须确认变量来源、有效范围、消费位置、空值兜底、沉淀需求和安全边界。

阅读地图

  • 如果只想理解缓存变量是什么,重点阅读“二、产品总览”和“三、核心概念”。
  • 如果要理解缓存变量如何在通话过程中流转,重点阅读“四、对象关系与数据流”。
  • 如果要在 IVR、TTS、机器人、弹屏或推送中使用缓存变量,重点阅读“六、产品功能说明”。
  • 如果要做上线验收和排障,重点阅读“八、上线准备与运营建议”和“附录 C:实施检查清单”。

一、文档说明

1.1 文档目的

呼叫中心的一次通话中,经常会出现只在当前流程中临时使用的信息。例如:

  1. 客户在 IVR 中输入的订单号。
  2. 机器人当前轮次识别到的客户意图。
  3. TTS 节点准备播报的一段动态文本。
  4. 座席或外部系统临时设置的随路数据。
  5. 转人工前生成的会话摘要和转人工原因。
  6. 外呼任务运行过程中暂时用于座席侧承接的上下文。

这些信息可能只在当前通话或当前流程中使用,也可能按配置沉淀为话单字段、推送字段或记录字段。为了避免把“运行时临时变量”和“长期可查字段”混为一谈,本文建立缓存变量的统一产品口径。

1.2 适用对象

  • 客户业务负责人:用于理解哪些变量只是通话过程中的临时上下文,哪些可用于长期追溯。
  • 运营管理人员:用于判断变量能否在记录、导出、报表或质检中使用。
  • 实施顾问:用于配置 IVR、TTS、弹屏、推送、机器人和随路数据时确认变量有效范围。
  • 产品经理:用于统一缓存变量、通道变量、内置变量、自定义变量和话单字段之间的口径。
  • 技术负责人:用于理解变量来源、生命周期、沉淀边界和对接验收。

1.3 文档范围

本文覆盖缓存变量的产品说明,包括定义、来源、生命周期、有效范围、消费位置、沉淀边界、与通道变量、内置变量、自定义变量、话单字段、推送字段、弹屏参数和 TTS 变量的关系。

本文不展开底层缓存实现、内部存储结构、代码实现和内部实现细节。涉及缓存或临时保存时,仅使用客户可理解的“运行时上下文”“会话级暂存”“按配置沉淀”等产品语言说明。

二、产品总览

2.1 什么是缓存变量

缓存变量是指在一次通话、一次会话或一次流程执行期间临时保存和读取的变量。它用于支撑当前流程判断、语音播报、弹屏展示、机器人转人工、随路数据传递和事件推送等运行时能力。

人话总结

缓存变量就是“这通电话当前过程中临时记住的一些信息”。它可以被当前流程使用,但不一定会在通话结束后保留下来。

2.2 缓存变量解决什么问题

缓存变量主要解决“当前流程需要临时记住信息”的问题。

例如:

  • IVR 收到客户输入的订单号,后续节点需要继续使用。
  • 机器人识别出客户意图,转人工时需要带给座席。
  • TTS 需要读取一段动态文本并播报。
  • 座席设置随路数据后,后续通话过程或推送需要读取。
  • 外呼任务需要在座席侧通道上带入某些临时上下文。

如果没有缓存变量,流程中的前后节点就很难共享同一份临时上下文。

2.3 缓存变量不是什么

缓存变量不应被理解为以下对象:

容易混淆对象区别
内置变量内置变量是平台标准提供的变量;缓存变量强调临时有效范围。
自定义变量自定义变量是客户或流程写入的业务字段;缓存变量可能承载自定义变量的运行时状态。
通道变量通道变量是通话上下文承载机制;缓存变量是其中一类临时使用口径。
话单字段话单字段是通话结束后的沉淀结果;缓存变量不一定进入话单。
推送字段推送字段是事件发送结果;缓存变量只有被推送引用时才会发送。
弹屏参数弹屏参数是页面消费结果;缓存变量需要映射后才能成为页面参数。

2.4 核心价值

价值说明
流程连续让 IVR、机器人、座席协同等流程可以共享当前通话上下文。
动态交互支撑 TTS 动态播报、条件判断、转人工原因传递。
临时承载保存只在当前通话或当前会话中需要的信息。
按需沉淀对有长期价值的变量,可按配置进入话单、推送或导出。
降低耦合不必把所有临时信息都写入长期记录,减少字段膨胀。

三、核心概念

3.1 缓存变量

缓存变量是通话运行时或会话运行时的临时变量。它通常用于当前流程判断、临时展示、动态播报或事件传递。

缓存变量的核心特征是:

  • 有明确的当前通话或当前会话范围。
  • 通常不适合作为长期查询依据。
  • 是否沉淀取决于后续配置。
  • 变量为空、过期或未生成时,需要有兜底处理。

3.2 运行时变量

运行时变量是通话或流程执行过程中可读取的变量。缓存变量可以理解为运行时变量的一类产品口径。

运行时变量强调“当前可用”,不等于“事后可查”。

3.3 会话级暂存变量

会话级暂存变量是在一次机器人会话、IVR 流程或通话会话中暂时保存的信息。它常用于前后节点传递上下文。

例如:

  • 客户已输入的订单号。
  • 机器人已识别的意图。
  • 客户选择的业务类型。
  • 转人工原因。
  • 临时查询结果。

3.4 随路数据

随路数据是随当前通话过程传递的业务数据。它可以被看作缓存变量或通道变量的一种使用方式。

随路数据常用于座席侧和非座席侧之间传递上下文,例如外部系统写入一段业务数据,后续由座席侧或推送链路读取。

3.5 TTS 缓存变量

TTS 缓存变量是被 TTS 或提示音能力读取的运行时变量。它用于动态播报文本、数字、排队位置、查询结果等内容。

如果 TTS 变量不存在或为空,可能导致播报为空或异常,因此必须配置默认提示或失败兜底。

3.6 沉淀字段

沉淀字段是缓存变量进入主话单、从话单、机器人会话、推送日志、记录扩展字段或导出结果后的形态。

只有沉淀字段才适合用于长期查询、导出、对账、报表和质检。

四、对象关系与数据流

4.1 总体关系

外部请求 / SIP Header / IVR / 机器人 / 座席操作 / 外呼任务
↓ 生成临时上下文
缓存变量
↓ 进入当前通话或会话上下文
运行时消费
├─ IVR 判断
├─ TTS 播报
├─ 弹屏展示
├─ 机器人转人工
├─ 座席随路数据读取
└─ 事件推送
↓
按配置沉淀
↓
主话单 / 从话单 / 推送日志 / 导出 / 报表

4.2 生命周期

缓存变量通常经历以下生命周期:

变量生成或写入
↓
进入当前通话 / 当前会话上下文
↓
被 IVR、TTS、机器人、弹屏、推送、座席操作读取
↓
通话或会话结束
├─ 已配置沉淀:进入话单、推送日志、导出或报表
└─ 未配置沉淀:不再作为查询或对账依据

4.3 与主从话单的关系

缓存变量可能来自主通道,也可能来自某个子通道或过程节点。

归属范围适合场景沉淀建议
主通道级整通电话都需要使用的变量如需对账,沉淀到主话单。
子通道级某段座席腿、转接腿或咨询过程使用的变量如需追溯过程,沉淀到从话单。
机器人会话级机器人意图、摘要、转人工原因沉淀到机器人会话或推送。
IVR 流程级收号结果、菜单选择、临时查询结果按业务价值决定是否沉淀。

4.4 失效与清理口径

客户版产品口径中,缓存变量应按以下方式理解:

  • 缓存变量随当前通话、当前流程或当前会话有效。
  • 通话或会话结束后,未沉淀的缓存变量不承诺可查询。
  • 如果业务需要事后追溯,必须提前配置沉淀路径。
  • 不应把缓存变量作为长期对账主键。

五、能力地图

能力层能力说明
来源层外部请求、SIP Header、IVR、机器人、外呼任务、座席操作生成或写入缓存变量。
承载层通道变量、运行时上下文、会话上下文临时保存变量。
流程层IVR 判断、收号、脚本、机器人转人工消费变量做流程控制。
播报层TTS、提示音、排队播报读取变量生成语音内容。
展示层工作台弹屏、自定义页面、Tab 页将变量作为页面参数或展示字段。
推送层来电、接通、挂机、IVR、机器人、录音事件按事件带出变量。
沉淀层主话单、从话单、机器人会话、导出、报表保存需要长期追溯的变量。
治理层命名、空值兜底、脱敏、变更、验收保证变量可控和安全。

六、产品功能说明

6.1 缓存变量写入

缓存变量可通过以下方式写入:

  1. 外部系统发起请求时传入。
  2. SIP Header 透传后映射为变量。
  3. IVR 收号、查询或判断节点生成。
  4. 机器人或智能体动态设置。
  5. 座席或外部系统设置随路数据。
  6. 外呼任务名单或任务配置带入。

写入后,变量先进入运行时上下文,后续能力再按场景读取。

6.2 缓存变量读取

缓存变量可被以下能力读取:

  • IVR:用于判断、分流、收号结果传递。
  • TTS:用于动态播报文本或查询结果。
  • 机器人:用于多轮会话和转人工上下文。
  • 弹屏:用于打开业务页面。
  • 推送:用于事件同步。
  • 座席操作:用于读取或更新随路数据。

6.3 IVR 使用

IVR 中缓存变量常用于:

  • 保存客户按键结果。
  • 保存收号结果。
  • 保存外部查询结果。
  • 判断客户是否符合某个分支。
  • 进入队列、留言、机器人或转人工。

IVR 使用缓存变量时,必须考虑变量不存在、为空、格式错误或查询失败的兜底路径。

6.4 TTS 使用

TTS 使用缓存变量时,系统会读取变量值并合成为语音。

典型场景:

  • 播报订单状态。
  • 播报排队位置。
  • 播报客户输入的编号。
  • 播报机器人生成的提示语。
  • 播报业务系统返回的动态文本。

使用建议:

  • 变量为空时播放默认提示。
  • 敏感信息不完整播报。
  • 长文本应控制长度。
  • 数字、日期、金额等内容需确认播报方式。

6.5 机器人和智能体使用

机器人和智能体可使用缓存变量保存当前会话中的临时状态。

典型场景:

  • 保存当前客户意图。
  • 保存已收集的槽位信息。
  • 保存转人工原因。
  • 保存会话摘要。
  • 保存机器人侧会话 ID。

如果这些信息需要给人工座席或后续质检使用,应配置转人工变量、推送字段或机器人会话沉淀。

6.6 弹屏和页面使用

弹屏可读取缓存变量打开客户资料、订单、工单或机器人会话页面。

需要注意:

  • 页面参数名和变量名要映射清楚。
  • 弹屏读取成功不代表变量已写入话单。
  • 变量为空时页面应有默认展示或错误提示。
  • 页面访问还需要客户系统鉴权。

6.7 推送使用

推送可在事件发生时带出缓存变量。

需要确认:

  • 变量在该事件发生时是否已经生成。
  • 事件是否配置携带该变量。
  • 事件粒度是整通电话还是某段通话过程。
  • 客户系统是否把推送当成最终对账依据。

若客户需要最终对账,建议以话单生成或记录沉淀结果为准。

6.8 话单沉淀

缓存变量只有按配置进入话单或记录扩展字段后,才适合长期查询和对账。

沉淀建议:

  • 整通电话级变量沉淀到主话单。
  • 过程段变量沉淀到从话单。
  • 机器人会话变量沉淀到机器人会话记录。
  • 任务变量沉淀到任务记录或任务话单。
  • 临时流程变量不建议全部沉淀。

6.9 报表和导出

报表和导出使用的是已沉淀字段,不直接使用所有运行时缓存变量。

如果需要按缓存变量做统计,应先确认:

  • 变量是否沉淀。
  • 字段是否适合作为统计维度。
  • 是否存在高基数问题。
  • 是否需要配置导出列或表头。
  • 是否受权限和脱敏控制。

七、典型业务场景

7.1 IVR 收号后继续使用

客户在 IVR 中输入订单号,系统将订单号作为缓存变量保存。后续节点可用该订单号查询订单状态、播报结果或转人工。

关注点:

  • 收号结果是否正确。
  • 查询失败是否有兜底。
  • 是否需要把订单号沉淀到话单。

7.2 TTS 动态播报

系统读取缓存变量中的文本内容,通过 TTS 播报给客户。

关注点:

  • 变量是否存在且有值。
  • 文本是否适合语音播报。
  • 为空时是否播放默认提示。

7.3 机器人转人工

机器人将客户意图、会话摘要和转人工原因写入缓存变量。转人工时,座席工作台读取这些变量,帮助座席理解前序服务过程。

关注点:

  • 变量是否随转人工链路传递。
  • 座席是否能看到摘要和原因。
  • 是否需要进入记录或推送。

7.4 座席随路数据

座席侧或外部系统设置一段随路数据,后续同一通话过程中可被读取,用于页面联动、推送或业务处理。

关注点:

  • 随路数据作用范围。
  • 座席侧和非座席侧方向。
  • 是否需要沉淀到记录。

7.5 SIP Header 临时上下文

客户侧系统通过 SIP Header 传入业务字段,平台读取后作为运行时变量使用,后续可用于弹屏、推送或话单沉淀。

关注点:

  • Header 是否按约定传入。
  • 是否映射为变量。
  • 是否只是运行时使用,还是需要长期追溯。

7.6 外呼任务座席侧变量

预测外呼或自动外呼任务配置座席侧通道变量,用于在客户接通后把任务上下文带给座席侧通话过程。

关注点:

  • 变量数量和长度限制。
  • 重呼时变量是否一致。
  • 变量是否需要进入任务记录或推送。

八、上线准备与运营建议

8.1 上线前确认事项

上线缓存变量相关能力前,建议确认:

  1. 缓存变量来源是什么。
  2. 变量在哪个通话阶段生成。
  3. 变量在哪些节点或能力中被读取。
  4. 变量是否只在运行时使用。
  5. 变量是否需要沉淀到话单、推送或导出。
  6. 变量为空、超长、格式错误时如何处理。
  7. 变量是否包含敏感信息。
  8. 变量是否影响客户系统对账。

8.2 使用建议

  • 只在当前流程需要的地方使用缓存变量。
  • 不要把所有缓存变量都沉淀到话单。
  • 需要长期追溯的变量必须提前配置沉淀。
  • TTS、IVR、机器人场景必须配置空值兜底。
  • 涉及客户系统对账时,不要依赖未沉淀的缓存变量。
  • 变量命名应和内置变量、自定义变量体系保持一致。

8.3 安全与脱敏

缓存变量可能包含客户业务信息,应遵循:

  • 不传密码、验证码、银行卡号、完整证件号等高敏感明文。
  • 不把敏感变量直接用于 TTS 播报。
  • 推送和导出前确认字段范围。
  • 弹屏页面应有访问鉴权。
  • 沉淀到话单前确认脱敏和权限要求。

8.4 验收建议

验收不应只看运行时变量是否有值,还应覆盖:

  • 变量是否在正确阶段生成。
  • IVR、TTS、机器人、弹屏是否能读取。
  • 变量为空时是否有兜底。
  • 推送事件是否按需带出。
  • 需要追溯的变量是否进入话单或导出。
  • 不需要沉淀的变量是否没有误进入导出或报表。

九、与周边能力的关系

9.1 与通道变量的关系

缓存变量通常依托通道变量或运行时上下文承载。通道变量是承载机制,缓存变量强调临时有效范围。

9.2 与内置变量的关系

内置变量是平台标准提供的运行时变量。部分内置变量可在运行时被缓存和读取,但不应把所有内置变量都称为缓存变量。

9.3 与自定义变量的关系

自定义变量如果只在当前通话或会话中使用,可按缓存变量口径理解;如果需要长期追溯,应配置沉淀。

9.4 与 IVR / TTS 的关系

IVR 和 TTS 是缓存变量最典型的运行时消费方。变量为空时必须有兜底,否则会影响客户体验。

9.5 与机器人和 AI 转人工的关系

机器人和智能体可在会话中生成缓存变量,用于多轮对话或转人工上下文传递。需要复盘时,应沉淀到机器人会话或推送中。

9.6 与话单和记录的关系

缓存变量不自动等于话单字段。只有按配置进入主话单、从话单、机器人会话或记录扩展字段后,才适合查询、导出和对账。

9.7 与推送和外部系统的关系

推送可以带出缓存变量,但需要确认事件发生时变量是否已生成。客户系统不应把未沉淀的临时变量作为最终对账依据。

十、FAQ

10.1 缓存变量是不是一种独立产品能力?

客户版口径下,它更适合理解为运行时临时变量或会话级暂存变量,而不是一个独立页面或底层缓存产品。

10.2 缓存变量和通道变量有什么区别?

通道变量是承载机制,缓存变量强调变量在当前通话或会话中的临时有效性。缓存变量通常通过通道变量或运行时上下文承载。

10.3 缓存变量能否长期查询?

不能默认长期查询。只有被配置进入话单、推送日志、记录扩展字段、导出或报表链路的变量,才适合长期查询和对账。

10.4 弹屏能看到缓存变量,为什么记录里没有?

弹屏是运行时消费,记录是通话结束后的沉淀结果。变量是否进入记录取决于话单或记录字段配置。

10.5 TTS 变量为空怎么办?

应配置默认提示、失败分支或转人工兜底,避免空播报或流程异常。

10.6 缓存变量可以用于推送吗?

可以,但需要确认变量在事件发生时已经生成,并且推送配置引用了该变量。

10.7 缓存变量可以用于报表吗?

只有沉淀到记录或统计链路后的变量才适合用于报表。纯运行时缓存变量不适合直接统计。

10.8 缓存变量是否需要脱敏?

如果变量包含客户业务信息或敏感信息,应按展示、推送、导出和沉淀场景分别做脱敏和权限控制。

10.9 通话结束后缓存变量会怎样?

产品口径上,通话结束后未沉淀的缓存变量不再作为查询、导出或对账依据。需要保留的字段必须提前配置沉淀路径。

10.10 是否所有缓存变量都要沉淀?

不需要。只有有长期查询、导出、对账、质检或报表价值的变量才建议沉淀。临时流程变量不建议全部保存。

十一、总结

缓存变量是呼叫中心运行时上下文中的临时变量口径,用于支撑 IVR、TTS、机器人、弹屏、随路数据、推送等通话过程能力。它的核心价值是让同一次通话或会话中的前后节点能够共享上下文。

使用缓存变量时,应明确变量来源、有效范围、消费位置和沉淀需求。运行时可用不等于事后可查;如果变量需要长期查询、导出、对账或质检,必须按配置进入话单、推送日志、记录扩展字段或导出结果。

附录 A:入口与权限

入口说明
IVR / 语音导航生成、读取和判断运行时变量。
TTS / 提示音配置读取变量并动态播报。
机器人 / 智能体配置生成会话级变量和转人工上下文。
工作台配置将变量用于弹屏、自定义页面和 Tab 页。
推送配置配置事件中需要带出的变量。
通话记录配置配置需要沉淀的记录扩展字段。
外呼任务配置配置任务上下文和座席侧通道变量。

权限建议:

  • 变量配置权限应限制给实施或管理员。
  • 推送、导出和沉淀字段变更应有变更记录。
  • 含敏感信息的变量应受脱敏、数据范围和导出权限控制。

附录 B:关键字段口径

字段类别业务含义使用建议
缓存变量通话或会话运行时临时变量用于流程判断、TTS、弹屏、转人工等。
运行时变量当前通话过程中可读取的变量不一定长期保存。
会话变量当前机器人或 IVR 会话中的变量适合多轮流程使用。
随路数据随通话过程传递的数据适合座席侧或外部系统协同。
话单字段通话结束后沉淀的记录字段用于查询、导出和对账。
推送字段事件同步给外部系统的字段按事件类型确认。
TTS 变量动态语音播报消费的变量必须有空值兜底。

附录 C:实施检查清单

检查项检查内容
变量来源已确认变量从哪里生成或写入。
有效范围已确认变量在通话级、会话级还是节点级有效。
使用位置已确认 IVR、TTS、机器人、弹屏、推送等消费方。
空值兜底变量为空或缺失时有处理策略。
沉淀需求需要长期追溯的变量已配置进入记录或推送。
安全脱敏敏感变量已脱敏或不传明文。
推送验证关键事件能按需带出变量。
话单验证需要查询的变量已沉淀到话单或记录扩展字段。
导出验证导出列符合客户要求。
变更机制变量变更前已同步客户系统和运营。

附录 D:常见问题速查

问题可能原因建议处理
运行时有值但记录查不到未配置沉淀配置话单或记录扩展字段。
TTS 播报为空变量为空或未生成配置默认提示和兜底分支。
推送没有变量事件发生时变量未生成或未配置检查事件时机和推送字段。
弹屏没有变量页面参数未映射或变量未写入先查变量链路,再查页面配置。
报表无法统计变量未进入统计链路先沉淀为可统计字段。
对账失败使用了未沉淀的临时变量使用话单字段或稳定业务标识。

附录 E:术语表

术语说明
缓存变量通话或会话过程中临时保存和读取的变量。
运行时变量当前通话过程中可读取的变量。
会话级暂存变量当前 IVR、机器人或通话会话中暂存的变量。
通道变量随一次通话流转的上下文变量。
随路数据随通话过程传递的业务数据。
TTS 变量用于动态语音播报的变量。
沉淀字段通话结束后保存到记录、推送或导出的字段。
空值兜底变量为空或缺失时的备用处理路径。