ai-agents-for-beginners

Eksploracja frameworków agentów AI

(Kliknij powyższy obraz, aby obejrzeć wideo z tej lekcji)

Eksploracja frameworków agentów AI

Frameworki agentów AI to platformy programowe zaprojektowane w celu uproszczenia tworzenia, wdrażania i zarządzania agentami AI. Frameworki te dostarczają deweloperom gotowe komponenty, abstrakcje i narzędzia, które usprawniają rozwój złożonych systemów AI.

Frameworki te pomagają programistom skupić się na unikalnych aspektach ich aplikacji, oferując ustandaryzowane podejścia do powszechnych wyzwań w rozwoju agentów AI. Zwiększają skalowalność, dostępność i efektywność w budowaniu systemów AI.

Wprowadzenie

Ta lekcja obejmie:

Cele nauki

Celem tej lekcji jest pomoc w zrozumieniu:

Czym są frameworki agentów AI i co umożliwiają programistom?

Tradycyjne frameworki AI mogą pomóc zintegrować AI z aplikacjami i ulepszyć je na następujące sposoby:

To brzmi świetnie, prawda? To dlaczego potrzebujemy frameworku agentów AI?

Frameworki agentów AI to coś więcej niż standardowe frameworki AI. Zaprojektowane są, aby umożliwić tworzenie inteligentnych agentów, którzy mogą wchodzić w interakcję z użytkownikami, innymi agentami i środowiskiem, aby realizować określone cele. Agenci ci mogą wykazywać autonomiczne zachowanie, podejmować decyzje i adaptować się do zmieniających się warunków. Spójrzmy na niektóre kluczowe możliwości, które oferują frameworki agentów AI:

Podsumowując, agenci pozwalają zrobić więcej, podnieść automatyzację na wyższy poziom oraz tworzyć inteligentniejsze systemy, które mogą się uczyć i dostosowywać do środowiska.

Jak szybko prototypować, iterować i ulepszać możliwości agenta?

To dynamiczne środowisko, ale istnieją pewne cechy wspólne w większości frameworków agentów AI, które pomagają szybko prototypować i iterować, mianowicie: składniki modułowe, narzędzia współpracy i uczenie się w czasie rzeczywistym. Przyjrzyjmy się im bliżej:

Używaj komponentów modułowych

SDK, takie jak Microsoft Agent Framework, oferują gotowe komponenty, jak konektory AI, definicje narzędzi i zarządzanie agentami.

Jak zespoły mogą to wykorzystać: Zespoły mogą szybko zestawić te komponenty, aby stworzyć funkcjonalny prototyp bez konieczności zaczynania od zera, co pozwala na szybkie eksperymenty i iteracje.

Jak to działa w praktyce: Możesz użyć gotowego parsera do wydobycia informacji z danych wejściowych użytkownika, modułu pamięci do zapisywania i pobierania danych oraz generatora podpowiedzi do interakcji z użytkownikami, wszystko bez konieczności budowania tych komponentów od podstaw.

Przykład kodu. Spójrzmy na przykład użycia Microsoft Agent Framework z FoundryChatClient, aby model odpowiadał na dane wejściowe użytkownika z wywoływaniem narzędzi:

# Przykład użycia Microsoft Agent Framework w Pythonie

import asyncio
import os

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


# Zdefiniuj przykładową funkcję narzędzia do rezerwacji podróży
@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)
    # Przykładowy wynik: Twój lot do Nowego Jorku w dniu 1 stycznia 2025 został pomyślnie zarezerwowany. Bezpiecznej podróży! ✈️🗽


if __name__ == "__main__":
    asyncio.run(main())

W tym przykładzie widać, jak można wykorzystać gotowy parser do wydobycia kluczowych informacji z danych użytkownika, takich jak miejsce startu, cel i data rezerwacji lotu. Podejście modułowe pozwala skoncentrować się na logice wysokiego poziomu.

Wykorzystaj narzędzia współpracy

Frameworki takie jak Microsoft Agent Framework umożliwiają tworzenie wielu agentów, którzy mogą ze sobą współpracować.

Jak zespoły mogą to wykorzystać: Zespoły mogą projektować agentów z określonymi rolami i zadaniami, co pozwala testować i udoskonalać procesy współpracy oraz zwiększać efektywność systemu.

Jak to działa w praktyce: Można stworzyć zespół agentów, z których każdy ma specjalistyczną funkcję, np. pobieranie danych, analizę czy podejmowanie decyzji. Agenci komunikują się i wymieniają informacje, aby osiągnąć wspólny cel, np. odpowiedzieć na zapytanie użytkownika lub wykonać zadanie.

Przykład kodu (Microsoft Agent Framework):

# Tworzenie wielu agentów współpracujących za 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 pobierania danych
agent_retrieve = provider.as_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

# Agent analizy danych
agent_analyze = provider.as_agent(
    name="dataanalysis",
    instructions="Analyze the retrieved data and provide insights.",
    tools=[analyze_tool],
)

# Uruchamianie agentów kolejno na zadaniu
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)

W powyższym kodzie widać, jak stworzyć zadanie obejmujące współpracę wielu agentów do analizy danych. Każdy agent wykonuje określoną funkcję, a zadanie jest realizowane poprzez koordynację pracy agentów, aby osiągnąć zamierzony wynik. Tworząc dedykowanych agentów o specjalistycznych rolach, można poprawić wydajność i efektywność wykonywania zadań.

Ucz się w czasie rzeczywistym

Zaawansowane frameworki oferują funkcje rozumienia kontekstu i adaptacji w czasie rzeczywistym.

Jak zespoły mogą to wykorzystać: Zespoły mogą implementować pętle sprzężenia zwrotnego, gdzie agenci uczą się z interakcji i dynamicznie dostosowują swoje zachowanie, co prowadzi do ciągłego doskonalenia i ulepszania możliwości.

Jak to działa w praktyce: Agenci analizują opinie użytkowników, dane środowiskowe oraz wyniki zadań, aby aktualizować swoją bazę wiedzy, dostosowywać algorytmy podejmowania decyzji i podnosić wydajność z czasem. Ten iteracyjny proces uczenia pozwala agentom adaptować się do zmieniających się warunków oraz preferencji użytkowników, zwiększając skuteczność systemu.

Jakie są różnice między Microsoft Agent Framework a Microsoft Foundry Agent Service?

Istnieje wiele aspektów do porównania tych rozwiązań, ale spójrzmy na kluczowe różnice pod względem konstrukcji, możliwości i docelowych zastosowań:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework to uproszczone SDK do tworzenia agentów AI za pomocą FoundryChatClient. Umożliwia programistom tworzenie agentów wykorzystujących modele Azure OpenAI z wbudowanym wywoływaniem narzędzi, zarządzaniem rozmową oraz bezpieczeństwem klasy korporacyjnej dzięki tożsamości Azure.

Zastosowania: Budowanie produkcyjnych agentów AI z obsługą narzędzi, procesów wieloetapowych i integracji korporacyjnych.

Oto kilka ważnych podstawowych koncepcji Microsoft Agent Framework:

Microsoft Foundry Agent Service

Microsoft Foundry Agent Service to nowsze rozwiązanie, przedstawione na Microsoft Ignite 2024. Umożliwia rozwój i wdrażanie agentów AI z większą elastycznością modeli, np. bezpośrednie wywoływanie otwartoźródłowych LLM, takich jak Llama 3, Mistral czy Cohere.

Microsoft Foundry Agent Service oferuje silniejsze mechanizmy bezpieczeństwa korporacyjnego i metody przechowywania danych, co czyni go odpowiednim dla zastosowań korporacyjnych.

Świetnie współpracuje z Microsoft Agent Framework w zakresie tworzenia i wdrażania agentów.

Usługa jest obecnie w Public Preview i wspiera Pythona oraz C# do tworzenia agentów.

Korzystając z Python SDK Microsoft Foundry Agent Service, możemy stworzyć agenta z narzędziem zdefiniowanym przez użytkownika:

import asyncio
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

# Zdefiniuj funkcje narzędziowe
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-5-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())

Podstawowe koncepcje

Microsoft Foundry Agent Service ma następujące podstawowe koncepcje:

Zastosowania: Microsoft Foundry Agent Service jest przeznaczony dla aplikacji korporacyjnych wymagających bezpiecznego, skalowalnego i elastycznego wdrażania agentów AI.

Jaka jest różnica między tymi podejściami?

Rzeczywiście istnieją nakładające się cechy, ale są kluczowe różnice pod względem konstrukcji, możliwości i zastosowań:

Nadal nie jesteś pewien, co wybrać?

Zastosowania

Sprawdźmy, czy możemy pomóc, przechodząc przez kilka typowych zastosowań:

P: Buduję produkcyjne aplikacje agentów AI i chcę zacząć szybko

O: Microsoft Agent Framework to świetny wybór. Zapewnia proste, Pythoniczne API przez FoundryChatClient, które pozwala definiować agentów z narzędziami i instrukcjami w zaledwie kilku linijkach kodu.

P: Potrzebuję wdrożenia klasy korporacyjnej z integracjami Azure, takimi jak Search i wykonanie kodu

O: Microsoft Foundry Agent Service jest najlepszym rozwiązaniem. To platforma oferująca wbudowane funkcje dla wielu modeli, Azure AI Search, Bing Search i Azure Functions. Umożliwia łatwe tworzenie agentów w Foundry Portal i ich wdrażanie na dużą skalę.

P: Nadal jestem zagubiony, podaj mi jedną opcję

O: Zacznij od Microsoft Agent Framework do budowy agentów, a następnie użyj Microsoft Foundry Agent Service, gdy będziesz potrzebować wdrożenia i skalowania w produkcji. Takie podejście pozwala szybko iterować nad logiką agenta, mając jednocześnie jasno określoną ścieżkę do wdrożenia korporacyjnego.

Podsumujmy kluczowe różnice w tabeli:

Framework Fokus Podstawowe koncepcje Zastosowania
Microsoft Agent Framework Uproszczone SDK dla agentów z wywoływaniem narzędzi Agenci, Narzędzia, Tożsamość Azure Budowa agentów AI, użycie narzędzi, procesy wieloetapowe
Microsoft Foundry Agent Service Elastyczne modele, bezpieczeństwo korporacyjne, generowanie kodu, wywoływanie narzędzi Modułowość, współpraca, orkiestracja procesów Bezpieczne, skalowalne i elastyczne wdrażanie agentów AI

Czy mogę zintegrować moje istniejące narzędzia ekosystemu Azure bezpośrednio, czy potrzebuję samodzielnych rozwiązań?

Odpowiedź brzmi tak, możesz zintegrować swoje istniejące narzędzia ekosystemu Azure bezpośrednio z usługą Microsoft Foundry Agent Service, zwłaszcza że została ona zaprojektowana tak, aby współpracować bezproblemowo z innymi usługami Azure. Możesz na przykład zintegrować Bing, Azure AI Search oraz Azure Functions. Istnieje także głęboka integracja z Microsoft Foundry.

Microsoft Agent Framework również integruje się z usługami Azure za pośrednictwem FoundryChatClient i tożsamości Azure, co pozwala wywoływać usługi Azure bezpośrednio z narzędzi Twojego agenta.

Przykładowe Kody

Masz więcej pytań dotyczących AI Agent Frameworks?

Dołącz do Microsoft Foundry Discord, aby spotkać się z innymi uczącymi się, uczestniczyć w godzinach konsultacji i uzyskać odpowiedzi na pytania dotyczące Twoich agentów AI.

Źródła

Poprzednia Lekcja

Wprowadzenie do agentów AI i przypadków użycia agentów

Następna Lekcja

Zrozumienie wzorców projektowych Agentic


Zastrzeżenie: Niniejszy dokument został przetłumaczony za pomocą usługi tłumaczenia AI Co-op Translator. Choć dążymy do dokładności, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub niedokładności. Oryginalny dokument w jego języku źródłowym należy uznawać za autorytatywne źródło. W przypadku informacji krytycznych zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.