Im Zeitalter der Künstlichen Intelligenz (KI) gewinnen zuverlässige und gut strukturierte Ausgaben immer mehr an Bedeutung. Insbesondere in produktiven Anwendungen, in denen Systeme nahtlos miteinander kommunizieren müssen, ist es unerlässlich, dass KI-Modelle nicht nur intelligente Antworten liefern, sondern diese auch in einem klaren, maschinenlesbaren Format zurückgeben. Claude 3.7, das neueste Modell von Anthropic, zeichnet sich durch erweiterte Denkfähigkeiten und verbesserte Codeverständnisfunktionen aus. Doch trotz dieser Fortschritte stellt die Erzielung strukturierter Ausgaben eine Herausforderung dar.
Die besondere Funktionsweise von Claude 3.7 erfordert angepasste Herangehensweisen, um eine konsistente und valide JSON-Ausgabe sicherzustellen, die in komplexen Systemen problemlos weiterverwendet werden kann. Was versteht man unter strukturierter Ausgabe? Grundsätzlich bezieht sich der Begriff auf eine Antwort des KI-Modells, die strikt einem vorgegebenen Schema folgt, meist in Form von JSON-Daten. Statt wie bei klassischen Textausgaben unstrukturiert oder frei formuliert zu antworten, erzeugt die KI ein vorher definiertes Format, das ohne zusätzlichen Aufwand programmiersystematisch verarbeitet werden kann. Dies ist in produktiven Umgebungen essenziell, da die Integration in nachgeschaltete Systeme wie Datenbanken, API-Endpunkte oder weitere KI-Module nur mit klar strukturierten Daten effizient möglich ist.
Die grundlegenden Methoden, um strukturierte Ausgaben mit KI-Modellen zu erreichen, können vereinfacht auf drei Ansätze heruntergebrochen werden. Zunächst lässt sich das Modell direkt durch eine präzise und gut ausgearbeitete Eingabeaufforderung bitten, die Antwort nach einem bestimmten Format zu gestalten. Diese Methode ist zwar am einfachsten umzusetzen, bringt aber nicht die höchste Verlässlichkeit mit sich, denn der KI fehlt eine zwingende Verpflichtung, dem Schema exakt zu folgen, gerade bei komplexeren Strukturen. Eine weiterführende Methode stellt die sogenannte „Constrained Decoding“ dar, bei der das Modell nur innerhalb eines bestimmten Vokabulars oder einer Grammatik generieren darf, die einem Schema entspricht. So verhindert man strukturelle Fehler direkt während der Ausgabeerzeugung.
Allerdings reduziert dies die Flexibilität des Modells und kann dessen Leistungsfähigkeit einschränken. Zudem unterstützt Claude 3.7 diesen Ansatz aktuell nicht, was eine weitere Herausforderung für Anwender bedeutet. Der dritte und von Anthropic präferierte Weg ist das sogenannte Funktion- oder Tool-Calling. Hierbei wird das Modell darauf trainiert, strukturierte Funktionsaufrufe inklusive klar definierter Argumente zu generieren.
Diese werden anhand vorab definierter Schemata erzwungen, sodass das Ergebnis präzise und maschinenverwertbar bleibt. Ein Beispiel ist ein „web_search“-Aufruf, bei dem das Modell eine JSON-Ausgabe inklusive Funktion und passenden Parametern liefert. Die Stärke dieses Verfahrens liegt darin, dass sich jegliche strukturierte Ausgabe als eine Art „Werkzeugaufruf“ modellieren lässt, was eine extrem hohe Zuverlässigkeit sicherstellt. Claude 3.7 bietet zwei Betriebsmodi mit unterschiedlichen Auswirkungen auf die Strukturierung der Ausgaben.
Ohne aktiviertes „Extended Thinking“ verhält sich das Modell wie eine verbesserte Version der Vorgängerversion Claude 3.5, in der strukturierte Ausgaben dank erzwungenem Tool-Calling vergleichsweise zuverlässig realisiert werden können. Ist allerdings das Denken erweitert aktiviert, um besonders komplexe Aufgaben ausführlich zu durchdenken, fallen entscheidende Funktionalitäten weg. In diesem Modus unterstützt Claude 3.7 kein erzwungenes Tool-Calling mehr, was die Erzeugung strukturierter Daten erheblich erschwert.
Um diese Hürde zu umgehen, schlagen Experten drei praxisnahe Strategien vor, die sich nahtlos in bestehende Entwicklerpipelines integrieren lassen. Die erste Möglichkeit ist der Verzicht auf den erweiterten Denkmodus, also das Deaktivieren von „Extended Thinking“. Ohne diesen funktioniert das forcierte Tool-Calling, und strukturierte Antworten lassen sich zuverlässig generieren. Diese Lösung ist besonders gut geeignet, wenn der Fokus auf stabiler Datenstruktur und zuverlässiger Ausgabeform liegt und komplexes Nachdenken nicht unbedingt erforderlich ist. Ein zweiter Weg nutzt dennoch „Extended Thinking“ und setzt stattdessen auf eine besonders ausgefeilte Eingabeaufforderung („Prompting“), in der das Modell gebeten wird, seine Antwort in einer vorgegebenen JSON-Struktur zu liefern.
Obwohl es keine Garantie gibt, dass die Antwort immer perfekt formatiert ist, ermöglichen gute Prompt-Techniken und die Verwendung von sogenannten Output-Parsing-Tools, das Ergebnis zu prüfen und Fehler abzufangen. So bleibt der Vorteil des erweiterten Denkens erhalten, während zumindest eine gewisse Struktur gesichert werden kann. Das Parsing kann dabei in der Entwicklung automatisiert Fehler erkennen und die Anwendung auf inkonsistente Daten reagieren lassen. Die dritte und vielleicht eleganteste Lösung ist die Aufteilung des Prozesses in zwei Schritte. Im ersten Schritt übernimmt Claude 3.
7 mit dem aktivierten „Extended Thinking“ die Inhaltserstellung und führt seine ausgefeilte Argumentation oder Analyse durch. Anschließend wird eine zweite, spezialisierte KI – zum Beispiel ein Modell wie Claude 3.5 Haiku – eingesetzt, das darauf trainiert ist, die frei formulierte Antwort in ein strukturiertes Format umzuwandeln. Diese Entkopplung von Denkprozess und Strukturierungsaufgabe bringt das Beste aus beiden Welten zusammen: Die Tiefe der Analyse bleibt erhalten und gleichzeitig entstehen einwandfrei strukturierte, validierte Ausgaben, die für produktive Anwendungen verwendet werden können. Die Umsetzung dieser Strategien wird durch Toolkits und Frameworks wie Langchain erleichtert, die speziell für die Integration von LLMs (Large Language Models) konzipiert sind und vielfältige Hilfsmittel für strukturierte Ausgaben mitbringen.
Beispielsweise übersetzt Langchain intern Anforderungen für strukturierte Antworten von Anthropic-Modellen in entsprechende Tool-Calls, wo möglich, oder unterstützt ausgeklügelte Prompt-Designs und Output-Parsing. Im Entwickleralltag zeigt sich besonders bei der Erzeugung von Geschichten mit Genreerkennung, wie die einzelnen Ansätze praktisch genutzt werden können. So kann ohne erweitertes Denken direkt eine Geschichte und ihr Genre in einer klaren Datenstruktur zurückgegeben werden. Mit erweitertem Denken erzeugt man hingegen eine erzählerische Antwort, die nachträglich maschinell in eine JSON-Struktur überführt wird. Dies ist ein Ansatz, der zwar etwas mehr Verzögerung durch die zusätzliche Modellabfrage bringt, aber die inhaltliche Qualität und Kohärenz der Antwort erhöht.
Claude 3.7 demonstriert eindrucksvoll, wie moderne KI-Modelle komplexe Denkaufgaben bewältigen können. Dennoch verdeutlicht die Herausforderung der strukturierten Ausgabe, dass beim Einsatz in produktiven Umgebungen das Zusammenspiel zwischen Modellfähigkeiten, technischen Rahmenbedingungen und Entwicklerwerkzeugen entscheidend ist. Wer die Limitationen des Modells kennt und mit den vorgestellten praktischen Ansätzen arbeitet, kann strukturierte, zuverlässige und verarbeitbare Ergebnisse erzielen, die nahtlos in größere Systeme integriert werden können. Zusammenfassend lässt sich festhalten, dass strukturierte Ausgaben mit Claude 3.