Das Schreiben detaillierter JSON-Schemas für die strukturierte Datenextraktion kann bei der Arbeit mit KI-Tools ein echter Schmerzpunkt sein. Es gibt einen cleveren Workaround, mit dem du deine gewünschte Datenstruktur direkt in deinem Prompt angeben kannst, anstatt komplexe Schemas zu erstellen.
Der flexible Schema-Ansatz
Anstatt für jede Datenextraktionsaufgabe ein detailliertes Schema zu schreiben, kannst du ein generisches Tool namens to_json erstellen, das jede beliebige Objektstruktur akzeptiert. Der Schlüssel liegt darin, das Input-Schema so einzustellen, dass zusätzliche Eigenschaften zugelassen werden, und dann deine genauen Anforderungen direkt im Prompt anzugeben.

Dieser Ansatz beseitigt einen großen Schmerzpunkt - das ständige Schreiben und Verwalten großer JSON-Schemas. Die Ergebnisse werden nicht ganz so gut sein wie bei einem dedizierten Schema, aber du erhältst trotzdem hochwertige JSON-Ausgaben mit deutlich weniger Einrichtungsaufwand.
So funktioniert es
Der Prozess ist unkompliziert:
- Erstelle ein einziges flexibles Schema, das jede beliebige Objektstruktur akzeptiert
- Gib in deinem Prompt genau an, welche Datenstruktur du möchtest
- Weise Claude an, das Tool
to_jsonmit deiner angegebenen Struktur aufzurufen - Verwende
tool_choice, um Claude zur Nutzung deines Tools zu zwingen
Einrichten des Prompts
Beim Schreiben deines Prompts solltest du sehr explizit über die gewünschte Struktur sein. Hier ist ein Beispiel, wie du deine Anfrage strukturieren kannst:
Analyze the article below and extract key data. Then call the to_json tool.
<article_text>
{result["text"]}
</article_text>
When you call to_json, pass in the following structure:
{{
"title": str # title of the article,
"author": str # author of the article,
"topics": List[str] # List of topics mentioned in the article
}}Durchführen des API-Aufrufs
Der API-Aufruf verwendet das flexible Schema und erzwingt die Tool-Nutzung:
flexible_result = chat(messages, tools=[to_json_schema], tool_choice="to_json")Einfache Strukturänderungen
Der eigentliche Vorteil wird deutlich, wenn du deine Datenstruktur ändern musst. Anstatt ein ganzes Schema neu zu schreiben, aktualisierst du einfach deinen Prompt. Möchtest du ein Feld für die Anzahl der Themen hinzufügen? Füge einfach eine Zeile hinzu:
"num_topics": int # Number of topics mentionedDas war's - keine Schema-Änderungen erforderlich.
Wann welcher Ansatz verwendet werden sollte
Der flexible Schema-Ansatz funktioniert hervorragend für:
- Schnelles Prototyping und Experimentieren
- Einfache Datenextraktionsaufgaben
- Situationen, in denen du deine Datenanforderungen häufig änderst
Bleib bei dedizierten Schemas für:
- Kritische Datenextraktionsaufgaben in der Produktion
- Komplexe verschachtelte Datenstrukturen
- Wenn du die höchstmögliche Genauigkeit benötigst
Der flexible Ansatz bietet dir etwa 90 % der Qualität bei 10 % des Einrichtungsaufwands, was ihn perfekt für die meisten Anwendungsfälle macht, in denen du strukturierte Datenextraktion ohne den Verwaltungsaufwand für Schemas benötigst.