Google 8 月 24 日在 Developers Blog 发了一篇 ADK 语音智能体评测的教程,作者 Stephen Allen。核心变化是评测不再只跑文本,模拟用户会真的开口说话。
被测样例是个三节点工作流,root_agent 串起 greeter_agent、dob_verifier_agent 和 goals_agent,三个子智能体都跑在 gemini-live-2.5-flash-native-audio 上。交接过程中音频流不断开,ADK 同时转发会话 state 和对话历史。
用例有两种写法。conversation_scenario 给 starting_prompt、conversation_plan 和 user_persona,示例用的是 NOVICE 人格,只给高层目标,等被问才吐细节;fixed conversation 则逐句写死 user_content。模拟器在计划达成后停,max_allowed_invocations 是防止对话跑飞的上限。
打分走 rubric。test_config.json 里评分标准是 rubric_based_multi_turn_trajectory_quality_v1,threshold 0.7,judge_model 用 gemini-3.7-flash。示例 rubric 叫 verifies_identity_first,要求在披露预约细节之前先核完身份和出生日期。
模拟用户这块配置写得很细。user_simulator_config 的 type 是 llm_audio,model 用 gemini-3.7-flash 负责轮次逻辑,audio_model 用 gemini-3.1-flash-tts-preview 把轮次合成语音,声线 Kore,语言 en-US。改 voice_name 和 language_code 就能换声线和口音去测。
live_model_config 里的 timeout_seconds 设了 300,这个字段本身就是 live 模式的开关,删掉同一批用例就退回纯文本跑。运行用 uv run adk eval,前置是装好 eval 附加依赖以及 Live API 和 Gemini TTS 凭据,也能通过 AgentEvaluator 接进 CI。ADK Web 的运行设置里多了 Standard 与 Live 切换,跑完会把音频流还原成逐轮气泡,每轮带文字也带可播放片段。