Der Browser erhält den Text und erzeugt daraus eine Assistant-Nachricht. Er setzt ihn als reinen Text ein, mit textContent: Auch HTML in der Antwort erscheint nur als Zeichenfolge. Das ist keine Kleinigkeit. Würde die Oberfläche den Text als HTML einsetzen, könnte eine präparierte Antwort Skripte im Browser des Nutzers starten.
role ist also nicht nur Dekoration für die Oberfläche. Sie kennzeichnet, in welcher Gesprächsrolle die Anwendung diesen Teil des Kontexts übergibt: Das hat der Nutzer gesagt, das hat das Modell geantwortet.
Nach einer auswertbaren Antwort speichert das Backend die User-Nachricht und die Inhaltsblöcke der Assistant-Antwort. Zusätzliche unterstützte Inhaltsblöcke bleiben für Folgeanfragen erhalten, auch wenn die Oberfläche nur den Text anzeigt. Verbrauchsangaben und übrige Metadaten der Anbieterantwort gehören nicht in die Nachrichtenliste.
Bei einem Anbieterfehler bleibt der Verlauf unverändert und die Eingabe im Feld. Ein Hinweis wie „Dienst überlastet“ wird nicht als Assistant-Antwort gespeichert. Sonst würde das Modell beim nächsten Mal lesen, es habe selbst „Dienst überlastet“ gesagt, und darauf aufbauen.
Aus einer Antwort wird ein Gespräch
Der Nutzer schreibt jetzt:
Mach die Funktion stattdessen in Python.