Tool-/Funktionsdefinitions-Linter
Validieren und prüfen Sie Ihre KI-Function-Calling-Definitionen für OpenAI, Anthropic, Google und Cohere Formate
Fügen Sie oben eine Tool-/Funktions-JSON-Definition ein, um sie gegen die Spezifikationen von OpenAI, Anthropic, Google und Cohere zu validieren.
Unterstützt OpenAI Function Calling, Anthropic Tool Use, Google Gemini Function Declarations und Tool Use von Cohere.
Was ist ein KI-Tool-Definitions-Linter?
Ein KI-Tool-Definitions-Linter validiert die JSON-Strukturen, die Funktionen und Tools für APIs großer Sprachmodelle definieren. Wenn Sie Function Calling (auch Tool Use genannt) mit Anbietern wie OpenAI, Anthropic Claude, Google Gemini oder Cohere verwenden, müssen Sie korrekt strukturierte JSON-Definitionen bereitstellen, die Ihre Funktionen beschreiben — ihre Namen, Beschreibungen und Parameterschemas.
Selbst kleine Fehler in diesen Definitionen — ein falsch geschriebener Feldname, ein ungültiger Typ oder eine fehlende erforderliche Eigenschaft — können dazu führen, dass API-Aufrufe stillschweigend fehlschlagen oder unerwartetes Verhalten zeigen. Ein Tool-Definitions-Linter erkennt diese Fehler vor dem Deployment, spart Debugging-Zeit und verhindert Produktionsprobleme.
Unser kostenloser Linter validiert Ihre Definitionen gleichzeitig gegen vier Hauptanbietern (OpenAI, Anthropic, Google und Cohere), zeigt Ihnen genau, wo Fehler liegen, und bietet umsetzbare Vorschläge zur Behebung jedes Problems. Mistral AI, xAI (Grok) und DeepSeek verwenden das OpenAI-kompatible Format, sodass das Bestehen der OpenAI-Validierung diese ebenfalls abdeckt. Er läuft vollständig in Ihrem Browser, ohne dass Daten an einen Server gesendet werden.
So verwenden Sie diesen Linter
Die Verwendung des Tool-Definitions-Linters ist einfach — einfach einfügen:
- JSON-Definition einfügen — Kopieren Sie Ihre Tool-/Funktionsdefinition aus Ihrer Codebasis und fügen Sie sie in den Editor ein. Der Linter akzeptiert einzelne Tool-Objekte, Arrays von Tools oder verpackte Objekte mit einem `tools`-Array.
- Echtzeit-Ergebnisse sehen — Der Linter validiert automatisch während der Eingabe (mit kurzer Verzögerung). Es ist kein Klick auf eine Schaltfläche nötig. Sie sehen sofort das erkannte Format, den Anbieter-Kompatibilitätsstatus und eventuelle Probleme.
- Kompatibilität prüfen — Die vier Anbieterkarten zeigen, ob Ihre Definition mit OpenAI, Anthropic, Google und Cohere kompatibel ist. Grün bedeutet kompatibel, Rot bedeutet, dass es behebungsbedürftige Probleme gibt.
- Probleme beheben — Jedes Problem zeigt den betroffenen Feldpfad, eine klare Fehlermeldung und einen Vorschlag zur Behebung. Probleme sind nach Schweregrad kategorisiert: Fehler (muss behoben werden), Warnungen (sollte behoben werden) und Info (nice-to-have).
- Korrigiertes JSON kopieren — Verwenden Sie nach Zufriedenheit die Schaltfläche «Korrigiertes JSON kopieren», um eine saubere, formatierte Version mit grundlegenden Auto-Korrekturen zu erhalten.
KI-Function-Calling-Formate verstehen
Jeder KI-Anbieter hat sein eigenes Format für die Definition aufrufbarer Funktionen, obwohl sie dasselbe zugrunde liegende Konzept teilen: ein Name, eine Beschreibung und ein JSON Schema für Parameter.
OpenAI Function Calling
OpenAI verpackt Tool-Definitionen in eine `{ type: "function", function: { ... } }`-Struktur. Das innere Objekt enthält `name`, `description` und `parameters` (ein JSON-Schema-Objekt). OpenAI unterstützt auch einen `strict`-Modus, der Structured Outputs aktiviert — wenn er auf true gesetzt ist, folgt das Modell immer dem exakten Schema, erfordert aber `additionalProperties: false`.
Anthropic Tool Use
Anthropic verwendet eine flache Struktur ohne Wrapper. Jedes Tool wird mit `name`, `description` und `input_schema` definiert — beachten Sie den anderen Feldnamen im Vergleich zu OpenAIs `parameters`. Anthropic empfiehlt, Beschreibungen unter 1024 Zeichen zu halten für optimale Leistung. Das Feld `cache_control` kann optional für Prompt-Caching verwendet werden.
Google Gemini Function Declarations
Google Gemini verwendet eine flache Struktur ähnlich wie Anthropic, aber mit `parameters` wie OpenAI. Der Hauptunterschied ist, dass Googles JSON-Schema-Unterstützung eingeschränkter ist — es unterstützt kein `$ref` für Schema-Referenzen und hat eingeschränkte Unterstützung für Kompositions-Schlüsselwörter wie `oneOf`, `anyOf` und `allOf`.
Tool Use von Cohere
Cohere verwendet `parameter_definitions` statt eines JSON-Schema-Objekts. Jeder Parameter wird als Objekt mit `description`, `type`, und `required` definiert. Cohere ist SOC 2- und HIPAA-konform und eignet sich besonders für Enterprise-Anwendungen mit strengen Datenschutzanforderungen.
OpenAI-Kompatible Anbieter
Mehrere Anbieter — darunter Mistral AI, xAI (Grok) und DeepSeek — verwenden das OpenAI-kompatible Function-Calling-Format. Wenn Ihre Tool-Definitionen die OpenAI-Validierung bestehen, funktionieren sie auch mit diesen Anbietern ohne Änderungen. Das macht es einfach, zwischen OpenAI-kompatiblen Anbietern zu wechseln oder mehrere gleichzeitig zu nutzen.
Häufige Fehler in Tool-Definitionen
Basierend auf gängigen Mustern sind hier die häufigsten Fehler in KI-Tool-Definitionen:
- Falscher Schema-Feldname — Verwendung von "parameters", wenn der Anbieter "input_schema" erwartet (Anthropic) oder umgekehrt. Dies ist das häufigste anbieterübergreifende Kompatibilitätsproblem.
- Fehlende Wrapper-Struktur — Vergessen des `{ type: "function", function: { ... } }`-Wrappers für OpenAI oder Einbeziehen desselben bei Anthropic/Google.
- Ungültige Funktionsnamen — Verwendung von Leerzeichen, Sonderzeichen oder Namen mit mehr als 64 Zeichen. Alle Anbieter erfordern nur alphanumerische Zeichen, Unterstriche und Bindestriche.
- Pflichtfelder nicht in Properties — Auflistung eines Felds im "required"-Array, das nicht im "properties"-Objekt existiert.
- Fehlender "type" in Schema-Objekten — Jedes JSON-Schema-Objekt benötigt ein "type"-Feld. Das Root-Schema sollte "type": "object" haben.
- Fehlende Eigenschaftsbeschreibungen — Obwohl technisch nicht immer erforderlich, verbessern Eigenschaftsbeschreibungen das Modellverständnis und die Tool-Call-Genauigkeit erheblich.
- Strict-Mode-Verstöße — Bei Verwendung des Strict-Modus von OpenAI vergessen, "additionalProperties": false zu setzen oder nicht alle Eigenschaften als required aufzulisten.
Häufig gestellte Fragen
Welche Formate unterstützt der Tool-Definitions-Linter?
Unser Linter validiert Tool-/Funktionsdefinitionen gegen vier große KI-Anbieter: OpenAI Function Calling Format (mit dem Wrapper { type: "function", function: {...} }), Anthropic Tool Use Format (mit input_schema), Google Gemini Function Declarations (mit parameters) und Cohere Tool Use Format (mit parameter_definitions). Anbieter mit OpenAI-kompatiblem Format (Mistral AI, xAI, DeepSeek) werden durch die OpenAI-Validierung ebenfalls abgedeckt. Er erkennt automatisch das eingefügte Format und prüft die Kompatibilität mit allen Anbietern.
Was ist der Unterschied zwischen OpenAI-, Anthropic- und Google-Function-Calling-Formaten?
Die Hauptunterschiede sind struktureller Natur. OpenAI verpackt Tool-Definitionen in { type: "function", function: {...} } und verwendet "parameters" für das JSON Schema. Anthropic verwendet eine flache Struktur mit "input_schema" statt "parameters". Google verwendet ebenfalls eine flache Struktur mit "parameters", hat aber eingeschränktere JSON-Schema-Unterstützung — es unterstützt kein $ref und hat begrenzte Unterstützung für oneOf, anyOf und allOf. Cohere verwendet "parameter_definitions" mit einem eigenen Format pro Parameter (description, type, required). Mistral AI, xAI und DeepSeek verwenden das OpenAI-kompatible Format. Alle Anbieter erfordern Name, Beschreibung und eine Parameterdefinition.
Erkennt der Linter alle möglichen Fehler?
Der Linter erkennt die häufigsten strukturellen Fehler: fehlende Pflichtfelder, ungültige Namen (müssen 1–64 alphanumerische Zeichen mit Unterstrichen/Bindestrichen sein), fehlerhaftes JSON Schema (ungültige Typen, Pflichtfelder nicht in Properties, fehlende Items bei Arrays) und formatspezifische Probleme (falsche Wrapper-Struktur, falscher Schema-Feldname). Er validiert nicht die Geschäftslogik oder ob die Funktionsbeschreibung effektiv für das Modellverständnis ist.
Kann ich Tool-Definitionen mit verschachtelten Parametern validieren?
Ja, der Linter validiert verschachtelte JSON-Schema-Strukturen bis zu 5 Ebenen tief. Er prüft jedes verschachtelte Objekt auf korrekte Typdefinitionen, validiert Enum-Arrays, Array-Items-Schemas und stellt sicher, dass Pflichtfelder auf Eigenschaften verweisen, die auf jeder Verschachtelungsebene tatsächlich existieren.
Ist die Funktion «Korrigiertes JSON kopieren» sicher zu verwenden?
Das korrigierte JSON wendet sichere, nicht-destruktive Korrekturen an: Formatierung des JSON, Hinzufügen von fehlendem "type": "object" wo nötig und Entfernen von Required-Einträgen, die auf nicht existierende Eigenschaften verweisen. Es ändert weder Ihren Funktionsnamen noch die Beschreibung oder Eigenschaftsdefinitionen. Überprüfen Sie die korrigierte Ausgabe stets, bevor Sie sie in der Produktion verwenden.
Verwandte Werkzeuge
Entdecken Sie weitere Werkzeuge für die Entwicklung mit KI-APIs:
- JSON-Schema-Generator für KI — JSON-Schemas aus Beispieldaten generieren, optimiert für Function Calling
- OpenAPI zu KI-Function-Calling — Swagger/OpenAPI-Spezifikationen in Tool-Definitionen konvertieren
- Konversations-Nachrichten-Builder — Chat-Completion-Nachrichtenarrays visuell erstellen und testen
Verwandte Werkzeuge
Konversations-Nachrichten-Builder
Chat-Completion-Nachrichtenarrays mit visuellem rollenbasierten Editor erstellen und testen
JSON-Schema-Generator für KI
JSON-Schemas aus Beispieldaten generieren, optimiert für KI-Function-Calling und strukturierte Ausgaben
OpenAPI zu KI-Function-Calling
OpenAPI/Swagger-Spezifikationen in KI-Function-Calling-Definitionen für jeden Anbieter konvertieren