Home / Documentazione / Uso degli strumenti e chiamata di funzioni

Uso degli strumenti e chiamata di funzioni

Consenti a un modello di chiamare le tue funzioni: il ciclo delle richieste, entrambi i formati e gli errori che costano token.

L'uso degli strumenti consente al modello di chiederti di eseguire una funzione e poi proseguire con il risultato. È il meccanismo alla base di ogni agente di programmazione.

Il ciclo

  1. Invii messages insieme a tools che descrivono ciò che è disponibile.
  2. Il modello risponde con stop_reason: tool_use e un tool_use blocco che indica il nome dello strumento e i suoi argomenti.
  3. Tu lo esegui: il gateway non esegue mai il tuo codice.
  4. Invii nuovamente l'intera cronologia insieme a un tool_result blocco.
  5. Il modello produce la risposta finale oppure richiede un altro strumento.

Definizione degli strumenti (formato 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?"}]
}

Restituzione di un risultato

{
  "role": "user",
  "content": [{
    "type": "tool_result",
    "tool_use_id": "toolu_01ABC...",
    "content": "18C, light rain"
  }]
}
tool_result va inserito in un messaggio con ruolo usere tool_use_id deve corrispondere esattamente all'id della richiesta del modello. Gli id non corrispondenti vengono rifiutati come richiesta non valida.

Formato OpenAI

La /v1/chat/completions l'endpoint accetta il formato OpenAI tools / tool_calls invece, con i risultati restituiti come messaggi con ruolo tool.

Quanto costa l'uso degli strumenti

Gli schemi degli strumenti rimangono stabili tra i turni, il che li rende un ottimo la cache dei prompt candidato insieme al prompt di sistema.