Compartilhar via


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
Aprovação da ferramenta Aprovação humana no loop para invocações de ferramentas
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 Ferramentas MCP hospedadas pelo Azure AI Foundry
Ferramentas MCP locais Ferramentas MCP em execução local ou em servidores personalizados

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.

Tipo de Ferramenta Conclusão do chat Respostas Assistentes Fundição de IA do Azure Antrópico Ollama Copiloto do GitHub Copilot Studio
Ferramentas de Funções
Aprovação da ferramenta
Interpretador de códigos
Pesquisa de Arquivos
Pesquisa na Web
Ferramentas MCP hospedadas
Ferramentas MCP locais

Observação

As colunasConclusão de Chat, Respostas e Assistentes se aplicam ao OpenAI e ao Azure OpenAI — as variantes do Azure espelham o mesmo suporte de ferramenta que seus equivalentes openai.

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.

Tipo de Ferramenta Conclusão do chat Respostas Assistentes Fundição de IA do Azure Antrópico Agente Claude Ollama Copiloto do GitHub
Ferramentas de Funções
Aprovação da ferramenta
Interpretador de códigos
Pesquisa de Arquivos
Pesquisa na Web
Geração de Imagem
Ferramentas MCP hospedadas
Ferramentas MCP locais

Observação

As colunasConclusão de Chat, Respostas e Assistentes se aplicam ao OpenAI e ao Azure OpenAI — as variantes do 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 AzureOpenAIClient(
    new Uri("https://<myresource>.openai.azure.com"),
    new AzureCliCredential())
     .GetChatClient("gpt-4o-mini")
     .AsAIAgent(
        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 AzureOpenAIClient(
    new Uri("https://<myresource>.openai.azure.com"),
    new AzureCliCredential())
     .GetChatClient("gpt-4o-mini")
     .AsAIAgent(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?"));

Chame .as_tool() um agente para convertê-lo em uma ferramenta de função que pode ser fornecida a outro agente:

from agent_framework.azure import AzureOpenAIChatClient
from azure.identity import AzureCliCredential

# Create the inner agent with its own tools
weather_agent = AzureOpenAIChatClient(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 = AzureOpenAIChatClient(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