Descrição Geral das Ferramentas

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"
)

Próximas etapas