Designing the Voice Agent Brain

10 min read Module 3 of 9 Topic 7 of 25

What you'll learn

  • Explain why prompts written for text chat fail when spoken aloud by TTS
  • Apply latency-aware prompting techniques: shorter outputs, streaming-friendly structure, filler-phrase strategies
  • Compare claude-sonnet-5 and GPT-5 as reasoning backends for a voice dialogue manager
  • Write a production-grade system prompt for a spoken conversational agent
Building this at your company? For enterprise and company teams taking this to production: book a 30-minute session with our AI engineers for architecture guidance, code review, and a rollout plan for your use case.
Book a Team Session

Everything upstream of this lesson, streaming ASR, turn detection, was built to deliver one thing cleanly to the dialogue manager: a finalized, well-timed transcript of what the caller just said. What happens next is where most of the perceived intelligence of a voice agent actually lives, and it’s also where a straight port of chatbot prompting habits quietly breaks the whole pipeline. This lesson is about prompting and model choice for a brain that has to think and speak in real time, not write an essay.

Spoken language is a different medium, not a shorter version of text

Text chat responses can afford to be long, structured, and visually organized, because a reader controls their own pace, can re-scan a paragraph, and can visually parse a bulleted list in a glance. None of that applies on a phone call. A caller hears words in a fixed order at a fixed pace, cannot re-read anything, and loses track of a response the moment it exceeds roughly two sentences of density. A markdown bulleted list, harmless in a chat UI, becomes either literal spoken punctuation (“asterisk, first item…”) or, if the TTS layer silently strips markdown, a wall of run-on sentences with none of the structure the list was meant to provide.

The practical rules that follow are specific and non-negotiable for a voice system prompt: no markdown, ever. Short sentences, generally under 20 words, because that’s roughly what a listener can hold in working memory without needing repetition. One idea per sentence, since spoken language doesn’t support the dense subordinate clauses written prose tolerates. Numbers, dates, and currency should be phrased the way a person would say them aloud (“four forty-five” rather than “$4.45” as a literal string, though smart_format on the ASR side and the TTS engine’s own normalization typically handle the reverse direction). And responses should default shorter than feels natural for a text model, since a caller will always ask a follow-up if they want more, but they can’t skim past a response that’s too long.

Latency-aware prompting

Response length isn’t just a comprehension concern, it’s directly a latency concern, because time-to-first-audio is bounded below by how long the LLM takes to produce enough tokens for TTS to start synthesizing. A system prompt that encourages long, thorough answers is also, silently, a system prompt that increases the latency budget from Lesson 2’s pipeline diagram. Two techniques address this directly. First, structure prompts so the model’s natural first sentence is a direct, useful answer, not a preamble (“Great question! Let me look into that for you…”) that adds tokens before anything TTS-worthy exists. Second, stream the LLM’s output token by token into TTS rather than waiting for the full response, so synthesis of the first sentence begins while the model is still generating the third.

The other latency lever is filler-phrase strategy, covered in full in the next lesson on function calling: when the dialogue manager needs to call a tool that will take real time, acknowledging that immediately (“let me pull that up”) gives the caller something to hear while the tool runs, rather than silence that reads as a dropped call.

Choosing the reasoning backend

claude-sonnet-5 and GPT-5 are both credible 2026 choices for a voice dialogue manager, and neither is universally faster or better; the right choice depends on your specific tool schema, system prompt length, and the task distribution of real conversations. What matters more than picking a “winner” from general benchmarks is measuring both under your actual conditions: time-to-first-token with streaming enabled, using your real system prompt and tool definitions (longer tool schemas measurably slow first-token latency on both providers), and task success rate against a representative sample of your own conversations, not a generic leaderboard. A model that’s marginally slower but meaningfully more reliable at correctly invoking the right tool is usually the better trade for a support agent, where a wrong tool call costs more than 100ms of latency; a model that’s faster but occasionally verbose may be the better trade for a casual in-app assistant where speed is what users actually notice.

flowchart TB
    TRANSCRIPT["Final transcript\nfrom turn detection"] --> DM["Dialogue manager\nclaude-sonnet-5 or GPT-5"]
    DM --> DECIDE{"Needs a tool call?"}
    DECIDE -->|yes| FILLER["Emit filler phrase\n'let me check that'"]
    FILLER --> TOOL["Execute tool call"]
    TOOL --> DM2["Generate final response\nwith tool result"]
    DECIDE -->|no| DM2
    DM2 --> STREAM["Stream tokens\nto TTS as generated"]

    style TRANSCRIPT fill:#EEF0F7,stroke:#6366F1,color:#0F172A
    style DM fill:#f0fdf9,stroke:#0D9488,color:#0F172A
    style DECIDE fill:#f0fdf9,stroke:#0D9488,color:#0F172A
    style FILLER fill:#fff7ed,stroke:#f59e0b,color:#0F172A
    style TOOL fill:#f0fdf9,stroke:#0D9488,color:#0F172A
    style DM2 fill:#f0fdf9,stroke:#0D9488,color:#0F172A
    style STREAM fill:#fff7ed,stroke:#f59e0b,color:#0F172A

A production system prompt

Here’s a realistic starting point for a support agent’s system prompt, encoding the rules above directly rather than hoping the model infers them:

SYSTEM_PROMPT = """
You are a voice support agent for Aria Bank, speaking on a live phone call.
Your response is converted directly to speech, so follow these rules exactly:

- Never use markdown, bullet points, numbered lists, or any visual formatting.
  Speak in plain, natural sentences only.
- Keep responses to 1-3 short sentences unless the caller explicitly asks
  for more detail. You can always continue in the next turn.
- Use contractions and a warm, conversational tone, the way a helpful
  human agent would talk, not a written notice.
- Say numbers, dates, and amounts the way a person would say them aloud
  ("your balance is two hundred and forty dollars", not "$240.00").
- If you need to call a tool that might take a moment, say a short
  acknowledgment first ("let me pull that up") before the tool result
  arrives, so the caller isn't left in silence.
- If you're not confident you understood the caller correctly, ask a
  short clarifying question rather than guessing.
- If the caller's request is outside what you can help with, offer to
  transfer them to a human agent rather than refusing outright.
"""

Every rule in that prompt maps directly to a real failure mode covered in this course: the no-markdown rule prevents TTS from reading punctuation aloud, the length limit protects the latency budget, the acknowledgment rule is the filler-phrase strategy the next lesson builds out in code, and the transfer-to-human rule is the escalation path Lesson 1 flagged as the difference between a demo and a system real users can call.

On a managed platform this same prompt is a config field, not application code. NextNeural’s campaign object accepts a persona_prompt string directly (POST /api/voice/flows), and the platform wires it into every call the campaign dials without you owning the dialogue-manager loop that assembles it. The rules above still apply word for word, since a persona_prompt is still text handed to the same class of reasoning model; what changes is where that prompt lives and who’s responsible for iterating on it.

Knowledge Check

4 questions to test your understanding

1 A team reuses their existing customer-support chatbot's system prompt for their new voice agent unchanged. The TTS output sounds robotic and takes far too long per turn. What is the most likely root cause?

2 Why do production voice agents often insert a short filler phrase ('let me check that for you') before a tool call, rather than just waiting silently for the tool to return?

3 A team is choosing between claude-sonnet-5 and GPT-5 as their dialogue manager's reasoning backend for a support voice agent with heavy tool-calling needs. What is the most defensible way to decide, rather than picking based on general reputation?

4 A voice agent's system prompt includes the instruction 'always respond in complete, well-structured paragraphs.' Why is this likely counterproductive for a spoken agent?

Discussion

Questions and notes from learners on this topic

Loading discussion…

Go further with expert guidance

Ready to build production AI?
Talk to our R&D team.

These courses give you the foundation. Our embedded AI teams take you from prototype to production in 30–90 days, with your team, your codebase, your goals. Book a free strategy call to see how we can accelerate your AI initiative.

30 minutes · No obligation · Expert AI engineers, not sales reps

AI Architecture Review

Audit your current stack and identify high-impact improvements

Project Review

Get expert feedback on your AI implementation and codebase

Team Mentoring

Upskill your engineers with hands-on AI coaching sessions

AI Strategy

Define your AI roadmap, prioritization, and implementation plan