实时互动 AI Agent
当前页

打断智能体

2026-10-27

在不同场景下,需要支持不同的方式来打断智能体说话。目前支持三种打断形式,且多种打断形式组合使用。

打断方式打断说明
语音打断若开启语音打断,则智能体正在说话时,持续监听用户说话状态及识别说话内容,若用户开始说话,则会打断停止智能体说话(停止本轮LLM请求、TTS请求),并开始下一轮回答。若关闭语音打断,则直到智能体说话结束,才开始下一轮。
手动打断通过 API ,即可直接打断智能体本轮内容
自定义打断通过打断关键词实现:配置后,仅当用户本轮说话内容中包含任一打断关键词时,才会打断智能体说话;打断后语音识别继续进行。

常见场景

语音通话模式打断组合常见场景
自然语音聊天✅开启语音打断
❌不用手动打断
❌不支持自定义打断
AI虚拟陪聊
AI智能对话语音助手
AI客服
Push-to-talk的对讲机模式❌关闭语音打断
✅使用手动打断
⭕自定义打断(可选)
异常嘈杂的展会环境
研讨会中短暂发言
狼人杀等有规定时间的发言

使用步骤

开启或关闭语音打断

在创建智能体实例时可通过设置 AdvancedConfig.InterruptMode 参数控制语音打断开或者关。

参数类型必填描述
InterruptModeNumber否智能体回复时被用户语音打断的模式:
  • 0:语音打断
  • 1:语音不打断(关闭普通语音打断,语音识别持续进行,可配合 InterruptKeywords 实现自定义打断)
不设置默认为 0。

手动打断

调用打断智能体实例状态接口(InterruptAgentInstance)时传入创建智能体实例接口返回的 AgentInstanceId,即可立即打断智能体讲话。

除了通过服务端 API 打断智能体外,您也可以通过客户端 ZEGO Express SDK 发送房间信令实现打断,详情请查看客户端文档智能体自定义控制。

自定义打断

在创建智能体实例时,将 AdvancedConfig.InterruptMode 设置为 1(语音不打断),并通过 AdvancedConfig.InterruptKeywords 参数配置打断关键词列表,即可实现自定义打断。

参数类型必填描述
InterruptModeNumber否智能体回复时被用户语音打断的模式。使用自定义打断需设置为 1:关闭普通语音打断,智能体说话期间持续进行语音识别,命中打断关键词时触发打断,不设置默认为 0。
InterruptKeywordsString[]否打断关键词列表。用户本轮的识别内容中包含任一关键词时,智能体将被打断;打断后语音识别继续进行。InterruptMode 为 0 时该参数不生效。
  • 最多 10 个关键词
  • 单个关键词长度 1~32 个字符

开启自定义打断后,智能体说话过程中,用户的普通语音不会打断智能体,仅当用户本轮的识别内容中包含任一打断关键词时,才会打断智能体本轮说话,打断后语音识别继续进行。

触发打断的这一轮用户识别文本会记录到对话上下文,但不会自动触发智能体的新一轮回答。

获取智能体被打断的事件通知

1

配置回调地址

请联系 ZEGO 技术支持配置用于接收 AI Agent 后台回调的地址。

2

启用回调接收

创建智能体实例 时,请求参数 CallbackConfig.Interrupted 设置为 1。

3

接收回调

当智能体被打断时,AI Agent 后台会向上述配置的地址发送打断事件通知(Event为Interrupted),内容示例如下:

{
    "AppId": 123456789,
    "Nonce": "abcdd22113",
    "Timestamp": 1747033950524,
    "Sequence": 1921825797275873300,
    "Signature": "XXXXXXX",
// !mark
    "Event": "Interrupted",
    "RoomId": "90000001237",
    "AgentInstanceId": "1921825671047294976",
    "AgentUserId": "apitest689_agent",
    "Data": {
        "Round": 1481651956,
        "Reason": 1
    }
}

Reason(被打断的原因)解释如下:

参数类型说明
ReasonNumber被打断的原因:

上一篇

获取智能体状态及延迟数据

下一篇

语音识别断句

当前页

返回到顶部