Een native-audio spraakmodel hoort audio en antwoordt in audio, zonder tekststap ertussen. Dat ene feit verandert hoe je het model prompt. De reflexen die je opbouwde bij tekstmodellen en spraaksynthese werken hier stilletjes tegen je, en het resultaat is een agent die bijna goed klinkt en zich bijna goed gedraagt, wat op een telefoonlijn hetzelfde is als fout.
Drie gereedschappen die je door elkaar haalt
Een klassieke voice-pipeline is drie losse modellen achter elkaar: spraakherkenning zet audio om in tekst, een taalmodel bepaalt wat er gezegd wordt, en spraaksynthese zet die tekst weer om in geluid. Je prompt het taalmodel voor de inhoud en je regelt de spraaksynthese met parameters als stem, stabiliteit en tempo. Twee onafhankelijke sets knoppen.
Een native-audio speech-to-speech model vouwt die drie samen tot één. Er is geen aparte spraaklaag meer om aan te draaien. Alles wat je vroeger als taalmodel-instructie formuleerde en alles wat je als spraakparameter instelde, moet nu op dezelfde plek staan: de system-instructie, in gewone taal.
De kern in één zin
De spraakknoppen zijn nu woorden
Als er geen spraaksynthese-laag is, is er geen stabiliteitsschuif, geen tempo-instelling, geen aparte stemconfiguratie om op te leunen. Tempo, register, warmte, hoe lang een antwoord doorloopt, of de agent onderbreekt of wacht: het wordt allemaal via de instructie zelf gestuurd. Wil je dat het model op een bepaalde manier klinkt, dan moet je die manier beschrijven.
Je bent Sam, de receptionist van een tandartspraktijk.
Spreek rustig en beknopt. Houd antwoorden op één of twee
zinnen. Val de beller nooit in de rede: begint hij te
praten, stop dan meteen en luister. Warm, niet praterig.Eén regel uit Google's eigen richtlijnen is het waard om vroeg eigen te maken: wil je een specifiek accent, noem dan de output-taal erbij, want accent en taal zijn binnen één audiomodel op een manier verweven die ze bij een losstaande spraaklaag nooit waren.
De instructie is je enige hefboom, en je hebt één poging
Hier zit het punt dat mensen vanuit tekstmodellen verrast. Bij een taalmodel kun je halverwege het gesprek context blijven toevoegen: een feit injecteren, de system-prompt herschrijven, het model tussen beurten bijsturen. Op verschillende native-audio modellen zijn die deuren dicht. Google's Live API-documentatie stelt het onomwonden: op het 3.1 Flash Live-model zijn de aanroepen om een antwoord opnieuw te genereren, de instructie bij te werken en de lopende context bij te werken niet compatibel, en het voice-framework waarop wij bouwen markeert de instructie en de context van dat model als vast voor de duur van de sessie. Welke deuren dicht zitten verschilt per model en per generatie, dus zoek het op voor het model dat jij draait in plaats van het aan te nemen. Ga er tot die tijd van uit dat de instructie vastligt: dat is de goedkopere vergissing.
Wat dat in de praktijk betekent
Dat verhoogt ook de inzet op de openingszin. De normale manier om een model als eerste te laten spreken wordt op dit model geweigerd, dus een gescripte begroeting kan geen aparte stap zijn. Wil je dat de agent met een exacte zin opent, dan hoort die zin vastgepind in de instructie, niet afgevuurd als een eigen commando.
De regels die standhouden, vertaald naar spraak
Google's best-practice-richtlijn voor de Live API is kort en gaat vooral over structuur. Definieer de persona concreet: naam, rol, karakter. Zet je gespreksregels in de volgorde waarin je verwacht dat ze uitgevoerd worden, en scheid de dingen die één keer gebeuren (begroeten, een naam uitvragen) van de loop die zich herhaalt (het lopende gesprek). Beschrijf een tool-aanroep in eigen, losse zinnen in plaats van in één lange samengestelde zin. Het model zover krijgen dat hij vertelt dát hij iets opzoekt terwijl dat loopt, telt zwaarder dan het klinkt, en waarom staat in dertig seconden, één poging.
Voor taal is er een expliciet recept. Moet de agent in een niet-Engelse taal antwoorden, zeg dat dan twee keer, bevestigend, en houd de taalinstelling van het model gelijk aan de gesproken taal van de beller.
RESPOND IN {OUTPUT_LANGUAGE}.
YOU MUST RESPOND UNMISTAKABLY IN {OUTPUT_LANGUAGE}.De richtlijn is net zo duidelijk over terughoudendheid. Laat de agent niet herhalen wat de beller net zei. Schrijf geen prompt van meerdere pagina's: koppel liever kortere prompts aan elkaar. En onderbreekt een beller, gooi dan de audio die je op het punt stond af te spelen meteen weg, zodat de agent niet dóórpraat over iemand die al begonnen is.
Wat stilletjes niet werkt
Drie gewoontes falen zonder foutmelding, en dat is precies wat ze gevaarlijk maakt. Er crasht niets, het gesprek loopt alleen net verkeerd en je merkt het pas later.
De eerste is de onzichtbare hint tijdens het gesprek. Bij een tekstmodel kun je ongemerkt context in het gesprek schuiven. Bij dit model behandelt het enige kanaal dat mid-sessie nog werkt jouw tekst als gebruikersinvoer, dus het model antwoordt er hardop op. Een stille context-update bestaat hier niet. Plan er vooraf omheen.
De tweede is grijpen naar de expressiviteits-features. Native-audio modellen boden instellingen die emotie en spontaniteit zouden sturen, en wij merkten dat ze onbetrouwbaar genoeg waren om de toon liever via de bewoording van de instructie te sturen. Een deel van die vlaggen is in nieuwere generaties inmiddels helemaal verdwenen, wat het punt eigenlijk maakt: een gewone beschrijving in de instructie overleeft een modelupgrade, een leveranciersvlag niet per se.
De derde is de muur van tekst. Een native-audio model met een uitgesponnen prompt van meerdere pagina's neigt juist méér tot afdwalen en stilvallen, niet minder, en omdat je het niet mid-gesprek kunt corrigeren is een opgeblazen instructie een gok die je niet kunt terugnemen. Kort en geordend wint van lang en volledig.
De valstrik in één regel
De mentale omslag
De reden dat geleende intuïtie faalt, is dat een pipeline uitnodigt tot itereren en een speech-to-speech model niet. Met een schrijver plus een aparte stem kun je aan beide draaien, desnoods tijdens de vlucht. Met één audiomodel regisseer je een stemacteur die je precies één keer mag briefen, aan het begin van de scène. Dus schrijf de persona, pin de begroeting, beschrijf de klank in woorden, zet de taal twee keer neer, en houd het kort genoeg dat het model het daadwerkelijk kan vasthouden.
Niet elk speech-to-speech-model werkt nog zo. GPT-Live-1 van OpenAI splitst de prompt in tweeën: één voor de stem en één voor het model dat erachter het werk doet. Wat dat verandert, staat in GPT-Live-1 aan de telefoon. En full-duplexmodellen verschillen van de rest op iets wezenlijkers dan het promptformaat: ze bepalen hun eigen beurten, waardoor instructies over onderbreken en over andere stemmen in de kamer daar wél iets doen en nergens anders. Dat onderscheid, en welke van je bestaande regels dood zijn op welk model, staat in de regels in je prompt die nooit worden uitgevoerd. Waar de milliseconden heen gaan terwijl dit allemaal gebeurt staat in het latency-budget van een telefoongesprek, en de instellingen die op elk model behalve een full-duplexmodel over onderbreken gaan staan in barge-in afstellen op telefoongeluid.
Een stem prompten die terugpraat is niet een taalmodel prompten en niet een spraaklaag configureren. Het is een derde vak, en hoe eerder je stopt het als een van de andere twee te behandelen, hoe eerder je agent stopt met bijna goed klinken.
Bronnen: Gemini Live API best practices en Live API capabilities. De gedragsnotities over het 3.1-model komen uit onze eigen engineering-ervaring met native-audio agents op live telefoonverkeer.
