

Nos últimos 8 anos, a equipe da ASCN.AI testou 43 abordagens diferentes de automação. Documentamos os resultados com transparência no relatório interno de engenharia. A principal conclusão técnica é clara: Chamada de Ferramentas (frequentemente chamado na documentação de Chamada de Funções) não é apenas uma "ponte" entre o raciocínio do modelo e a ação. É um protocolo rigoroso de transferência de controle.
Sem esse mecanismo, você está apenas construindo um chatbot preso aos dados estáticos de treinamento. Com ele? Você cria um sistema capaz de acionar APIs externas, realizar transações e, essencialmente, gerar receita de forma autônoma.
A diferença é sutil, mas muda tudo.
O Tool Calling permite que agentes LLM utilizem ferramentas externas (APIs, bancos de dados, código) para resolver tarefas que vão além do seu treinamento. Neste artigo, analisamos a arquitetura, exemplos de código, tratamento de erros JSON, segurança (Human-in-the-loop) e métricas de qualidade. Comparamos o caminho do desenvolvedor (Python/OpenAI SDK) com a solução pronta (ASCN.AI).
Então, o que é exatamente chamada de ferramentas por agente de IA? De forma simples, é um mecanismo que permite ao modelo de linguagem chamar ferramentas externas e APIs para agir fora do seu conjunto de dados. Modelos de linguagem sem acesso a ferramentas ficam presos à estática; eles não podem realmente fazer algo no mundo externo [Documentação para Desenvolvedores da OpenAI, 2024].
O Tool Calling resolve esse problema por meio de comunicação estruturada (geralmente JSON) entre o modelo e sistemas externos. Quando você pergunta sobre a previsão do tempo, o agente não adivinha a resposta. Ele chama weather API por meio do mecanismo chamada de ferramentas em agentes de IA. Isso transforma um modelo passivo em um agente de IA ativo, capaz de uso de ferramentas externas por agentes de IA para resolver tarefas práticas.
Tudo gira em torno de um esquema JSON, onde você descreve as ferramentas disponíveis e seus parâmetros. O LLM analisa a solicitação do usuário e decide qual ferramenta acionar. A chamada ocorre automaticamente no lado do modelo, mas a execução física requer seu código. É, essencialmente, um aperto de mão.
"A chamada de ferramentas transforma um modelo de linguagem passivo em um agente ativo, capaz de agir no mundo real."
— Fundador da ASCN.AI
No projeto ASCN.AI, implementamos chamada de ferramentas em agentes LLM para automatizar a comunicação com clientes via Telegram e Gmail. Desafio: Os gerentes gastavam 4 horas por dia com respostas rotineiras. Solução: Configuramos o acesso via API ao CRM e ao calendário. Resultado (dados do 4º trimestre de 2025): 73% das solicitações agora são processadas de forma autônoma, e o tempo médio de resposta caiu de 2 horas para 47 segundos [Saiba mais no caso de uso da ASCN.AI].
Isso não é apenas eficiência. É um modelo de negócios completamente diferente.
Os sistemas de agentes seguem um ciclo: percepção, planejamento, ação, observação para atingir objetivos [Benchmarks de Agentes, ArXiv, 2024]. Esse processo é garantido por um ciclo de interação de seis etapas, começando pela análise de intenções.
agent tools api com parâmetros validados. O sistema envia a solicitação ao serviço externo.Cada etapa exige configuração precisa. Em nossa prática, a validação incorreta de parâmetros na fase de planejamento (devido a descrições vagas) aumentou os erros de API em 34% [Métrica interna da ASCN.AI, 2024]. A implementação da validação prévia do esquema reduziu as solicitações com falha para apenas 2%.
No papel, parece simples. Em produção? É exatamente aqui que tudo costuma quebrar.
A implementação de Tool Calling via API requer a definição do esquema da ferramenta em formato JSON e sua transmissão ao LLM durante a inicialização do chat. A API processa a chamada de função automaticamente, retornando o resultado para uso posterior.
from openai import OpenAI
client = OpenAI(api_key="your-api-key")
tools = [
{
"type": "function",
"function": {
"name": "get_crypto_price",
"description": "Get current cryptocurrency price from exchange",
"parameters": {
"type": "object",
"properties": {
"symbol": {"type": "string", "description": "Cryptocurrency symbol (e.g., BTC)"},
"exchange": {"type": "string", "description": "Exchange name (binance, coinbase)"}
},
"required": ["symbol"]
}
}
}
]
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "What is BTC price on Binance?"}],
tools=tools,
tool_choice="auto"
)
# Process tool calls if present
if response.choices[0].message.tool_calls:
tool_call = response.choices[0].message.tool_calls[0]
# Your code executes logic here and returns result to model
O código acima define uma função get_crypto_price com parâmetros. O LLM analisa a solicitação e decide chamar essa função com argumentos específicos. Ponto importante: o modelo não executa o código. Ele apenas sugere a chamada. Seu backend deve interceptar essa chamada, executá-la e retornar o resultado.
Caminho do desenvolvedor (código acima) vs Caminho do usuário da ASCN.AI: Não é necessário escrever esse código manualmente. Na plataforma ASCN.AI, esse processo é abstraído. Utilizamos uma arquitetura semelhante nos bastidores para mais de 100 templates prontos.
Exemplo real: um cliente precisava de monitoramento automático de oportunidades de arbitragem entre exchanges. Configuramos a consulta paralela de 5 APIs de exchanges através de um agente. Resultado: o sistema encontra arbitragem em 3-4 segundos, permitindo que os clientes lucrem de 5% a 40% com a diferença de preços durante períodos de alta volatilidade [Veja o caso Falcon Finance].
A velocidade é crucial. Especialmente quando há dinheiro em jogo.
O acesso a APIs em tempo real elimina as alucinações do modelo, fornecendo informações verificadas de sistemas externos. Isso permite automatizar processos complexos sem a necessidade de intervenção humana constante.
Casos de uso de ferramentas (Tool Use):
Em 2023-24, surgiram mais de 40 concorrentes no nicho de arbitragem de criptomoedas (dados do mercado Crypto Automation 2024). Muitos prometiam automação, mas não conseguiram garantir uma infraestrutura estável. Investimos em uma implementação robusta de servidor e no uso correto de ferramentas externas por agentes de IA. Resultado: quando o mercado caiu, os concorrentes fecharam, e nós assumimos a liderança.
Estabilidade é uma vantagem competitiva real.
O ecossistema inclui OpenAI Functions, LangChain Agents, LlamaIndex Tools e AutoGen. A escolha depende dos requisitos de flexibilidade e do nível de abstração.
| Framework/Plataforma | Complexidade | Flexibilidade (Ferramentas Personalizadas) | Para quem |
|---|---|---|---|
| API de Funções da OpenAI | Baixa | Média | Desenvolvedores, Início rápido |
| Agentes LangChain | Média | Alta | Desenvolvimento avançado |
| AutoGen | Alta | Muito alta | Sistemas multiagentes |
| ASCN.AI | Sem código | Alta (via configurações) | Negócios, Automação |
Em nossa plataforma ASCN.AI, oferecemos suporte a conexões com Gmail, Google Calendar, Telegram, Notion, Supabase e outras ferramentas via API. Assistente de vendas com IA pode operar dentro da sua infraestrutura sem transferência manual de dados. Oferecemos um ambiente no-code, onde é possível implantar um agente para processamento de leads e CRM em poucas horas.
Por que construir do zero, se não precisa?
O gerenciamento de estado garante a preservação do contexto entre chamadas em diálogos longos. O agente armazena os resultados das chamadas anteriores de ferramentas na memória para uso nas etapas seguintes. Sem um gerenciamento adequado do estado, o agente “esquece” o contexto. Utilizamos banco de dados vetorial para armazenar o histórico de interações com metadados. Isso permite referenciar resultados anteriores ao formular novas solicitações.
Em sistemas multiagente, o estado é sincronizado por meio de uma camada de memória compartilhada. Cada agente tem acesso à sua parte dos dados, dependendo da função, o que evita conflitos e garante a consistência dos dados no sistema.
Chamadas assíncronas de API reduzem a latência em 70-80% em comparação com a execução sequencial [Relatório IEEE Cloud Computing, 2024]. Essa técnica é crítica para tarefas sensíveis ao tempo, como monitoramento de arbitragem ou trading.
A execução sequencial aumenta a latência proporcionalmente ao número de ferramentas. A execução paralela permite iniciar 5-10 chamadas de API simultaneamente, reduzindo o tempo total de 15 segundos para 3-4. Usamos asyncio em Python para implementar chamadas concorrentes sem bloquear o thread principal.
Regra de dependências: Se a Ferramenta B depender da saída da Ferramenta A — elas são executadas sequencialmente. Caso contrário, em paralelo. O controle de taxa (rate limiting) exige gerenciamento cuidadoso durante chamadas paralelas. Usamos filas de solicitações para respeitar os limites.
As APIs podem retornar erros, tempos esgotados ou bloqueios. Simplesmente repetir a solicitação sem atraso agrava os problemas em caso de falha do provedor. Usamos atraso exponencial com jitter (atraso aleatório). Fórmula: delay = base_delay * (2 ^ attempt) + random_jitter. Isso distribui a carga.
O padrão disjuntor reduz falhas em cascata em 65% em sistemas distribuídos [ACM Computing Surveys, 2023]. Após N falhas consecutivas, o agente para de chamar a ferramenta por um período de "resfriamento". Isso protege o sistema contra o esgotamento de recursos.
Importante: Array vazio [] em caso de erro é uma má prática. O modelo não entende o que aconteceu. Use erros estruturados:
{
"error": "rate_limited",
"retry_after": 30,
"tool": "get_crypto_price",
"message": "Exchange API limit exceeded"
}
O modelo vê o campo retry_after e sabe: aguarde 30 segundos, não repita imediatamente. Isso aumenta significativamente a estabilidade do agente.
Aplique o princípio do menor privilégio. Cada ferramenta recebe apenas as permissões mínimas necessárias. O uso de chaves de nível admin para todas as chamadas cria um risco catastrófico em caso de invasão. Criamos contas de serviço separadas com permissões limitadas (permissões escopadas e controle de acesso baseado em funções). A rotação regular de chaves (por exemplo, a cada 30 dias) reduz a janela de vulnerabilidade.
Proteção contra injeções por meio dos parâmetros das ferramentas. O agente deve verificar todos os dados de entrada antes de chamar APIs externas. Utilizamos consultas parametrizadas e validação por lista branca. A entrada do usuário nunca deve ser concatenada diretamente com comandos do sistema. A validação por esquema JSON garante que os parâmetros correspondam aos tipos esperados.
Sistemas com controle humano reduzem erros críticos em 89% nas operações financeiras [Journal of AI Safety, 2024]. Autonomia total não é aceitável para todas as ações. Classificamos as operações por nível de risco: baixo risco — automático; alto risco — exige confirmação (aprovação humana). As notificações são enviadas para Telegram/E-mail. Se não houver resposta em N horas, a ação é escalonada para um aprovador reserva.
A precisão de ponta a ponta esconde problemas no nível das ferramentas. O agente pode resolver a tarefa, mas fazê-lo de forma ineficiente ou com riscos. Acompanhe 4 métricas-chave:
A coleta de métricas exige rastreamento em nível de etapas: registros de cada chamada de ferramenta, argumentos, resultado e próxima etapa de raciocínio. Sem rastreamento, a depuração em produção é impossível.
Adicionar ferramentas reduz previsivelmente a precisão da escolha. Um modelo que escolhe entre 5 ferramentas é significativamente mais preciso do que aquele que varre 50. Catálogos grandes consomem tokens de contexto.
Soluções para escalabilidade:
calendar_*, crm_*, email_*). Isso transforma a busca plana em um processo de duas etapas: "qual categoria, depois qual ferramenta".As definições de ferramentas devem evoluir com base nos sinais de avaliação:
Ciclo de iterações:
Tool Calling é um conceito mais amplo, que inclui APIs, bancos de dados e busca na web. Function Calling refere-se especificamente à execução de funções de código. Neste artigo, usamos os termos como sinônimos, mas tecnicamente Tool Calling é mais abrangente.
Não. As ferramentas devem ser definidas previamente pelo desenvolvedor. O agente não pode criar dinamicamente novos endpoints de API, mas pode combinar ferramentas existentes em novos cenários (Workflows) por meio da lógica de orquestração.
A segurança depende da implementação. É necessário controle rigoroso de acesso, registro de chamadas e auditoria. A configuração correta (Isolated Credentials) garante níveis de segurança de classe empresarial.
O Tool Connecting conecta as inferências do LLM à execução de ações por meio de APIs externas. Com ele, você constrói um sistema que interage autonomamente com o mundo externo.
Checklist de lançamento:
Na ASCN.AI, oferecemos mais de 100 templates prontos para um início rápido. Você pode implantar um agente em horas, e não em meses, e começar imediatamente a automatizar tarefas rotineiras, sem uma equipe de desenvolvedores.
Pronto para parar de conversar e começar a agir?