AI-agenter · leksjon

Formatering av utdata (JSON, XML, Markdown)

Tving modellen til å returnere strukturer som kan tolkes av maskiner, ved å bruke JSON-modus, XML-tagger eller strikt Markdown.

Leksjon 3 av 413 trinn

Formatering av utdata (JSON, XML, Markdown) er en gratis leksjon i AI-agenter på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i AI-agenter, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AI-agenter inneholder totalt 4 leksjoner.

Hvorfor formatet er viktig

Agenter sender modellens utdata videre til kode. Frittstående prosa ødelegger parsere. Strukturert utdata (JSON, XML osv.) er obligatorisk for alle agenter i produksjon.

JSON-modus

OpenAI og de fleste leverandører tilbyr en JSON-modus som garanterer utdata som kan parses:

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)

Strukturert utdata (strengt skjema)

OpenAI Structured Outputs tar imot et JSON Schema og garanterer at utdataene samsvarer med det:

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-tagger (Anthropic-stil)

Anthropic anbefaler XML-tagger som den mest pålitelige formateringen for 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 for mennesker

Bruk Markdown når utdataene går direkte til et menneske (chatgrensesnitt, dokumentasjon).

Unngå Markdown når utdataene sendes videre til kode — Markdown er vanskelig å parse robust.

Velg riktig format for mottakeren

  • JSON — skal inn i koden
  • XML — skal inn i koden, særlig med Claude
  • Markdown — skal vises i et menneskelig grensesnitt
  • Ren tekst — skal sendes til en annen LLM

Vis, ikke bare fortell

Ta alltid med et konkret eksempel på ønsket utdata i prompten:

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

Tving frem det første tokenet

Med Anthropic kan du forhåndsutfylle assistentturen med { eller [ for å tvinge frem JSON-utdata:

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

Håndter overflødig tekst

Selv med JSON-modus legger modeller noen ganger til prefikset «Sure! Here is the JSON:». Robuste parsere:

  1. Finn den første { eller [
  2. Tell klammeparenteser for å finne den tilhørende avsluttende parentesen
  3. Parse bare dette utsnittet

Reparasjonsmeldinger

Hvis parsing mislykkes, sender du de ødelagte utdataene tilbake til modellen og ber om en reparasjon:

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 for validering

Valider den parsede dict-en med en Pydantic-modell — typesjekk feltene og kast en feil hvis noe mangler.

from pydantic import BaseModel

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

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

Beste format for kode

Du sender utdata videre til Python. Hvilket format er mest pålitelig?

Oppsummering

Tre regler:

  1. Velg et format som passer mottakeren
  2. Vis et eksempel, ikke bare beskriv det
  3. Valider hvert svar og ha en reparasjonsmekanisme
Gratis å komme i gang

Lær deg AI-agenter med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
60
Leksjoner
239

Ofte stilte spørsmål

Er leksjonen «Formatering av utdata (JSON, XML, Markdown)» gratis?

Ja – hele teksten i «Formatering av utdata (JSON, XML, Markdown)» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av AI-agenter-kurset, kan du oppgradere til CoddyKit PRO. Kurset i AI-agenter inneholder totalt 4 leksjoner.

Hva lærer jeg i «Formatering av utdata (JSON, XML, Markdown)»?

Tving modellen til å returnere strukturer som kan tolkes av maskiner, ved å bruke JSON-modus, XML-tagger eller strikt Markdown. Du øver på AI-agenter med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med AI-agenter?

Ingen tidligere erfaring er nødvendig. AI-agenter på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Formatering av utdata (JSON, XML, Markdown)»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne AI-agenter-leksjonen?

Ja. Alle AI-agenter-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Zero-shot, few-shot og chain-of-thought
  2. System- versus bruker- versus assistentroller
  3. Formatering av utdata (JSON, XML, Markdown)
  4. Unngå prompt-injection i inndata
← Tilbake til AI-agenter