>_toolkitbox

~/tools / Tool Definition Checker

Tool Definition Checker — Vérifiez les définitions d'outils et de fonctions OpenAI, Anthropic, Gemini

Vérifiez les définitions d'outils (fonctions) que vous envoyez à OpenAI, Anthropic ou Gemini par rapport au format documenté de chaque API : noms, descriptions, schémas de paramètres, strict mode et exemples d'entrée. Repérez les erreurs avant que la requête n'échoue. Rien ne quitte votre navigateur.

Règles vérifiées par rapport à la documentation le 2026-10-23.

Documentation : OpenAI / Anthropic / Référence de l'API Gemini

Non vérifié : si un modèle prend en charge l'outil, les détails de l'utilisation stricte des outils chez Anthropic, les outils qu'Anthropic fournit lui-même, et les règles que la documentation n'indique pas.

Tout s'exécute dans votre navigateur. Les définitions ne sont pas envoyées.

L'appel d'outils (tool use), aussi appelé appel de fonctions (function calling), permet à un modèle de demander à votre code d'exécuter une fonction. Vous décrivez chaque fonction dans une définition JSON, et les trois grandes API attendent des formes différentes : OpenAI Chat Completions place la fonction dans un objet function, OpenAI Responses garde ses champs à un seul niveau, Anthropic utilise name et input_schema, et Gemini utilise des déclarations de fonctions. Les règles de nommage diffèrent aussi. Cet outil lit la définition que vous collez, détermine pour quelle API elle est écrite et la vérifie par rapport à ce que dit la documentation de l'éditeur : le nom, une description, le schéma des paramètres, le strict mode et, pour Anthropic, si chaque exemple d'entrée correspond au schéma. Il signale aussi quand un nom qui fonctionne pour une API serait rejeté par une autre. Les règles ont été vérifiées par rapport à la documentation à la date indiquée sous l'outil.

Cas d'usage

  • Vérifier une définition d'outil avant de l'ajouter à une requête, pour qu'un mauvais nom ou une mauvaise forme ne fasse pas échouer l'appel
  • Comprendre pourquoi le strict mode rejette le schéma d'une fonction
  • Faire passer un outil d'un éditeur à un autre et voir ce qu'il faut changer

Utilisation

  1. Collez une définition d'outil, un tableau d'outils ou un corps de requête contenant un tableau tools, ou chargez l'exemple.
  2. Regardez pour quelle API chaque outil a été reconnu, puis la liste des constats. À corriger signifie que la documentation indique un rejet ou une définition invalide, À vérifier signifie que cela mérite un coup d'œil, et Note sert à l'information.
  3. Corrigez les définitions et collez-les de nouveau. Pour les problèmes de strict mode, le Structured Output Schema Checker les détaille un par un.

FAQ

Comment sait-il pour quelle API une définition est écrite ?

À sa forme. Une définition avec input_schema est lue comme Anthropic. Une définition avec type function et un objet function imbriqué est lue comme OpenAI Chat Completions, et une définition avec type function et ses champs au niveau supérieur est lue comme OpenAI Responses. Un objet avec functionDeclarations, ou avec name, description et parameters, est lu comme Gemini. Le résultat indique ce que chaque outil a été reconnu comme.

Quelles sont les règles de nommage ?

OpenAI documente des lettres, des chiffres, des tirets bas et des tirets, jusqu'à 64 caractères. Anthropic documente des lettres, des chiffres, des tirets bas et des tirets, jusqu'à 128 caractères. Gemini documente des lettres, des chiffres, des tirets bas, des deux-points, des points et des tirets, jusqu'à 128 caractères. Un nom valide pour une API peut être rejeté par une autre, et l'outil vous prévient quand c'est le cas.

Pourquoi vérifie-t-il de nouveau le schéma quand strict vaut true ?

OpenAI indique que le strict mode exige additionalProperties à false sur chaque objet et chaque propriété listée dans required, les valeurs facultatives étant écrites comme un type qui autorise aussi null. Un schéma qui enfreint ces règles est rejeté. L'outil compte les problèmes et indique où se trouve le premier.

Que vérifie-t-il dans input_examples ?

Anthropic indique que chaque exemple doit être valide par rapport à l'input_schema de l'outil et qu'un exemple invalide renvoie une erreur 400. L'outil vérifie chaque exemple par rapport au schéma et vous dit lequel échoue.

Que ne vérifie-t-il pas ?

Si un modèle donné prend en charge l'outil, les détails de l'utilisation stricte des outils chez Anthropic, les outils qu'Anthropic fournit lui-même, et tout ce que la documentation n'indique pas. Il n'appelle aucune API : une définition qui passe peut donc quand même échouer dans une vraie requête.

Ma définition est-elle envoyée à un serveur ?

Non. La vérification s'exécute dans votre navigateur.

Voir aussi