← Journal
Technik·12. Mai 2026

Wenn der Assistent erst „OK, ich schaue nach“ sagt

Ein Smartphone liegt flach auf einem dunklen Holzschreibtisch, der Bildschirm dunkel bis auf einen kleinen blauen Lichtpunkt, daneben eine Keramiktasse und ein aufgeschlagenes Notizbuch, weiches Licht am späten Vormittag

Bis zum 12. Mai zeigte der Bildschirm zwischen dem Loslassen der Taste und der Antwort der Stimme nichts. Fünf, zehn, manchmal fünfzehn Sekunden ohne ein Zeichen, und die App sah aus, als wäre sie abgestürzt. Dieser Tag galt diesen Pausen: Lichtsäume, die auf die Stimme reagieren, ein Zustand „ich denke nach“, der die Kugel leuchten lässt, eine entfernte Sprechblase, und ein kurzer Satz, „OK, ich schaue mir das an“, den der Assistent sofort sagt, wenn die Antwort dauern wird.

Ein Bildschirm, der nichts anderes zu tun hat, als zu beruhigen

Die App hat einen einzigen Bildschirm, und auf diesem Bildschirm eine Kugel. Als wir diese Oberfläche so gestaltet haben, dass man sie nicht sieht, haben wir einen Preis akzeptiert: Alles, was die App tut, muss sich an dieser Kugel ablesen lassen, oder nirgends. Eine gewöhnliche App hat einen drehenden Kreis, einen Fortschrittsbalken, eine ausgegraute Schaltfläche. Hier gibt es nur die Bewegung einer Form und eine Stimme.

Solange das Gespräch ein kurzer Austausch blieb, reichte das. Man hält die Taste, spricht, lässt los, und die Antwort kommt ein, zwei Sekunden später. Sobald eine Anfrage aber eine Suche brauchte, ein Rezept, einen Ort, eine Störung, die zu diagnostizieren war, dauerte es fünf bis sieben Sekunden, bis die Antwort losging. Und wenn sich Transkription, Modell und Sprachsynthese addierten, konnte man fünfzehn Sekunden warten, ohne dass sich ein Pixel rührte. Der Bildschirm kehrte in dem Moment in den Ruhezustand zurück, in dem der Finger die Taste verließ, genau so, als hätte niemand etwas gehört.

Die Frage der ersten Tests passte in einen Satz: „Hängt er, oder arbeitet er?“ Man tippte auf den Bildschirm, schloss eine Karte, wiederholte die Anfrage. Und manchmal kam die Antwort, während man sie gerade wiederholte.

Dieser 12. Mai, zwischen zwei Versuchen mit Fotos für die Karten, galt also diesen Pausen. Vier Änderungen, zwei auf dem Bildschirm, zwei in der Stimme, und eine fünfte für den Fall, dass wirklich nichts zu sagen ist.

Später Vormittag: Ränder, die mit der Stimme aufleuchten

Das erste fehlende Zeichen war das einfachste. Während man spricht, zeigte nichts, dass das Mikrofon zuhörte. Die Kugel pulsierte in ihrem eigenen Takt, demselben wie in Ruhe.

Am späten Vormittag erschienen zwei Lichtbänder entlang des linken und rechten Bildschirmrands. Sie sind blau, solange der Nutzer spricht, und ihre Intensität ist keine Animation: Sie stammt aus dem Schallpegel, den das Mikrofon mehrmals pro Sekunde misst, aus einem Dezibelwert in eine Zahl zwischen null und eins umgerechnet und dann geglättet, damit der Saum atmet, statt zu flackern. Wer die Stimme hebt, sieht die Ränder heller werden. Wer verstummt, weil er nach einem Wort sucht, sieht sie sich beruhigen, ohne dass sie erlöschen. Die gehaltene Taste und die Ränder, die der Stimme folgen, sagen dasselbe: Ich höre dich, sprich weiter.

Für die Stimme des Assistenten gibt es diese Daten nicht. Der Audioplayer, der die Antwort abspielt, liefert keine Amplitude in Echtzeit. Statt einen falschen Pegel zu erfinden, verwenden die Säume eine stilisierte Schwingung, einen sprachnahen Rhythmus von etwa drei Zyklen pro Sekunde, in einer anderen Farbe. Das Bild sagt „er spricht“, ohne vorzugeben, die Lautstärke zu messen. Ein bewusster Kompromiss: Ein Saum, der im Takt einer echten Stimme schlägt, wäre genauer, aber ein Saum, der im Takt einer Stimme schlägt, ist schon ehrlich.

Ein Detail in der Technik war entscheidend, damit der Effekt trägt. Der Mikrofonwert läuft nicht bei jeder Messung durch den Code der App: Er wird in einen geteilten Wert gelegt, den die Animationsengine direkt auf dem Anzeige-Thread liest. Ohne diese Abkürzung hätte jede Messung einen Umweg mehr gemacht, und ein Saum, der der Stimme mit Verzögerung folgt, folgt gar nichts mehr.

Mittag: blaue Rechtecke statt Lichtsäume

Der erste Test auf dem Telefon zeigte etwas anderes als Säume. Zwei blaue Rechtecke, gefüllt, undurchsichtig, die sich in der Bildschirmmitte überlappten. Das Gespräch dahinter war nicht mehr lesbar.

Die Ursache lag im Farbverlauf. Die erste Version zeichnete die Säume mit einem radialen Vektorverlauf, dessen horizontaler und vertikaler Radius in Prozent der Fläche angegeben waren. Unter Android wird diese Schreibweise der Radien nicht verstanden: Die Bibliothek gibt den Verlauf auf und füllt das ganze Rechteck mit der Startfarbe. Derselbe Code, und das Ergebnis war eine Platte.

Die Säume wurden in der Zeichenengine neu gebaut, die schon die Kugel rendert. Sie kennt nur kreisförmige radiale Verläufe; für eine Ellipse legt man auf den Verlauf selbst eine Transformation, die ihn vertikal streckt, ohne die Geometrie des Rechtecks anzurühren, das ihn trägt. Heraus kommt ein elliptischer Übergang, zuverlässig auf den getesteten Telefonen, in den Maßen des Entwurfs: Jeder Saum nimmt etwas mehr als die halbe Bildschirmbreite ein und ragt oben und unten hinaus, damit das Leuchten von hinter dem Rand zu kommen scheint statt von einem aufgelegten Objekt. Die Lautstärke ändert nicht die Größe des Saums, nur seine Deckkraft: Eine Form bei jeder Messung zu vergrößern, hätte viel Rechenzeit gekostet und einen unangenehmen Pumpeffekt erzeugt.

Die Palette wurde bei der Gelegenheit überarbeitet. Blau bleibt die Farbe des Nutzers. Für den Assistenten wich das anfängliche Cyan einem wärmeren Schimmer, demselben, den der Saum der Kugel annimmt, wenn sie spricht, sodass Kugel und Ränder gemeinsam dieselbe Phase erzählen.

Der Zustand, den es nicht gab: „ich denke nach“

Die längste Pause lag nicht im Sprechen. Sie begann mit dem Loslassen der Taste.

Der Bildschirm kannte vier Zustände: Ruhe, Zuhören, Sprechen des Assistenten und Tippen auf der Tastatur. Zwischen Zuhören und Sprechen: nichts. Der Finger verlässt die Taste, die Aufnahme geht raus, die Transkription kommt zurück, das Modell überlegt, ruft seine Werkzeuge auf, die Sprachsynthese erzeugt das Audio, und die ganze Zeit über hieß der Zustand „Ruhe“. Die Kugel stieg zurück in die Mitte und pulsierte ruhig, wie bevor man mit ihr gesprochen hatte. Fünf bis fünfzehn Sekunden vollkommene Stille, genau dann, wenn die App am meisten arbeitete.

Ein fünfter Zustand kam hinzu: „denkt nach“. Er greift in dem Moment, in dem die Nachricht des Nutzers im Verlauf landet, ob aus der Stimme oder von der Tastatur. Die Kugel wandert an den unteren Bildschirmrand, an die Stelle, die sie einnimmt, wenn der Assistent spricht, mit einer Bildunterschrift darunter: „ich denke nach…“. Die seitlichen Säume bleiben an, im warmen Ton des Assistenten, und atmen langsam weiter. Die Tastatur klappt ein, falls sie offen war, damit die Kugel sichtbar bleibt. Und ein Tipp auf die Kugel unterbricht, dieselbe Geste wie mitten in einer gesprochenen Antwort, damit der Nutzer jederzeit die Kontrolle behält.

Zwei Übergangsdetails waren wichtig. Erstens betritt man „denkt nach“ nur aus Ruhe oder Zuhören: Kommt eine späte Transkription an, während der Assistent schon spricht, darf sie diese Phase nicht überschreiben. Zweitens verlässt man den Zustand, sobald der Text der Antwort eintrifft, nicht erst, wenn das Audio startet. Ist der Ton an, übernimmt die Wiedergabe sofort und die Kugel wechselt zu „spricht“, ohne dass man die Naht sieht. Ist der Ton aus, gibt es keine Wiedergabe, und ohne diesen Ausgang wäre die Kugel unten geblieben und hätte für immer nachgedacht.

Nachmittag: eine Sprechblase zu viel

Der frühe Nachmittag gehörte den Karten und ihren Bildern. Zurück beim Gespräch fiel etwas ins Auge: Während des Diktats stand unter der Kugel eine kleine Sprechblase mit „ich höre zu“. Sie war dort platziert worden, als sie das einzige Zeichen war, dass das Mikrofon lief. Seit dem Vormittag sagten die Bildschirmränder dasselbe, und zwar besser, weil sie der Stimme folgten.

Zwei Signale für eine Information sind eines zu viel. Die Sprechblase wurde entfernt. Die Teiltranskription, die sie speiste, wird weiter berechnet, falls sie eines Tages anderswo nützlich ist, aber sie wird nicht mehr angezeigt. Es ist die umgekehrte Lektion des restlichen Tages: Zu sagen, was man tut, heißt nicht, es zweimal zu sagen.

„OK, ich schaue mir das an“: das Wartewort

Blieb die unangenehmste Pause, die, die der Bildschirm allein nicht füllen konnte.

Wenn eine Anfrage eine Suche im Web verlangt, reiht das Modell mehrere Werkzeuge aneinander, bevor es schreibt: Es befragt zuerst das Gedächtnis, startet die Suche, speichert das Ergebnis oft in einer Karte und schreibt erst dann seine Antwort, die anschließend zur Sprachsynthese geht. Fünf bis sieben Sekunden zwischen dem Ende des Satzes des Nutzers und dem ersten Wort des Assistenten. Der Zustand „denkt nach“ zeigt, dass etwas läuft, aber in einem Gespräch bleiben sieben Sekunden Stille lang. Unter Menschen schweigt niemand sieben Sekunden, bevor er antwortet: Man sagt „Moment, ich schaue nach“.

Genau das tut der Assistent seit jenem Nachmittag. Der Dirigent auf der Serverseite, der das Modell laufen lässt und seine Werkzeuge ausführt, beobachtet die erste Entscheidung des Modells. Enthält diese erste Entscheidung eine Websuche, das einzige Werkzeug der Kette, das regelmäßig länger als eine Sekunde braucht, löst er sofort einen kurzen Satz aus: „OK, ich schaue mir das an, gib mir einen Moment.“ Es gibt fünf Varianten, jedes Mal zufällig gezogen, „Eine Sekunde, ich suche“, „Ich kümmere mich darum, zwei Sekunden“, damit man nicht bei jeder Suche dieselbe Formel hört. Sie sind absichtlich kurz: Der Nutzer muss nur wissen, dass es vorangeht.

Der entscheidende Punkt ist, dass dieser Satz keine Zeit kostet. Der Server wartet nicht auf ihn: Er startet die Synthese des Satzes und führt parallel die Werkzeuge aus. Der Text geht sofort ans Telefon, das Audio folgt eine halbe Sekunde später, und währenddessen läuft die Suche bereits. Wenn die eigentliche Antwort kommt, kommt sie im selben Moment wie zuvor; nur die Stille davor ist gefüllt. Damit er flott bleibt, verwendet der Wartesatz die vom Telefon gewünschte Stimme, ohne die Einstellungen erneut aus der Datenbank zu lesen, anders als die endgültige Antwort. Und wer den Ton ausgeschaltet hat, sieht den Satz im Verlauf, ohne dass umsonst Audio erzeugt wird.

Man hätte dieses Wartewort bei jeder Anfrage auslösen können. Wir haben es nicht getan: Ein einzelnes Werkzeug antwortet in unter einer halben Sekunde, und ein Wartesatz vor einer sofortigen Antwort hätte den Assistenten geschwätzig gemacht. Das Wartewort bleibt dem Fall vorbehalten, in dem das Warten tatsächlich existiert.

Und wenn wirklich nichts zu sagen ist

Eine letzte Pause wurde am selben Vormittag behandelt, wenige Minuten vor den Säumen, weil sie zur selben Familie gehörte: die, in der das Modell überhaupt nicht antwortet.

Drei Situationen erzeugten sie. Das Modell stürzt unterwegs ab, ein Netzfehler oder ein entfernter Server, der ablehnt. Das Modell dreht sich im Kreis, ruft Werkzeuge wieder und wieder auf und erreicht die Iterationsgrenze, ohne je mit Text abzuschließen. Oder das Modell liefert eine leere Zeichenkette, was öfter vorkommt, als man denken würde. In allen drei Fällen blieb die Kugel stumm, und der Nutzer hatte keine Möglichkeit, eine Störung von einer Wartezeit zu unterscheiden.

Jetzt erzeugt jeder dieser Fälle einen gesprochenen Satz, je nach Ursache verschieden: ein technisches Problem auf unserer Seite, ein Fehler beim Versuch, das Gewünschte zu tun, oder eine Antwort, die nicht fertiggestellt werden konnte, jedes Mal mit der Einladung, es noch einmal zu versuchen oder anders zu formulieren. Ist ein Werkzeug gescheitert, hat das Modell das Problem aber selbst erklärt, behalten wir seine Erklärung, die immer genauer ist als eine vorgefertigte Formel. Die Notantwort ist nicht zur Zierde da: Sie ist da, damit die Kugel nie ohne genannten Grund verstummt.

Was der Tag gelehrt hat

Eine App ohne Navigationsbildschirm kann sich Stille nicht leisten. Jede Sekunde, in der sich nichts bewegt, ist eine Sekunde, in der sich der Nutzer fragt, ob er von vorn anfangen soll, und von vorn anzufangen ist das schlimmste Szenario: zwei Anfragen unterwegs, zwei Antworten, eine doppelte Karte.

Dieser 12. Mai hat die Antwort zwischen Bildschirm und Stimme aufgeteilt. Der Bildschirm sagt die Phase: ich höre zu, mit Rändern, die der Stimme folgen; ich denke nach, mit einer Kugel, die leuchten bleibt; ich spreche, mit einem warmen Schimmer. Die Stimme sagt das Warten an, wenn es lang wird, und sie sagt den Fehlschlag, wenn er eintritt. Keines dieser Signale fügt Latenz hinzu, und keines lügt: Der Saum des Assistenten gibt nicht vor, seine Stimme zu messen, der Wartesatz verspricht nicht mehr als eine laufende Suche.

Das ist die Regel, die wir seither für alles behalten haben, was Stimme und Gespräch betrifft: Ein Assistent, der arbeitet, muss es zeigen, ein Assistent, der wartet, muss es sagen, und ein Assistent, der scheitert, muss es ebenfalls sagen. Der Rest, das Gedächtnis, die Karten, die Suchen, ist nur etwas wert, wenn man die App in der Zwischenzeit nicht geschlossen hat, weil man sie für tot hielt.

Weiterlesen
XNeuronal ist für Android verfügbarEin Gedächtnis, das schlussfolgert, kommt bald