📄 BFCL Audio: An Audio Function Calling Evaluation for Large Language Models
#基准测试 #语音交互 #多模态模型 #模型比较
7.7/10 | 创新 1.2/2 | 严谨 1.2/1.5 | 实验 1/1.5 | 清晰 1/1 | 影响 0.8/1.5 | 开源 1/1.5 | 复现 0.3/0.5 | 工程 1.2/1.5
✅ 7.7/10 | 前25% | #语音交互 | #多模态模型 | #基准测试 #模型比较 | arxiv
👥 作者与机构
- 第一作者:Huanzhi Mao(University of California, Berkeley)
- 通讯作者:Huanzhi Mao(University of California, Berkeley)
- 作者列表:Huanzhi Mao(University of California, Berkeley)、Aditya Ghai(University of California, Berkeley)、Imra Dawoodani(University of California, Berkeley)、Tony A Ginart(Salesforce AI Research)、Shishir G Patil(University of California, Berkeley)、John Emmons(Salesforce AI Research)、Joseph E. Gonzalez(University of California, Berkeley)
💡 毒舌点评
首次系统评估音频function calling,其可控合成管道和无需LLM裁判的自动评分机制,为语音Agent的鲁棒性问题提供了清晰的归因分析。但工作本质上仍是现有BFCL基准向语音模态的延伸,且完全依赖合成数据,在真实场景的生态效度和结论的泛化性上存在硬伤。
📌 核心摘要
本文旨在填补音频function calling评估的空白。当前纯文本工具调用基准无法反映语音引入的感知错误、不流畅和自然交互中产生的澄清需求。为此,作者提出BFCL Audio,包含6.2K个专家验证任务,覆盖两种常见生产部署模式:管线式(ASR→LLM→工具调用)的BFCL Text Audio,和端到端式(音频输入→工具调用)的BFCL True Audio。该基准通过一个可控语音合成与增强管道,向原始文本查询中注入口语不流畅、用克隆语音合成,并叠加真实声学退化(背景噪声、混响、网络损伤等),生成仿真音频。评估指标采用基于抽象语法树(AST)的单轮参数级匹配,和基于状态与响应验证的多轮评估,全程无需LLM裁判,实现了可规模化的自动评分。在GPT-4o-audio、Gemini、Qwen等模型上的实测发现,噪声使端到端模型的总体准确率普遍下降9-15个百分点,主要失败模式为命名实体错误、不必要澄清和对话漂移。消融研究进一步指出,竞争性语音、混响和话语结构改动是最大瓶颈。该工作可作为语音工具调用的标准化诊断平台,但其合成音频的局限性使其仍需要真实部署数据的补充验证。
实验结果核心数据如下(表2,部分摘录):
| Model | Overall (Clean Audio) | Overall (Noisy Audio) | Overall (Text) |
|---|---|---|---|
| GPT-4o-audio | 60.4±7.1 | 50.9±7.2 | 58.6±6.8 |
| Qwen3-Omni-Flash | 55.8±7.0 | 48.2±7.2 | 55.1±6.9 |
| Gemini-2.5-Pro | 51.1±6.9 | 45.4±7.2 | 51.5±7.0 |
| GPT-4o-mini-audio | 47.2±7.1 | 40.3±6.6 | – |
🏗️ 方法概述和架构
BFCL Audio的核心是一套面向音频function calling的可控合成与评估管线,旨在诊断语音感知错误如何传播到工具调用决策。
- 数据生成管线
- 起点与文本重写:从BFCL文本查询中筛选不含特殊符号的样本。为保证关键参数不被破坏,在LLM控制器可访问下游函数签名、并可对破坏语义的修改行使“一票否决”的前提下,将查询重写为自然口语化表达。
- 可控语音不流畅注入:从23种口语特征(填充词、自我修正、真假起步等)中,根据查询长度和噪声水平,由LLM控制器动态选择子集,并以级联方式顺序注入,模拟复合语音特征错误。
- 语音合成:利用ElevenLabs API,将重写文本通过约225个基于Common Voice数据克隆的声音合成为语音,覆盖多种口音、韵律和语速。
- 声学增强:对合成语音应用四类真实世界退化:
- 环境背景噪声:混合MUSAN和CHiME-5语料库音频。
- 竞争性语音:叠加来自对话语料库的干扰说话人音频。
- 网络损伤:模拟丢包、抖动和截断,如随机丢弃10-40ms帧。
- 设备与房间效应:应用房间脉冲响应(混响)、非线性削波、增益变化和麦克风摩擦噪声。 所有模块参数可调,以在保证鲁棒系统可理解的同时暴露脆弱管线的弱点。
- ASR转录(BFCL Text Audio专用):使用Deepgram、OpenAI、ElevenLabs三个不同ASR引擎转录同一条音频,生成三份转录文本,以暴露系统性ASR偏差。
- 评估协议与自动评分
- 单轮评估:将模型预测的工具调用解析为抽象语法树(AST),通过子图匹配检验函数名的完全匹配及各参数的准确性。参数比较进行类型感知归一化(忽略大小写/空白),列表顺序强制匹配,允许模型省略有默认值的可选参数。
- 多轮评估:交互正确性基于两个条件:(i) 逐轮执行后的系统状态必须与标注状态完全一致(状态匹配);(ii) 模型必须走通完成任务所需的最少工具调用路径(响应验证),防止其在只读步骤上“猜测”答案。同时支持白名单化的澄清回合:当模型请求确认拼写或数值时,一个LLM裁判会检查所询问的字段是否在允许的澄清键中,如果是,则返回标准回复而不终止对话。
- 故障分类 定义了六种专属失败模式:意图混杂(FM1)、过早执行(FM2)、参数失真(FM3)、澄清误触发(FM4)、对话漂移(FM5)、命名实体错误(FM6)。
设计动机:管线化的生成方式支持对单一语音特征或声学条件的细粒度消融和因果归因。多ASR转录克服了单一引擎的评估偏差。基于AST的工具调用匹配比基于文本相似度的评估更能精确衡量任务正确性,且整个自动评分流程避免了当前LLM裁判的不稳定性。
💡 核心创新点
- 首个音频function calling综合基准:将工具调用的评估从纯文本扩展到语音模态,系统性地考察了ASR误差、声学噪声和澄清交互等复杂情况,弥补了现有文本基准和通用音频感知基准间的断层。
- 可控语音-噪声合成管道:通过LLM控制器在文本层面注入可控的口语不流畅特征,结合语音克隆和多类别声学退化,建立了允许因果追踪的诊断性评估基础设施。
- 无需LLM裁判的自动评分协议:设计了基于AST子图匹配的单轮参数级正确性检验,以及基于状态树和最小路径检查的多轮交互验证,提供了比LLM裁判更稳定、可复现的评估标准。
- 细粒度失败分析与消融:定义了一套音频专属的六类失败模式,并通过单因素消融,量化了不同语音特征(如自我修正、省略)和噪声类型(如竞争语音、混响)对工具调用准确率的具体影响。
- 支持澄清的交互协议:在评估协议中引入白名单化的澄清回合,允许模型在存在歧义时请求确认,更真实地模拟了语音交互的特点,避免简单地将澄清行为判为错误。
📊 实验结果
主要实验结果来自表2,完整列出如下:
| Model | ExpertCurated | ExpertCurated | ExpertCurated | ExpertCurated | CommunitySourced | CommunitySourced | CommunitySourced | CommunitySourced | Multi-Turn | Multi-Turn | Multi-Turn | Hallucination | Hallucination | Overall (Clean Audio) | Overall (Noisy Audio) | Overall (Text) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Simple | Multiple | Parallel | Parallel Multiple | Simple | Multiple | Parallel | Parallel Multiple | Base | Miss Func | Miss Param | Relevance | Irrelevance | ||||
| GPT-4o-audio (Clean Audio) | 60.4±7.1 | 58.6±4.8 | 86.9±5.0 | 80.5±5.9 | 76.0±6.0 | 61.3±6.3 | 67.4±2.8 | 64.3±28.0 | 45.5±21.2 | 37.5±6.5 | 47.5±7.0 | 37.5±6.5 | 72.2±25.1 | 85.4±2.2 | – | – |
| GPT-4o-audio (Text) | 58.6±6.8 | 51.1±4.8 | 87.4±4.6 | 77.5±5.9 | 74.5±6.0 | 58.4±6.3 | 66.4±2.9 | 50.0±28.6 | 50.0±22.7 | 38.0±6.5 | 44.0±7.0 | 34.5±6.5 | 77.8±22.2 | 84.1±2.2 | – | 58.6±6.8 |
| Qwen3-Omni-Flash (Clean Audio) | 55.8±7.0 | 58.3±4.8 | 84.9±5.3 | 77.5±6.0 | 74.0±6.3 | 60.7±6.2 | 58.5±2.9 | 53.6±31.0 | 50.1±21.4 | 26.5±5.8 | 33.3±6.3 | 25.5±5.8 | 61.1±23.7 | 87.5±2.1 | – | – |
| GLM-4.5 (Text) | 55.2±7.0 | 47.6±5.0 | 87.9±4.5 | 77.5±5.9 | 66.5±6.5 | 60.9±6.4 | 66.4±2.9 | 71.4±25.2 | 59.1±21.9 | 27.5±6.0 | 22.5±6.0 | 25.5±6.0 | 61.1±25.8 | 86.7±2.1 | – | 55.2±7.0 |
| Qwen3-Omni-Flash (Text) | 55.1±6.9 | 52.4±4.9 | 84.2±5.1 | 74.3±6.2 | 72.5±6.3 | 60.7±6.2 | 60.4±3.0 | 53.6±27.5 | 56.8±21.7 | 25.8±5.8 | 31.8±6.3 | 24.0±5.8 | 66.7±24.5 | 87.6±2.0 | – | 55.1±6.9 |
| Claude-Opus-4.1 (Text) | 53.5±7.0 | 54.5±4.9 | 90.0±4.5 | 73.0±6.0 | 60.5±7.0 | 63.0±6.0 | 69.3±2.8 | 78.6±21.4 | 50.0±22.7 | 25.0±6.0 | 17.5±5.5 | 17.0±5.5 | 61.1±25.8 | 81.8±2.4 | – | 53.5±7.0 |
| Gemini-2.5-Flash (Clean Audio) | 53.0±7.0 | 56.8±4.9 | 83.4±5.5 | 77.0±6.0 | 64.5±6.5 | 61.3±6.3 | 63.8±2.9 | 71.4±25.2 | 50.0±22.7 | 16.0±5.0 | 12.5±4.5 | 13.0±4.5 | 66.7±21.5 | 91.5±1.7 | – | – |
| Gemini-2.5-Pro (Text) | 51.5±7.0 | 53.6±5.0 | 80.9±5.5 | 71.0±6.5 | 70.5±6.5 | 63.0±6.0 | 54.3±3.0 | 57.1±26.3 | 63.6±20.7 | 13.5±5.0 | 19.5±5.5 | 13.5±5.0 | 55.6±26.8 | 91.1±1.7 | – | 51.5±7.0 |
| xLAM-2-70b-fc-r (Text) | 51.2±7.0 | 54.1±5.0 | 87.4±4.6 | 75.5±6.0 | 59.5±7.0 | 48.6±6.4 | 52.8±3.1 | 42.9±34.0 | 40.9±21.9 | 28.0±6.0 | 28.0±6.0 | 23.5±6.0 | 77.8±22.2 | 80.1±2.4 | – | 51.2±7.0 |
| Gemini-2.5-Pro (Clean Audio) | 51.1±6.9 | 57.9±4.8 | 82.9±5.5 | 74.5±6.0 | 72.0±6.0 | 60.1±6.0 | 49.5±3.0 | 42.9±34.0 | 54.6±21.6 | 15.5±5.0 | 19.0±5.5 | 13.5±5.0 | 50.0±22.2 | 89.6±1.9 | – | – |
| GPT-4o-audio (Noisy Audio) | 50.9±7.2 | 43.1±5.0 | 72.9±6.6 | 62.5±6.5 | 62.5±6.5 | 46.5±6.4 | 47.7±3.0 | 35.7±28.0 | 31.8±22.3 | 28.5±6.4 | 39.5±7.0 | 35.0±6.5 | 50.0±22.2 | 85.7±2.2 | – | 50.9±7.2 |
| Grok-4-0709 (Text) | 50.2±7.1 | 53.8±4.9 | 83.4±5.5 | 76.0±6.0 | 67.5±6.9 | 58.9±6.4 | 66.5±2.9 | 71.4±25.2 | 59.1±21.9 | 8.0±4.0 | 3.5±2.5 | 9.0±4.0 | 72.2±25.1 | 84.1±2.2 | – | 50.2±7.1 |
| Qwen3-235B-A22B-Instruct (Text) | 50.1±7.2 | 46.6±5.0 | 86.4±5.0 | 74.0±6.0 | 68.0±6.9 | 53.9±6.4 | 60.9±3.0 | 64.3±28.0 | 59.1±21.9 | 12.0±4.5 | 8.5±4.0 | 7.5±4.0 | 72.2±25.1 | 88.4±2.0 | – | 50.1±7.2 |
| Qwen3-Omni-Flash (Noisy Audio) | 48.2±7.2 | 42.1±5.0 | 71.9±6.6 | 60.0±6.9 | 62.5±6.5 | 48.4±6.4 | 43.8±3.0 | 35.7±28.0 | 40.9±22.5 | 21.0±5.7 | 31.3±6.5 | 26.0±6.0 | 50.0±22.2 | 86.1±2.2 | – | 48.2±7.2 |
| GPT-4o-mini-audio (Clean Audio) | 47.2±7.1 | 51.6±4.8 | 80.4±5.5 | 74.0±6.0 | 67.0±6.9 | 58.4±6.3 | 63.4±2.9 | 71.4±25.2 | 36.4±20.7 | 1.5±2.0 | 1.0±1.5 | 2.0±2.0 | 77.8±22.2 | 82.4±2.3 | – | – |
| Gemini-2.5-Flash (Noisy Audio) | 45.6±6.9 | 45.4±5.0 | 72.4±6.6 | 57.0±7.3 | 53.5±7.0 | 49.8±6.4 | 46.4±3.0 | 57.1±26.3 | 50.0±22.7 | 15.5±5.0 | 11.5±4.5 | 9.5±4.5 | 33.3±21.5 | 91.0±1.8 | – | 45.6±6.9 |
| Gemini-2.5-Pro (Noisy Audio) | 45.4±7.2 | 41.0±5.0 | 70.9±6.6 | 57.5±7.2 | 62.5±6.5 | 50.2±6.4 | 39.8±2.9 | 35.7±28.0 | 50.0±22.7 | 13.5±5.0 | 23.0±6.0 | 17.0±5.5 | 50.0±22.2 | 86.4±2.1 | – | 45.4±7.2 |
| GPT-5 (Text) | 41.0±7.0 | 32.1±4.8 | 53.3±7.1 | 55.0±6.8 | 48.5±7.0 | 36.2±6.4 | 39.5±2.9 | 50.0±28.6 | 45.5±21.2 | 11.0±4.5 | 6.5±3.5 | 5.5±3.5 | 44.4±26.8 | 95.0±1.3 | – | 41.0±7.0 |
| GPT-4o-mini-audio (Noisy Audio) | 40.3±6.6 | 36.5±4.7 | 66.3±6.6 | 53.5±7.0 | 52.0±7.0 | 42.0±6.3 | 42.3±3.0 | 50.0±28.6 | 22.7±17.9 | 10.5±4.5 | 3.0±2.5 | 4.0±3.0 | 66.7±21.5 | 84.1±2.2 | – | 40.3±6.6 |
消融研究核心发现:在BFCL Text Audio中,话语结构改动的特征(如自我修正、省略/代指、句子重组)是下游失败的主要原因;而表面不流畅(填充词、重复)影响较小。在BFCL True Audio中,文件路径的口语化表达(如将斜杠、点号和字母数字混合念出)是唯一显著增加错误率的特征。在噪声消融中,竞争性语音对意图的破坏最为严重(意图保留率仅为42.4%),其次是混响回声(48.8%)和网络中断(50.6%),而设备摩擦噪声等影响极小(意图保留率约98.8%)。
🔬 细节详述
- 训练数据:不适用(基准本身使用BFCL原始文本查询、从Mozilla Common Voice克隆的语音、MUSAN和CHiME-5噪声数据集)。
- 损失函数:不适用。
- 训练策略:不适用。
- 关键超参数:语音特征控制器从23个特征中动态选择;噪声强度分为“light”等多个等级;网络损伤丢帧时长10–40ms;语音克隆使用ElevenLabs API,基于约225个说话人进行。
- 训练硬件:不适用。评估通过API或本地推理进行,论文未给出具体GPU/TPU配置。
- 推理细节:BFCL Text Audio使用固定的系统提示词(附录E),告知模型其处于音频环境中,需考虑ASR错误,并对敏感信息(如拼写)进行确认。端到端模型直接接收音频并由模型自身接口处理。多轮对话中的澄清判定使用特定的LLM裁判提示词(附录D)。
- 正则化或稳定训练技巧:不适用。
⚖️ 评分理由
- 创新性 (1.2/2):首次将function calling的评估系统地拓展到语音模态,并设计了可控生成管道和相应的评估协议,工作扎实。但核心思想建立在已有BFCL基准和语音测试工作的基础之上,属于领域内的重要拓展而非范式突破。
- 技术严谨性 (1.2/1.5):AST匹配和状态/响应验证的自动评分方案设计严密,对类型归一化、列表顺序和澄清白名单等细节的处理得当。但部分失败模式的分类依赖人工判断,其边界条件的系统分析尚不充分;用于澄清判定的LLM裁判的可靠性也缺少误差分析。
- 实验充分性 (1.0/1.5):在多个主流模型上进行了横向比较,覆盖了清洁、噪声、文本三种输入模态,并通过单因素消融分离了不同语音和噪声因素的影响。然而,评估仅依靠自身基准,缺少与CAVA等相近音频工具调用数据集的直接对比。此外,主要结果未报告统计显著性检验,使得模型间的细微差异难以从统计学上辨别。
- 清晰度 (1.0/1):论文整体结构合理,图表和附件详实。但部分方法细节(如语音克隆的具体参数、噪声混合的精确SNR分布)对API文档依赖性较强,正文中对复杂数据生成流程的描述可以更加清晰。
- 影响力 (0.8/1.5):为语音Agent的鲁棒性诊断提供了标准化的评估框架和工具集,对工业界和学术界均有参考价值。但作为一项基准工作,其影响力高度依赖于社区的采纳程度,而由于完全依赖合成数据,其在短期内成为事实标准的前景受到限制。
- 开源 (1.0/1.5):论文承诺发布基准数据、评估框架和音频生成管道,并在附录B中声称所有预处理代码、函数模式和评估脚本已在匿名仓库中公开,但论文中未提供任何可访问的链接或URL。
- 可复现性 (0.3/0.5):数据生成流程的各模块说明足够详细,评估协议清晰。但在论文未提供代码和数据集访问方式的情况下,他人仍难以完全复现整个基准和实验结果,尤其是需要大量API调用的语音克隆和ASR转录步骤。
- 工程/实践价值 (1.2/1.5):提供了一个考虑周到的工业级评测管线,其数据生成、评估指标和故障诊断的设计可直接用于实际语音助手产品的迭代和鲁棒性测试。多ASR转录、澄清交互协议等设计具有较强的直接工程参考意义。
🚨 局限与问题
论文明确承认的局限:
- 生态效度受限:基准完全依赖合成语音和模拟噪声,无法完全捕捉真实对话中的自发性、录音变异性及复杂的环境动态。作者承认,基于真实录音构建的基准有更强的生态效度。
- 语言单一:当前基准仅覆盖英语,其结论在多语言场景下的泛化性存疑。
审稿人发现的潜在问题:
- 公平比较的缺失:评估的所有模型均为通用或指令微调的模型,缺少使用专门的语音工具调用数据进行微调的模型作为基线(如使用BFCL Audio的数据进行微调),这使得“音频原生”能力的评估不够完整。
- AST评估的覆盖度:AST匹配方法虽然精确,但论文对其在嵌套函数调用、包含特殊转义字符或复杂JSON结构的参数等边缘情况下的稳健性缺乏深入讨论,可能导致在这些情形下出现漏判或误判。
- 多轮评估的隐含假设:多轮状态验证依赖于标准答案中的确定性系统状态,但真实世界的工具执行结果可能具有不确定性(如“查询今天的天气”会根据执行时间变化)。基准是否隐含了工具行为是确定性的这一假设,论文未作说明。
- 澄清协议的简化:澄清协议的白名单机制仅覆盖了少数几个预设类别(如拼写、数值),而真实交互中的澄清行为可能更为复杂和多样(如用户纠正意图)。这可能导致评估对部分澄清行为过度奖励,而对另一些则过度惩罚。
- 生成参数的影响:模型评估并未提及是否控制或记录了如温度、采样策略等关键生成超参数,不同API版本的潜在差异也可能作为混杂变量,影响结论的稳健性。
- 遗漏的基准对比:论文在引言和相关工作中提到CAVA和AU-Harness等相近基准,但在实验部分并未与它们进行任何直接或间接的比较(如共用测试集零样本评估),削弱了其作为“填补空白”工作的说服力。