Aprenda tudo o que você precisa para dominar o uso de ferramentas com Claude como parte dos nossos novos cursos! Por favor,
continue a compartilhar suas ideias e sugestões usando este
formulário.
Como funciona o uso de ferramentas
Claude suporta dois tipos de ferramentas:-
Ferramentas do cliente: Ferramentas que executam em seus sistemas, que incluem:
- Ferramentas personalizadas definidas pelo usuário que você cria e implementa
- Ferramentas definidas pela Anthropic como uso de computador e editor de texto que requerem implementação do cliente
- Ferramentas do servidor: Ferramentas que executam nos servidores da Anthropic, como as ferramentas de busca na web e busca na web. Essas ferramentas devem ser especificadas na solicitação da API, mas não requerem implementação da sua parte.
Ferramentas definidas pela Anthropic usam tipos versionados (por exemplo,
web_search_20250305, text_editor_20250124) para garantir compatibilidade entre versões de modelos.Ferramentas do cliente
Integre ferramentas do cliente com Claude nestas etapas:1
Forneça ao Claude ferramentas e um prompt do usuário
- Defina ferramentas do cliente com nomes, descrições e esquemas de entrada em sua solicitação da API.
- Inclua um prompt do usuário que possa requerer essas ferramentas, por exemplo, “Como está o tempo em San Francisco?”
2
Claude decide usar uma ferramenta
- Claude avalia se alguma ferramenta pode ajudar com a consulta do usuário.
- Se sim, Claude constrói uma solicitação de uso de ferramenta formatada adequadamente.
- Para ferramentas do cliente, a resposta da API tem um
stop_reasondetool_use, sinalizando a intenção do Claude.
3
Execute a ferramenta e retorne os resultados
- Extraia o nome da ferramenta e a entrada da solicitação do Claude
- Execute o código da ferramenta em seu sistema
- Retorne os resultados em uma nova mensagem
usercontendo um bloco de conteúdotool_result
4
Claude usa o resultado da ferramenta para formular uma resposta
- Claude analisa os resultados da ferramenta para elaborar sua resposta final ao prompt original do usuário.
Ferramentas do servidor
Ferramentas do servidor seguem um fluxo de trabalho diferente:1
Forneça ao Claude ferramentas e um prompt do usuário
- Ferramentas do servidor, como busca na web e busca na web, têm seus próprios parâmetros.
- Inclua um prompt do usuário que possa requerer essas ferramentas, por exemplo, “Busque as últimas notícias sobre IA” ou “Analise o conteúdo nesta URL.”
2
Claude executa a ferramenta do servidor
- Claude avalia se uma ferramenta do servidor pode ajudar com a consulta do usuário.
- Se sim, Claude executa a ferramenta, e os resultados são automaticamente incorporados na resposta do Claude.
3
Claude usa o resultado da ferramenta do servidor para formular uma resposta
- Claude analisa os resultados da ferramenta do servidor para elaborar sua resposta final ao prompt original do usuário.
- Nenhuma interação adicional do usuário é necessária para a execução da ferramenta do servidor.
Exemplos de uso de ferramentas
Aqui estão alguns exemplos de código demonstrando vários padrões e técnicas de uso de ferramentas. Para brevidade, as ferramentas são ferramentas simples, e as descrições das ferramentas são mais curtas do que seria ideal para garantir o melhor desempenho.Exemplo de ferramenta única
Exemplo de ferramenta única
JSON
get_weather com a entrada fornecida, e retornar o resultado em uma nova mensagem user:JSON
Uso de ferramentas paralelas
Uso de ferramentas paralelas
Claude pode chamar múltiplas ferramentas em paralelo dentro de uma única resposta, o que é útil para tarefas que requerem múltiplas operações independentes. Ao usar ferramentas paralelas, todos os blocos Para exemplos abrangentes, scripts de teste e melhores práticas para implementar chamadas de ferramentas paralelas, veja a seção de uso de ferramentas paralelas em nosso guia de implementação.
tool_use são incluídos em uma única mensagem do assistente, e todos os blocos tool_result correspondentes devem ser fornecidos na mensagem subsequente do usuário.Importante: Os resultados das ferramentas devem ser formatados corretamente para evitar erros da API e garantir que Claude continue usando ferramentas paralelas. Veja nosso guia de implementação para requisitos detalhados de formatação e exemplos de código completos.
Exemplo de múltiplas ferramentas
Exemplo de múltiplas ferramentas
Você pode fornecer ao Claude múltiplas ferramentas para escolher em uma única solicitação. Aqui está um exemplo com uma ferramenta Neste caso, Claude pode:
get_weather e uma ferramenta get_time, junto com uma consulta do usuário que pede por ambas.- Usar as ferramentas sequencialmente (uma de cada vez) — chamando
get_weatherprimeiro, depoisget_timeapós receber o resultado do tempo - Usar chamadas de ferramentas paralelas — produzindo múltiplos blocos
tool_useem uma única resposta quando as operações são independentes
user, com cada resultado em seu próprio bloco tool_result.Informações ausentes
Informações ausentes
Se o prompt do usuário não incluir informações suficientes para preencher todos os parâmetros obrigatórios para uma ferramenta, Claude Opus é muito mais provável de reconhecer que um parâmetro está ausente e perguntar por ele. Claude Sonnet pode perguntar, especialmente quando solicitado a pensar antes de produzir uma solicitação de ferramenta. Mas também pode fazer o seu melhor para inferir um valor razoável.Por exemplo, usando a ferramenta Este comportamento não é garantido, especialmente para prompts mais ambíguos e para modelos menos inteligentes. Se Claude Opus não tiver contexto suficiente para preencher os parâmetros obrigatórios, é muito mais provável que responda com uma pergunta esclarecedora em vez de fazer uma chamada de ferramenta.
get_weather acima, se você perguntar ao Claude “Como está o tempo?” sem especificar um local, Claude, particularmente Claude Sonnet, pode fazer uma suposição sobre as entradas das ferramentas:JSON
Ferramentas sequenciais
Ferramentas sequenciais
Algumas tarefas podem requerer chamar múltiplas ferramentas em sequência, usando a saída de uma ferramenta como entrada para outra. Em tal caso, Claude chamará uma ferramenta de cada vez. Se solicitado a chamar todas as ferramentas de uma vez, Claude provavelmente adivinhará parâmetros para ferramentas mais downstream se elas forem dependentes dos resultados das ferramentas para ferramentas mais upstream.Aqui está um exemplo de usar uma ferramenta Neste caso, Claude primeiro chamaria a ferramenta
Este exemplo demonstra como Claude pode encadear múltiplas chamadas de ferramentas para responder uma pergunta que requer coletar dados de diferentes fontes. Os passos principais são:
get_location para obter a localização do usuário, depois passar essa localização para a ferramenta get_weather:get_location para obter a localização do usuário. Depois que você retornar a localização em um tool_result, Claude então chamaria get_weather com essa localização para obter a resposta final.A conversa completa poderia parecer com:| Papel | Conteúdo |
|---|---|
| Usuário | Como está o tempo onde eu estou? |
| Assistente | Vou encontrar sua localização atual primeiro, depois verificar o tempo lá. [Uso de ferramenta para get_location] |
| Usuário | [Resultado da ferramenta para get_location com id correspondente e resultado de San Francisco, CA] |
| Assistente | [Uso de ferramenta para get_weather com a seguinte entrada]{ “location”: “San Francisco, CA”, “unit”: “fahrenheit” } |
| Usuário | [Resultado da ferramenta para get_weather com id correspondente e resultado de “59°F (15°C), principalmente nublado”] |
| Assistente | Com base na sua localização atual em San Francisco, CA, o tempo agora está 59°F (15°C) e principalmente nublado. É um dia bastante fresco e encoberto na cidade. Você pode querer levar uma jaqueta leve se estiver saindo. |
- Claude primeiro percebe que precisa da localização do usuário para responder a pergunta sobre o tempo, então chama a ferramenta
get_location. - O usuário (ou seja, o código do cliente) executa a função
get_locationreal e retorna o resultado “San Francisco, CA” em um blocotool_result. - Com a localização agora conhecida, Claude procede a chamar a ferramenta
get_weather, passando “San Francisco, CA” como o parâmetrolocation(bem como um parâmetrounitadivinhado, já queunitnão é um parâmetro obrigatório). - O usuário novamente executa a função
get_weatherreal com os argumentos fornecidos e retorna os dados meteorológicos em outro blocotool_result. - Finalmente, Claude incorpora os dados meteorológicos em uma resposta em linguagem natural à pergunta original.
Uso de ferramentas com cadeia de pensamento
Uso de ferramentas com cadeia de pensamento
Por padrão, Claude Opus é solicitado a pensar antes de responder uma consulta de uso de ferramenta para melhor determinar se uma ferramenta é necessária, qual ferramenta usar e os parâmetros apropriados. Claude Sonnet e Claude Haiku são solicitados a tentar usar ferramentas o máximo possível e são mais propensos a chamar uma ferramenta desnecessária ou inferir parâmetros ausentes. Para solicitar que Sonnet ou Haiku avaliem melhor a consulta do usuário antes de fazer chamadas de ferramentas, o seguinte prompt pode ser usado:Prompt de cadeia de pensamento
Responda à solicitação do usuário usando ferramentas relevantes (se estiverem disponíveis). Antes de chamar uma ferramenta, faça alguma análise. Primeiro, pense sobre qual das ferramentas fornecidas é a ferramenta relevante para responder à solicitação do usuário. Segundo, passe por cada um dos parâmetros obrigatórios da ferramenta relevante e determine se o usuário forneceu diretamente ou deu informações suficientes para inferir um valor. Ao decidir se o parâmetro pode ser inferido, considere cuidadosamente todo o contexto para ver se ele suporta um valor específico. Se todos os parâmetros obrigatórios estiverem presentes ou puderem ser razoavelmente inferidos, proceda com a chamada da ferramenta. MAS, se um dos valores para um parâmetro obrigatório estiver ausente, NÃO invoque a função (nem mesmo com preenchimentos para os parâmetros ausentes) e, em vez disso, peça ao usuário para fornecer os parâmetros ausentes. NÃO peça mais informações sobre parâmetros opcionais se não for fornecido. Modo JSON
Modo JSON
Você pode usar ferramentas para fazer Claude produzir saída JSON que segue um esquema, mesmo se você não tiver intenção de executar essa saída através de uma ferramenta ou função.Ao usar ferramentas desta forma:
- Você geralmente quer fornecer uma única ferramenta
- Você deve definir
tool_choice(veja Forçando uso de ferramenta) para instruir o modelo a usar explicitamente essa ferramenta - Lembre-se de que o modelo passará a
inputpara a ferramenta, então o nome da ferramenta e a descrição devem ser da perspectiva do modelo.
record_summary para descrever uma imagem seguindo um formato particular.Preços
Tool use requests are priced based on:- The total number of input tokens sent to the model (including in the
toolsparameter) - The number of output tokens generated
- For server-side tools, additional usage-based pricing (e.g., web search charges per search performed)
- The
toolsparameter in API requests (tool names, descriptions, and schemas) tool_usecontent blocks in API requests and responsestool_resultcontent blocks in API requests
tools, we also automatically include a special system prompt for the model which enables tool use. The number of tool use tokens required for each model are listed below (excluding the additional tokens listed above). Note that the table assumes at least 1 tool is provided. If no tools are provided, then a tool choice of none uses 0 additional system prompt tokens.
| Model | Tool choice | Tool use system prompt token count |
|---|---|---|
| Claude Opus 4.1 | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Opus 4 | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Sonnet 4.5 | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Sonnet 4 | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Sonnet 3.7 | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Sonnet 3.5 (Oct) (deprecated) | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Sonnet 3.5 (June) (deprecated) | auto, noneany, tool | 294 tokens 261 tokens |
| Claude Haiku 4.5 | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Haiku 3.5 | auto, noneany, tool | 264 tokens 340 tokens |
| Claude Opus 3 (deprecated) | auto, noneany, tool | 530 tokens 281 tokens |
| Claude Sonnet 3 | auto, noneany, tool | 159 tokens 235 tokens |
| Claude Haiku 3 | auto, noneany, tool | 264 tokens 340 tokens |
usage relatadas.
Próximos Passos
Explore nosso repositório de exemplos de código de uso de ferramentas prontos para implementar em nossos cookbooks:Ferramenta Calculadora
Aprenda como integrar uma ferramenta de calculadora simples com Claude para computações numéricas precisas.
Agente de Atendimento ao Cliente
Construa um bot de atendimento ao cliente responsivo que aproveita ferramentas do cliente para
melhorar o suporte.
Extrator JSON
Veja como Claude e o uso de ferramentas podem extrair dados estruturados de texto não estruturado.