Vercel verknüpft das AI SDK, das Chat SDK und die Bibliothek json-render, um interaktive Benutzeroberflächen direkt aus Modell-Prompts in Chat-Umgebungen zu erzeugen. Anstatt reinen Markdown-Text auszugeben, verfasst das LLM eine typisierte JSON-Spezifikation basierend auf einem übergebenen Katalog. Dieser umfasst Standardelemente wie Tabellen, Buttons oder Charts.
Funktionsweise und Streaming
Die Methode streamCard initialisiert eine native Nachricht, sobald das Wurzelelement Inhalte liefert. Nachfolgende Streaming-Updates werden auf ein Intervall von maximal 500 ms gedrosselt, um Schnittstellenlimits einzuhalten. Nach Abschluss des Streams liegt eine validierte native Karte vor.
Validierung und Plattformgrenzen
Ein wesentlicher Aspekt ist die Validierung über die Methode toCard. Entspricht eine vom Modell erzeugte Eigenschaft nicht dem Schema, wird ein lesbarer CardSpecError erzeugt. Dieser Fehlerbericht lässt sich direkt zurück in den Prompt leiten, damit das Modell den Fehler selbstständig korrigiert. Zudem berücksichtigen die Plattform-Adapter die technischen Begrenzungen der Zielsysteme: Übersteigt ein Inhalt beispielsweise das Slack-Limit für Tabellen, wird eine zweite Tabelle automatisch als Code-Block dargestellt oder kann per Konfiguration verworfen werden.