工作日早上 7 点读 AI,周日早上 8 点读周报订阅邮件

METAL LAB

谷歌ADK新增对实时语音智能体的自动化评估支持

新功能通过Gemini TTS生成虚拟用户,自动对多轮语音对话进行打分

이미지: Google

摘要

  • 谷歌为智能体开发工具ADK新增了一项功能,可以自动评估基于语音的实时智能体
  • 由Gemini TTS生成的虚拟用户会用真实音频主动搭话,自然语言评分标准会对回答内容和工具调用一并打分
  • ADK Web界面新增了Standard与Live模式切换按钮,可以同时查看对话记录和可播放的音频
발표처
Google Developers Blog
기능
ADK 네이티브 라이브 평가(native live evaluation)
가상 사용자 음성
Gemini TTS로 합성한 오디오
채점 방식
자연어 루브릭으로 응답·툴 실행 자동 채점
테스트 케이스 유형
대화 시나리오(페르소나 기반) · 고정 대화(스크립트)
예시 모델
gemini-live-2.5-flash-native-audio
실행 방법
CLI 명령 adk eval, 또는 AgentEvaluator로 CI/CD 연동
샘플 저장소
google/adk-python의 live_workflow 예제

通过演示和实际部署完全是两回事

用语音交流的AI智能体,测试起来比文字聊天机器人麻烦得多。昨天还应答如流的智能体,只要提示词稍作调整或者模型一升级,就可能悄悄地变了样。工具调用突然失灵,对话上下文没能带到下一轮,或者用户中途插话被漏掉——这些情况都可能发生。人不可能每次都像打电话一样一段段听下来核实,所以需要一种能自动、反复验证的办法。

虚拟用户用真实语音与智能体展开多轮对话,对话结果由自然语言评分标准自动打分。

谷歌给出了答案。该公司宣布,已经为智能体开发工具ADK(Agent Development Kit)新增了对基于语音的实时智能体的自动化评估功能。在与评估文字智能体相同的流程框架下,现在语音智能体也可以和虚拟用户实际对话,并获得评分结果。

虚拟用户用真实的声音主动搭话

这项功能的核心是模拟用户。开发者定义好评估场景后,大语言模型会按照场景扮演相应的用户角色,并通过Gemini TTS生成真实音频向智能体发起对话。由于对话是以声音而非文字交换的,连时机把握、中途插话这类语音对话特有的变量,也一并被纳入测试范围。

测试用例可以用两种方式创建。一种是"对话场景",只需设定目标和人设,模拟器就会自主推进对话。例如NOVICE人设被设计为只讲大方向、把细节留给智能体主动追问,借此考验智能体引导对话的能力。另一种是"固定对话",把用户要说的话像剧本一样逐字写死。

测试用例类型特点
对话场景只指定目标与人设,模拟器即兴推进对话
固定对话用户发言写死为脚本,每次都可复现相同条件

打分依靠自然语言评分标准完成。同样的意思,语音回答可能有成百上千种不同的措辞方式,而只要人工把判断标准写成一段文字,后续所有对话都会自动套用同样的标准。

在ADK Web中可同时查看对话记录与音频

运行结束后,ADK Web会把音频流转换成清晰的对话记录。每一句发言都以一个对话气泡的形式呈现,里面同时包含文字和可播放的音频片段,这样不仅能看到智能体"说了什么",还能听出它"是怎么说的"。这个界面新增了Standard与Live模式切换按钮,选择Live模式后,输入方式(音频/文字)以及模拟用户的音色、语言设置也会一并显示出来。

具体怎么上手

从哪里开始 —— 先给ADK软件包安装评估用的额外组件。执行uv pip install -e ".[eval]")命令安装eval extras,再准备好调用Live APIGemini TTS所需的API凭证即可。

分步使用流程

  1. 搭建智能体 —— 谷歌公开的示例是把三个单一用途的实时智能体依次串联成图状工作流,每个环节都运行在gemini-live-2.5-flash-native-audio模型上。
  2. 编写评估用例 —— 在JSON格式的评估集文件中写入对话场景或固定对话内容。
  3. test_config.json中添加live_model_config,并指定llm_audio用户模拟器 —— 这里选定的音色会用来把每句用户发言合成为语音,流式传送给智能体。
  4. 在命令行中执行adk eval命令运行评估 —— 运行结果可以在ADK Web中以对话记录和音频的形式查看。

谁可以使用 —— 这是一项开源功能,只要在使用ADK的开发者,都可以直接尝试,无需额外申请。只需拥有Live API和Gemini TTS API的访问权限即可,通过AgentEvaluator调用同一套流程,还能接入CI/CD流水线,在部署前自动捕获回归问题。

能用来做什么 —— 举例来说,像客服语音机器人在处理三段式咨询(受理→确认→处理)时是否会丢失上下文,用户中途打断时能否自然接住话头,这些都可以自动验证,无需每次都靠人工打电话核实。此外,在切换到新版本模型之前,也可以重新跑一遍同一套评估集,找出与之前应答不一致的地方。

如果想直接照搬谷歌公开的示例,可以下载并运行live_workflow仓库;关于用户模拟、合成音频配置以及自定义评估指标的更多细节,可以查阅ADK官方文档

编辑视角

近来智能体开发工具们争相补齐的,不是"制作功能",而是"验证功能"。就像Anthropic生态中Agent Skills为编程智能体注入了标准流程,AWS也为Bedrock加上了形式化逻辑验证一样,谷歌这次填补的正是ADK的空白。文字智能体的评估流水线已经相对成熟,但语音智能体一直存在大量依赖人工亲耳判断的环节。这次更新,可以说是把这最后一段人工环节也拉进了自动化闭环。

在实际业务中,这一变化的影响相当直接。以前每次更新语音智能体,QA人员都得按场景逐一打电话核实是否正常;现在这通"电话"改由虚拟用户代打,人类只需定义几行自然语言评分标准就够了。多轮对话中出现的工具调用缺失、上下文中断等回归性bug,会在CI阶段就被拦下,而不必等到人耳听出问题。对于国内正在筹备语音机器人、客服中心自动化的团队来说,这套流程能大幅削减以往每次更换新模型都要重复的人工QA成本。不过,评估的可靠程度终究取决于人设和评分标准设计得贴合真实用户说话方式的细致程度,在初期投入更多时间打磨这部分,最终反而能更快走向稳定的部署。

预计未来数周内,其他智能体框架也很可能陆续推出类似的实时评估工具。随着语音界面的应用场景从聊天机器人扩展到真正的业务一线,从"听完再判断"转向"量化再打分"的趋势,不会止步于这次ADK的更新。

本文相关代码

评论