AI-agenten · Les

Uitvoer formatteren (JSON, XML, Markdown)

Dwing het model om parsebare structuren terug te geven met JSON-modus, XML-tags of strikte Markdown, zodat de uitvoer machinaal leesbaar is.

Les 3 van 413 stappen

Uitvoer formatteren (JSON, XML, Markdown) is een gratis AI-agenten-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject AI-agenten. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus AI-agenten bevat in totaal 4 lessen.

Waarom indeling belangrijk is

Agents sturen modeluitvoer door naar code. Vrije tekst breekt parsers. Gestructureerde uitvoer (JSON, XML enzovoort) is verplicht voor elke productie-agent.

JSON-modus

OpenAI en de meeste aanbieders bieden een JSON-modus die parseerbare uitvoer garandeert:

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 (strikt schema)

OpenAI Structured Outputs neemt een JSON Schema en garandeert dat de uitvoer hiermee overeenkomt:

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-stijl)

Anthropic raadt XML-tags aan als de betrouwbaarste indeling voor 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 voor mensen

Gebruik Markdown wanneer de uitvoer rechtstreeks naar een mens gaat (chatinterface, documentatie).

Vermijd Markdown wanneer je uitvoer doorstuurt naar code — Markdown is moeilijk betrouwbaar te parseren.

Kies de juiste indeling per afnemer

  • JSON — gaat je code in
  • XML — gaat je code in, vooral bij Claude
  • Markdown — gaat naar een menselijke interface
  • Platte tekst — gaat naar een andere LLM

Toon het, vertel het niet alleen

Neem altijd een letterlijk voorbeeld van de gewenste uitvoer op in je prompt:

system = '''
Return a JSON object like:
{
  "action": "reply",
  "content": "Hi there!",
  "confidence": 0.95
}
'''
print(system.strip())

Dwing het eerste token af

Vul bij Anthropic de assistant-beurt vooraf in met { of [ om JSON-uitvoer af te dwingen:

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.')

Verwerk overbodige tekst aan het einde

Zelfs met de JSON-modus voegen modellen soms een voorvoegsel als "Zeker! Hier is de JSON:" toe. Robuuste parsers:

  1. Zoek naar de eerste { of [
  2. Tel haakjes om de bijbehorende sluitende haak te vinden
  3. Parse alleen dat segment

Herstelprompts

Als het parseren mislukt, stuur je de mislukte uitvoer terug naar het model en vraag je om herstel:

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}
'''

Pydantic voor validatie

Valideer het geparseerde dict met een Pydantic-model — controleer de typen van velden en geef een foutmelding bij ontbrekende velden.

from pydantic import BaseModel

class Person(BaseModel):
    name: str
    age: int

person = Person.model_validate_json(response_text)
print(person.name, person.age)

Beste indeling voor code

Je stuurt uitvoer door naar Python. Welke indeling is het betrouwbaarst?

Samenvatting

Drie regels:

  1. Kies een indeling die past bij de afnemer
  2. Toon een voorbeeld, beschrijf het niet alleen
  3. Valideer elke respons en zorg voor een herstelpad
Gratis beginnen

Leer AI-agenten met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
60
Lessen
239

Veelgestelde vragen

Is de les “Uitvoer formatteren (JSON, XML, Markdown)” gratis?

Ja — de volledige tekst van “Uitvoer formatteren (JSON, XML, Markdown)” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus AI-agenten wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus AI-agenten bevat in totaal 4 lessen.

Wat leer ik in “Uitvoer formatteren (JSON, XML, Markdown)”?

Dwing het model om parsebare structuren terug te geven met JSON-modus, XML-tags of strikte Markdown, zodat de uitvoer machinaal leesbaar is. Je oefent met AI-agenten door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met AI-agenten te beginnen?

Ervaring vooraf is niet nodig. AI-agenten op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Uitvoer formatteren (JSON, XML, Markdown)”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over AI-agenten?

Ja. Elke les over AI-agenten bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Zero-shot, few-shot en chain-of-thought
  2. Systeem-, gebruikers- en assistentrollen
  3. Uitvoer formatteren (JSON, XML, Markdown)
  4. Promptinjectie in invoer voorkomen
← Terug naar AI-agenten