# Voice Agents (/academy/voice-agents)



A voice agent is the same [agent](/academy/agent) with the keyboard taken away.

Speech in, speech out, and in the middle a normal loop: decide, call a tool, speak. You are not talking to a nicer hold message. You are talking to something that can look up the order, move the booking, or — in this world — refuse to invent a [stack](/academy/stack) and call [MCP](/academy/mcp) instead.

**Talking is the easy part**

Plenty of robots talk. Three harder things have to land at once or it feels haunted:

1. **[Latency](/academy/latency).** A half-second of dead air is a dropped call. It has to answer like a person, not a fax.
2. **Turn-taking.** You cut in. You change your mind. A good one goes quiet. A bad one talks over you.
3. **Hands.** Sounding warm is cheap. Doing the thing means [tool calling](/academy/tool-calling) into real software. No tools, no agent — just a mouth.

Use it when your hands are full. Do not use it to debug a [type error](/academy/type-error). That still wants a keyboard, a [CLI](/academy/cli) receipt, and a screen you can scroll.

This repo's plugin and `npx create-hackhaton-space-stack@latest mcp` are text-first hands. An [Agents SDK](/academy/agents-sdk) is how some teams add ears and a mouth around that same loop. The [builder](/builder) stays a dining room. Nobody is choosing Hono by voice at 2 a.m. on purpose.

A voice agent can be confidently wrong out loud, with nothing on screen to audit. A good one knows the edge and hands you to a human.

**What this unlocks**

The door is no longer a keyboard. The employee is still the employee — tools, [guardrails](/academy/guardrails), a tight [permission scope](/academy/permission-scope). You just talk.

When the hands are busy, the mouth has to be enough. When they aren't, type.
