Claude Architect · Lektion

Eingabeformate und Beispiele

Zeigen Sie konkrete Eingabebeispiele, um Mehrdeutigkeiten zu beseitigen

Lektion 4 von 413 Schritte

Eingabeformate und Beispiele ist eine kostenlose Claude Architect-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 Claude Architect-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Claude Architect-Kurs umfasst insgesamt 4 Lektionen.

Warum Eingabeformate wichtig sind

Eine Toolbeschreibung ist der zentrale Mechanismus, anhand dessen Claude entscheidet, wann und wie ein Tool aufgerufen wird. Namen allein liefern nicht genügend Informationen. Eine gute Beschreibung behandelt Zweck, Rückgabewerte, Sonderfälle, Anwendbarkeitsgrenzen und insbesondere die Eingabeformate.

Diese Lektion konzentriert sich auf eine besonders wirkungsvolle Technik: konkrete Eingabebeispiele zu zeigen, damit das Modell nie erraten muss, wie ein Parameter aussehen soll.

Mehrdeutigkeit ist der Feind

Stellen Sie sich ein Tool mit einem Parameter namens date vor. Ist das 2026-06-10? 06/10/2026? June 10? Ein Unix-Zeitstempel? Ohne Beispiel muss Claude das Format ableiten, und genau diese Ableitung bei Mehrdeutigkeit führt zu fehlerhaften Tool-Aufrufen.

Ein mehrdeutiges Schema schlägt nicht offensichtlich fehl. Es schlägt unbemerkt fehl, indem es Eingaben erzeugt, die Ihr Backend ablehnt. Konkrete Beispiele beseitigen diese Mehrdeutigkeit an der Quelle.

Wo Beispiele stehen

Sie können Eingabebeispiele an zwei sich ergänzenden Stellen platzieren:

  • Im Text der Toolbeschreibung (allgemeine Verwendungsbeispiele).
  • In der description jedes Parameters innerhalb des JSON-Schemas (Format des jeweiligen Feldes).

Beide Stellen speisen dieselbe Engine für Auswahl und Formatierung. Platzieren Sie die Formatvorgaben möglichst nah an dem Feld, für das sie gelten, und ergänzen Sie ein ganzheitliches Beispiel für den vollständigen Aufruf.

search_orders = {
    "name": "search_orders",
    "description": (
        "Search a customer's orders by date range. "
        "Dates use ISO 8601 (YYYY-MM-DD). "
        "Example call: search_orders(start='2026-01-01', end='2026-03-31')."
    ),
    "input_schema": {
        "type": "object",
        "properties": {
            "start": {
                "type": "string",
                "description": "Inclusive start date, ISO 8601. Example: '2026-01-01'."
            },
            "end": {
                "type": "string",
                "description": "Inclusive end date, ISO 8601. Example: '2026-03-31'."
            }
        },
        "required": ["start", "end"]
    }
}

Eine schwache Beschreibung im Vergleich zu einer starken

Vergleichen Sie diese Beispiele. Die schwache Version zwingt zum Raten; die starke zeigt genau, wie eine gültige Eingabe aussieht.

  • Schwach: „Kunden suchen.“
  • Stark: Zweck + Eingabeformat + Beispiel + Rückgabewerte + Sonderfälle.

Minimale, mehrdeutige Beschreibungen sind ein klassisches Anti-Pattern, das zu falschem Tool-Routing und fehlerhaften Argumenten führt.

# Weak: model must guess the id format
bad = {
    "name": "get_customer",
    "description": "Look up a customer."
}

# Strong: shows the exact format with an example
good = {
    "name": "get_customer",
    "description": (
        "Fetch a verified customer profile by account ID. "
        "account_id is the 8-char alphanumeric code from the "
        "welcome email, e.g. 'A1B2C3D4' (not the email address). "
        "Returns name, tier, and verified flag. "
        "Returns isError if no match — ask for more identifiers, never guess."
    )
}

Die Struktur strukturierter Eingaben zeigen

Wenn ein Parameter ein Objekt oder Array ist, ist ein einzelnes Beispiel mehr wert als ein ganzer Absatz Prosa. Zeigen Sie dem Modell die konkrete Struktur, die es ausgeben soll.

Das ist besonders wertvoll für verschachtelte Filter, Listenelemente oder jedes Feld, dessen Struktur allein aus dem Typ nicht ersichtlich ist.

filter_param = {
    "type": "object",
    "description": (
        "Structured filter. Example: "
        '{"status": "shipped", "min_total": 50, '
        '"tags": ["priority", "gift"]}. '
        "Omit a key to leave that dimension unfiltered."
    ),
    "properties": {
        "status": {"type": "string", "enum": ["pending", "shipped", "delivered"]},
        "min_total": {"type": "number"},
        "tags": {"type": "array", "items": {"type": "string"}}
    }
}

Enums sind für feste Mengen besser als Freitext

Wenn ein Feld eine bekannte, endliche Menge gültiger Werte hat, kodieren Sie diese als enum, statt sie in Prosa zu beschreiben. Das Schema schränkt das Modell dann direkt ein.

Für Erweiterbarkeit fügen Sie einen "other"-Enum-Wert sowie ein Freitextfeld für Details hinzu, damit neue Fälle das Modell nicht dazu zwingen, einen ungültigen Wert zu erfinden.

reason = {
    "type": "object",
    "properties": {
        "category": {
            "type": "string",
            "enum": ["defective", "wrong_item", "late", "other"],
            "description": "Refund reason. Use 'other' for anything unlisted."
        },
        "detail": {
            "type": "string",
            "description": "Free text. Required only when category is 'other'."
        }
    },
    "required": ["category"]
}

Beispiele reduzieren erfundene Eingaben

Few-shot-Beispiele gehören zu den zuverlässigsten Prompting-Tools. Mit 2–4 gezielten Beispielen pro Mehrdeutigkeit verallgemeinert das Modell das Muster, statt es nur zu wiederholen.

Bei Tool-Eingaben eignen sich Beispiele besonders für Konsistenz, Sonderfälle, Ausgabeformate und die Verringerung von Halluzinationen — genau die Fehlerarten, die zu fehlerhaften Tool-Argumenten führen.

phone = {
    "type": "string",
    "description": (
        "Phone in E.164 format. "
        "Examples: '+14155552671', '+442071838750'. "
        "Do NOT include spaces, dashes, or parentheses."
    )
}

Nur immer vorhandene Felder als erforderlich markieren

Beispiele zeigen dem Modell, wie eine gültige Eingabe aussieht; das Array required gibt an, was enthalten sein muss. Eine wichtige Regel: Markieren Sie ein Feld nur dann als erforderlich, wenn es immer vorhanden ist.

Wenn Sie ein Feld verlangen, das in der Quelle fehlen kann, wird das Modell einen Wert erfinden, um das Schema zu erfüllen. Optional, aber gut durch Beispiele erklärt, ist besser als erforderlich, aber manchmal nicht vorhanden.

schema = {
    "type": "object",
    "properties": {
        "order_id": {"type": "string", "description": "e.g. 'ORD-90412'"},
        "coupon_code": {
            "type": "string",
            "description": "Optional. e.g. 'SAVE10'. Omit if none on the order."
        }
    },
    # coupon_code is NOT required — it may be absent.
    "required": ["order_id"]
}

Sonderfälle im Beispiel hervorheben

Gute Beschreibungen nennen Anwendbarkeitsgrenzen: was das Tool erledigt und was es NICHT verarbeitet. Verankern Sie diese Grenzen in Ihren Beispielen, damit das Modell erkennt, wann eine Eingabe außerhalb des Zuständigkeitsbereichs liegt.

So verhindern Sie, dass sich überschneidende Tools falsch geroutet werden, denn das Beispiel verdeutlicht, welchem Tool welche Eingabestruktur zugeordnet ist.

lookup_order = {
    "name": "lookup_order",
    "description": (
        "Look up ONE order by its order ID. "
        "order_id format: 'ORD-' + 5 digits, e.g. 'ORD-90412'. "
        "Does NOT search by customer name or email — "
        "use search_orders for that. "
        "Returns isError (category='validation') if the ID is malformed."
    )
}

Eingabebeispiele mit strukturierten Fehlern kombinieren

Selbst bei hervorragenden Beispielen werden manche Eingaben ungültig sein. Der Fehlervertrag des Tools sollte deshalb ebenso eindeutig sein, damit sich das Modell davon erholen kann.

Geben Sie strukturierte Fehler zurück: ein isError-Flag sowie errorCategory (transient / validation / business / permission), isRetryable, eine Nachricht und die attempted_query. Der generische Fehler „Operation failed“ verhindert die Wiederherstellung; strukturierte Fehler ermöglichen intelligentes Routing und einen korrigierten Wiederholungsversuch.

{
  "isError": true,
  "errorCategory": "validation",
  "isRetryable": true,
  "message": "start must be ISO 8601 (YYYY-MM-DD); got '06/10/2026'.",
  "attempted_query": {"start": "06/10/2026", "end": "2026-03-31"},
  "partial_results": null
}

Beispiele + Wiederholung mit Feedback

Wenn eine Tool-Eingabe fehlerhaft zurückkommt, verwenden Sie retry-with-feedback: Senden Sie die ursprüngliche Anfrage, die fehlerhafte Ausgabe und den genauen Validierungsfehler zurück an das Modell. Genau dafür sind Format- und Strukturfehler geeignet.

Beachten Sie die Einschränkung: Eine Wiederholung hilft, wenn die Eingabe falsch formatiert war, nicht wenn die benötigte Information in der Quelle einfach fehlt. Beispiele verhindern die erste Fehlerklasse; fehlende Fakten kann nichts erfinden.

messages.append({
    "role": "user",
    "content": (
        "Your tool call failed validation. "
        "start must match YYYY-MM-DD. "
        "You sent '06/10/2026'. "
        "Reissue the call with the corrected format."
    )
})
# Resend full history; the model keeps no state between turns.

Kurze Überprüfung

Wenden Sie die Lektion auf eine echte Designentscheidung an.

Zusammenfassung: Eindeutige Eingaben erstellen

Die wichtigsten Erkenntnisse:

  • Tool-Beschreibungen steuern Auswahl und Formatierung. Investieren Sie daher in sie und nicht nur in Namen.
  • Zeigen Sie konkrete Eingabebeispiele auf Feldebene sowie ein Beispiel für den vollständigen Aufruf in der Beschreibung.
  • Verwenden Sie Enums (mit einem Wert 'other' + Detailfeld) für feste Mengen; zeigen Sie die konkrete Struktur von Objekten und Arrays.
  • Markieren Sie ein Feld nur dann als erforderlich, wenn es immer vorhanden ist, andernfalls erfindet das Modell einen Wert.
  • Ergänzen Sie Beispiele durch strukturierte Fehler (errorCategory, isRetryable, attempted_query), damit retry-with-feedback Formatfehler korrigieren kann, auch wenn dadurch keine fehlenden Fakten ergänzt werden können.

Konkrete Beispiele sind die kostengünstigste und wirkungsvollste Methode, fehlerhafte Tool-Aufrufe zu verhindern, bevor sie entstehen.

Kostenlos starten

Lerne Python mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
26
Lektionen
104

Häufig gestellte Fragen

Ist die Lektion „Eingabeformate und Beispiele“ kostenlos?

Ja — der vollständige Text von „Eingabeformate und Beispiele“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Claude Architect-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Claude Architect-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Eingabeformate und Beispiele“?

Zeigen Sie konkrete Eingabebeispiele, um Mehrdeutigkeiten zu beseitigen Du übst Claude Architect 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 Claude Architect zu starten?

Keine Vorkenntnisse erforderlich. Claude Architect 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 „Eingabeformate und Beispiele“?

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 Claude Architect-Lektion Code schreiben und ausführen?

Ja. Jede Claude Architect-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. Tool-Beschreibungen steuern die Auswahl
  2. Aufbau einer hervorragenden Beschreibung
  3. Überlappende Tools vermeiden
  4. Eingabeformate und Beispiele
← Zurück zu Claude Architect