ai-agents-for-beginners

Prozkoumání rámců AI agentů

(Klikněte na obrázek výše pro zobrazení videa této lekce)

Prozkoumejte rámce AI agentů

Rámce AI agentů jsou softwarové platformy navržené pro zjednodušení tvorby, nasazení a správy AI agentů. Tyto rámce poskytují vývojářům předpřipravené komponenty, abstrakce a nástroje, které zefektivň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 ve vývoji AI agentů. Posilují škálovatelnost, dostupnost a efektivitu při tvorbě AI systémů.

Úvod

Tato lekce bude pokrývat:

Cíle učení

Cílem této lekce je vám pomoci porozumět:

Co jsou rámce AI agentů a co umožňují vývojářům dělat?

Tradiční AI rámce vám pomohou integrovat AI do vašich aplikací a vylepšit je následujícími způsoby:

To zní skvěle, ale proč tedy potřebujeme rámec AI agentů?

Rámce AI agentů představují něco více než jen AI rámce. Jsou navrženy k umožnění tvorby inteligentních agentů, kteří mohou komunikovat s uživateli, jinými agenty a prostředím, aby dosáhli specifický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. Podívejme se na klíčové schopnosti umožněné rámci AI agentů:

Shrnutí: agenti vám umožňují dělat více, posouvat automatizaci na vyšší úroveň a vytvářet inteligentnější systémy, které se dokážou přizpůsobit a učit se ze svého prostředí.

Jak rychle prototypovat, iterovat a zlepšovat schopnosti agenta?

Toto prostředí se rychle vyvíjí, ale existují některé společné prvky většiny rámců AI agentů, které vám pomohou rychle prototypovat a iterovat, konkrétně modulární komponenty, spolupracující nástroje a učení v reálném čase. Pojďme se na ně podívat:

Používejte modulární komponenty

SDK jako Microsoft Agent Framework nabízí předpřipravené komponenty jako AI konektory, definice nástrojů a správu agentů.

Jak mohou týmy tyto komponenty využít: Týmy mohou rychle sestavit tyto komponenty pro vytvoření funkčního prototypu bez nutnosti začínat od nuly, což umožňuje rychlé experimentování a iterace.

Jak to funguje v praxi: Můžete použít předpřipravený parser k extrahování informací z uživatelského vstupu, paměťový modul pro ukládání a získávání dat a generátor promptů pro interakci s uživateli, to vše bez nutnosti komponenty stavět od začátku.

Ukázkový kód. Podívejme se na příklad, jak můžete použít Microsoft Agent Framework s FoundryChatClient tak, aby model reagoval na uživatelský vstup voláním nástrojů:

# Příklad Microsoft Agent Framework v Pythonu

import asyncio
import os

from agent_framework import tool
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential


# Definujte vzorovou nástrojovou funkci pro rezervaci cesty
@tool(approval_mode="never_require")
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 = FoundryChatClient(
        project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
        model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
        credential=AzureCliCredential(),
    )
    agent = provider.as_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 tohoto příkladu vidíte, jak můžete využít předpřipravený parser k extrakci klíčových informací z uživatelského vstupu, jako je původ, cíl a datum požadavku na rezervaci letu. Tento modulární přístup vám umožní soustředit se na logiku na vyšší úrovni.

Využívejte nástroje pro spolupráci

Rámce jako Microsoft Agent Framework usnadňují tvorbu více agentů, kteří mohou spolupracovat.

Jak mohou týmy tyto nástroje využít: Týmy mohou navrhnout agenty s konkrétními rolemi a úkoly, což jim umožní testovat a zdokonalovat spolupracující pracovní postupy a zlepšit celkovou efektivitu systému.

Jak to funguje v praxi: Můžete vytvořit tým agentů, kde každý agent má specializovanou funkci, jako je získávání dat, analýza nebo rozhodování. Tito agenti mohou komunikovat a sdílet informace k dosažení společného cíle, například zodpovězení uživatelského dotazu nebo dokončení úkolu.

Ukázkový kód (Microsoft Agent Framework):

# Vytváření více agentů, kteří spolupracují pomocí Microsoft Agent Framework

import os
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential

provider = FoundryChatClient(
    project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
    model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
    credential=AzureCliCredential(),
)

# Agent pro získávání dat
agent_retrieve = provider.as_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

# Agent pro analýzu dat
agent_analyze = provider.as_agent(
    name="dataanalysis",
    instructions="Analyze the retrieved data and provide insights.",
    tools=[analyze_tool],
)

# Spuš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 vyžadující spolupráci více agentů na analýze dat. Každý agent vykonává specifickou funkci a úkol je realizován koordinací agentů k dosažení požadovaného výsledku. Vytvořením dedikovaných agentů se specializovanými rolemi můžete zlepšit efektivitu a výkon úkolu.

Učte se v reálném čase

Pokročilé rámce poskytují schopnosti pro pochopení kontextu a adaptaci v reálném čase.

Jak mohou týmy tyto schopnosti 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 neustálému zlepšování a zdokonalování schopností.

Jak to funguje v praxi: Agenti mohou analyzovat zpětnou vazbu uživatelů, data z prostředí a výsledky úkolů, aby aktualizovali svou znalostní bázi, upravili algoritmy rozhodování a zlepšili výkon v průběhu času. Tento iterativní učební proces umožňuje agentům přizpůsobit se měnícím podmínkám a uživatelským preferencím, čímž se zvyšuje celková efektivnost systému.

Jaké jsou rozdíly mezi Microsoft Agent Framework a Microsoft Foundry Agent Service?

Existuje mnoho způsobů, jak tyto přístupy porovnat, ale pojďme se podívat na některé klíčové rozdíly v designu, schopnostech a cílových použitích:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework poskytuje zjednodušené SDK pro budování AI agentů pomocí FoundryChatClient. Umožňuje vývojářům vytvářet agenty, kteří využívají Azure OpenAI modely s vestavěným voláním nástrojů, správou konverzace a bezpečností na úrovni podniku pomocí Azure identity.

Použití: Tvorba produkčně připravených AI agentů s využitím nástrojů, vícestupňových pracovních postupů a scénářů integrace do podnikového prostředí.

Zde jsou některé důležité základní koncepty Microsoft Agent Framework:

Microsoft Foundry Agent Service

Microsoft Foundry Agent Service je novější služba 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.

Microsoft Foundry Agent Service nabízí silnější mechanismy podnikové bezpečnosti a způsoby ukládání dat, takže je vhodná pro podnikové aplikace.

Funguje přímo s Microsoft Agent Framework pro tvorbu a nasazení agentů.

Tato služba je momentálně ve veřejné ukázce a podporuje Python a C# pro vývoj agentů.

Pomocí Python SDK Microsoft Foundry Agent Service můžeme vytvořit agenta s vlastní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-4.1-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())

Základní koncepty

Microsoft Foundry Agent Service má následující základní koncepty:

Použití: Microsoft Foundry Agent Service je navržen pro podnikové aplikace vyžadující bezpečné, škálovatelné a flexibilní nasazení AI agentů.

Jaký je rozdíl mezi těmito přístupy?

Zní to, jako by existovala překryvnost, ale jsou zde klíčové rozdíly v designu, schopnostech a cílových použitích:

Ještě si nejste jistí, kterou zvolit?

Použití

Podívejme se, zda vám můžeme pomoci procházením běžných případů použití:

Otázka: Stavím produkční AI agentní aplikace a chci začít rychle

Odpověď: Microsoft Agent Framework je skvělou volbou. Poskytuje jednoduché, pythonické API přes FoundryChatClient, které vám umožní definovat agenty s nástroji a instrukcemi v několika řádcích kódu.

Otázka: Potřebuji nasazení na úrovni podnikové bezpečnosti s integracemi Azure jako Search a spouštění kódu

Odpověď: Microsoft Foundry Agent Service je nejlepší volba. Je to platformní služba poskytující vestavěné možnosti pro různé modely, Azure AI Search, Bing Search a Azure Functions. Usnadňuje tvorbu agentů v Foundry Portálu a jejich škálovatelné nasazení.

Otázka: Jsem stále zmatený, dejte mi prosím jen jednu možnost

Odpověď: Začněte s Microsoft Agent Framework k vytváření agentů a poté použijte Microsoft Foundry Agent Service, když je potřeba je nasadit a škálovat v produkci. Tento přístup vám umožní rychle iterovat na logice agenta s jasnou cestou k podnikové nasazení.

Shrňme klíčové rozdíly v tabulce:

Framework Zaměření Základní koncepty Použití
Microsoft Agent Framework Zjednodušené SDK pro agenty s voláním nástrojů Agenti, nástroje, Azure identity Tvorba AI agentů, využití nástrojů, vícestupňové workflow
Microsoft Foundry Agent Service Flexibilní modely, podniková bezpečnost, generování kódu, volání nástrojů Modularita, spolupráce, orchestraci procesů Bezpečné, škálovatelné a flexibilní nasazení AI agentů

Mohu integrální mé stávající nástroje Azure ekosystému přímo, nebo potřebuji samostatná řešení?

Odpověď zní ano, můžete integrovat své stávající nástroje ekosystému Azure přímo se službou Microsoft Foundry Agent Service, protože byla navržena tak, aby bezproblémově fungovala s ostatními službami Azure. Můžete například integrovat Bing, Azure AI Search a Azure Functions. K dispozici je také hluboká integrace s Microsoft Foundry.

Rámec Microsoft Agent Framework se také integruje se službami Azure prostřednictvím FoundryChatClient a identity Azure, což vám umožňuje volat služby Azure přímo z vašich nástrojů agenta.

Ukázkové kódy

Máte další otázky ohledně AI Agent Frameworků?

Připojte se k Microsoft Foundry Discord, kde se setkáte s ostatními studenty, zúčastníte se konzultací a získáte odpovědi na své otázky ohledně AI agentů.

Odkazy

Předchozí lekce

Úvod do AI agentů a případů užití agentů

Další lekce

Pochopení agentních návrhových vzorů


Prohlášení o omezení odpovědnosti: Tento dokument byl přeložen pomocí AI překladatelské služby Co-op Translator. Přestože usilujeme o co největší přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro kritické informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoli nedorozumění nebo nesprávné interpretace vzniklé použitím tohoto překladu.