主题
交互策略配置
交互策略配置用于定义智能体在对话过程中的主动行为和辅助能力。它不决定智能体「说什么内容」(由人设和技能决定),而是控制智能体「何时主动开口」「如何增强语音识别」「如何表达情绪」等交互体验层面的策略。
交互策略在智能体下配置:产品管理 → 点击目标产品卡片进入配置详情 → 编辑智能体 → 交互策略配置区域。
交互策略配置包含四个子模块:
| 子模块 | 核心作用 | 前置条件 | 版本 |
|---|---|---|---|
| 开场白 | 设备首次建连时主动下发问候语 | 需在编辑智能体时开启「是否开启开场白」 | 仅标准版 |
| 静默推送 | 用户长时间沉默后,设备主动推送唤醒消息 | 需在编辑智能体时开启「是否开启静默消息推送」 | 标准版 / lite 版 |
| 事件反馈 | 端侧上报特定事件后,AI 根据事件变量动态生成个性化回复 | 需在编辑智能体时开启「是否开启事件反馈」 | 标准版 / lite 版 |
| 情绪策略 | 让 AI 识别用户情绪并通过语音语调/表情做出情绪化回应 | 无 | 标准版 / lite 版 |
⚠ 版本差异:开场白仅标准版支持;lite 版仅提供静默推送、事件反馈、情绪策略三项。
⚠ 开场白、静默推送、事件反馈三个模块,必须先在「编辑智能体」时把对应开关设为「开」,才能在配置详情中进行编辑。
1 开场白
⚠ 开场白仅标准版支持,lite 版无此模块。
1.1 功能说明
开场白是设备与云端建立 WebSocket 连接时,平台主动向设备下发的问候语。它是用户开机/唤醒设备后听到的第一句话,用于建立交互的第一印象。
核心特性:
- 支持配置最多 5 条轮播话术,系统每次建连时随机选取一条下发;
- 单条话术最大长度 40 字符。
1.2 配置流程
- 进入「产品管理」→ 点击目标产品卡片进入配置详情 → 编辑智能体(或新建产品后首次配置时);
- 将「是否开启开场白」设为「开」;
- 提交保存后,进入配置详情;
- 在「交互策略配置」区域找到「开场白」,点击「编辑」;
- 在编辑面板中添加话术内容(最多 5 条,每条 ≤ 40 字符);
- 保存草稿可在调试窗生效,发布产品即全部生效。
1.3 配置建议
- 话术应契合全局人设的语言风格(如活泼型角色用「嘿~今天想聊点什么?」而非「您好,请问有什么可以帮您的?」);
- 多条轮播避免雷同,增加新鲜感;
- 保持简短,避免过长导致用户等待。
1.4 Q&A
Q:开场白和静默推送的区别是什么? A:开场白仅在建连时触发一次;静默推送是在对话过程中用户持续沉默时反复触发。
Q:开场白会进入对话记录并影响模型上下文吗? A:会。开场白虽然由平台在建连时主动下发(此时用户输入为空),但下发内容仍会写入对话记录,并作为一条模型上下文参与后续多轮对话。也就是说,后续用户的第一句发问,模型已经"看得到"自己刚才说过什么开场白。
Q:开场白必须由运营手动配置吗?可以让模型结合全局人设、时间、记忆自动生成吗? A:只能由运营手动配置,平台每次建连时从已配置的最多 5 条话术中随机选取一条下发,不支持模型即时生成。若确有基于时间/记忆动态生成首句问候的需求,建议在话术设计时用变量占位,或走「事件反馈」链路在建连后由端侧触发一个自定义事件,用自定义 prompt + extInfo 生成个性化首句(详见 §3 事件反馈)。
2 静默推送
2.1 功能说明
静默推送指在对话过程中,当用户保持沉默超过设定的时间阈值后,设备主动向用户推送唤醒消息,以重新激活交互,避免对话「冷场」。
核心特性:
- 提示词为系统内置,暂不支持自定义内容;
- 支持拼接全局人设信息,使推送内容符合角色设定;
- 支持时段控制(设定允许推送的时间范围)和时间间隔控制;
- 最多支持 5 组控制规则。
2.2 配置流程
- 进入「产品管理」→ 点击目标产品卡片进入配置详情 → 编辑智能体;
- 将「是否开启静默消息推送」设为「开」;
- 配置推送规则:
- 推送时间段:例如 7:00-20:00,仅在该时间段内触发;
- 静默推送时间阈值(秒):用户沉默超过该时长后触发推送(如「第 1 次推送:5 秒」);
- 支持点击「+」添加多组规则(最多 5 组);
- 提交保存。
2.3 配置位置说明
⚠ 静默推送的配置入口在「编辑智能体」时完成(非配置详情页)。配置详情页中「静默推送」模块为灰色只读展示状态。
2.4 Q&A
Q:静默推送的内容可以自定义吗? A:目前不支持自定义推送内容,系统会基于内置策略结合全局人设自动生成。
Q:推送频率如何控制? A:通过配置多个时间阈值实现逐级推送,例如第 1 次 5 秒、第 2 次 15 秒。超出配置的轮次后不再推送。
Q:静默时间从什么时候开始计算? A:静默时长的计时起点是平台下发最后一个 TTS 音频包结束的时刻——即 AI 说完最后一句话的瞬间。用户后续任何一次语音输入(或端侧上行事件)都会重置计时;若持续静默且超过配置的第 1 档阈值,才会触发第 1 次静默推送,依次类推。
3 事件反馈
3.1 功能说明
事件反馈指当端侧设备上报特定交互事件(如被触摸、被摇晃、按下某按钮等)时,AI 根据事件携带的变量信息,动态生成个性化的语音回复。
典型使用场景:
- 智能玩具被拍头 → AI 说「哎呀被摸头好开心~」;
- 设备传感器触发特定动作 → AI 做出对应语言反馈。
3.2 工作原理
- 端侧通过
CLIENT_UPDATE_CHAT_CONTEXT上行事件,将 kvData 传入云端; - 系统自动将 kvData 映射为
extInfo.*格式的变量; - 在事件反馈的自定义提示词中,通过
${(extInfo.字段名)!""}格式引用变量; - AI 基于「提示词 + 变量值」动态生成回复。
变量映射示例:
端侧传入的 kvData:
kvdata.toyInteraction.childName = "小明"
kvdata.toyInteraction.mood = "开心"
kvdata.toyInteraction.action = "拍手"
kvdata.toyInteraction.timeOfDay = "下午"提示词中引用方式:
${(extInfo.toyInteraction.childName)!""} → 对应 childName
${(extInfo.toyInteraction.mood)!""} → 对应 mood
${(extInfo.toyInteraction.action)!""} → 对应 action
${(extInfo.toyInteraction.timeOfDay)!""} → 对应 timeOfDay⚠ 客户在配置提示词时只需关心自己传入的 kvdata 字段名,变量路径的转换由系统自动处理,无需手动修改。
3.3 配置流程
- 编辑智能体时将「是否开启事件反馈」设为「开」;
- 进入配置详情 → 交互策略配置 → 事件反馈 → 点击「编辑」;
- 在「自定义提示词」编辑区中撰写提示词,引用端侧传入的变量;
- 保存即生效。
3.4 Q&A
Q:事件反馈和自定义变量使用有什么区别? A:自定义变量(CLIENT_UPDATE_CHAT_CONTEXT)是通用的上下文传入机制,可在任何技能的提示词中使用。事件反馈是专门为「端侧事件触发 AI 回复」场景设计的独立模块,有单独的提示词编辑区。
Q:使用事件反馈功能需要申请权限吗? A:事件反馈本身无需额外申请。但如果需要使用 CLIENT_UPDATE_CHAT_CONTEXT 上行事件传入自定义变量,需向 JoyInside 运营团队申请权限。
4 情绪策略
4.1 功能说明
情绪策略让 AI 能够识别用户对话中的情绪,并通过语音语调变化和/或设备表情变化来做出情绪化回应,提升交互的拟人感和情感温度。
情绪识别系统支持 7 种情绪标签:
- 平静:中性、平静、无明显情绪波动;
- 开心:高兴、愉快、满足、心情愉悦;
- 恐惧:害怕、惊恐、对危险或威胁感到恐惧;
- 悲伤:难过、痛苦、因失去或不幸而悲伤;
- 厌恶:讨厌、反感、对某事感到恶心或厌恶;
- 愤怒:生气、愤怒、不满、被冒犯;
- 震惊:惊讶、意外、对突然发生的事情感到震惊。
4.2 情绪标签定义方式
| 模式 | 说明 |
|---|---|
| 系统内置,开箱即用 | 使用平台预设的情绪识别 prompt,无需配置 |
| 自定义情绪标签 | 可编辑情绪识别 prompt,定义角色设定、情绪分类规则、任务要求和输出示例 |
自定义模式下的 prompt 结构:
- 角色设定:定义 AI 为「语义分析专家」;
- 情绪识别系统:列出所有情绪标签及其含义;
- 任务要求:分析用户输入,识别最匹配的情绪;无明显情绪默认「平静」;只输出情绪名称;
- 输出示例:提供「用户输入 → 情绪标签」的映射示例。
4.3 情绪下发方式
| 下发方式 | 说明 | 端侧处理 |
|---|---|---|
| 语音语调 | 识别到的情绪会影响 TTS 的语调、语速等参数,使语音回复带有情绪色彩 | 无需端侧额外处理,TTS 音频本身已包含情绪表达 |
| 表情 | 将识别到的情绪下发至设备,驱动设备表情的变化 | 需厂商自行接入表情驱动能力,协议详见 语音对话接入 - 系统内置情绪 |
两种方式可同时勾选,也可只选其一。
4.4 配置流程
- 进入配置详情 → 交互策略配置 → 情绪策略;
- 将开关设为「开」;
- 点击「编辑」进入情绪策略编辑面板;
- 选择情绪标签定义方式(系统内置 / 自定义);
- 如选择自定义,编辑情绪识别 prompt;
- 在「情绪下发」区域勾选下发方式:
- ☑ 语音语调:TTS 播报时自动带情绪;
- ☐ 表情:下发情绪标签驱动设备表情(需端侧支持);
- 保存。
4.5 Q&A
Q:情绪策略会增加对话延迟吗? A:情绪识别与主对话链路并行执行,对整体延迟的影响极小。
Q:如果不需要情绪表达怎么办? A:将情绪策略开关关闭即可,AI 回复将以平稳的语调输出。
Q:表情下发需要端侧做什么? A:表情下发需要设备端具备表情驱动能力(如 LED 矩阵、屏幕表情等)。
表情下发的事件协议格式详见 语音对话接入 - 系统内置情绪。
5 总结对比
| 模块 | 触发时机 | 内容来源 | 可自定义程度 |
|---|---|---|---|
| 开场白 | WebSocket 首次建连 | 运营手动配置的固定话术 | 完全自定义(≤5 条轮播) |
| 静默推送 | 用户沉默超时 | 系统内置 prompt + 全局人设 | 不可自定义内容,可配时间规则 |
| 事件反馈 | 端侧上报事件 | 自定义 prompt + 端侧变量 | 提示词完全自定义 |
| 情绪策略 | 每轮对话 | 系统/自定义情绪 prompt | 可自定义情绪标签和识别规则 |
6 配置修改的生效时机
不同配置项的生效路径不同,重点区分「无需重连即刻生效」「下次建联生效」「需强制重连」三档,避免调试时误判:
| 配置项 | 生效时机 | 是否需要设备重连 | 依据 |
|---|---|---|---|
| 开场白 / 静默推送 / 事件反馈 / 情绪策略(prompt & 开关) | 发布产品后,下次会话生效;调试窗保存草稿即时生效 | 会话粒度,不需要设备重启 | 交互策略走产品配置热更新 |
| 语音热词(产品级) | 下次 WS 建联时加载(热词有服务端缓存) | ✅ 需断开重连,已在对话中的会话不受影响 | 详见 语音热词配置 - 生效时机 |
| 默认音色(智能体级 / 全局人设配置) | 建连时通过 CFG_BOT_EVENT 下发,运行中修改不会主动推送 | ✅ 需重新建立 WebSocket 连接 | 见 §10.6.1 运营平台切换音色后不生效 |
| 小程序 roleCode 绑定(设备-角色-音色) | 调用绑定接口后立即更新语音对话运行时上下文 | ❌ 不需要重连,当前会话即刻切换 | 见 §9.2 小程序 API |
⚠ 「运营平台默认音色」与「小程序 roleCode 绑定音色」是两条独立链路。前者是智能体级默认值,修改需重连;后者是端侧运行时切换,即时生效——这也解释了为什么"改了运营平台音色但设备还是旧音色":大概率是设备侧已通过 roleCode 绑定了另一个角色,应以 roleCode 绑定链路为准(详见 §9.2 小程序 API 与 §10.6.1 运营平台切换音色后不生效)。