Es gibt eine sehr spezifische Art von Frustration, die beim Anblick einer Ladeanzeige entsteht. Sie haben etwas eingereicht. Die Seite macht irgendetwas. Sie wissen nicht, ob sie zu 10% oder 90% fertig ist. Sie sitzen einfach da und fragen sich, ob Sie neu laden sollen.
Das war die Erfahrung auf dem GoGroup Partner Portal. Wir haben die Ladeanzeige beseitigt.
Wie der alte Ablauf aussah
Das Initial Estimates Feature ermöglicht es einem Technologiepartner, eine grobe Projektbeschreibung einzureichen und eine strukturierte Software Schätzung zu erhalten. Die ursprüngliche Pipeline hatte sechs Schritte, die alle abgeschlossen sein mussten, bevor der Partner ein Ergebnis bekam:
- Partner übermittelt die Anforderungen.
- Backend bereitet die Anfrage auf.
- Claude AI erstellt Kostenschätzungen (10–20 Sekunden).
- JSON wird in HTML und PDF konvertiert.
- PDF wird im Cloud-Speicher abgelegt.
- Der Link wird an den Partner gesendet.
Claude konnte 80% der Schätzung generiert haben, und der Nutzer sah immer noch einen leeren Bildschirm. Mit Streaming: Inhalte werden angezeigt, sobald Claude sie generiert.
Das Problem mit JSON-Streaming
JSON ist nur gültig, wenn es vollständig ist. Beim Streamen sendet Claude die Antwort in Fragmenten. Mitten im Stream konnte der Client eine unvollständige Struktur empfangen, die sich nicht parsen lässt.
Die technische Herausforderung: Wie macht man aus unvollständigen strukturierten Daten, in Echtzeit, bevor sie fertig sind, etwas Nutzbares?
Zwei Ansätze für ein Problem
Version 1
Abschnittsweise Bereitstellung. Der Server wartet auf den Abschluss ganzer Abschnitte. Sobald ein vollständiger Abschnitt gültig ist, wird er sofort in HTML umgewandelt und an den Browser gesendet.
Version 2
Elementweise Bereitstellung. Der Server sendet jedes einzelne Element, sobald es nutzbar wird. Das erste Feature erscheint, sobald Claude es generiert hat. Der technische Mechanismus: Wenn ein Fragment eintrifft, das noch kein vollständiges JSON ist, vervollständigt der Server es künstlich, läuft durch einen Validator, und sendet es bei Erfolg sofort.
Was der Partner jetzt erlebt
Vorher: 15-30 Sekunden Ladeanzeige, dann PDF.
Nachher: Projektheader nach etwa 3 Sekunden, Features bauen sich auf, in etwa 15 Sekunden abgeschlossen. Partner horten auf, die Seite neu zu laden. Wahrgenommene Geschwindigkeit zahlt so viel wie tatsächliche Geschwindigkeit.
Was es gekostet hat
26% eines fünfstündigen Claude-Session-Budgets. Zwei Streaming-Architekturen, mehr als zehn JSON-Sonderfälle, eine echte Produktions Codebasis. Es wurde geliefert. Die relevante Kennzahl ist das Verhältnis von gelieferter Funktionalität zum Session-Budget-Verbrauch.
Drei Lektionen, die wir gelernt haben
Datenstrukturen mit Blick auf Streaming entwerfen. Flache, einfache Strukturen sind erheblich leichter zu streamen als tief verschachtelte. Wenn das Schema Streaming schwierig macht, ist das Schema das Problem.
Die einfachere Version zuerst bauen. Version 1 allein ist bereits eine erhebliche Verbesserung. Version 2 ist eine Verfeinerung. Mit dem komplexen Ansatz zu beginnen, bedeutet mehr Risiko.
Streaming verändert das Gefühl von Software. Es gibt einen qualitativen Unterschied zwischen “die App hat ein Ergebnis zurückgegeben“ und “die App arbeitet mit mir.” Die Ladeanzeige kommuniziert Ersteres. Streaming kommuniziert Letzteres.
Häufig gestellte Fragen
KI-Streaming sendet die Modellausgabe an den Client, während sie generiert wird. Für strukturierte Daten wie JSON erfordert dies zusätzliche Logik zur Behandlung unvollständiger Fragmente. Nutzer sehen sofort Fortschritt, was Abbruchraten reduziert.
Zwei Ansätze funktionieren: Der erste puffert, bis ein ganzer logischer Abschnitt ankommt. Der zweite vervollständigt partielle Fragmente künstlich und validiert das Ergebnis.
Version 1 wartet auf vollständige Abschnitte. Zuverlässiger, einfacher. Version 2 sendet jedes einzelne Element als gultig validiertes JSON-Fragment. Version 2 erfordert erheblich mehr Behandlung von Sonderfällen. Zuerst Version 1 bauen.
Das GoGroup Upgrade verbrauchte 26% eines fünfstündigen Claude-Session-Budgets. Die relevante Kennzahl ist das Verhältnis von gelieferter Funktionalität zum Verbrauch.
Streaming lohnt sich, wenn die KI-Generierung etwa fünf Sekunden überschreitet und die Ausgabe progressiv darstellbar ist. Wenn die Ausgabe nur als Ganzes sinnvoll ist, fügt Streaming Komplexität ohne Nutzen hinzu.
Das Fazit
Die Ladeanzeige war keine technische Einschränkung. Sie war eine Entscheidung darüber, wann Informationen geteilt werden. Claude’s API streamt. Die Daten wurden immer in Echtzeit generiert. GoGroup hat die Infrastruktur gebaut, um sie zu teilen.
Das GoTeams AI Bootcamp behandelt diese Art von Problem direkt: Architekturentscheidungen, Kosten-Nutzen-Messung, Features, die KI-Generierung so nutzen, dass Nutzer es wirklich spüren.

Schreibe einen Kommentar