Agent Templates

AI Voice Agent bauen

Kostenlose Spec für einen AI Voice Agent auf LiveKit Agents – ein Echtzeit-Voice-Loop mit Streaming-STT, schnellem LLM (Speed-Tier), Streaming-TTS, transformerbasierter End-of-Turn-Erkennung, adaptivem Barge-in, Function Tools, Gesprächsgedächtnis und einer Eval-Harness mit LLM-Judge. Ausgelegt auf ein Round-Trip-Ziel von 1.000 ms (200/400/200/200 für STT/LLM/TTS/Netzwerk).

In meinem Repo bauen →
AVA-1
Leg das Fundament für deinen AI Voice Agent
AVA-2
Verdrahte den LiveKit-Room und das Audio-I/O für deinen Voice Agent
AVA-3
Streame gesprochene Sprache in Echtzeit als Text
AVA-4
Verdrahte den LLM-Turn-Handler mit Streaming + Preemptive Generation
AVA-5
Streame die Antwort des Assistenten als Sprache zurück
AVA-6
Bau semantische Turn Detection und Barge-in-Handling ein
AVA-7
Gib dem Agent ein Tool, das er mitten im Gespräch aufrufen kann
AVA-8
Gib deinem Voice Agent ein Gedächtnis über das ganze Gespräch
AVA-9
Bau eine Eval-Harness mit Judges, die echte Gesprächstranskripte bewertet
AVA-10
Bring deinen AI Voice Agent live: Telefonnummer, Traces, Aufzeichnung, Regression
Nothing in flight
Nothing shipped yet
5 Minuten Planung, ~19 Stunden gespart. Registrier dich, und diese Spec mit 10 Tasks landet auf deinem Tekk-Board – dein Coding-Agent baut sie über MCP.
Jetzt bauen →

So nutzt du diese Spec

  1. Klick auf eine Zeile oben, um die ganze Task zu öffnen – Titel, Beschreibung, Subtasks, KI-Anweisungen, alles drin. Dasselbe Layout, das das Produkt intern nutzt.
  2. Klick auf Copy as Prompt in der rechten Seitenleiste einer Task. Du bekommst den in XML verpackten Prompt, den Tekk intern verwendet – füg ihn in Cursor, Claude Code, Codex, ChatGPT oder sonst wo ein, und der Agent hat den vollen Kontext der Task.
  3. Open in schickt denselben Prompt mit einem Klick direkt nach v0, Lovable, Bolt, Magic Patterns, Replit oder Cursor.

Was du baust

Goal 1: Liefere einen funktionierenden AI Voice Agent auf LiveKit Agents: eine Streaming-Pipeline aus STT → LLM → TTS, die über Web-Transport einen p50-Round-Trip unter 1.000 ms schafft, das Turn-Ende semantisch erkennt (nicht nur per VAD), Barge-in sauber behandelt, mitten im Gespräch Tools aufruft, sich an frühere Turns erinnert und mit Traces, Aufzeichnung und Regression-Evals im Produktivbetrieb besteht.
Voice Agent im Stil von Anthropic, gebaut auf LiveKit Agents als Hauptvariante (Pipecat als framework-unabhängige Alternative). Du wählst die Provider-Stufe einmal in STACK.md (STT / LLM / TTS / Turn Detector / Memory-Substrat); jede spätere Karte nutzt dann die passende Variante. Die Messlatte: p50-End-to-End-Latenz < 1.000 ms über die Eval-Suite mit 6 Szenarien, Fehlunterbrechungsrate < 5 % auf einer Turn-Detection-Fixture mit 50 Turns, Tool Calls brechen bei Barge-in innerhalb von 200 ms ab, der Multi-Turn-Memory-Test besteht, und die Regression-Harness zeigt nach dem Production-Hardening höchstens ±10 % Latenzdrift.

Architektur

flowchart LR
  User[User Audio] -->|WebRTC frames| Room[LiveKit Room]
  Room --> VAD[Silero VAD<br/>pre-warmed]
  VAD --> STT[Streaming STT<br/>~90-200ms]
  STT -->|partial transcripts| EOU[MultilingualModel EOU<br/>~50ms CPU]
  STT -->|partials| LLM[Speed-tier LLM<br/>preemptive gen<br/>~120-400ms TTFT]
  EOU -->|turn-end signal| LLM
  LLM -->|token stream| Tools{Function tool?}
  Tools -->|no| TTS[Streaming TTS<br/>~75-200ms first-byte]
  Tools -->|yes| Tool[Tool call<br/>interruption-aware]
  Tool -->|result| TTS
  TTS -->|audio frames| Room
  Room -->|WebRTC frames| User
  LLM <-->|history| Memory[(Session Memory<br/>in-memory)]
  TTS -.->|trace events| Tracer[Tracer<br/>JSONL stderr]
  STT -.->|trace| Tracer
  LLM -.->|trace| Tracer

Die tragende Randbedingung ist das p50-Latency-Budget von ~1.000 ms: 200 ms STT + 400 ms LLM + 200 ms TTS + 200 ms Netzwerk. Drei Architekturentscheidungen verteidigen es. Erstens: Jede Stufe streamt – STT gibt Teiltranskripte mitten in der Äußerung aus, das LLM streamt Tokens an TTS, sobald sie ankommen, TTS spielt Audio-Chunks ab, während es noch synthetisiert. Schon eine einzige Stufe ohne Streaming sprengt das Budget. Zweitens: Turn Detection ist ein Transformer-Klassifikator (MultilingualModel, 135 Mio. Parameter, ~50 ms auf der CPU) auf Silero VAD – nicht VAD allein. LiveKits eigene Daten: Das senkt Fehlunterbrechungen um 85 %, und das ist der Unterschied zwischen einem Gespräch, das sich menschlich anfühlt, und einem, in dem der Agent dazwischenredet. Drittens: Tools respektieren Unterbrechungen – jedes länger laufende Tool prüft speech_handle.interrupted und bricht bei Barge-in ab. Ohne das beendet der Agent ein verwaistes Tool 4 Sekunden, nachdem sein Gegenüber längst weiter ist, und liest ein veraltetes Ergebnis in den neuen Turn. Preemptive Generation lässt das LLM spekulativ laufen, bevor EOU bestätigt ist – das spart ~100 ms gefühlte Latenz, verbrennt aber bei jedem falschen EOU Tokens. Genau deshalb ist der Transformer-Klassifikator (nicht rohes VAD) die richtige Wahl.

Wann ein Voice Agent sinnvoll ist (und wann nicht)

Voice Agents sind ein ganz anderes Kaliber als Text-Agents. Der Handlungsspielraum ist klein (sprechen / Tool aufrufen / schweigen), aber das Fehlerbild ist brutal: Latenz. Ein Voice Agent, der 200 ms zu langsam ist, wirkt kaputt; bei einem Chat-Agent fallen 200 ms gar nicht auf. Greif zu diesem Pattern, wenn das Gespräch ZWINGEND über Audio laufen muss – Telefonsupport, Terminplanung während der Autofahrt, Workflows, bei denen die Hände voll sind. Ansonsten bau einen Chat-Agent und spar dir das Budget.

✓ Bau einen Voice Agent, wenn

  • Tippen keine Option ist. Telefonsupport, Terminplanung während der Autofahrt, Küche, Klinik oder Lager, wo die Hände voll sind. Audio ist der einzige praktikable Kanal.
  • Schnelle Antworten mehr zählen als perfekte. Anrufe weiterleiten, Reservierungen annehmen, Termine bestätigen – bei einfachen Abläufen gewinnt, was schnell und korrekt ist. Für solche Fälle ist das Latency Budget von 1.000 ms erreichbar.
  • Das Gespräch von Natur aus kurz ist. <5 Turns, eine Aufgabe pro Anruf. Lange Multi-Turn-Abläufe („Hilf mir, diesen Code zu debuggen“) leiden unter der aufsummierten Latenz und ermüden beim Zuhören.
  • Dein Team die Produktionsschicht liefern kann. Voice Agents brauchen Tracing, Aufzeichnung, Schwärzung und Provider-Failover – eine echte Engineering-Woche zusätzlich zum OSS-Framework. Wer so etwas baut, berichtet immer wieder (laut dem Launch von Dograh), dass 60–70 % der Kosten auf die Gebühr der gehosteten Plattform entfallen – eben weil diese Produktionsschicht so schwer ist.
  • Telefonie und Telefonnummern Pflicht sind. Geht es um eingehende Anrufe, führt an Voice kein Weg vorbei. LiveKit SIP oder Twilio-Einwahl sind die beiden Wege in die Produktion.

⚠ Bau einen Chat-Agent, wenn

  • Bildschirm und Tastatur da sind. Chat liest sich schneller, lässt sich leichter überfliegen und ist günstiger im Betrieb. Voice ist die schlechtere Schnittstelle, solange Audio nicht wirklich nötig ist.
  • Die Aufgabe Daten zeigen muss. Tabellen, Code, Bilder, Links – nichts davon kann Voice darstellen. Eine Tabelle mit 12 Zeilen vorzulesen ist genau das Fehlerbild.
  • Das Gespräch länger als 5 Turns dauern wird. Die Latenz summiert sich. Multi-Turn-Abläufe per Voice, die in Demos funktionieren, fühlen sich in der Produktion wie Telefonmenüs an. Verlege komplexe Abläufe in den Chat, mit einer Übergabe aus dem Voice-Kanal.
  • Deine Unit Economics die Streaming-Kosten nicht tragen. Streaming-STT + Speed-Tier-LLM + Streaming-TTS kostet pro Minute mehr als Chat im Batch. Bei hohem Volumen und geringem Wert pro Fall geht die Rechnung womöglich nicht auf.
  • Du noch keine Chat-Version ausgeliefert hast. Erst Chat, dann Voice – das ist die richtige Reihenfolge. Voice bringt jedes Fehlerbild von Text-Agents mit, dazu Latenz, Turn Detection und Unterbrechungen. Liefer zuerst die einfachere Version aus.

Was die Community sagt

"Even with solid OSS (Pipecat/LiveKit), we still had to do a lot of plumbing — variable extraction, tracing, testing etc. We'd spent more time building infrastructure than building the actual agents. 60–70% of our total spend was the Vapi platform fee."
a6kme (hat Dograh gegründet) · Show HN: Dograh – an OSS Vapi alternative · 2025-11 · news.ycombinator.com
"Livekit feels more or less for media handling then building voice agent. Pipecat is good project … but not enterprise ready, need to do lot of work to deploy."
p_srivastav · Is there open source alternative for VAPI or retellai? · 2025-10 · news.ycombinator.com
"One of the hardest problems to solve right now for voice AI applications is end-of-turn detection. VAD only picks up on when someone is speaking, whereas a human also uses semantics. Our transformer EOU model reduces false interruptions by 85%."
Engineering-Team von LiveKit · Using a transformer to improve end-of-turn detection · livekit.com

Woran du erkennst, dass es funktioniert

Setz die Spec um und miss sie dann an diesen Kriterien (die Task mit dem Eval-Harness bewertet sie):

  • p50-End-to-End-Latenz < 1.000 ms auf einer Fixture-Suite mit 6 Szenarien, gemessen pro Stufe (STT / LLM / TTS) und als Round-Trip gesamt
  • p95-End-to-End-Latenz < 1.500 ms – erfasst Regressionen der Tail-Latenz, die p50 verdeckt
  • Fehlunterbrechungsrate < 5 % auf einer Turn-Detection-Fixture mit 50 Clips (25 echte EOU + 25 falsche EOU; Transformer-EOU + adaptive Interruption)
  • Rate verpasster Turn-Enden < 5 % auf derselben Fixture – das Modell übersieht kein echtes Turn-Ende
  • Barge-in-Latenz < 200 ms – dein Gegenüber unterbricht, der Agent verstummt innerhalb von 200 ms
  • Genauigkeit der Tool Calls: tool_use_judge besteht im Szenario mit Kalenderabfrage, einschließlich des Cancel-on-Interrupt-Pfads
  • Multi-Turn-Gedächtnis: Fixture mit 3 Turns (in Turn 1 nennt dein Gegenüber den eigenen Namen, in Turn 3 kommt die Frage danach) – accuracy_judge besteht
  • Halluzinationsfalle: Nach einer nicht existierenden Reservierung gefragt, sagt der Agent, dass es keinen Eintrag gibt, statt einen zu erfinden – accuracy_judge besteht
  • Regression: Nach dem Hardening in Aufgabe 10 die Baseline erneut laufen lassen; p50-Latenz innerhalb von ±10 % der ursprünglichen Baseline

Quellen

Jede Aussage, jedes Pattern und jede Abnahmeschwelle auf dieser Seite geht auf eine dieser Quellen zurück. Lies sie, bevor du von der Spec abweichst.

Bau das noch heute Abend in deine Codebase

Wähl deinen Stack anhand der fünf Entscheidungen in STACK.md und registrier dich: Diese Spec mit 10 Tasks landet auf deinem Board, dein Coding-Agent (Claude Code, Codex, Cursor) baut sie über den Tekk-MCP-Server, und der gemergte PR schließt sie. Nach dem Launch behält Tekks AI-Engineering-Loop den Agent weiter im Blick – Harness, Prompts, Tools, Kontext, Memory, Retrieval, Evals und Kosten – und bringt dir ein Proposal, sobald sich etwas ändern sollte. Lieber selbst machen? Öffne oben eine beliebige Task und klick auf Copy as Prompt – und füg den Prompt in Cursor, Claude Code oder Codex ein.

In meinem Repo bauen →

Verwandte Specs

Deep Research Agent

Kostenlose Spec für einen Deep Research Agent – Anthropics Multi-Agent-Research-Pattern mit Orchestrator, para…
use-case · researchframework-agnostic

AI Coding Agent

Kostenlose Spec für einen AI Coding Agent – der Edit-Test-Verify-Loop hinter Aider, OpenHands, SWE-agent und C…
use-case · codingframework-agnostic

AI Sales Agent

Kostenlose Spec für einen AI Sales Agent – ein Loop aus Recherche, Personalisierung und Outreach, den ein Repl…
use-case · salesframework-agnostic

Customer Support Agent· demnächst

Intercom-style multi-agent support — ticket classifier, RAG over docs, escalation routing, conversation memory…
use-case · customer-supportframework · claude-agent-sdk