8.1 KiB
theme, title, info, author, transition, mdc, lineNumbers, monaco, aspectRatio, canvasWidth, layout, class
| theme | title | info | author | transition | mdc | lineNumbers | monaco | aspectRatio | canvasWidth | layout | class |
|---|---|---|---|---|---|---|---|---|---|---|---|
| seriph | Lesson 35 — Why Does a Voice Agent Feel Slow? | English video course for AI Agents in Depth | Bojie Li | slide-left | true | false | false | 16/9 | 980 | cover | cover |
Why Does a Voice Agent Feel Slow?
Cascaded pipelines, latency waterfalls, streaming, and turn detection
Problems this chapter will solve
Lesson 35
Why Does a Voice Agent Feel Slow?
Lesson 36
When Should Voice Stop Taking Turns?
Lesson 37
How Does an Agent Act Through Pixels?
Lesson 38
How Does an Agent Turn Plans into Physical Actions?
Why this problem matters
Turn detection
VAD waits for silence and can cut off a thinking pause.
Serial work
ASR, LLM, and TTS latency accumulate when stages wait.
Queueing
High utilization amplifies latency nonlinearly.
Three ideas to keep in view
Cascaded
VAD → ASR → LLM → TTS
Streaming
Emit partial transcripts, tokens, and audio chunks early
Convergence
Early recognition is fast but may change as context arrives
The book's visual model
Wait for completion vs. Stream the chain
Wait for completion
- Stable transcript
- Simple control
- Every stage adds delay
Stream the chain
- Earlier first audio
- Overlapped work
- Corrections and cancellation required
Pipeline stages should overlap
async for partial_text in asr.stream(audio):
llm.update(partial_text)
async for sentence in llm.sentences():
tts.enqueue(sentence)
if user_interrupts(): cancel_output()
Test the claim
Preflight a cascaded voice Agent
Observe: VAD model, ASR/LLM/TTS provider configuration, and missing runtime prerequisites
Generate controlled streaming-ASR scenarios
Observe: Normal speech, a 900 ms pause, and background noise under identical source content
class: course-terminal
Switching to the terminal
$ cd chapter9/live-audio/backend && npm run check
$ cd chapter9/streaming-speech && python prepare_scenarios.py audio/sentence.wav validation/course-scenarios
What the evidence supports
Finding 1
The silence threshold is both a latency control and a turn-taking assumption.
Finding 2
Streaming hides work behind speech but introduces unstable partial hypotheses.
Finding 3
Time to first useful audio matters more than full-response completion time.