Agentic AI: Концепції, створення та приклади

💡 Усі статті, обговорення, новини про AI — в одному місці. Приєднуйтесь до AI спільноти!

Вступ

В цій статті розповімо концепцію Agentic AI, чим вона відрізняється її від інших форм AI-агентів. Розглянемо характеристики Agentic AI, а потім розглянемо практичні приклади створення таких агентів за допомогою рішень як low-code, так і pro-code.

Розуміння AI-агентів

AI-агенти працюють на основі генеративних моделей, часто великих мовних моделей (LLMs), хоча все частіше використовуються й менші мовні моделі (SLMs). Ці моделі навчаються на великих масивах даних, що надає їм основу для існуючих знань.

Рівні взаємодії AI-агентів

  1. Відповідь на основі моделі:
  • Базовий рівень, що використовує попередньо навчені знання моделі для генерації відповідей.
  • Обмеження включають залежність від існуючих знань і дату останнього оновлення. Відсутність доступу до приватних даних або подій за межами навчальних даних.
  • Retrieval Augmented Generation (RAG):
  • Покращує можливості моделі, надаючи їй доступ до зовнішніх джерел знань.
  • Процес часто включає семантичний індекс над базою знань.
  • Семантичний індекс:
    • Ембединг-модель створює вектори, що представляють семантичне значення даних.
    • Вхідні запити також конвертуються у вектори.
    • Система визначає найближчі сусідні вектори для отримання найбільш релевантної інформації.
  • Джерела знань можуть включати SharePoint, бази даних або файли.
  • Агенти для виконання завдань:
  • Можуть виконувати дії, такі як виклики API або взаємодія з безсерверними можливостями.
  • Виходять за межі простої генерації відповідей, виконуючи конкретні завдання.

Agentic AI: автономність і складність

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

Ключові характеристики Agentic AI

  • Динамічне планування: Може динамічно планувати свої дії, на відміну від процесів із заздалегідь визначеними шляхами.
  • Планування, засноване на міркуванні: Використовує логічне мислення для визначення оптимального плану.
  • Виконання дій та виклик агентів: Може викликати інші спеціалізовані агенти.
  • Змінний рівень взаємодії з людиною: Людська взаємодія не є обов’язковою, але може бути включена за потреби.
  • Проактивна поведінка: Може пропонувати або рекомендувати дії, хоча зазвичай активується подіями.
  • Автономна робота:
    • Запускається подіями, такими як email, оновлення даних або голосові команди.
    • Тригери ініціюють діяльність агента.
  • Поліпшення з часом (залежить від збереження стану):
    • Моделі самі по собі не зберігають стан, але можуть використовувати зовнішнє сховище для запам’ятовування взаємодій.
    • Збереження історії дозволяє агенту вчитися на минулому досвіді.
    • Техніки підкріпленого навчання можуть бути використані для майбутнього вдосконалення, але це поки що рідко застосовується.

Agentic AI vs. AI-агенти

  • Усі Agentic AI є AI-агентами.
  • Не всі AI-агенти є Agentic AI.

Багатоагентні системи

  • Agentic AI часто включає кілька експертних агентів із конкретними завданнями.
  • Ці агенти можуть співпрацювати для вирішення складних завдань.
  • Приклади включають авторсько-критичні системи для створення та перевірки контенту.
  • Оркестратор-агенти можуть керувати й активувати спеціалізовані агенти.

Створення Agentic AI: Low-Code і Pro-Code рішення

Low-Code: Co-pilot Studio

Co-pilot Studio дозволяє створювати Agentic AI за допомогою low-code рішень.

Основні конфігураційні елементи

  • Чіткі назви та описи для кращого розуміння агентами їхніх завдань.
  • Докладні інструкції для спрямування поведінки агента.
  • Інтеграція знань:
    • Підключення джерел знань, таких як SharePoint, Dataverse, публічні сайти.
    • Використання enterprise-конекторів для доступу до Azure AI Search.
    • Відключення вбудованих знань для пріоритезації наданих даних.
  • Інтеграція дій:
    • Використання API та попередньо створених дій.
  • Оркестрація генеративного AI:
    • Дозволяє агенту динамічно планувати відповіді та дії.
  • Конфігурація тригерів:
    • Використання різних тригерів, таких як email, події або час.

Pro-Code: Semantic Kernel

Semantic Kernel — це open-source оркестраційний рушій для створення AI-рішень.

Можливості

  • Конектори: Спрощують інтеграцію з AI-постачальниками, векторними сховищами та функціями.
  • Підтримка мов: Доступний для .NET, Java та Python.
  • Готовність до підприємств: Призначений для продакшн-рішень.

Приклад багатокомпонентного AI у Semantic Kernel

# Import necessary modules
import semantic_kernel as sk
from semantic_kernel.agent import Agent, ChatCompletionAgent
from semantic_kernel.agent.group_chat import GroupChat
from semantic_kernel.agent.termination_strategy import TerminationStrategy
from semantic_kernel.connectors.ai.open_ai import AzureChatCompletion
# Termination Strategy
def should_terminate(agent: Agent) -> bool:
"«"
Checks if the agent should terminate based on the presence of «approved» in the response.
"«"
return «approved» in agent.last_response.lower()
# Agent Prompts
art_director_prompt = "«"
You are an art director who has opinions about copywriting born of a love for David Ogilvy.
Determine if the given copy is acceptable to print. If so, state that it is «approved».
If not, give insight on how to correct it.
"""
copywriter_prompt = """
You are a copywriter. Create a slogan for a new line of electric cars.
"«"
# Task
task = «a slogan for a new line of electric cars»
# Create Agents
# Replace with your Azure OpenAI deployment details
kernel = sk.Kernel()
azure_chat_config = AzureChatCompletion(
deployment_name="YOUR_DEPLOYMENT_NAME",
endpoint="YOUR_ENDPOINT",
api_key="YOUR_API_KEY",
)
art_director = ChatCompletionAgent(
name="Art Director",
instructions=art_director_prompt,
ai_model=azure_chat_config,
)
copywriter = ChatCompletionAgent(
name="Copywriter«,
instructions=copywriter_prompt,
ai_model=azure_chat_config,
)
# Create Group Chat
agents = [art_director, copywriter]
group_chat = GroupChat(
agents=agents,
termination_strategy=TerminationStrategy(
function=should_terminate,
agent=art_director, # The reviewer is the art director
),
max_iterations=10,
)
# Run the Group Chat
await group_chat.run_task(task)
# Print the final result
print(group_chat.last_turn.response)

Пояснення

  1. Імпорт: Код імпортує необхідні модулі з бібліотеки Semantic Kernel.
  2. Функція should_terminate: Визначає стратегію завершення, перевіряючи наявність слова «approved» у відповіді арт-директора.
  3. Запити агентів: art_director_prompt і copywriter_prompt задають ролі та інструкції для агентів.
  4. Завдання: Змінна task визначає ціль для агентів.
  5. Створення агентів:
  • Створюється екземпляр AzureChatCompletion із деталями вашого Azure OpenAI.
  • Створюються екземпляри ChatCompletionAgent для арт-директора та копірайтера з відповідними запитами та моделлю Azure OpenAI.
  • Створення групового чату:
  • Створюється масив агентів.
  • Створюється екземпляр GroupChat, налаштований із агентами, стратегією завершення та максимальною кількістю ітерацій.
  • Запуск групового чату: Метод run_task ініціює взаємодію між агентами.
  • Виведення результату: Виводиться фінальна відповідь із групового чату.

Цей приклад демонструє, як Semantic Kernel спрощує створення мультиагентних систем із чітко визначеними ролями, взаємодією та стратегіями завершення.

Висновок

Agentic AI дозволяє автоматизувати складні завдання. Використання платформ як Copilot Studio та Semantic Kernel дає змогу створювати ефективні агентні рішення для підвищення продуктивності.

👍ПодобаєтьсяСподобалось2
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі