PROJEKTEINBLICK ·

Wann beginnt eine Antwort wirklich?

In Teil 2 hatte ich die langen Pausen meines Assistenten mit Streaming und einem vorbereiteten Whisper-Server verkürzt. Mit der Weboberfläche kamen weitere Schritte hinzu. Ein schneller Modellaufruf allein sagte mir jetzt noch weniger darüber, wann ich die Antwort tatsächlich hören würde.

KONZEPT · UMSETZUNGOliver Röschner
LESEZEIT5 Minuten
BEREICHTECHNOLOGIE
Präzisionsinstrumente und Kupferleitungen messen mehrere Signalwege auf einem dunklen Prüfstand
KI GENERIERTES ARTIKELBILD | OPERUS

Ich konnte auf einen Mikrofonknopf klicken, sprechen und auf die Antwort warten. Hinter diesem scheinbar einfachen Vorgang lagen aber mehrere Übergänge: Aufnahme oder Browser-Erkennung, Textübertragung, Routing, Modellantwort, Spracherzeugung und schließlich Wiedergabe im Browser.

Jeder einzelne Abschnitt konnte funktionieren, während sich das Gespräch insgesamt trotzdem zäh anfühlte. Genau diese Erfahrung kannte ich schon aus den ersten Sprachversuchen. Die Weboberfläche gab ihr weitere Stellen, an denen ich genauer hinsehen musste.

Der Klick sollte sofort etwas auslösen

Beim Mikrofonknopf begann die Wahrnehmung von Geschwindigkeit schon vor meiner eigentlichen Frage. Ich wollte erkennen können, dass der Assistent jetzt zuhörte. Wenn nach dem Klick erst andere Prüfungen liefen, entstand bereits hier eine Pause.

Für den schnellen Browserweg wurde deshalb ein klarer Ablauf festgehalten. Die Spracherkennung startet unmittelbar aus dem Klick. Der Bestätigungston läuft parallel. Während ich spreche, kann ein vorläufiger Text im Eingabefeld erscheinen.

Dieser vorläufige Text ist aber noch kein fertiger Auftrag. Erst wenn das Transkript vollständig final ist, wird es weitergesendet. Ein Klick soll zu einer Eingabe und einer Antwort führen.

  • Erkennung direkt mit dem Mikrofonklick starten.
  • Den Ton parallel abspielen, statt darauf zu warten.
  • Vorläufigen Text anzeigen, aber noch nicht absenden.
  • Das fertige Transkript einmal an die Anwendung übergeben.
  • Nach der Antwort oder einem Abbruch wieder bereit sein.

Es ging also auch darum, unnötige Arbeit aus diesem Weg herauszuhalten. Eine zusätzliche Modellkorrektur des Transkripts konnte einen weiteren Aufruf bedeuten. Zwei gleichzeitig gestartete Aufnahmewege konnten aus einer Eingabe mehr als einen Vorgang machen.

Zwei Wege dürfen sich nicht in die Quere kommen

Der schnelle Webpfad verwendete die Spracherkennung des Browsers. Lokales Whisper blieb als eigener, wählbarer Weg vorhanden. Die beiden sollten nicht unbemerkt gleichzeitig für denselben Mikrofonklick arbeiten.

Damit änderte sich auch eine wichtige Eigenschaft gegenüber dem frühen Aufbau. Browser-Spracherkennung ist ein anderer Dienst als mein lokaler Whisper-Server. Aus der Tatsache, dass mein Sprachmodell lokal läuft, folgt keine Offline-Zusage für die gesamte Browser-Erkennung.

Diese Unterscheidung musste im Ablauf klar bleiben. Sonst konnte eine gut gemeinte Erweiterung die direkte Bedienung verschlechtern, obwohl jeder Baustein für sich sinnvoll wirkte.

Die richtige Zahl messen

Auch bei den Messwerten musste ich genauer unterscheiden. Ein kompletter Gesprächsdurchlauf konnte lange dauern, weil ich lange sprach oder weil die Antwort ausführlich war. Das war etwas anderes als eine lange stille Pause vor dem ersten Wort.

Was die Messwerte beschreiben
MessbereichWas ich damit unterscheiden konnte
STTZeit für die Umwandlung meiner Sprache in Text
ROUTEZeit für die Erkennung des passenden Verarbeitungspfads
WAITVom finalen Transkript bis zum ersten gestarteten Audio im Browser
VOICESpracherzeugung und Wiedergabe der Antwort
TURNDer gesamte Vorgang einschließlich Zuhören und Ausgabe

Für mich begann die gesprochene Antwort erst, wenn ich sie hören konnte.

Der erste Text vom Modell war ein hilfreicher Messpunkt. Bis zur hörbaren Ausgabe fehlten aber noch Schritte: eine geeignete Satzgrenze, die Sprachsynthese, die Übertragung und der Start der Audiowiedergabe.

Ein Studiomikrofon steht zwischen einem lokalen Rechner und einer in Glas eingelassenen Wellenform
KI-generierte Illustration. Vom ersten Modelltext bis zur hörbaren Antwort zählt jeder Schritt der Sprachpipeline.

Deshalb konnte ich nicht einfach einen guten Modellwert nehmen und ihn als Antwortzeit des ganzen Assistenten ausgeben. Die Messung musste zu der Erfahrung passen, die ich verbessern wollte.

Der Cold Start blieb ein eigenes Thema

In den späteren Messungen zeigte sich erneut der Unterschied zwischen einem geladenen Modell und einem echten Neustart des Modells. Warme Antworten konnten serverseitig schnell beginnen. Ein vollständiges Nachladen brauchte wesentlich länger.

Das passte zu der Erfahrung aus der Whisper-Pipeline: Vorbereitung sollte möglichst vor dem Gespräch stattfinden. Auch beim Sprachmodell waren Warm-up und ein kontrollierter Modellwechsel wichtig.

Entscheidend war für mich, wie lange es nach meiner Frage still blieb. Deshalb musste ich im Browser den gesamten Weg bis zur ersten hörbaren Antwort betrachten.

Schnell musste auch verlässlich bleiben

Eine Optimierung half mir wenig, wenn danach doppelte Antworten entstanden oder das Mikrofon beim nächsten Klick nicht mehr bereit war. Der schnellere Ablauf musste ebenso nach einem Fehler, Abbruch oder Verbindungsverlust wieder funktionieren.

Damit ging es bei der Performancearbeit zunehmend um die Übergänge zwischen den Teilen. Ich wollte einen frühen Beginn der Antwort und danach einen sauberen Gesprächsfluss. Einzelne gute Zahlen reichten dafür nicht aus.

Die Regeln für diesen Mikrofonweg wurden deshalb ausdrücklich dokumentiert. Neue Ideen sollten nicht nebenbei den Pfad verändern, den ich gerade erst schneller und berechenbarer gemacht hatte.

Teil 12: Er sollte auch beim nächsten Mal funktionierenIm nächsten Teil geht es um das, was hinter einer verlässlichen Anwendung steckt: Fehlerfälle, laufende Prozesse, gespeicherte Daten und Tests. Dinge, die man erst bemerkt, wenn sie nicht funktionieren. JORIS