Prompt & Product
EN ES
UX Patterns

Stop saying 'please wait': check your voice agent against the work-in-progress contract

A trustworthy voice agent acknowledges the request, narrates only meaningful progress, and closes with a completion state users can act on.

ByPrompt & Product — Newsroom
Filed20 September 2026
Read4 MIN
Illustration: Stop saying 'please wait': check your voice agent against the work-in-progress contract

A voice agent says please wait and then says nothing. The user hears a pause, not a task. That silence is a design failure, not a latency problem.

The user decides whether to trust a background task before the first result arrives. The agent must acknowledge the request, narrate only meaningful progress, and close with a completion state the user can act on. Call that the work-in-progress contract.

The contract is the UX

Full-duplex voice removes the spinner: the user can keep talking while the model works, so the agent must say what is happening. Too little, and the user assumes the system stopped. Too much, and the user assumes it is stuck.

Google introduced Gemini 3.8 Live and Gemini 3.8 Live Extended Thinking on September 15, 2026. Gemini 3.8 Live can handle tool and API tasks behind the scenes while the voice conversation carries on. Gemini 3.8 Live Extended Thinking uses early verbal cues and live progress narration to acknowledge prompts and walk users through multi-step background tasks.

Gemini 3.8 Live Extended Thinking supports function calling only in asynchronous mode. The voice layer must carry the user while the work happens. Gemini 3.8 Live can automatically detect and switch among 97 languages during a conversation. The same contract must hold across those languages.

Quality scores do not replace the contract. Gemini 3.8 Live Extended Thinking captured the top overall spot on the Artificial Analysis Speech to Speech Quality Index with an 82.6 score. A high score can still ship a bad waiting experience if the agent cannot say what it is doing.

The contract runs before, during, and after

Before the first result, acknowledge without stalling. Confirm the request in a way that preserves the user's intent. A bare please wait is a failure state. It tells the user to stop, but it does not tell them what is happening. Silence is worse. It removes the evidence that the system heard the request.

Name the task, name the next action, and keep the conversation open. Say, I'm checking your calendar for that slot, not one moment. If the task may take a while, say what you will do next: I'll tell you when I have the conflicts. The user should be able to interrupt without losing the task.

During the task, narrate only what changes the next move. An update is useful only when it changes what the user should do next. Otherwise, it is noise. Over-narration is a failure state because it makes the agent sound busy instead of useful. Google priced standard Gemini 3.8 Live at $0.005 per minute for audio inputs and $0.018 per minute for outputs. Every unnecessary update is billable airtime.

Meaningful progress has three types. A state change: I found two matching meetings. A decision point: Do you want me to move the first one?. A risk: The second one overlaps with a client call. Everything else belongs in the logs, not the voice channel.

After the task, close with a completion state. It must say what was done, what was not done, and what the user can do next. If the agent only says done, the user has to reconstruct the result. If it says I couldn't do that without a next step, the user has to guess the recovery step.

I moved the meeting to the later slot and left the client call untouched is a completion state. I updated your calendar is a vague confirmation. For errors, name the blocker and the next action: I could not find the meeting. Try giving me the date again.

Test the contract in one minute

Keep this list next to the test script. Each item is a one-minute check for a voice agent that performs background tasks.

  • Acknowledgment names the request. Ask for a background task and listen for a response that names the task, not just a pause.
  • No bare please-wait. If the agent says please wait, it must also say what it is doing or what it will say next.
  • Progress updates change the next move. Each update should add a state, a choice, or a risk the user can respond to.
  • No repeated state. The agent should not say the same status twice unless the user asks for it.
  • Interruption handling preserves task state. The user can interrupt, ask a question, or change the request, and the agent resumes with the task intact.
  • Completion states are actionable. The final response says what was done, what was not done, and what the user can do next.
  • Error states include recovery. The agent names the blocker and gives one next action the user can take.
  • Language and accent do not break the contract. If the agent supports multilingual speech, the same acknowledgment, progress, and completion states hold across languages.
Advertisement