(Klikněte na obrázek výše pro zobrazení videa této lekce)
Rámce pro AI agenty jsou softwarové platformy navržené tak, aby zjednodušily vytváření, nasazení a správu AI agentů. Tyto rámce poskytují vývojářům předpřipravené komponenty, abstrakce a nástroje, které zjednodušují vývoj složitých AI systémů.
Tyto rámce pomáhají vývojářům soustředit se na jedinečné aspekty jejich aplikací tím, že poskytují standardizované přístupy k běžným výzvám při vývoji AI agentů. Zvyšují škálovatelnost, dostupnost a efektivitu při vytváření AI systémů.
Tato lekce pokryje:
Cíle této lekce jsou vám pomoci porozumět:
Tradiční AI rámce vám mohou pomoci integrovat AI do vašich aplikací a vylepšit tyto aplikace následujícími způsoby:
Rámce pro AI agenty představují něco víc než jen AI frameworky. Jsou navrženy tak, aby umožnily vytváření inteligentních agentů, kteří mohou komunikovat s uživateli, jinými agenty a prostředím za účelem dosažení konkrétních cílů. Tito agenti mohou vykazovat autonomní chování, přijímat rozhodnutí a přizpůsobovat se měnícím se podmínkám. Pojďme se podívat na některé klíčové schopnosti, které rámce AI agentů umožňují:
Shrnuto, agenti vám umožňují dělat více, posunout automatizaci na vyšší úroveň a vytvářet inteligentnější systémy, které se mohou přizpůsobovat a učit se z jejich prostředí.
Toto je rychle se vyvíjející oblast, ale existují některé společné prvky napříč většinou rámců AI agentů, které vám mohou pomoci rychle prototypovat a iterovat — konkrétně modulární komponenty, nástroje pro spolupráci a učení v reálném čase. Pojďme se na ně podívat:
SDK jako Microsoft Agent Framework nabízejí předpřipravené komponenty, jako jsou AI konektory, definice nástrojů a řízení agentů.
Jak to mohou týmy využít: Týmy mohou rychle sestavit tyto komponenty k vytvoření funkčního prototypu bez nutnosti začínat od nuly, což umožňuje rychlé experimentování a iteraci.
Jak to funguje v praxi: Můžete použít předpřipravený parser k extrahování informací z uživatelského vstupu, modul paměti k ukládání a načítání dat a generátor promptů k interakci s uživateli, to vše bez nutnosti vytvářet tyto komponenty od nuly.
Ukázkový kód. Podívejme se na příklad, jak můžete použít Microsoft Agent Framework s AzureAIProjectAgentProvider, aby model odpovídal na uživatelský vstup s voláním nástrojů:
# Microsoft Agent Framework Příklad v Pythonu
import asyncio
import os
from typing import Annotated
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential
# Definujte ukázkovou funkci nástroje pro rezervaci cesty
def book_flight(date: str, location: str) -> str:
"""Book travel given location and date."""
return f"Travel was booked to {location} on {date}"
async def main():
provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())
agent = await provider.create_agent(
name="travel_agent",
instructions="Help the user book travel. Use the book_flight tool when ready.",
tools=[book_flight],
)
response = await agent.run("I'd like to go to New York on January 1, 2025")
print(response)
# Příklad výstupu: Váš let do New Yorku dne 1. ledna 2025 byl úspěšně rezervován. Šťastnou cestu! ✈️🗽
if __name__ == "__main__":
asyncio.run(main())
Z toho, co vidíte v tomto příkladu, je patrné, jak můžete využít předpřipravený parser k extrahování klíčových informací z uživatelského vstupu, jako je odlet, cíl a datum žádosti o rezervaci letu. Tento modulární přístup vám umožňuje soustředit se na logiku na vyšší úrovni.
Rámce jako Microsoft Agent Framework usnadňují vytváření více agentů, kteří mohou spolupracovat.
Jak to mohou týmy využít: Týmy mohou navrhovat agenty se specifickými rolemi a úkoly, což jim umožní testovat a zdokonalovat kolaborativní pracovní postupy a zlepšovat celkovou efektivitu systému.
Jak to funguje v praxi: Můžete vytvořit tým agentů, kde každý agent má specializovanou funkci, například získávání dat, analýzu nebo rozhodování. Tito agenti mohou komunikovat a sdílet informace, aby dosáhli společného cíle, například odpovědět na dotaz uživatele nebo dokončit úkol.
Ukázkový kód (Microsoft Agent Framework):
# Vytváření více agentů, kteří spolupracují pomocí Microsoft Agent Framework
import os
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential
provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())
# Agent pro získávání dat
agent_retrieve = await provider.create_agent(
name="dataretrieval",
instructions="Retrieve relevant data using available tools.",
tools=[retrieve_tool],
)
# Agent pro analýzu dat
agent_analyze = await provider.create_agent(
name="dataanalysis",
instructions="Analyze the retrieved data and provide insights.",
tools=[analyze_tool],
)
# Spouštění agentů sekvenčně na úkolu
retrieval_result = await agent_retrieve.run("Retrieve sales data for Q4")
analysis_result = await agent_analyze.run(f"Analyze this data: {retrieval_result}")
print(analysis_result)
V předchozím kódu vidíte, jak můžete vytvořit úkol, který zahrnuje více agentů spolupracujících na analýze dat. Každý agent provádí specifickou funkci a úkol je vykonáván koordinací agentů k dosažení požadovaného výsledku. Vytvářením dedikovaných agentů se specializovanými rolemi můžete zlepšit efektivitu a výkon při plnění úkolů.
Pokročilé rámce poskytují schopnosti pro porozumění kontextu a adaptaci v reálném čase.
Jak to mohou týmy využít: Týmy mohou implementovat zpětnovazební smyčky, kde se agenti učí z interakcí a dynamicky upravují své chování, což vede k průběžnému zlepšování a zdokonalování schopností.
Jak to funguje v praxi: Agenti mohou analyzovat zpětnou vazbu od uživatelů, environmentální data a výsledky úkolů a aktualizovat tak svou znalostní bázi, upravovat algoritmy rozhodování a zlepšovat výkon v čase. Tento iterativní proces učení umožňuje agentům přizpůsobit se měnícím se podmínkám a preferencím uživatelů, čímž zvyšuje celkovou účinnost systému.
Existuje mnoho způsobů, jak tyto přístupy porovnat, ale pojďme se podívat na některé klíčové rozdíly z hlediska jejich návrhu, schopností a cílových případů použití:
Microsoft Agent Framework poskytuje zjednodušené SDK pro vytváření AI agentů pomocí AzureAIProjectAgentProvider. Umožňuje vývojářům vytvářet agenty, kteří využívají modely Azure OpenAI s vestavěným voláním nástrojů, správou konverzací a zabezpečením na úrovni podniku prostřednictvím Azure identity.
Případy použití: Vytváření produkčně připravených AI agentů s využitím nástrojů, vícekrokových pracovních postupů a scénářů integrace do podnikových prostředí.
Zde jsou některé důležité základní koncepty Microsoft Agent Framework:
AzureAIProjectAgentProvider a nakonfigurován s názvem, instrukcemi a nástroji. Agent může:
Zde je ukázka kódu, která ukazuje, jak vytvořit agenta:
import os
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential
provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())
agent = await provider.create_agent(
name="my_agent",
instructions="You are a helpful assistant.",
)
response = await agent.run("Hello, World!")
print(response)
Tools. Rámec podporuje definování nástrojů jako Python funkcí, které může agent automaticky volat. Nástroje jsou registrovány při vytváření agenta:
def get_weather(location: str) -> str:
"""Get the current weather for a location."""
return f"The weather in {location} is sunny, 72\u00b0F."
agent = await provider.create_agent(
name="weather_agent",
instructions="Help users check the weather.",
tools=[get_weather],
)
Koordinace více agentů. Můžete vytvořit více agentů s různou specializací a koordinovat jejich práci:
planner = await provider.create_agent(
name="planner",
instructions="Break down complex tasks into steps.",
)
executor = await provider.create_agent(
name="executor",
instructions="Execute the planned steps using available tools.",
tools=[execute_tool],
)
plan = await planner.run("Plan a trip to Paris")
result = await executor.run(f"Execute this plan: {plan}")
AzureCliCredential (nebo DefaultAzureCredential) pro zabezpečené přihlášení bez klíčů, čímž eliminuje potřebu spravovat API klíče přímo.Azure AI Agent Service je novější přírůstek, představený na Microsoft Ignite 2024. Umožňuje vývoj a nasazení AI agentů s flexibilnějšími modely, například přímým voláním open-source LLM jako Llama 3, Mistral a Cohere.
Azure AI Agent Service poskytuje silnější mechanismy zabezpečení pro podniky a metody ukládání dat, díky čemuž je vhodný pro podnikové aplikace.
Funguje zkrátka out-of-the-box s Microsoft Agent Framework pro vytváření a nasazení agentů.
Tato služba je v současnosti ve veřejné ukázce (Public Preview) a podporuje Python a C# pro vytváření agentů.
Pomocí Python SDK služby Azure AI Agent Service můžeme vytvořit agenta s uživatelsky definovaným nástrojem:
import asyncio
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
# Definujte funkce nástroje
def get_specials() -> str:
"""Provides a list of specials from the menu."""
return """
Special Soup: Clam Chowder
Special Salad: Cobb Salad
Special Drink: Chai Tea
"""
def get_item_price(menu_item: str) -> str:
"""Provides the price of the requested menu item."""
return "$9.99"
async def main() -> None:
credential = DefaultAzureCredential()
project_client = AIProjectClient.from_connection_string(
credential=credential,
conn_str="your-connection-string",
)
agent = project_client.agents.create_agent(
model="gpt-4o-mini",
name="Host",
instructions="Answer questions about the menu.",
tools=[get_specials, get_item_price],
)
thread = project_client.agents.create_thread()
user_inputs = [
"Hello",
"What is the special soup?",
"How much does that cost?",
"Thank you",
]
for user_input in user_inputs:
print(f"# User: '{user_input}'")
message = project_client.agents.create_message(
thread_id=thread.id,
role="user",
content=user_input,
)
run = project_client.agents.create_and_process_run(
thread_id=thread.id, agent_id=agent.id
)
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"# Agent: {messages.data[0].content[0].text.value}")
if __name__ == "__main__":
asyncio.run(main())
Azure AI Agent Service má následující základní koncepty:
Agent. Azure AI Agent Service se integruje s Microsoft Foundry. V rámci AI Foundry funguje AI Agent jako “chybná” mikroservisa, která může být použita k odpovídání na dotazy (RAG), provádění akcí nebo úplné automatizaci pracovních postupů. Dosahuje toho kombinováním generativních AI modelů s nástroji, které mu umožňují přistupovat a interagovat se zdroji reálných dat. Zde je příklad agenta:
agent = project_client.agents.create_agent(
model="gpt-4o-mini",
name="my-agent",
instructions="You are helpful agent",
tools=code_interpreter.definitions,
tool_resources=code_interpreter.resources,
)
V tomto příkladu je agent vytvořen s modelem gpt-4o-mini, názvem my-agent a instrukcemi You are helpful agent. Agent je vybaven nástroji a zdroji pro vykonávání úloh interpretace kódu.
Thread and messages. Thread (vlákno) je dalším důležitým konceptem. Představuje konverzaci nebo interakci mezi agentem a uživatelem. Vlákna lze použít ke sledování průběhu konverzace, ukládání kontextových informací a správě stavu interakce. Zde je příklad vlákna:
thread = project_client.agents.create_thread()
message = project_client.agents.create_message(
thread_id=thread.id,
role="user",
content="Could you please create a bar chart for the operating profit using the following data and provide the file to me? Company A: $1.2 million, Company B: $2.5 million, Company C: $3.0 million, Company D: $1.8 million",
)
# Ask the agent to perform work on the thread
run = project_client.agents.create_and_process_run(thread_id=thread.id, agent_id=agent.id)
# Fetch and log all messages to see the agent's response
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"Messages: {messages}")
V předchozím kódu je vytvořeno vlákno. Poté je do vlákna odeslána zpráva. Zavoláním create_and_process_run je agent požádán, aby na vlákně vykonal práci. Nakonec jsou zprávy načteny a zaznamenány, aby bylo vidět odpověď agenta. Zprávy ukazují průběh konverzace mezi uživatelem a agentem. Je také důležité pochopit, že zprávy mohou být různých typů, jako je text, obrázek nebo soubor; to znamená, že práce agentů může mít například za výsledek obrázek nebo textovou odpověď. Jako vývojář pak můžete tyto informace dále zpracovat nebo je zobrazit uživateli.
Integrace s Microsoft Agent Framework. Azure AI Agent Service funguje bezproblémově s Microsoft Agent Framework, což znamená, že můžete agenty vytvářet pomocí AzureAIProjectAgentProvider a nasazovat je prostřednictvím Agent Service pro produkční scénáře.
Případy použití: Azure AI Agent Service je navržena pro podnikové aplikace, které vyžadují bezpečné, škálovatelné a flexibilní nasazení AI agentů.
Zní to, jako by existovalo překrytí, ale jsou zde některé klíčové rozdíly z hlediska jejich návrhu, schopností a cílových případů použití:
Stále si nejste jisti, kterou možnost zvolit?
Pojďme se podívat, jestli vám můžeme pomoci tím, že projdeme některé běžné případy použití:
Q: Vytvářím produkční aplikace s AI agenty a chci začít rychle
A: Microsoft Agent Framework je skvělá volba. Poskytuje jednoduché, Pythonické API přes
AzureAIProjectAgentProvider, které vám umožní definovat agenty s nástroji a instrukcemi jen v několika řádcích kódu.
Q: Potřebuji nasazení na podnikové úrovni s integracemi Azure, jako jsou Search a spuštění kódu
A: Azure AI Agent Service je nejlepší volba. Je to platformní služba, která poskytuje vestavěné schopnosti pro více modelů, Azure AI Search, Bing Search a Azure Functions. Umožňuje snadno vytvářet agenty v Foundry Portalu a nasazovat je ve velkém měřítku.
Q: Pořád jsem zmatený, dejte mi prosím jednu možnost
A: Začněte s Microsoft Agent Framework pro vytváření agentů a poté použijte Azure AI Agent Service, když budete potřebovat jejich nasazení a škálování v produkci. Tento přístup vám umožní rychle iterovat na logice agenta a zároveň mít jasnou cestu k podnikovému nasazení.
Shrňme klíčové rozdíly v tabulce:
| Rámec | Zaměření | Základní koncepty | Případy použití |
|---|---|---|---|
| Microsoft Agent Framework | Zjednodušené SDK pro agenty s voláním nástrojů | Agenti, Nástroje, Azure Identity | Vytváření AI agentů, používání nástrojů, vícekrokové pracovní postupy |
| Azure AI Agent Service | Flexibilní modely, podnikové zabezpečení, generování kódu, volání nástrojů | Modularita, Spolupráce, Orchestrace procesů | Bezpečné, škálovatelné a flexibilní nasazení AI agentů |
Odpověď zní ano — můžete integrovat své stávající nástroje z ekosystému Azure přímo se službou Azure AI Agent Service, protože byla navržena tak, aby bezproblémově spolupracovala s dalšími službami Azure. Například můžete integrovat Bing, Azure AI Search a Azure Functions. Existuje také hluboká integrace s Microsoft Foundry.
Microsoft Agent Framework se také integruje se službami Azure prostřednictvím AzureAIProjectAgentProvider a identity Azure, což vám umožňuje volat služby Azure přímo z vašich nástrojů agenta.
Připojte se k Microsoft Foundry Discord, setkejte se s dalšími studenty, zúčastněte se konzultačních hodin a získejte odpovědi na své otázky týkající se AI agentů.
Úvod do AI agentů a případů použití
Porozumění agentním návrhovým vzorům
Prohlášení o vyloučení odpovědnosti: Tento dokument byl přeložen pomocí AI překladatelské služby Co-op Translator (https://github.com/Azure/co-op-translator). I když usilujeme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho původním jazyce by měl být považován za závazný zdroj. Pro kritické informace doporučujeme profesionální lidský překlad. Za jakákoli nedorozumění nebo chybné výklady vyplývající z použití tohoto překladu neneseme odpovědnost.