Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A página anterior mostrou como envolver um LLM num agente lhe dá uma identidade persistente, instruções e gestão de sessões. Mas mesmo com tudo isso, o agente só pode gerar conteúdos (texto, imagens, etc.) — não pode consultar o preço da ação atual, enviar um email ou consultar a sua base de dados. Responde com base no conhecimento que foi incorporado durante a formação e no contexto que forneces no prompt.
As ferramentas colmatam esta lacuna. Dão ao agente a capacidade de agir — de ir além dos seus dados de treino e interagir com o mundo real. Adicionar ferramentas é o passo mais impactante que pode dar para tornar um agente verdadeiramente útil.
Quando utilizar isto
Adicione ferramentas ao seu agente quando:
- O agente precisa de acesso a dados em tempo real ou externos — preços em tempo real, meteorologia, registos de bases de dados, resultados de pesquisa — que não estejam nos dados de treino do modelo.
- O agente precisa de agir — enviar emails, criar tickets, ligar APIs, escrever ficheiros — em vez de apenas produzir conteúdo.
Considerações
| Consideração | Detalhes |
|---|---|
| Latency | Cada chamada de ferramenta adiciona uma ida e volta — o modelo gera um pedido de ferramenta, o seu código executa-o e o resultado é enviado de volta antes que o modelo possa continuar. A multiferramenta complica isto. |
| Sobrecarga do token | Definições de ferramentas (nomes, descrições, esquemas de parâmetros) estão incluídas em cada prompt. Mais ferramentas significam menos tokens disponíveis para o histórico de conversas e a resposta do modelo. |
| Complexidade de depuração | Quando algo corre mal, a causa pode estar na seleção da ferramenta do modelo, nos argumentos escolhidos ou na execução da ferramenta. Estás a depurar a lógica e o código em conjunto. |
| Fiabilidade | O modelo pode chamar ferramentas incorretamente, apresentar argumentos errados ou invocar uma ferramenta quando não deveria. Boas descrições e aprovação de ferramentas mitigam isto, mas não eliminam. |
Porque é que os agentes precisam de ferramentas
Como abordado nos LLM Fundamentals, um LLM é treinado para gerar tokens — incluindo um formato estruturado especial que representa uma chamada de ferramenta. Mas o próprio modelo nunca executa nada. É a tua aplicação (ou Agent Framework) que analisa a saída do modelo, executa a função real e devolve o resultado.
Isto significa que as ferramentas não mudam o modelo — mudam o que o seu agente pode fazer. Sem ferramentas, um agente é um conversador. Ao usar ferramentas, torna-se um operador.
Considere um agente de reservas de viagens. Sem ferramentas, pode discutir voos e sugerir itinerários com base no conhecimento geral. Com ferramentas, pode:
- Pesquise numa API de voos para disponibilidade e preços em tempo real
- Reserve um voo em nome do utilizador
Cada uma dessas ações requer uma ferramenta — um pedaço de código que o agente pode invocar para interagir com o mundo exterior.
Como funciona o ciclo de invocação de ferramentas
Quando fornece ferramentas a um agente, o Agent Framework gere automaticamente um ciclo de chamada de ferramentas:
┌──────────────────────────────────────────────────────┐
│ User: "What's the weather in Seattle?" │
└──────────────┬───────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────┐
│ Agent sends messages + tool definitions to LLM │
└──────────────┬───────────────────────────────────────┘
▼
┌───────────────┐
│ LLM responds │
└───┬───────┬───┘
│ │
Tool call? No ──────────────────────────┐
│ │
▼ ▼
┌─────────────────────────────┐ ┌─────────────────────────────┐
│ Agent Framework executes │ │ Final response: │
│ the tool (e.g., │ │ "It's cloudy in Seattle │
│ get_weather("Seattle")) │ │ with a high of 15°C." │
└──────────────┬──────────────┘ └─────────────────────────────┘
│
▼
┌─────────────────────────────┐
│ Agent sends tool result │
│ back to the LLM │
└──────────────┬──────────────┘
│
└──────► (back to "LLM responds")
Pontos principais:
- Não precisas de escrever o loop. O Agent Framework trata da deteção de chamadas de ferramentas na resposta do modelo, da execução das ferramentas e da alimentação dos resultados. Defines as ferramentas; A estrutura orquestra o resto.
- Múltiplas chamadas de ferramenta por turno. O modelo pode chamar várias ferramentas (potencialmente em paralelo) antes de produzir uma resposta final — ou encadear chamadas de ferramentas onde a saída de uma informa a seguinte.
- O modelo decide quando chamar as ferramentas. Com base no pedido do utilizador e nas descrições das ferramentas que fornece, o modelo avalia se uma ferramenta é necessária. Boas descrições de ferramentas levam a uma melhor seleção de ferramentas.
Sugestão
Para um guia prático sobre como adicionar a sua primeira ferramenta e ver este ciclo em ação, veja Passo 2: Adicionar Ferramentas no tutorial de Iniciação.
Tipos de ferramentas
O Agent Framework suporta várias categorias de ferramentas. Escolher o certo depende do que precisa que o agente faça e de onde a capacidade se encontra.
Ferramentas funcionais
As ferramentas de funções são funções personalizadas que escreves e registas com o agente. Eles funcionam no teu processo, dando-te controlo total sobre a lógica, os limites de segurança e o tratamento de erros.
Use ferramentas funcionais quando:
- Tens lógica de negócio personalizada que o agente precisa de invocar (consultar uma base de dados, chamar uma API interna, fazer um cálculo)
- Precisas que a ferramenta corra no teu ambiente com acesso aos teus recursos
- Queres segurança e testabilidade no tempo de compilação
As ferramentas funcionais são o tipo de ferramenta mais comum e flexível. A maioria dos agentes começa aqui.
Ferramentas MCP (Modelo de Protocolo de Contexto)
O MCP é um standard aberto que define como as aplicações fornecem ferramentas aos LLMs. Em vez de escrever a lógica da ferramenta por si próprio, liga-se a um servidor MCP que expõe um conjunto de ferramentas através de um protocolo padrão — semelhante a como uma API REST expõe os endpoints.
O Agent Framework suporta duas variantes:
| Sabor | O que é | Quando Utilizar |
|---|---|---|
| Ferramentas MCP hospedadas | Servidores MCP alojados e geridos pela Microsoft Foundry ou outros fornecedores | Quer acesso chave na mão a capacidades comuns (por exemplo, pesquisa de ficheiros, execução de código) sem gerir a infraestrutura |
| Ferramentas MCP locais | Servidores MCP que gere você próprio ou a que se liga a partir de qualquer fornecedor | Tem um servidor MCP personalizado ou de terceiros, ou precisa de ferramentas que corram no seu próprio ambiente |
Use as ferramentas MCP quando:
- Um servidor MCP pré-construído já oferece a capacidade de que precisas
- Quer reutilizar ferramentas em múltiplos agentes ou aplicações através de um servidor partilhado
- Estás a integrar-te com um serviço de terceiros que expõe um endpoint MCP
Ferramentas alojadas pelo fornecedor
Alguns fornecedores oferecem ferramentas integradas que funcionam na infraestrutura do fornecedor — sem necessidade de código local. Estes são, entre outros:
| Tool | O que faz |
|---|---|
| Intérprete de código | Executa código num ambiente sandbox na infraestrutura do fornecedor |
| Pesquisa de Ficheiros | Pesquisas entre os ficheiros que carrega para o fornecedor |
| Pesquisa na Web | Pesquisa na internet informação em tempo real |
Utilizar ferramentas alojadas pelo fornecedor quando:
- Precisas de capacidades como execução de código ou pesquisa na web sem teres de construir ou alojar a ferramenta tu próprio
- O fornecedor já oferece uma versão gerida que satisfaz as suas necessidades
Observação
A disponibilidade de ferramentas alojadas pelo fornecedor varia consoante o fornecedor. Consulte a Visão Geral das Ferramentas para a matriz completa de suporte ao prestador.
Observação
Alguns fornecedores de LLM podem executar ferramentas alojadas na sua infraestrutura durante a inferência, como a API Responses da OpenAI. Pense nestes serviços de inferência como serviços semi-agentivos que combinam inferência com execução de ferramentas. Não altera a forma como o modelo subjacente funciona, mas significa que a execução da ferramenta pode ocorrer como parte da geração de resposta do serviço. Estes serviços não podem executar ferramentas locais, que têm de ser executadas na sua própria infraestrutura.
Escolher o tipo de ferramenta certo
| Pergunta | Recommendation |
|---|---|
| Tenho lógica de negócio personalizada? | Ferramentas funcionais — escrevam e registam as vossas próprias funções |
| Existe algum servidor MCP que já faça o que preciso? | Ferramentas MCP — conectar-se a ele em vez de construir do zero, como o servidor MCP GitHub |
| Preciso de execução de código, pesquisa de ficheiros ou pesquisa na web? | Ferramentas alojadas pelo fornecedor — verifique se o seu fornecedor as suporta |
| Preciso de ferramentas de várias categorias? | Combine-os — os agentes podem usar ferramentas funcionais, ferramentas MCP e ferramentas alojadas pelo fornecedor em simultâneo |
As descrições das ferramentas são importantes
O modelo seleciona as ferramentas com base nos seus nomes e descrições. Uma descrição vaga leva a uma má seleção de ferramentas — o modelo pode chamar a ferramenta errada, saltar uma ferramenta que deveria usar ou passar argumentos incorretos.
Escreve descrições de ferramentas da mesma forma que escreverias um documento de API: diz o que a ferramenta faz, o que cada parâmetro significa e o que devolve. Quanto mais clara a descrição, melhor será o julgamento do modelo.
Sugestão
Definições de ferramentas (nomes, descrições, esquemas de parâmetros) são incluídas no prompt e consomem tokens na janela de contexto. Se registar muitas ferramentas, a sobrecarga de processamento (overhead) pode ser significativa. Regista apenas as ferramentas que o agente realmente precisa.
Aprovação de ferramentas: humano no circuito
Algumas ações são sensíveis — transferir dinheiro, apagar registos, enviar emails. Pode não querer que o agente execute estas ferramentas de forma autónoma. A aprovação de ferramentas permite-lhe exigir confirmação humana antes de uma ferramenta ser executada.
Quando uma ferramenta é marcada como necessitando de aprovação, o agente faz uma pausa antes da execução e devolve uma resposta indicando que a aprovação é necessária. A sua aplicação é responsável por apresentar isto ao utilizador e transmitir a sua decisão.
Este padrão é frequentemente chamado de humano no circuito e é essencial para construir agentes confiáveis que lidam com ações de grande consequência.
Dificuldades comuns
| Armadilha | Orientações |
|---|---|
| Ferramentas a mais | Cada definição de ferramenta consome tokens. Registe apenas as ferramentas relevantes para o propósito do agente. |
| Descrições vagas | "Realizar operações com dados" não vai ajudar o modelo. Seja específico: "Consulta a base de dados de inventário para a disponibilidade do produto por SKU." |
| Sem gestão de erros | As ferramentas podem falhar (erros de rede, entrada inválida). Devolva mensagens de erro claras para que o modelo possa raciocinar sobre o que correu mal e tentar novamente ou informar o utilizador. |
| Ferramentas excessivamente permissivas | Uma ferramenta que pode "executar qualquer consulta SQL" é um risco de segurança. Delimitar ferramentas para operações específicas e bem definidas. |
| Falta de aprovação em ações sensíveis | Se uma ferramenta conseguir fazer alterações irreversíveis, adicione aprovação de ferramenta para manter um humano no processo. |
Menção especial: Ferramenta de Interpretação de Código
Como discutido em LLM Fundamentals, os LLMs podem cometer erros em cálculos precisos e lógica formal. Isto porque os LLMs geram respostas de forma token a token baseando-se na correspondência de padrões — na verdade, não computam. Um LLM a quem se pede para multiplicar dois números grandes não está a executar aritmética; está a prever como seria a aparência da resposta com base nos dados de treino. Isto funciona surpreendentemente frequentemente, mas falha de forma imprevisível em casos extremos.
O Code Interpreter resolve isto permitindo que o agente escreva e execute código num ambiente sandbox. Em vez de adivinhar a resposta, o modelo escreve um script em Python que a calcula exatamente, executa-a e usa o resultado verificado na sua resposta.
Observação
O modelo pode escrever um script ligeiramente diferente cada vez que lhe é pedido para resolver o mesmo problema, mas os resultados devem ser maioritariamente consistentes.
Advertência
O Intérprete de Código não substitui o raciocínio cuidadoso por parte do humano. Verifique sempre o trabalho do agente e verifique os resultados de forma independente quando necessário.
Dê ao seu agente um Interpretador de Código quando for necessário:
- Realize cálculos precisos — modelação financeira, análise estatística, conversões de unidades — onde uma "melhor estimativa" aproximada não seja aceitável.
- Transforme ou analise dados — analise CSVs, agregue linhas, gere gráficos ou reformule dados estruturados.
- Processar ficheiros — ler documentos carregados, extrair conteúdo, converter formatos ou gerar novos ficheiros.
- Valide o seu próprio raciocínio — escreva código de teste para verificar uma afirmação lógica antes de a apresentar ao utilizador.
Sugestão
O Code Interpreter pode ser uma ferramenta alojada pelo fornecedor — o código corre na infraestrutura do fornecedor num sandbox, não no seu ambiente. Isto torna-o seguro de usar sem preocupações com código arbitrário a ser executado nos seus servidores. Consulte a referência do Code Interpreter para detalhes da configuração.
Passos seguintes
Depois de o seu agente ter ferramentas, o próximo passo é aprender sobre competências — pacotes portáteis de instruções, material de referência e guiões que dão aos agentes conhecimentos de domínio que podem carregar à vontade.
Vai mais fundo:
- Visão Geral das Ferramentas — todos os tipos de ferramentas e matriz de suporte a fornecedores
- Ferramentas de Função — referência detalhada de ferramentas funcionais
- Hosted MCP Tools — servidores MCP Microsoft Foundry ou outros fornecedores
- Ferramentas MCP Locais — servidores MCP personalizados
- Aprovação de Ferramentas — intervenção humana para ferramentas
- Passo 2: Adicionar Ferramentas — tutorial prático