Início / Documentação / Uso de ferramentas e chamada de funções

Uso de ferramentas e chamada de funções

Permita que um modelo chame suas funções — o ciclo de requisições, ambos os formatos e os erros que custam tokens.

O uso de ferramentas permite que o modelo peça a você para executar uma função e depois continue com o resultado. Esse é o mecanismo por trás de todo agente de programação.

O ciclo

  1. Você envia messages mais tools descrevendo o que está disponível.
  2. O modelo responde com stop_reason: tool_use e um campo tool_use bloco que indica o nome da ferramenta e seus argumentos.
  3. Você executa a ferramenta — o gateway nunca executa seu código.
  4. Você envia de volta todo o histórico, mais um tool_result bloco.
  5. O modelo produz sua resposta final ou solicita outra ferramenta.

Definir ferramentas (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?"}]
}

Retornar um resultado

{
  "role": "user",
  "content": [{
    "type": "tool_result",
    "tool_use_id": "toolu_01ABC...",
    "content": "18C, light rain"
  }]
}
tool_result é incluído em uma mensagem com o papel user e tool_use_id deve corresponder exatamente ao id da solicitação do modelo. Ids que não correspondem são rejeitados como uma solicitação inválida.

Formato OpenAI

O /v1/chat/completions o endpoint usa o formato da OpenAI tools / tool_calls em vez disso, com os resultados retornados como mensagens com o papel tool.

Quanto custa o uso de ferramentas

Os esquemas de ferramentas permanecem estáveis entre os turnos, o que os torna um forte o cache de prompts candidato, junto com o prompt do sistema.