AutoGen: создание диалоговых систем с ролевыми ИИ-агентами

DeepLearning.AI 5 тыс. 12 мин 2 мин 06.06.2024
Главное

Разработка мультиагентных систем на платформе AutoGen 0:00

Создание сложных систем на базе искусственного интеллекта требует перехода от простых чат-ботов к взаимодействию специализированных агентов. В рамках обучающего курса DeepLearning.AI эксперты подробно разбирают работу с ConversableAgent — базовым классом фреймворка AutoGen, который позволяет выстраивать многошаговые диалоги между несколькими ИИ-сущностями.

Концепция ConversableAgent 0:25

В архитектуре AutoGen агент представляет собой программную сущность, действующую от лица пользователя: он отправляет и получает сообщения, совершает действия, генерирует ответы и взаимодействует с другими участниками системы.

Ключевые возможности ConversableAgent включают:

Разработчик может гибко включать или отключать эти компоненты, адаптируя агента под нужды конкретного приложения. В качестве базовой модели в курсе используется GPT-3.5 Turbo.

Запуск первого агента 1:58

Создание агента начинается с определения конфигурации модели и задания параметров взаимодействия. Важной настройкой является human_input_mode:

Важно понимать, что метод generate_reply работает как «чистая функция» с точки зрения состояния: каждый вызов этого метода генерирует ответ с нуля, не «помня» контекст предыдущих сообщений. Для реализации полноценных диалогов, требующих сохранения контекста, необходимо использовать другой подход.

Организация диалога между агентами 4:35

Для создания интерактивного приложения, где агенты взаимодействуют друг с другом, необходимо присвоить им системные роли через параметр system_message. В примере с двумя стендап-комиками, Кэсси и Джо, каждому задается конкретная инструкция поведения:

Запуск взаимодействия осуществляется через функцию initiate_chat, где указывается получатель и параметры ограничения диалога (например, max_turns=2). По завершении работы система позволяет проанализировать историю чата и затраченные токены. Стоимость использования модели, количество токенов запроса и ответа детализируются в объекте chat_result.

Управление завершением и контекстом 9:28

Помимо ограничения количества ходов, AutoGen поддерживает динамическое завершение диалога через функцию is_termination_message. Она анализирует содержание каждого сообщения и останавливает систему, если обнаружена специфическая фраза (например, «I got go»).

[]

Это обеспечивает гибкость: агенты могут продолжать диалог столько, сколько требуется, опираясь на прошлый контекст. В ходе тестов было продемонстрировано, что при последующих запросах агенты способны корректно «вспоминать» информацию из предыдущих этапов разговора, что подтверждает эффективность сохранения состояния внутри мультиагентной системы.

💬 Цитаты

«Агент — это сущность, которая может действовать от имени человеческого намерения, отправлять сообщения, получать их и взаимодействовать с другими агентами.»

Автор курса DeepLearning.AI 00:25

«Мы хотим создать приложение, где два стендап-комика будут разговаривать друг с другом и подшучивать друг над другом.»

Автор курса DeepLearning.AI 04:35
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
ConversableAgent
Базовый класс в AutoGen, который позволяет агенту отправлять сообщения, исполнять код и взаимодействовать с другими агентами.
Human-in-the-loop
Режим взаимодействия, при котором человек должен подтверждать действия агента или вводить дополнительные данные.
System message
Скрытая инструкция, определяющая роль, поведение и ограничения конкретного ИИ-агента.
Punchline
Финал шутки, несущий основной комический эффект.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект AutoGen ConversableAgent GPT-3.5 Turbo Multi-agent system