Compartir a través de


Información general sobre herramientas

Agent Framework admite muchos tipos diferentes de herramientas que amplían las funcionalidades del agente. Las herramientas permiten a los agentes interactuar con sistemas externos, ejecutar código, buscar datos, etc.

Tipos de herramientas

Tipo de herramienta Description
Herramientas de funciones Código personalizado al que pueden llamar los agentes durante las conversaciones
Aprobación de herramientas Aprobación humana en el bucle para las invocaciones de herramientas
Intérprete de código Ejecución de código en un entorno de espacio aislado
Búsqueda de archivos Búsqueda a través de archivos cargados
Búsqueda web Buscar información en la web
Herramientas de MCP hospedadas Herramientas de MCP hospedadas por Azure AI Foundry
Herramientas de MCP locales Herramientas de MCP que se ejecutan localmente o en servidores personalizados

Matriz de compatibilidad del proveedor

Los proveedores de OpenAI y Azure OpenAI ofrecen cada uno varios tipos de cliente con distintas funcionalidades de herramientas. Los clientes de Azure OpenAI reflejan sus equivalentes de OpenAI.

Tipo de herramienta Finalización del chat Respuestas Asistentes Azure AI Foundry Antrópica Ollama Copiloto de GitHub Copilot Studio
Herramientas de funciones
Aprobación de herramientas
Intérprete de código
Búsqueda de archivos
Búsqueda web
Herramientas de MCP hospedadas
Herramientas de MCP locales

Nota:

Las columnasFinalización de chat, Respuestas y Asistentes se aplican tanto a OpenAI como a Azure OpenAI: las variantes de Azure reflejan la misma compatibilidad con la herramienta que sus homólogos de OpenAI.

Matriz de compatibilidad del proveedor

Los proveedores de OpenAI y Azure OpenAI ofrecen cada uno varios tipos de cliente con distintas funcionalidades de herramientas. Los clientes de Azure OpenAI reflejan sus equivalentes de OpenAI.

Tipo de herramienta Finalización del chat Respuestas Asistentes Azure AI Foundry Antrópica Agente de Claude Ollama Copiloto de GitHub
Herramientas de funciones
Aprobación de herramientas
Intérprete de código
Búsqueda de archivos
Búsqueda web
Generación de imágenes
Herramientas de MCP hospedadas
Herramientas de MCP locales

Nota:

Las columnasFinalización de chat, Respuestas y Asistentes se aplican tanto a OpenAI como a Azure OpenAI: las variantes de Azure reflejan la misma compatibilidad con la herramienta que sus homólogos de OpenAI. Las herramientas de MCP locales funcionan con cualquier proveedor que admita herramientas de funciones.

Uso de un agente como una herramienta de función

Puede usar un agente como herramienta de función para otro agente, lo que permite la composición del agente y flujos de trabajo más avanzados. El agente interno se convierte en una herramienta de función y se proporciona al agente externo, que luego puede llamarlo según sea necesario.

Llame .AsAIFunction() a en para AIAgent convertirlo en una herramienta de función que se puede proporcionar a otro 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?"));

Llame .as_tool() a en un agente para convertirlo en una herramienta de función que se puede proporcionar a otro 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)

También puede personalizar el nombre, la descripción y el nombre del argumento de la herramienta:

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

Pasos siguientes