Gemini 3.8 Live 采用默认异步模式: 插件最终处于混合阻塞/非阻塞状态,无法根据工具设置行为/调度,且工具结果需要等待播放。
作者: IngLP创建于 2026年9月16日更新于 2026年9月16日
- 使用新默认值后,插件处于一个它不知道的混合状态中。
tool_behavior未设置 →to_fnc_ctx从每个FunctionDeclaration中省略了behavior(livekit-agents/livekit/agents/LLM/_provider_format/google.py:152,:167:if tool_behavior is not None: schema["behavior"] = ...)。在3.8中,服务器将每个工具视为NON_BLOCKING,但supports_silent_scheduling是从客户端设置的(livekit-plugins-google/livekit/plugins/google/realtime/realtime_api.py:708-711),因此它仍然为False:带有reply_required=False的工具结果(通常用于立即更新或在中断的回合中完成的工具,voice/generation.py标记这些结果)将不带scheduling: SILENT发送,模型仍然会回答,并且在realtime_api.py:718-723中("一个工具结果不需要回复…在Gemini API上将工具设置为NON_BLOCKING以保持沉默")会在每次调用中触发: 15/15 和 15/15 在两个默认情况下,10/10 使用tool_behavior=BLOCKING明确设置,0/15 使用tool_behavior=NON_BLOCKING明确设置。建议: 在文档中默认值为NON_BLOCKING的模型中,要么明确发送behavior(无论用户选择什么,默认为模型的默认值),要么从有效行为中衍生supports_silent_scheduling,而不是从选项中。
内容来源: livekit/agents