Short frontend/backend tool latency

Same business path as a normal example run: navigation places and weather use the real Amap MCP, driving routes use the real Amap REST API, while music and vehicle keep the example handlers. No fixed route or canned weather was injected.

Realtime model: qwen-audio-3.0-realtime-plus; backend model: qwen3.8-flash.

Unit: seconds. Before = speech PCM end to the latest service.execute start in the turn; after = the same zero point to the latest resolve/reject once every invoked tool has finished. Neither includes the following MCP response transport, the reply audio or backend task terminal states, and neither means the physical action completed.

Turns count independently and the cold first turn is kept. With several tools in one turn the latest start and latest end are used rather than summed, so the two endpoints may belong to different concurrent tools. Each surface averages its own timestamped responses without filtering on tool match or outcome; the difference is backend minus frontend.

A turn with no tool call or a missing timestamp shows — and is never counted as zero. Failed returns are still timed, so an after value does not imply business success. The surfaces may hold different samples, so read the valid counts as well, especially for small domains.

92 test turns require tools; 14 chitchat turns and 5 clarification/refusal turns stay in the data without entering the latency means. Test turns (tool-required) counts planned user inputs, not case count or steps to complete one task; valid timing samples are counted separately for each route. Scores, transcripts, tool payloads and process logs are not shown.

Batch sources: this is an offline merge of per-domain runs measured at different times, not one continuous run. Means are recomputed from the responses instead of averaging batch means.

voice-surface-short-vehicle-music-20260911-example-dual.json; 2026-09-11T04:57:06.459Z; 42 cases; no recovery.

voice-surface-short-navigation-weather-20260911-example-dual.json; 2026-09-11T05:32:18.376Z; 44 cases; no recovery.

Before execution

DomainTest turns (tool-required)Frontend before/sBackend before/sDifference (backend − frontend)/sFrontend validBackend valid
all921.3173.3632.0469068
vehicle231.5393.2771.7382322
music171.1532.5061.3531715
navigation441.3033.8602.5574430
weather81.0343.2092.17561

Per-turn CSV, before execution

After execution

DomainTest turns (tool-required)Frontend after/sBackend after/sDifference (backend − frontend)/sFrontend validBackend valid
all921.4803.5602.0809068
vehicle231.5393.2771.7382322
music171.1542.5061.3531715
navigation441.6164.3012.6854430
weather81.1873.3612.17461

Per-turn CSV, after execution