One Tool: Delegate

A voice model that only orchestrates

Amplifier Voice

Voice is what people ask Amplifier for first — but it can't be bolted on

Real voice AI needs real-time WebRTC audio streaming (24kHz PCM) between the browser and the OpenAI Realtime model. And the fast model doing the talking shouldn't be the one doing the hard work.

The good news: it's already a real, working build.

This is a real, sizable build — not a mockup

A working WebRTC voice architecture: a FastAPI server bridging the browser to OpenAI Realtime, plus a full TypeScript voice client.

So the pieces exist. The question is which model does what.

~3,527
lines of server Python (excl. vendored homeassistant_tool)
~5,719
lines of client TypeScript / TSX
931
lines in amplifier_bridge.py
225
lines in config.py

Fast enough to talk — but not the model you want doing the work

Voice I/O runs on OpenAI's gpt-realtime model over WebRTC. In-repo synthesis docs set aggressive targets for responsiveness.

So how do you keep the fast model talking without letting it do the hard work?

~500ms
time-to-first-audio (documented target)
<800ms
voice-to-voice latency (documented target)

The voice model is told: "YOU ARE AN ORCHESTRATOR"

The system prompt gives it exactly ONE work tool — delegate — so it can't try to do things itself. All other Amplifier tools stay internal to the spawned agents.

If delegate is the only way to act, who actually does the work?

# config.py _base_instructions YOU ARE AN ORCHESTRATOR. You have ONE tool: - delegate: Send tasks to specialist AI agents DELEGATION IS YOUR ONLY WAY TO DO THINGS ... Don't try to do things yourself - delegate!

Delegate hands tasks to six specialist agents on Claude

The named specialists run on Anthropic Claude (default claude-sonnet-4). Delegation is one level deep — spawned agents set exclude_tools=['delegate'], so they can't re-delegate.

Now the split is set: a fast talker and slow-but-capable agents.

explorer zen-architect modular-builder bug-hunter git-ops web-research

"Think while it talks"

The model is instructed to ALWAYS say something before calling a tool — announce a short phrase, THEN delegate immediately. The fast voice keeps talking while the slower, more capable agents do the real work.

One responsive system: a fast orchestrator and capable agents in step.

Announce a short phrase — then hand the real work to the agents.

It's honest about what isn't shipped yet

Main-session cancellation works: request_cancel() calls the coordinator's graceful/immediate cancel. But propagating cancellation to in-flight child agents is a documented TODO in the code — not yet implemented.

The architecture reads as real precisely because its limits are stated.

Constrain the fast model to orchestrate, not act

Delegation-as-architecture is fast to build: the core delegate/orchestrator design landed in a ~4-5 day commit burst and was finalized ~two weeks after local clone. And it's reusable — a second voice architecture (Siri/CarPlay over Tailscale) already lives in a sibling repo.

Give the fast model one job: hand the work to someone better at it.

~4-5
days for the core delegate/orchestrator build (Jan 30–Feb 3, 2026)
~2 wks
clone (Feb 2) to last commit (Feb 18, 2026)
2
server variants in the sibling amplifier-voice-bridge repo
Sources

Research Methodology

STATUS: WORKING (orchestrator/delegate shipped)

Data as of: February 2026. Primary source: ramparte/amplifier-voice (checked out at ~/dev/ANext/amplifier-voice); sibling repo ramparte/amplifier-voice-bridge. Upstream author bkrabach; local reflog author Sam Schillace.

Research performed:

Gaps: ~500ms / <800ms latency are documented in-repo TARGETS, not measured production numbers. Session-length limits disagree across docs (15 min vs 60 min) and default voice drifts across files (marin/ash/verse) — no single value stated. OpenAI's "August 2025 GA" is a repo-asserted external fact, not independently verified. "Three architectures" is framing, not a repo-stated fact; child-agent cancellation propagation is a TODO, not shipped.

More Amplifier Stories