Ausgabeformatierung (JSON, XML, Markdown)
Erzwingen Sie parsebare Strukturen, indem Sie den JSON-Modus, XML-Tags oder strikt formatiertes Markdown verwenden, damit Ausgaben maschinenlesbar werden.
Ausgabeformatierung (JSON, XML, Markdown) ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Warum das Format wichtig ist
Agents leiten die Modellausgabe an Code weiter. Freitext bringt Parser zum Scheitern. Strukturiertes Ausgabeformat (JSON, XML usw.) ist für jeden produktiven Agenten zwingend erforderlich.
JSON-Modus
OpenAI und die meisten Anbieter bieten einen JSON-Modus, der eine parsierbare Ausgabe garantiert:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
response_format={'type': 'json_object'},
)
import json
data = json.loads(response.choices[0].message.content)Structured Outputs (striktes Schema)
OpenAI Structured Outputs übernimmt ein JSON Schema und garantiert, dass die Ausgabe diesem entspricht:
schema = {
'name': 'extract_person',
'schema': {
'type': 'object',
'properties': {
'name': {'type': 'string'},
'age': {'type': 'integer'}
},
'required': ['name', 'age'],
'additionalProperties': False
},
'strict': True
}
response = client.chat.completions.create(
model='gpt-4o-2024-08-06',
messages=messages,
response_format={'type': 'json_schema', 'json_schema': schema}
)XML-Tags (Anthropic-Stil)
Anthropic empfiehlt XML-Tags als zuverlässigstes Format für Claude:
system = '''
Return your answer wrapped in XML tags:
<reasoning>Your step-by-step thinking</reasoning>
<answer>The final answer</answer>
'''
# Parse with a simple regex or BeautifulSoup
import re
ans = re.search(r'<answer>(.*?)</answer>', text, re.S).group(1)Markdown für Menschen
Verwenden Sie Markdown, wenn die Ausgabe direkt an einen Menschen geht (Chat-Oberfläche, Dokumentation).
Vermeiden Sie Markdown, wenn Sie die Ausgabe an Code weiterleiten — Markdown lässt sich nur schwer zuverlässig parsen.
Das richtige Format für den jeweiligen Empfänger auswählen
- JSON — für die Weiterverarbeitung durch Ihren Code
- XML — für die Weiterverarbeitung durch Ihren Code, insbesondere bei Claude
- Markdown — für eine Benutzeroberfläche
- Klartext — für ein weiteres LLM
Zeigen statt nur erklären
Fügen Sie in Ihren Prompt immer ein konkretes Beispiel der gewünschten Ausgabe ein:
system = '''
Return a JSON object like:
{
"action": "reply",
"content": "Hi there!",
"confidence": 0.95
}
'''
print(system.strip())
Das erste Token erzwingen
Bei Anthropic können Sie den Assistant-Turn mit { oder [ vorab ausfüllen, um eine JSON-Ausgabe zu erzwingen:
messages = [
{'role': 'user', 'content': 'Return JSON with name and age.'},
{'role': 'assistant', 'content': '{'}
]
# Output will start at '{ "name": ...' guaranteed.
for m in messages:
print(f"{m['role']}: {m['content']}")
print('Output will start at \'{ "name": ...\' guaranteed.')
Nachgestellten Ballast verarbeiten
Selbst im JSON-Modus fügen Modelle manchmal ein Präfix wie „Gern! Hier ist das JSON:“ hinzu. Robuste Parser:
- suchen nach dem ersten
{oder[ - zählen die Klammern, um die passende schließende Klammer zu finden
- parsen nur diesen Ausschnitt
Reparatur-Prompts
Wenn das Parsen fehlschlägt, senden Sie die fehlerhafte Ausgabe an das Modell zurück und bitten Sie um eine Korrektur:
repair_prompt = f'''
The previous output failed to parse with error: {error}.
Return ONLY a valid JSON object matching the schema. No prose.
Previous output:
{bad_output}
'''Validierung mit Pydantic
Validieren Sie das geparste dict mit einem Pydantic-Modell — prüfen Sie die Feldtypen und lösen Sie bei fehlenden Feldern einen Fehler aus.
from pydantic import BaseModel
class Person(BaseModel):
name: str
age: int
person = Person.model_validate_json(response_text)
print(person.name, person.age)Das beste Format für Code
Sie leiten die Ausgabe an Python weiter. Welches Format ist am zuverlässigsten?
Zusammenfassung
Drei Regeln:
- Wählen Sie ein Format, das zum Empfänger passt
- Zeigen Sie ein Beispiel, statt das Format nur zu beschreiben
- Validieren Sie jede Antwort und halten Sie einen Reparaturweg bereit
Häufig gestellte Fragen
Ist die Lektion „Ausgabeformatierung (JSON, XML, Markdown)“ kostenlos?
Ja — der vollständige Text von „Ausgabeformatierung (JSON, XML, Markdown)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Ausgabeformatierung (JSON, XML, Markdown)“?
Erzwingen Sie parsebare Strukturen, indem Sie den JSON-Modus, XML-Tags oder strikt formatiertes Markdown verwenden, damit Ausgaben maschinenlesbar werden. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um AI Agents zu starten?
Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Ausgabeformatierung (JSON, XML, Markdown)“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?
Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Zero-Shot, Few-Shot und Chain-of-Thought
- System-, Benutzer- und Assistentenrollen im Vergleich
- Ausgabeformatierung (JSON, XML, Markdown)
- Prompt-Injection in Eingaben vermeiden