Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Agent Framework dá suporte a muitos tipos diferentes de ferramentas que estendem os recursos do agente. As ferramentas permitem que os agentes interajam com sistemas externos, executem código, pesquisem dados e muito mais.
Tipos de ferramentas
| Tipo de Ferramenta | DESCRIÇÃO |
|---|---|
| Ferramentas de Funções | Código personalizado que os agentes podem chamar durante as conversas |
| Interpretador de códigos | Executar código em um ambiente em área restrita |
| Pesquisa de Arquivos | Pesquisar por meio de arquivos carregados |
| Pesquisa na Web | Pesquisar informações na Web |
| Ferramentas MCP hospedadas | Servidores MCP invocados pelo runtime do provedor |
| Ferramentas MCP locais | Servidores MCP em execução local ou em hosts personalizados |
| Caixas de ferramentas de pesquisa | Pacotes nomeados e com versão de configurações de ferramentas hospedadas gerenciadas em um projeto do Foundry |
| Tipo de Ferramenta | DESCRIÇÃO |
|---|---|
| Ferramentas de Funções | Código personalizado que os agentes podem chamar durante as conversas |
| Interpretador de códigos | Executar código em um ambiente em área restrita |
| Pesquisa de Arquivos | Pesquisar por meio de arquivos carregados |
| Pesquisa na Web | Pesquisar informações na Web |
| Ferramentas MCP hospedadas | Servidores MCP invocados pelo runtime do provedor |
| Ferramentas MCP locais | Servidores MCP em execução local ou em hosts personalizados |
| Caixas de ferramentas de pesquisa | Pacotes nomeados e com versão de configurações de ferramentas hospedadas gerenciadas em um projeto do Foundry |
| Geração de Imagem | Geração de imagem hospedada no runtime de Respostas do Foundry/OpenAI |
| Shell | Execução do shell hospedado no runtime de Respostas openai — diferente das ferramentas internas de runtime de shell/arquivo/URL da CLI de GitHub Copilot |
| Aterramento do Bing | Aterramento da Web por meio de seu próprio recurso Aterramento com a Pesquisa do Bing – experimental |
| Pesquisa Personalizada do Bing | Aterramento do Bing restrito a uma lista de domínios coletados — versão prévia |
| Pesquisa de IA do Azure | Consultar um índice de Pesquisa de IA do Azure por meio de uma conexão foundry — experimental |
| SharePoint | Respostas básicas no conteúdo SharePoint — versão prévia |
| Microsoft Fabric | Consultar um agente de dados Fabric — versão prévia |
| Pesquisa de Memória | Pesquisar um repositório de memória gerenciado pelo Foundry — versão prévia |
| Uso de Computadores | Dirigir um ambiente de desktop ou navegador — versão prévia |
| Automação do navegador | Dirigir um navegador por meio de Azure Dramaturgo — versão prévia |
| Ferramenta Agente para Agente (A2A) | Chamar um agente A2A remoto como uma ferramenta de um agente do Foundry — versão prévia |
Observação
Ferramentas marcadas como experimentais ou visualização são documentadas na página do provedor relevante e emitem uma ExperimentalWarning primeira vez que são usadas em um processo.
Aprovação da ferramenta
A Aprovação da Ferramenta é um recurso de estrutura que permite que você porte todas as invocações de ferramentas — ferramentas de função, ferramentas hospedadas, chamadas de ferramenta MCP — por meio de uma decisão humana no loop antes que o modelo receba o resultado. Ele é tratado pelo cliente de chat de invocação de função da estrutura em .NET e Python, portanto, ele funciona com qualquer provedor cujo cliente invoca ferramentas localmente; não é uma funcionalidade por provedor. Consulte a página Aprovação da Ferramenta para obter o padrão completo, incluindo como as aprovações interagem com sessões, streaming e middleware.
Matriz de suporte do provedor
Os provedores OpenAI e Azure OpenAI oferecem dois tipos de cliente , respostas e preenchimento de chat, com diferentes funcionalidades de ferramenta. Os clientes do Azure OpenAI espelham seus equivalentes openai. Copilot Studio e A2A agentes são executados em um serviço remoto para que seus recursos sejam configurados no agente remoto e não por meio do cliente do Agent Framework, eles não estão listados na matriz.
| Tipo de Ferramenta | Respostas | Conclusão do chat | Fundição | Antrópico | Ollama | Copiloto do GitHub |
|---|---|---|---|---|---|---|
| Ferramentas de Funções | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Interpretador de códigos | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Pesquisa de Arquivos | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Pesquisa na Web | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Ferramentas MCP hospedadas | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ |
| Ferramentas MCP locais | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Observação
As colunas Responses e Chat Completion se aplicam ao OpenAI e Azure OpenAI , as variantes Azure espelham o mesmo suporte de ferramenta que seus equivalentes openai. A API Assistants preterida não está mais documentada; para obter diretrizes de migração, consulte o guia de migração Kernel semântico.
Matriz de suporte do provedor
Os provedores OpenAI e Azure OpenAI oferecem vários tipos de cliente com recursos de ferramentas diferentes. Os clientes do Azure OpenAI espelham seus equivalentes openai. A coluna Foundry aplica-se às FoundryChatClientFoundryAgentferramentas configuradas na definição do agente do Foundry (veja o que funciona e o que não funciona).FoundryAgent
Copilot Studio e A2A agentes são executados em um serviço remoto para que seus recursos sejam configurados no agente remoto e não por meio do cliente do Agent Framework, eles não estão listados na matriz.
| Tipo de Ferramenta | Respostas | Conclusão do chat | Fundição | Antrópico | Ollama | Fábrica Local | Copiloto do GitHub |
|---|---|---|---|---|---|---|---|
| Ferramentas de Funções | ✅ | ✅ | ✅ | ✅ | ⚠️¹ | ⚠️¹ | ✅ |
| Interpretador de códigos | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Pesquisa de Arquivos | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Pesquisa na Web | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Geração de Imagem | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
Shell hospedado (get_shell_tool) |
✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Shell interno/ sistema de arquivos/busca de URL | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅² |
| Ferramentas MCP hospedadas | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
| Ferramentas MCP locais | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Caixas de ferramentas de pesquisa | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Aterramento do Bing (experimental) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Pesquisa Personalizada do Bing (versão prévia) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Pesquisa de IA do Azure (experimental) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| SharePoint (versão prévia) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Microsoft Fabric (versão prévia) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Pesquisa de Memória (versão prévia) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Uso do computador (versão prévia) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Automação do Navegador (versão prévia) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Ferramenta Agente para Agente (A2A) (versão prévia) | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
¹ Depende do modelo local escolhido que dá suporte à chamada de função.
² Integrado ao runtime da CLI GitHub Copilot, fechado por um manipulador de permissões. Superfície diferente da do get_shell_toolOpenAI.
Observação
As colunas Responses e Chat Completion se aplicam ao OpenAI e Azure OpenAI , as variantes Azure espelham o mesmo suporte de ferramenta que seus equivalentes openai. As Ferramentas MCP locais funcionam com qualquer provedor que dê suporte a ferramentas de função.
Usando um agente como uma ferramenta de função
Você pode usar um agente como uma ferramenta de função para outro agente, habilitando a composição do agente e fluxos de trabalho mais avançados. O agente interno é convertido em uma ferramenta de função e fornecido para o agente externo, que pode chamá-lo conforme necessário.
Chame .AsAIFunction() um AIAgent para convertê-lo em uma ferramenta de função que pode ser fornecida para outro agente:
// Create the inner agent with its own tools
AIAgent weatherAgent = new AIProjectClient(
new Uri("<your-foundry-project-endpoint>"),
new DefaultAzureCredential())
.AsAIAgent(
model: "gpt-4o-mini",
instructions: "You answer questions about the weather.",
name: "WeatherAgent",
description: "An agent that answers questions about the weather.",
tools: [AIFunctionFactory.Create(GetWeather)]);
// Create the main agent and provide the inner agent as a function tool
AIAgent agent = new AIProjectClient(
new Uri("<your-foundry-project-endpoint>"),
new DefaultAzureCredential())
.AsAIAgent(
model: "gpt-4o-mini",
instructions: "You are a helpful assistant.",
tools: [weatherAgent.AsAIFunction()]);
// The main agent can now call the weather agent as a tool
Console.WriteLine(await agent.RunAsync("What is the weather like in Amsterdam?"));
Aviso
DefaultAzureCredential é conveniente para o desenvolvimento, mas requer uma consideração cuidadosa na produção. Em produção, considere o uso de uma credencial específica (por exemplo, ManagedIdentityCredential) para evitar problemas de latência, investigação de credenciais não intencionais e possíveis riscos de segurança de mecanismos de fallback.
Chame .as_tool() um agente para convertê-lo em uma ferramenta de função que pode ser fornecida a outro agente:
import os
from agent_framework.openai import OpenAIChatCompletionClient
from azure.identity import AzureCliCredential
# Create the inner agent with its own tools
weather_agent = OpenAIChatCompletionClient(
model=os.environ["AZURE_OPENAI_CHAT_COMPLETION_MODEL"],
azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
credential=AzureCliCredential(),
).as_agent(
name="WeatherAgent",
description="An agent that answers questions about the weather.",
instructions="You answer questions about the weather.",
tools=get_weather
)
# Create the main agent and provide the inner agent as a function tool
main_agent = OpenAIChatCompletionClient(
model=os.environ["AZURE_OPENAI_CHAT_COMPLETION_MODEL"],
azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
credential=AzureCliCredential(),
).as_agent(
instructions="You are a helpful assistant.",
tools=weather_agent.as_tool()
)
# The main agent can now call the weather agent as a tool
result = await main_agent.run("What is the weather like in Amsterdam?")
print(result.text)
Você também pode personalizar o nome da ferramenta, a descrição e o nome do argumento:
weather_tool = weather_agent.as_tool(
name="WeatherLookup",
description="Look up weather information for any location",
arg_name="query",
arg_description="The weather query or location"
)