ai-agents-for-beginners

Дослідження фреймворків AI агентів

(Натисніть на зображення вище, щоб переглянути відео цього уроку)

Огляд фреймворків AI агентів

Фреймворки AI агентів — це програмні платформи, створені для спрощення розробки, розгортання та керування AI агентами. Ці фреймворки надають розробникам готові компоненти, абстракції та інструменти, які оптимізують розробку складних AI систем.

Вони допомагають розробникам зосередитися на унікальних аспектах їхніх застосунків, надаючи стандартизовані підходи до поширених викликів у розробці AI агентів. Вони підвищують масштабованість, доступність та ефективність у створенні AI систем.

Вступ

У цьому уроці ми розглянемо:

Мета навчання

Мета цього уроку — допомогти вам зрозуміти:

Що таке фреймворки AI агентів і що вони дозволяють розробникам робити?

Традиційні AI фреймворки можуть допомогти вам інтегрувати AI у ваші додатки та покращити їх такими способами:

Це все звучить чудово, тож навіщо нам потрібен AI Agent Framework?

Фреймворки AI агентів — це більше, ніж просто AI фреймворки. Вони розроблені для створення інтелектуальних агентів, які можуть взаємодіяти з користувачами, іншими агентами та середовищем для досягнення конкретних цілей. Ці агенти можуть проявляти автономну поведінку, приймати рішення та адаптуватися до змінних умов. Розглянемо основні можливості, які надають фреймворки AI агентів:

Отже, узагальнюючи, агенти дають вам можливість робити більше, підняти автоматизацію на новий рівень, створювати більш інтелектуальні системи, які можуть адаптуватися та навчатися зі свого оточення.

Як швидко прототипувати, ітерувати і покращувати можливості агента?

Це динамічна сфера, але існують спільні риси у більшості фреймворків AI агентів, які допомагають швидко створювати прототипи та ітерувати — модульні компоненти, спільні інструменти та навчання в реальному часі. Розглянемо їх детальніше:

Використання модульних компонентів

SDK, як Microsoft Agent Framework, пропонують готові компоненти, наприклад AI коннектори, визначення інструментів і керування агентами.

Як команди можуть їх використовувати: Команди можуть швидко збирати ці компоненти, щоб створити функціональний прототип без початку “з нуля”, що дозволяє швидко експериментувати та ітерувати.

Як це працює на практиці: Ви можете використати готовий парсер для вилучення інформації з вводу користувача, модуль пам’яті для збереження і отримання даних та генератор підказок для взаємодії з користувачами — усе це без необхідності будувати компоненти самотужки.

Приклад коду. Розглянемо приклад використання Microsoft Agent Framework з FoundryChatClient, щоб модель відповідала на ввід користувача з викликом інструментів:

# Приклад використання Microsoft Agent Framework на Python

import asyncio
import os

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


# Визначте приклад функції інструменту для бронювання поїздки
@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)
    # Приклад виводу: Ваш рейс до Нью-Йорка на 1 січня 2025 року успішно заброньовано. Бажаємо безпечної подорожі! ✈️🗽


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

Ви бачите в цьому прикладі, як можна використати готовий парсер для вилучення ключової інформації з вводу користувача, наприклад, пункт відправлення, пункт призначення і дату бронювання рейсу. Такий модульний підхід дає змогу зосередитися на логіці високого рівня.

Використання спільних інструментів

Фреймворки, як Microsoft Agent Framework, дозволяють створювати кілька агентів, які можуть працювати разом.

Як команди можуть їх використовувати: Команди можуть проектувати агентів із конкретними ролями та завданнями, що дає можливість тестувати і вдосконалювати спільні робочі процеси та підвищувати ефективність системи.

Як це працює на практиці: Ви можете створити команду агентів, де кожен агент спеціалізується на певній функції — наприклад, збір даних, аналіз або прийняття рішень. Ці агенти можуть спілкуватися і обмінюватися інформацією, щоб досягти спільної мети, наприклад відповісти на запит користувача або виконати завдання.

Приклад коду (Microsoft Agent Framework):

# Створення кількох агентів, які працюють разом, використовуючи 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_retrieve = provider.as_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

# Агент аналізу даних
agent_analyze = provider.as_agent(
    name="dataanalysis",
    instructions="Analyze the retrieved data and provide insights.",
    tools=[analyze_tool],
)

# Запуск агентів послідовно для виконання завдання
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)

З попереднього коду ви бачите, як створити завдання, що залучає кількох агентів для спільного аналізу даних. Кожен агент виконує певну функцію, а завдання виконується шляхом координації агентів для досягнення бажаного результату. Створюючи агентів із спеціалізованими ролями, ви можете покращити ефективність і продуктивність завдання.

Навчання в режимі реального часу

Просунуті фреймворки забезпечують можливості розуміння контексту в реальному часі і адаптації.

Як команди можуть їх використовувати: Команди можуть впроваджувати петлі зворотного зв’язку, де агенти вчаться зі взаємодій і динамічно коригують свою поведінку, що призводить до безперервного покращення та вдосконалення можливостей.

Як це працює на практиці: Агенти можуть аналізувати відгуки користувачів, дані оточення та результати завдань для оновлення своєї бази знань, коригування алгоритмів прийняття рішень та покращення продуктивності з часом. Цей ітеративний процес навчання дозволяє агентам адаптуватися до змінних умов і вподобань користувачів, підвищуючи ефективність системи загалом.

Які відмінності між Microsoft Agent Framework та Microsoft Foundry Agent Service?

Існує багато способів порівняти ці підходи, тому давайте розглянемо основні відмінності з точки зору дизайну, можливостей та цільових випадків використання:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework надає оптимізований SDK для створення AI агентів з використанням FoundryChatClient. Він дає змогу розробникам створювати агентів, які використовують моделі Azure OpenAI з вбудованим викликом інструментів, керуванням розмовами та корпоративною безпекою через Azure identity.

Випадки використання: Створення готових до продакшн AI агентів з використанням інструментів, багатокроковими робочими процесами та сценаріями інтеграції в корпоративні середовища.

Ось кілька важливих основних концепцій Microsoft Agent Framework:

Microsoft Foundry Agent Service

Microsoft Foundry Agent Service — це нещодавня новинка, представлена на Microsoft Ignite 2024. Він дозволяє розробляти та розгортати AI агентів з більш гнучкими моделями, такими як прямий виклик open-source LLM, наприклад Llama 3, Mistral і Cohere.

Microsoft Foundry Agent Service забезпечує потужніші механізми корпоративної безпеки та методи зберігання даних, що робить його придатним для корпоративних додатків.

Він працює з коробки разом із Microsoft Agent Framework для створення і розгортання агентів.

Ця служба наразі перебуває в публічному огляді і підтримує Python та C# для створення агентів.

Використовуючи Python SDK Microsoft Foundry Agent Service, можна створити агента з користувацьким інструментом:

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

# Визначити функції інструментів
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())

Основні концепції

Основні концепції Microsoft Foundry Agent Service:

Випадки використання: Microsoft Foundry Agent Service призначений для корпоративних застосунків, що потребують безпечного, масштабованого та гнучкого розгортання AI агентів.

У чому різниця між цими підходами?

Звучить так, ніби є певне перекриття, але є ключові відмінності в дизайні, можливостях і цільових випадках використання:

Ще не впевнені, який вибрати?

Випадки використання

Давайте спробуємо допомогти, розглянувши деякі типові випадки використання:

П: Я створюю продакшн AI агентів і хочу швидко почати

В: Microsoft Agent Framework — відмінний вибір. Він надає простий, «пітонічний» API через FoundryChatClient, який дозволяє визначати агентів із інструментами та інструкціями всього у декілька рядків коду.

П: Мені потрібне корпоративне розгортання з інтеграціями Azure, такими як Search та виконання коду

В: Microsoft Foundry Agent Service найкраще підходить. Це платформа-сервіс, що надає вбудовані можливості для багатьох моделей, Azure AI Search, Bing Search та Azure Functions. Він дозволяє легко створювати агентів у порталі Foundry і розгортати їх у масштабі.

П: Я все ще заплутався, просто порадь один варіант

В: Починайте з Microsoft Agent Framework для створення агентів, а потім використовуйте Microsoft Foundry Agent Service, коли потрібно розгортати та масштабувати їх у продакшні. Такий підхід дозволяє швидко ітерувати вашу логіку агента, одночасно маючи чіткий шлях до корпоративного розгортання.

Підсумуємо ключові відмінності в таблиці:

Фреймворк Фокус Основні концепції Випадки використання
Microsoft Agent Framework Оптимізований SDK для агентів з викликом інструментів Агенти, Інструменти, Azure Identity Створення AI агентів, використання інструментів, багатокрокові робочі процеси
Microsoft Foundry Agent Service Гнучкі моделі, корпоративна безпека, генерація коду, виклик інструментів Модульність, Співпраця, Оркестрація процесів Безпечне, масштабоване та гнучке розгортання AI агентів

Чи можна інтегрувати мої існуючі інструменти екосистеми Azure безпосередньо, чи потрібні автономні рішення?

Відповідь: так, ви можете інтегрувати існуючі інструменти екосистеми Azure безпосередньо з Microsoft Foundry Agent Service, особливо оскільки він створений для безшовної роботи з іншими сервісами Azure. Наприклад, ви можете інтегрувати Bing, Azure AI Search і Azure Functions. Також існує глибока інтеграція з Microsoft Foundry.

Microsoft Agent Framework також інтегрується зі службами Azure через FoundryChatClient і Azure identity, що дозволяє викликати сервіси Azure безпосередньо з ваших агентських інструментів.

Приклади коду

Бажаєте більше дізнатись про AI Agent Frameworks?

Приєднуйтесь до Microsoft Foundry Discord, щоб поспілкуватися з іншими учасниками, відвідати офіс-години та отримати відповіді на свої питання про AI агенти.

Джерела

Попередній урок

Вступ до AI агентів та варіанти їх використання

Наступний урок

Розуміння агентних патернів проектування


Відмова від відповідальності: Цей документ було перекладено за допомогою сервісу штучного інтелекту для перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.