Tools erstellen, die Claude auswählt
Wenn Claude das falsche Tool wählt, schau zuerst auf die Definition des Tools. Das Video begleitet Meridian, eine fiktive Engineering-Beratung. Meridian schreibt seine Tool-Definitionen um und lässt dieselben 30 Fragen vor und nach der Überarbeitung laufen.
Die Demo in diesem Video wurde im September 2026 aufgezeichnet. Sie lief auf Claude Sonnet 5 (claude-sonnet-5). Die Ergebnisse können bei neueren Modellen abweichen.
Angenommen, dein Tool-Loop funktioniert, und dann passiert eines davon:
- Claude ruft das falsche Tool auf.
- Es macht drei Tool-Aufrufe für eine einzige Tatsache.
- Es übergibt
0142, wo dein CodeMEG-2026-0142erwartet.
Claude erhält niemals die Funktion, die dein Tool ausführt. Es sieht nur die Definition, die du sendest, und die Ergebnisse, die du zurückgibst. Wenn Claude also ein Tool falsch nutzt, schau zuerst auf die Definition.
Meridian hat einen internen Assistenten für Mitarbeiterfragen zu Projekten, Genehmigungen und Abrechnungen. Das Überarbeiten seiner Tool-Definitionen hob den Score von 14 auf 26 von 30 Testfragen, beim selben Modell.
Was Claude von deinem Tool sieht
Eine Tool-Definition ist ein Block aus JSON, der Claude mitteilt, dass ein Tool existiert. Du sendest sie in der tools-Liste jeder Anfrage.
Hier ist die überarbeitete Definition von Meridians Projekt-Tool. Sie hat vier Teile.
{
"name": "lookup_project_status",
"description": "Returns current facts about a single Meridian …",
"input_schema": {
"type": "object",
"properties": {
"project_id": {
"type": "string",
"description": "Full Meridian job number in the format MEG-YYYY-NNNN, e.g. MEG-2026-0142."
},
"fields": {
"type": "array",
"items": {
"type": "string",
"enum": ["phase", "status", "lead", "hours", "deadline", "site", "client"]
},
"description": "Which fields to return. Omit to return everything."
}
},
"required": ["project_id"]
},
"input_examples": [
{"project_id": "MEG-2026-0142", "fields": ["phase", "status"]},
{"project_id": "MEG-2025-0417", "fields": ["lead", "hours"]},
{"project_id": "MEG-2024-0233"}
]
}nameist die Bezeichnung, mit der Claude das Tool aufruft.descriptionist einfacher Text, den du schreibst und den Claude liest. Er ist hier gekürzt und wird im nächsten Abschnitt vollständig gezeigt.input_schemalistet die Parameter des Tools in JSON Schema auf, jeweils mit einem Namen, einem Typ und einer eigenen Beschreibung.requiredgibt an, welche angegeben werden müssen.input_examplesist optional. Es zeigt Claude, wie eine gute Eingabe aussieht, etwa eine vollständige Auftragsnummer. Jedes Beispiel muss gegeninput_schemagültig sein, sonst gibt die API einen 400-Fehler zurück.
Claude entscheidet, ob es einen Tool-Aufruf macht, indem es die Anfrage des Nutzers und die Beschreibung jedes Tools liest.
Schreibe eine ausführliche Beschreibung
Von den vier Teilen leistet die Beschreibung am meisten.
Strebe mindestens drei bis vier Sätze an, mehr, wenn das Tool komplex ist. Decke vier Dinge ab:
- Was das Tool tut
- Wann es zu verwenden ist und wann nicht
- Was jeder Parameter bedeutet
- Was es nicht zurückgibt
Hier ist Meridians vollständige Beschreibung:
Returns current facts about a single Meridian project: phase,
schedule status, project lead, hours budgeted and consumed,
deadline, site city, and client. Use this only when the user asks
about a specific project by name or job number; if only a partial
number is given (e.g. 'the 0142 job'), normalize it to the full
MEG-YYYY-NNNN format before calling. Pass the fields parameter to
fetch just the fields the question needs instead of the whole
record. This tool does not return permit or invoicing information.
Use get_permit_status or get_billing_summary for those.
Meridians Beschreibung deckt alle vier Dinge ab, die eine gute Beschreibung braucht.
Anzugeben, wann das Tool zu verwenden ist und wann nicht, hilft Claude, den Aufruf des falschen Tools zu vermeiden. Meridians Beschreibung beschränkt das Tool auf Fragen zu einem Projekt. Für Genehmigungen und Abrechnungen nennt sie die zu verwendenden Tools.
Überlappende Tools zu einem zusammenfassen
Eine gute Beschreibung hilft nicht viel, wenn mehrere Tools fast die gleiche Aufgabe erledigen.
Meridians erster Satz hatte sechs dünne Tools, jedes mit einer einzeiligen Beschreibung. Vier davon gaben jeweils eine einzelne Projekttatsache zurück. Diese vier überlappten sich, sodass Claude raten musste, welche eine Frage benötigte.
Die Lösung besteht darin, die vier zu einem Tool zusammenzufassen, lookup_project_status, mit einem fields-Parameter, der angibt, welche Fakten zurückgegeben werden sollen. Die anderen beiden, für Genehmigungen und Abrechnungen, erledigen unterschiedliche Aufgaben und bleiben bestehen. Aus sechs Tools werden drei.
Die Änderung mit einem Eval messen
Ein Eval ist ein fester Satz von Testfragen mit bekannten richtigen Antworten, der gegen Claude ausgeführt und bewertet wird. Er zeigt, ob die neuen Definitionen besser sind.
Meridians Eval prüft, ob Claude die richtigen Tools aufruft. Er hat 30 Fragen, die ein Mitarbeiter stellen würde, jede mit den richtigen Tool-Aufrufen gekennzeichnet. Meridian führte die 30 Fragen zweimal auf claude-sonnet-5 aus, einmal mit jedem Satz von Tools.
| Satz von Tools | Anzahl der Tools | Score |
|---|---|---|
| Dünn | 6 | 14/30 (47 %) |
| Konsolidiert | 3 | 26/30 (87 %) |
Nur den fehlerhaften Teil beheben
Um einen einzelnen Fehler zu beheben, finde den Teil der Definition, der dafür verantwortlich ist, ändere nur diesen Teil und führe dein Eval erneut aus.
| Was Claude falsch macht | Zu ändernder Teil | Was zu tun ist |
|---|---|---|
| Ruft das falsche Tool auf oder mehr Tools, als die Frage braucht | Die Beschreibung | Sage, was jedes Tool tut und wann es zu verwenden ist. Kombiniere überlappende Tools. |
| Übergibt einen Wert des falschen Typs oder Formats | Das Schema und die Beispiele | Gib das Format in der eigenen description des Parameters an. Füge input_examples hinzu. |
Fehlerbehebung bei der Tool-Nutzung(öffnet in neuem Tab) listet weitere Symptome und Lösungen auf.
Wichtigste Erkenntnisse
- Schreibe Beschreibungen von mindestens drei bis vier Sätzen und sage, wann das Tool nicht zu verwenden ist.
- Fasse überlappende Tools zu einem Tool mit Parametern zusammen.
- Miss Änderungen mit einem Eval.
- Um einen einzelnen Fehler zu beheben, ändere nur den fehlerhaften Teil.