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 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ů.

Úvod

Tato lekce pokryje:

Cíle učení

Cíle této lekce jsou vám pomoci porozumět:

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

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:

To zní skvěle, tak proč potřebujeme AI Agent Framework?

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í.

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

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:

Používejte modulární komponenty

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.

Využijte nástroje pro spolupráci

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ů.

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

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.

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

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 (MAF)

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:

Azure AI Agent Service

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

Základní koncepty

Azure AI Agent Service má následující základní koncepty:

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ů.

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

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?

Případy použití

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ů

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

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.

Ukázkové kódy

Máte další otázky ohledně rámců AI agentů?

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ů.

Odkazy

Předchozí lekce

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

Následující lekce

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.