📄 没听完就动手:语音对话系统何时可以提前调用工具

英文题目:Heard Enough to Act: Early Tool Calling in Spoken Dialogue Systems

评分:6.1/10 | 创新 1.2/2 | 技术严谨 1/1.5 | 实验充分 1/1.5 | 清晰度 0.8/1 | 影响力 0.8/1.5 | 开源 0/1.5 | 可复现 0.3/0.5 | 工程/实践 1/1.5

👥 作者与机构

  • Yizhou Peng:机构信息未能在本次解析中与作者逐人可靠绑定
  • Chen Chen:机构信息未能在本次解析中与作者逐人可靠绑定
  • Donghang Wu:机构信息未能在本次解析中与作者逐人可靠绑定
  • Hexin Liu:机构信息未能在本次解析中与作者逐人可靠绑定
  • Eng Siong Chng:机构信息未能在本次解析中与作者逐人可靠绑定

📌 核心摘要

读者需要理解的对象是边听边行动的语音代理,困难在于已有语料和评测只标注完整轮次结束后该调用什么工具,从未标注在听到一半时工具与参数已经齐备的最早可行动点。论文先用类型化任务模板与确定性实体采样生成任务档案,再模拟文本对话、合成带说话人克隆的语音并强制对齐,最后由大模型提议调用事件并经三道门控校验或推迟时间戳,得到带最早可行动点监督的合成语料。接着在冻结的Qwen3-Omni-30B-A3B上加控制词元与LoRA,使模型按每0.6 s音频块输出语音活动与等待、不确定、就绪、保持四态工具状态,并在触发时输出部分转写或工具JSON。与已有边听边想、填充语、事后工具查询方法不同,该工作直接定义并校验可行动时刻,且按该时刻评分时序。采用转写触发的asr变体,在域内保留测试集上工具状态宏F1为0.48,高于其在τ2τ2音频渲染外部评测上的0.47。相对使用同一格式化器的轮次结束级联,以估计平均提前时间为指标,在域内保留测试与τ2τ2音频渲染上正确调用的平均提前估计为域内1.8-2.0 s、外部1.1 s,均早于轮次结束才触发。该结论只在单一种子、单一基座与合成分布内成立,外部新实体下转写明显恶化且误触发率高,触发精度仍是主要失败点,原文未披露训练、推理或部署成本。

🔗 开源与复现资源

本次未形成可展示的已核验资源记录,开放状态尚未核实。

可达状态仅表示本次链接检查结果,不代表许可证、本文权重或运行复现已验证。

🧭 深度解读

语音智能体为什么总要等整句话说完

这篇论文研究的输入是用户连续说出的语音流,目标是在听的过程中决定调用哪个外部工具并填好它的必需参数,输出是一个可在开火时刻执行的调用。必须保留的信息是工具名和每一个必需参数都已经在已听到的语音里有依据,不能靠猜测补全,也不能等后续改口后再偷换。

日常对话里人会边听边规划,所以换轮间隙很短,但工具型语音智能体无论是级联式还是端到端式,往往要等用户整轮结束才开始识别、定工具、填参数并发起调用,识别等待和工具往返是串行的。论文明确不优化转写速度和工具本身的往返,只问中间这一步是否必须等到回合结束。已有缓解做法多是让等待显得短一些,例如用语气词填充,或者先说一句开场白但查询仍等回合结束,这些都没有把调用真正提前。

已有提前行动做法缺了哪一个定义

论文把相关工作分成 3 路来对比。第一路是边听边推理的工具调用,例如在用户说完前完成一半以上调用的做法、训练语音模型在说话过程中发工具查询的做法,以及用共享时钟解码用户音频、智能体语音和规划调用流的做法,它们的时机来自大模型打分偏移或变化检测等代理信号,没有定义调用第 1 次变得可判定的时刻,也没有验证标签正好落在该时刻,更没有按该时刻评分。

第二路是全双工与轮次管理,例如逐块决定谁持有话轮的模型,以及边听边想的做法,但选项只是沉默、思考或说话,从不包含工具调用。增量对话研究说明语义常常在话说完前就已确定,但没有把它和不可撤销的外部动作连起来。第 3 路是工具调用基准,它们用完整回合评分调了哪个工具,即使扩展到音频和全双工语音,考的仍是语音是否改变调用内容或任务能否完成,而不是调用何时变得可执行。

所以缺的定义是:工具和全部参数第 1 次在已听音频中被支撑住的最早瞬间,以及相对它的计时评分。本文的全部数据和模型设计都是为了补上这个瞬间。

最早可行动时刻到底指什么

论文把提前调用形式化为逐块决策问题。用户音频按 0.6 秒一块到达,每块之后模型要在语音上输出语音活动标记和工具状态,工具状态取自等待、不确定、可提交和抑制 4 种。等待表示继续听,不确定表示疑似有工具但参数还不全,可提交表示现在就可以提交一个具体调用,抑制是本轮第 1 次开火后为防止重复而保持的抑制,可被新的修正或第二个工具的新可提交打破。

每个金标准调用是一个事件,记为工具、参数和开火时刻,开火时刻就是全部必需参数在截至目前的语音中被支撑住的最早瞬间,金标准节省时间是回合结束时刻减去该开火时刻。因为标注门控只能推迟不能提前,这个标注时刻是真实最早点的上界。

最早可行动时刻 × 工具调用事件: 最早可行动时刻指一通用户语音中工具名和全部必需参数第一次都被已听到的语音内容支撑住的时间点,工具调用事件就是把这个时间点和对应的工具名加参数记在一起的三元组,前者给出何时可以动手的判定标准,后者把标准变成可训练可评分的监督标签,两者组合才让提前量可以被测量而不是凭感觉提前。

从任务模板到分块标签要走哪七步

理解全流程最好沿着一个样本走。起点是类型化的任务模板,例如改签预订需要预订编码和新日期两个槽位,确定性实体采样器为每个任务生成档案并做碰撞检查,大量档案中只有少数没有产生可用对话,剩下两万多段对话。两个模拟会话分别扮演用户和智能体生成文本剧本,再用带人物克隆声音的合成器把每轮转成语音,并用强制对齐器给出词级时间戳。

监督是先提名再门控。每个档案配一个平均含 4.5 个工具的工具池,大模型先提名候选事件,再过三道确定性门:第一道丢掉不可执行的调用,第二道收集转写不支持或被后文取代的参数,第三道修复参数或把开火时刻推迟到参数真正被支撑住的时刻。候选从十余万件逐级收敛到五万余件,开火时刻锚定在对齐时间轴上。

下表整理的问题是合成语料的规模有多大,条件是主语料与外部评测渲染,指标是原文报告的对话数、时长与领域数。

比较项原文规模
对话总数26,694 dialogues
音频总量786 hours
领域覆盖48 domains

表中三项直接来自原文对合成规模的陈述,说明监督不是整轮级标签,而是落在具体音频块上的时刻标签,这正是后续逐块决策可以直接学习的对象,也限定了结论只在该合成分布内成立。

下图展示了这条流水线的主链、绿色事件携带的标签含义以及右侧分块标签的注释,先看主链再看标签有助于把数据形态和监督时刻对应起来。

看图路径: 1. 先从左到右看任务模板到分块标签的七步主链;2. 再看右上绿色事件如何标注开火时刻与节省时间;3. 最后对照右下角四类块标签的文字说明

原论文 Figure 1:Data pipeline. Typed task templates are instantiated by a deterministic entity sampler, simulated…

论文图 1。原论文 Figure 1::“Data pipeline. Typed task templates are instantiated by a deterministic entity sampler, simulated as text dialogues, rendered to aligned speech, and annotated with gated…”。

该图确实可见从模板、档案、对话模拟、合成与对齐、工具池、标注加门控到分块标签的七步,顶部例子给出开火块的工具名、参数、为何参数已齐以及相对回合结束节省的秒数,右下角把 4 类块标签解释为用户语音标志、继续等、取值未知但竞争、提交调用后继续听和发后保持监听。它说明每块带语音或静音标记,开火时刻所在的语音块取可提交或不确定,开火前后分别为等待与抑制。

模型如何在一个序列里边听边判

模型底座是冻结的 Qwen3-Omni-30B-A3B,只训练新增的 15 个控制标记的增量向量和注意力与各专家前馈上的低秩适配器。输入序列把系统提示和该档案的工具表放在前面,随后每 0.6 秒注入 8 个音频表征,模型在每块后输出语音活动标记,若为有说话再输出调用状态,可提交和不确定还会打开载荷块。整个序列用带键值缓存的自回归方式展开,位置推进就对应时间推进。

下图展示了单流设计的注入与输出交错方式,读图时先看音频块注入位置,再看每块对应的控制标记,最后注意载荷块只在开火时出现。

看图路径: 1. 先看底部音频编码器每 0.6 秒注入 8 个音频标记的位置;2. 再看顶部同一序列如何交替出现语音活动与调用状态;3. 最后区分不确定块只带转写而可提交块还带工具结构

原论文 Figure 2:Single-stream model design.

论文图 2。原论文 Figure 2::“Single-stream model design. One autoregressive, KV-cached sequence interleaves injected audio chunks with emitted control tokens and payload blocks; one LM head decodes VAD, ET,…”。

该图确实可见底部音频编码器每块独立编码并向上注入,中间思维模型在每块上方输出有说话加等待、有说话加不确定带转写块、有说话加可提交带转写加工具结构,顶部用一个加权交叉熵统一监督语音活动、调用状态、转写和工具结构 4 种角色,雪花表示冻结、火焰表示可训练。它帮助理解为何 1 次前向就能同时完成检测与生成:时间信息由注入顺序携带,决策信息由控制标记携带。

语音活动检测 × 提前调用状态: 语音活动检测只判断当前 0.6 秒块里有没有人在说话,提前调用状态在有说话的块上进一步判断是继续等、信息不全但疑似有工具、已可提交具体调用,还是为避免重复而保持抑制,前者过滤静音块,后者才是是否开火的决策,两者分工让模型在流式时间轴上每块只做一次合法判断。

开火时应该输出什么才能变成可执行调用

3 种载荷变体只在开火块包含什么不同。不带载荷的变体只输出语音活动加调用状态,要行动还需对开火附近音频另做 1 次外部识别。带转写的变体在开火时多输出一段截至目前语音的部分转写,再把该片段、工具表和此前已完成轮次交给冻结的大模型格式化器写出结构。带转写加结构的变体在可提交时还要求模型自己写出工具调用结构,因此它是自包含的。

公式层面可以把每块输出统一写成按状态条件发射的形式,发射条件用方括号标出,可提交与不确定简写为两种开火状态,转写片段夹在转写定界符之间,工具结构夹在工具定界符之间且键已排序。

\[\mathbf{y}_{c}=\begin{cases}(v_{c},\,s_{c})&\textsc{none}\\ (v_{c},\,s_{c},\,a_{c}\,[s_{c}{\in}\{\textsc{r},\textsc{u}\}])&\textsc{asr}\\ (v_{c},\,s_{c},\,a_{c}\,[s_{c}{\in}\{\textsc{r},\textsc{u}\}],\,j_{c}\,[s_{c}{=}\textsc{r}])&\textsc{asr+json}\end{cases}\]

该式要约束的是同一解码头在不同状态下允许输出哪些字段:无载荷时只有两个状态标记,带转写时开火才加转写段,带转写加结构时可提交才再加结构。它先形成语音活动与调用状态,再按条件合并转写与结构,结果直接决定后续是自包含执行还是外包格式化。这也解释了消融要比较的核心:同样的开火位置,不同载荷变成正确调用的能力完全不同。

部分转写片段 × 工具调用结构: 部分转写片段是开火时刻把截至目前听到的语音转写成一小段文字,工具调用结构是按工具表把工具名和参数排好键序写成的可执行文本,前者保留口语证据便于外部大模型做归一化,后者可直接执行但要求模型自己写对格式,两者搭配解释了为何外包格式化比模型自写结构更准。

训练时优化了什么以及如何处理类别不均

训练使用一个加权交叉熵,语音活动权重 0.4,调用状态、转写和结构权重都是 1.0,可提交与不确定两类按 6 比 10 加权,以应对开火块远少于等待块的不平衡。同时按事件计数过采样,含更多事件的对话被更频繁地抽到,早停并只用单个随机种子。

可训练参数共 8.438 亿,来自秩为 16 的低秩适配器加上控制标记的增量嵌入与输出行,底座与音频编码器、语言模型头的主体保持冻结。解码时用有限状态机屏蔽每个槽位上的非法标记,保证输出的标记类型序列合法,但不保证工具名与参数值正确,正确性留给后续评分。

需要说明的缺口是,论文只报告单种子单底座的结果,没有给出多种子方差,也没有披露学习率、批量大小等完整优化细节,复现时应以公开训练脚本为准,不能从模型名称推测实现。

如何评分时刻对错与调用对错

评测在流式解码下进行,分为状态级与事件级。状态级把每块的语音活动状态和每个语音块的调用状态与金标准做精确对齐分类。事件级把每次可提交或不确定发射看作 1 次预测事件,若在正负两块即正负 1.2 秒内有同状态的金标准事件即算匹配,容差是为了处理金标准时刻落在块边界附近时相邻块回答也算合理的情况。

调用级只在匹配上的可提交开火上评分,比较生成结构字符串是否完全一致、工具名是否正确、参数槽按金标准槽位微平均的准确率。转写片段用词错误率评分。计时方面,预测开火按所在块末收费,实际节省是回合结束减去预测开火,基线是等整轮结束再转写并交给同一格式化器的做法,基线转写按零延迟计算,这是对基线最有利的理想流式识别假设。

格式化器用 Qwen3-235B-A22B 或 Qwen3-30B-A3B,提示中包含工具池、事件前已完成轮次、以往调用和模型输出。外部识别用 Parakeet-TDT-CTC 1.1B,它也是数据流水线的对齐器。

事件级召回率与精确率 × 状态级宏平均: 事件级召回率与精确率统计一次开火是否在金标准开火前后两块内容差内命中,状态级宏平均统计每个语音块的等待、不确定、可提交和抑制四类标签各自判对程度再平均,前者回答抓住了多少次机会又误报多少次,后者回答逐块决策整体有多稳,两者一起看才能区分是时刻偏了一块还是完全误触发。

逐块决策本身学到了什么程度

下表要回答的比较问题是带载荷与否是否改变开火决策质量,公平条件是同域与外部音频基准上的同一事件容差评分,指标方向为召回率、精确率与事件平均值越高越好。

比较项数值
none 在 ID 上的精确率0.123
none 在 τ2 上的精确率0.147
asr 在 ID 上的事件 F10.414

表中可见无载荷变体精确率仅在 0.12 到 0.15 量级,说明它开火过于频繁,而带转写变体在同域事件平均值最好,状态分类也是带转写最好。原文还报告决策层迁移基本完好,带转写变体的状态宏平均在外部基准几乎不变,只有无载荷掉约 0.05。载荷才是迁移断裂处,同域转写词错误率约 0.11 到 0.12,到外部基准升至 0.47 以上,说明未见过的实体取值模式主要伤害转写保真度而非开火判断。

同域每类状态的块级准确率按是否允许晚一到三块来统计,可以回答有多少表面错误只是晚了一块。等待接近解决,可提交与不确定承担主要误差,误报的可提交是精确率瓶颈。允许晚一块可提交提升 0.06 到 0.10,宏平均提升 0.03 到 0.04,再放宽到三块增益很小,说明相当一部分错误是晚一拍而非完全错过。

下图展示正确调用的实际节省分布,横轴是相对回合末基线节省的秒数,纵轴是节省超过该秒数的正确调用比例,圆点为均值,零点值即提前开火的比例,读图先看坐标含义再看拖尾差异。

看图路径: 1. 先看横轴节省秒数与纵轴正确调用占比的含义;2. 再比较同域两条实线与外部基准两条虚线的拖尾;3. 最后看圆点均值与零点处提前开火比例的差异

原论文 Figure 3:Achieved saving of correct early calls (Qwen3-235B-A22B formatter) over the turn baseline:…

论文图 3。原论文 Figure 3::“Achieved saving of correct early calls (Qwen3-235B-A22B formatter) over the turn baseline: fraction of calls saving more than x seconds.”。

该图确实可见曲线重度右偏,同域约一半正确调用在回合结束前开火,其余落在最后一块,所以全部正确调用的中位数远小于均值,而提前开火子集的中位数为 2.6 秒,约 40% 以上正确调用节省超过 1 秒,均值由长尾拖动。外部基准因工具证据多在轮末,金标准节省中位数为 0,但仍有一半以上正确调用提前。它说明平均提前主要来自少数提前很多的调用,不能读成每次都省 2 秒。

回合末级联基线 × 实际节省时间: 回合末级联基线指等整轮用户话说完再转写再交给同一个格式化器决定是否调用的做法,实际节省时间指同一正确调用下回合结束时刻减去提前开火时刻的差值,前者提供公平的计时起点,后者把提前量落到秒数上,两者组合才说明提前不是因为换了更强的转写或格式化器。

提前开火在整轮层面是多准多快

下表要回答的比较问题是在同一轮级规则下提前决策与回合末决策谁更准,条件是同域测试集 1499 个用户轮次中有 292 轮含金标准可提交,规则是只要一轮内发出至少 1 次可提交就算该轮开火,指标方向为精确率、召回率和平均值越高越好。

VariantDecision fromFiredPRF1
asrmodel ready4580.3760.5890.459
asr+jsonmodel ready4180.4090.5860.482
turn-asrParakeet text7890.3310.8940.483
turn-goldgold text7510.3480.8940.500

表中可见回合末做法是高召回,召回率 0.894 但在一千多轮里开了 751 到 789 轮,三分之二是没有金标准可提交的轮次。带转写加结构的提前做法用 0.3 左右的召回换来最高的精确率 0.409,平均值四者相差 0.05 以内。可以说提前决策在相同平均值下用召回换精确率,但即使在该工作点仍有 59% 的提前开火是误报,提交不可撤销调用所需的精确率尚未达到。

结合上一节的节省分布,结论的成立条件很具体:只有在开火时刻正确且调用内容正确的子集上,才能谈平均提前同域约 1.8 秒到 2.0 秒、外部约 1.1 秒;若把误报和漏报也计入,整轮层面的可用性仍受精确率限制。外部基准的计时任务反而更容易,因为证据本就靠后,但转写保真度更差,所以提前比例与节省秒数不能直接搬运到真实口语分布。

开火之后怎样把证据变成正确调用

下表要回答的比较问题是同样开火位置下不同成调用策略谁更准,条件是各自模型自己的匹配上可提交开火,回合末行则在其真阳性轮上评分,指标为字符串完全一致、工具名准确率和参数准确率,越高越好。

比较项数值
模型转写经格式化器 EM0.536
模型自写结构 EM0.173
格式化器工具名0.83
格式化器参数0.71

表中可见外包格式化明显更好。在带转写加结构自己的开火上,用模型转写经大格式化器可达完全一致 0.536,而模型自写结构仅 0.173,分解显示自写结构工具名只对 23%,参数槽对 52%,而格式化器从同一片段可达 0.83 和 0.71。不带结构头的带转写变体反而略好,完全一致 0.578。残差在片段保真度而非格式化器:用金标准文本上界工具名不变约 0.84,参数升至 0.76,完全一致升至 0.63,30B 格式化器最多让出 4.3 个点。

光有决策不够。无载荷决策加开火窗口外部识别工具名可达 0.87,但参数仅填对一半,完全一致跌至 0.038,因为外部识别输出的口语形态实体无法与金标准结构字符串匹配。回合末基线同样受归一化拖累,用外部识别文本时完全一致仅 0.103,用金标准文本则完全一致 0.605。所以可执行的提前调用依赖开火时刻自带的转写片段,而不是事后在窗口上补 1 次通用识别。这个结论只在匹配上的开火内成立,没有解决误报开火会产生错误调用的问题。

哪些结论还不能推广

论文自己指出的首要缺口是开火精确率。轮级统计下提前做法仍有约六成开火落在无金标准可提交的轮次,事件级精确率同域约 0.33 到 0.35,意味着若每次开火都直接执行,会有大量误执行。抑制标签虽有防重复设计,但不足以达到可提交的精度要求。

其次是证据范围。结果是单种子单底座,训练与评测的语音来自同一合成与对齐流水线,测试参数取值虽与训练零重叠,但声学人物、信道和口语不流畅仍是合成分布。外部基准虽是不同任务,但仍用相同流水线渲染,且其转写词错误率翻了数倍,说明实体模式一变片段保真度就掉。基线转写按零延迟计算,若计入真实流式识别延迟,提前量的相对优势会变,但论文没有测量该延迟,也没有测量误执行率、端到端延迟与计算成本,不能据此承诺部署一定更快更省。

容易产生的误解是把平均提前读成每次提前。分布是长尾的,中位数远小于均值,约一半正确调用其实落在最后一块,节省为零。另一个误解是把字符串完全一致低读成工具选错,实际上工具名准确率常在 80% 以上,丢分大头是参数归一化与转写保真度。

要复现第一步该准备什么

复现应从数据流水线开始,而不是直接调模型。需要按论文重建 48 个域约 900 个任务模板、确定性采样与碰撞检查、双会话剧本模拟、人物克隆合成与强制对齐,再实现先提名后三门控的标注与 0.6 秒网格展开,并用任务组隔离保证参数取值零重叠。论文称将开源流水线与训练脚本,但本次收到的来源信息显示没有完成超链接状态验证的作者资源,因此不能写成代码或数据已公开,应以论文文本与后续官方发布为准。

模型侧需要冻结的底座与音频编码器、15 个控制标记的增量向量、低秩适配器、加权交叉熵与事件计数过采样,以及流式解码的有限状态机。格式化器需要同一大模型与包含工具池、历史轮次和模型输出的提示。计时复现必须用同一格式化器比较提前与回合末,并把预测开火按块末收费,基线转写按零延迟的理想假设也要保留,否则提前秒数不可比。

还需补的验证至少包括多种子重复、真实录制语音上的分块评分、误报开火的执行代价统计,以及把识别延迟与工具往返计入后的端到端节省。

什么时候值得尝试这种提前调用

当任务满足 3 个条件时值得尝试:工具与全部参数确实能在话说完前被支撑住,例如先说关键实体后补客套话的指令;调用可撤销或可先做只读查询,误报代价可接受;系统已有工具表和格式化器,能接住一小段转写并做归一化。此时带转写开火加外部格式化的路线最稳,模型自写结构目前完全一致仅 0.17 左右,不应直接执行。

不值得照搬的情形是参数常在句末才出现、口语实体形态多变且要求字符串精确匹配、或误调用代价很高的支付与控制场景。论文的价值在于给出最早可行动时刻的定义、可学习的块级监督和公平的计时比较,而不是给出一个可直接上线的精确开火器。后续工作应先提精确率与片段保真度,再谈更大的平均提前。

📎 论文与评分元数据

排名:前50% | 文档类型:数据集与基准 | arXiv 原文

⚖️ 评分明细

评分属于系统判断,不是论文实验结果;八维数值与总分见页首,原始审计记录保留在后端。

  • 评分规则:type-aware-v1

  • 评分模型:muse-spark-1.3-contributor

  • 评分请求协议:openai_responses


← 返回 2026-10-27 语音/音乐/音频论文速递