Sdílet prostřednictvím


Přehled nástrojů

Agent Framework podporuje mnoho různých typů nástrojů, které rozšiřují možnosti agenta. Nástroje umožňují agentům pracovat s externími systémy, spouštět kód, prohledávat data a provádět další možnosti.

Typy nástrojů

Typ nástroje Description
Nástroje funkcí Vlastní kód, který můžou agenti volat během konverzací
Schválení nástroje Schválení smyčky člověka ve smyčce pro vyvolání nástrojů
interpretu kódu Spuštění kódu v prostředí s izolovaným prostorem (sandbox)
hledání souborů Hledání prostřednictvím nahraných souborů
Vyhledávání na webu Vyhledání informací na webu
Hostované nástroje MCP Nástroje MCP hostované službou Azure AI Foundry
Místní nástroje MCP Nástroje MCP spuštěné místně nebo na vlastních serverech

Matice podpory zprostředkovatele

Poskytovatelé OpenAI a Azure OpenAI nabízejí různé typy klientů s různými možnostmi nástrojů. Klienti Azure OpenAI zrcadlí své ekvivalenty OpenAI.

Typ nástroje Dokončení chatu Reakce Asistenti Azure AI Foundry Anthropic Ollama GitHub Copilot Copilot Studio
Nástroje funkcí
Schválení nástroje
interpretu kódu
hledání souborů
Vyhledávání na webu
Hostované nástroje MCP
Místní nástroje MCP

Poznámka:

Sloupce Dokončení chatu, Odpovědi a Asistenti platí pro OpenAI i Azure OpenAI – varianty Azure zrcadlí stejnou podporu nástroje jako jejich protějšky OpenAI.

Matice podpory zprostředkovatele

Poskytovatelé OpenAI a Azure OpenAI nabízejí různé typy klientů s různými možnostmi nástrojů. Klienti Azure OpenAI zrcadlí své ekvivalenty OpenAI.

Typ nástroje Dokončení chatu Reakce Asistenti Azure AI Foundry Anthropic Claude Agent Ollama GitHub Copilot
Nástroje funkcí
Schválení nástroje
interpretu kódu
hledání souborů
Vyhledávání na webu
Generování obrazu
Hostované nástroje MCP
Místní nástroje MCP

Poznámka:

Sloupce Dokončení chatu, Odpovědi a Asistenti platí pro OpenAI i Azure OpenAI – varianty Azure zrcadlí stejnou podporu nástroje jako jejich protějšky OpenAI. Místní nástroje MCP fungují s libovolným poskytovatelem, který podporuje nástroje funkcí.

Použití agenta jako nástroje funkce

Agenta můžete použít jako nástroj funkce pro jiného agenta, který umožňuje složení agenta a pokročilejší pracovní postupy. Vnitřní agent se převede na nástroj funkce a poskytne se vnějšímu agentu, který ho pak může podle potřeby volat.

Voláním .AsAIFunction()AIAgent funkce ji převeďte na nástroj funkce, který je možné poskytnout jinému agentu:

// 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?"));

Volání .as_tool() agenta, který ho převede na nástroj funkce, který je možné poskytnout jinému agentu:

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)

Můžete také přizpůsobit název nástroje, popis a název argumentu:

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

Další kroky