Accueil / Documentation / Utilisation d’outils et appels de fonctions

Utilisation d’outils et appels de fonctions

Permettez à un modèle d’appeler vos fonctions : la boucle de requêtes, les deux formats et les erreurs qui coûtent des tokens.

L’utilisation d’outils permet au modèle de vous demander d’exécuter une fonction, puis de poursuivre avec le résultat. C’est le mécanisme sur lequel repose chaque agent de programmation.

La boucle

  1. Vous envoyez messages ainsi que tools qui décrit les outils disponibles.
  2. Le modèle répond avec un stop_reason: tool_use et un tool_use bloc indiquant le nom de l’outil et ses arguments.
  3. Vous l’exécutez — la passerelle n’exécute jamais votre code.
  4. Vous renvoyez tout l’historique, accompagné d’un tool_result bloc.
  5. Le modèle produit sa réponse finale ou demande un autre outil.

Définir des outils (format Messages)

{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "tools": [{
    "name": "get_weather",
    "description": "Current weather for a city. Use when the user asks about weather.",
    "input_schema": {
      "type": "object",
      "properties": {"city": {"type": "string", "description": "City name"}},
      "required": ["city"]
    }
  }],
  "messages": [{"role": "user", "content": "Weather in Paris?"}]
}

Renvoyer un résultat

{
  "role": "user",
  "content": [{
    "type": "tool_result",
    "tool_use_id": "toolu_01ABC...",
    "content": "18C, light rain"
  }]
}
tool_result figure dans un message dont le rôle est user, ainsi que tool_use_id doit correspondre exactement à l’identifiant de la requête du modèle. Les identifiants qui ne correspondent pas sont rejetés comme requête invalide.

Format OpenAI

Le /v1/chat/completions le point de terminaison utilise le format OpenAI tools / tool_calls à la place, les résultats étant renvoyés sous forme de messages dont le rôle est tool.

Coût de l’utilisation des outils

Les schémas d’outils restent stables d’un tour à l’autre, ce qui en fait un bon la mise en cache des prompts candidat aux côtés du prompt système.