0Pricing
AI Agents · Lektion

Tool-Ausgaben validieren (Pydantic)

Parsen Sie jede Tool-Ausgabe mit einem Pydantic-Modell – bei einer fehlerhaften Antwort soll der Fehler deutlich sichtbar werden.

Tool-Ausgaben validieren (Pydantic) ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 4 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.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Vertrauen Sie, aber überprüfen Sie

Tool-Ausgaben stammen aus der Außenwelt — aus APIs, Webseiten und Modellen. Eine fehlerhafte oder unerwartete Antwort kann Ihren Agenten zum Absturz bringen oder, schlimmer noch, unbemerkt fehlerhafte Daten in das LLM einspeisen.

Validieren Sie jede Tool-Ausgabe anhand eines Schemas.

Pydantic-Modelle

Definieren Sie die erwarteten Strukturen:

from pydantic import BaseModel, HttpUrl

class SearchResult(BaseModel):
    title: str
    url: HttpUrl
    snippet: str
    score: float = 0.0

Validate at the Boundary

from pydantic import ValidationError

def search(query):
    raw = requests.post('https://api.tavily.com/search', json={'query': query}).json()
    results = []
    for r in raw.get('results', []):
        try:
            results.append(SearchResult.model_validate(r))
        except ValidationError as e:
            log.warning('Bad search result skipped: %s', e)
    return results

Listen mit Modellvalidierung

Validieren Sie die gesamte Antwort:

from pydantic import BaseModel
class SearchResponse(BaseModel):
    results: list[SearchResult]

response = SearchResponse.model_validate(raw)

Feldvalidatoren

Benutzerdefinierte Prüfungen innerhalb von Feldern:

from pydantic import field_validator

class SearchResult(BaseModel):
    score: float

    @field_validator('score')
    @classmethod
    def score_in_range(cls, v):
        if not 0 <= v <= 1:
            raise ValueError('score out of [0,1]')
        return v

Streng oder tolerant

Standardmäßig wandelt Pydantic Typen automatisch um (z. B. String -> Integer, sofern möglich). Für strenge Prüfungen:

from pydantic import StrictInt

class User(BaseModel):
    age: StrictInt   # rejects '25' (string)

Default Values for Missing Fields

class Tool(BaseModel):
    name: str
    description: str = 'No description provided'   # fallback

Strukturierte LLM-Ausgaben validieren

Zwingen Sie das Modell, JSON zurückzugeben, das zu einem Pydantic-Schema passt — siehe die Lektion zu Structured Outputs. Validieren Sie zusätzlich an der Grenze, um eine mehrschichtige Absicherung zu erhalten.

Tool-Argumente validieren

Validieren Sie die tool_call.arguments des Modells, bevor Sie sie ausführen:

class SearchArgs(BaseModel):
    query: str
    k: int = 5

args = SearchArgs.model_validate_json(tool_call.function.arguments)
results = search(args.query, args.k)

Validierungsfehler als Tool-Ergebnisse

Wenn die Validierung fehlschlägt, geben Sie den Fehler an das Modell zurück, damit es die Argumente korrigiert und den Aufruf wiederholen kann:

try:
    args = SearchArgs.model_validate_json(...)
except ValidationError as e:
    return {'error': f'Invalid arguments: {e}'}

Schema-Versionierung

Wenn sich das Ausgabeschema eines Tools ändert, versionieren Sie es:

class SearchResultV2(BaseModel):
    title: str
    url: HttpUrl
    relevance: float       # was 'score' in v1

JSON-Schema aus Pydantic erzeugen

Leiten Sie für Tool-Schemadefinitionen das Schema aus Ihrer Pydantic-Klasse ab:

schema = SearchArgs.model_json_schema()
# Use directly as the 'parameters' for an OpenAI tool definition.

Ziel der Validierung

Warum sollte jede Tool-Ausgabe mit Pydantic validiert werden?

Zusammenfassung

Pydantic an jeder Grenze: eingehende Tool-Argumente, ausgehende Tool-Ausgaben und strukturierte LLM-Ausgaben. Deutliche Fehler sind besser als unbemerkte Datenverfälschung.

Häufig gestellte Fragen

Ist die Lektion „Tool-Ausgaben validieren (Pydantic)“ kostenlos?

Ja — der vollständige Text von „Tool-Ausgaben validieren (Pydantic)“ 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 „Tool-Ausgaben validieren (Pydantic)“?

Parsen Sie jede Tool-Ausgabe mit einem Pydantic-Modell – bei einer fehlerhaften Antwort soll der Fehler deutlich sichtbar 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 4 von 4.

Wie lange dauert die Lektion „Tool-Ausgaben validieren (Pydantic)“?

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

  1. Idempotente Tools und Seiteneffekte
  2. Wiederholungen mit exponentiellem Backoff
  3. Timeouts und Circuit Breaker
  4. Tool-Ausgaben validieren (Pydantic)
← Zurück zu AI Agents