AI-agenter · Lektion

Definiera verktygsscheman (JSON Schema)

Skriv JSON Schema-definitioner för verktygsparametrar med typer, beskrivningar, enum-värden och obligatoriska fält.

Lektion 2 av 413 steg

Definiera verktygsscheman (JSON Schema) är en gratis lektion i AI-agenter på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för AI-agenter, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i AI-agenter innehåller totalt 4 lektioner.

Verktygsscheman är JSON Schema

OpenAI, Anthropic och de flesta andra använder JSON Schema för verktygsparametrar.

Om Ni har använt OpenAPI / Swagger kan Ni redan 90 % av detta.

De tre obligatoriska fälten

Varje verktygsdefinition innehåller:

  1. name – unik identifierare (snake_case)
  2. description – vad verktyget gör och när det ska användas
  3. parameters – JSON Schema för indata

Ett minimalt schema

Ett objekt med ett obligatoriskt strängfält:

schema = {
    'name': 'search_orders',
    'description': 'Find orders by customer email',
    'parameters': {
        'type': 'object',
        'properties': {
            'email': {
                'type': 'string',
                'description': 'Customer email address'
            }
        },
        'required': ['email']
    }
}
import json
print(json.dumps(schema, indent=2))

JSON Schema-typer

  • string – text
  • integer, number – tal
  • boolean – true/false
  • array – lista (behöver också items)
  • object – dict (behöver också properties)

Enum för slutna mängder

Använd enum när det finns exakt N tillåtna värden:

unit_param = {
    'unit': {
        'type': 'string',
        'enum': ['C', 'F'],
        'description': 'Temperature unit'
    }
}
# The model will only ever output C or F
print(unit_param)
print("Allowed values:", unit_param['unit']['enum'])

Array-parametrar

För listindata anger Ni items:

tags_param = {
    'tags': {
        'type': 'array',
        'items': {'type': 'string'},
        'description': 'List of tags to filter by'
    }
}
print(tags_param)

Kapslade objekt

Ni kan kapsla objekt – men håll scheman grunda (högst 2–3 nivåer) för att modellen ska vara tillförlitlig:

filter_param = {
    'filter': {
        'type': 'object',
        'properties': {
            'min_price': {'type': 'number'},
            'in_stock': {'type': 'boolean'}
        }
    }
}
print(filter_param)

Beskrivningsfält är avgörande

Modellen väljer verktyg och fyller i argument utifrån description. Behandla beskrivningar som API-dokumentation:

# Bad
bad = {'description': 'gets data'}

# Good
good = {'description': 'Fetch the most recent 50 orders for the given customer email. Returns order_id, status, total. Use this when the user asks about their order history or order status.'}
print("Bad description:", bad['description'])
print("Good description:", good['description'])

required-arrayen

Markera obligatoriska fält uttryckligen. Modellen fyller alltid i dessa; valfria fält fylls bara i när de är relevanta:

tool_params = {
    'parameters': {
        'properties': {
            'city': {'type': 'string'},
            'unit': {'type': 'string', 'enum': ['C', 'F']}
        },
        'required': ['city']
    }
}
print(tool_params)
print("Required fields:", tool_params['parameters']['required'])

Pydantic -> JSON Schema

Ni kan automatiskt generera scheman från Pydantic-modeller:

from pydantic import BaseModel, Field

class SearchArgs(BaseModel):
    email: str = Field(description='Customer email')
    limit: int = Field(50, description='Max orders to return')

schema = SearchArgs.model_json_schema()

Strikt läge (OpenAI Structured Outputs)

Om Ni lägger till strict: true och additionalProperties: false garanteras att modellens utdata exakt matchar schemat:

tools = [{
    'type': 'function',
    'function': {
        'name': 'get_weather',
        'strict': True,
        'parameters': {
            'type': 'object',
            'properties': {'city': {'type': 'string'}},
            'required': ['city'],
            'additionalProperties': False
        }
    }
}]
import json
print(json.dumps(tools, indent=2))

Beskrivningarnas betydelse

Varför är ett verktygs description så viktigt?

Sammanfattning

Scheman styr modellen. Bra beskrivningar, enum för slutna mängder, required-arrayer och strikt läge är Era verktyg för tillförlitlighet.

Gratis att börja

Lär dig AI-agenter med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
60
Lektioner
239

Vanliga frågor

Är lektionen ”Definiera verktygsscheman (JSON Schema)” gratis?

Ja – hela texten till ”Definiera verktygsscheman (JSON Schema)” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i AI-agenter, kan Ni uppgradera till CoddyKit PRO. Kursen i AI-agenter innehåller totalt 4 lektioner.

Vad lär jag mig i ”Definiera verktygsscheman (JSON Schema)”?

Skriv JSON Schema-definitioner för verktygsparametrar med typer, beskrivningar, enum-värden och obligatoriska fält. Ni övar på AI-agenter med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig AI-agenter?

Du behöver inga förkunskaper. Utbildningen i AI-agenter på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Definiera verktygsscheman (JSON Schema)”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här AI-agenter-lektionen?

Ja. Varje AI-agenter-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Så fungerar function calling
  2. Definiera verktygsscheman (JSON Schema)
  3. Välj verktyg vid körning
  4. Returnera resultat till modellen
← Tillbaka till AI-agenter