← Университет

Досье на AutoGen/AG2: Фреймворк многоагентных AI-систем от Microsoft

Введение

AutoGen — это открытый фреймворк от Microsoft Research для создания, оркестрации и масштабирования систем многоагентного искусственного интеллекта. Первоначально разработанный как инновационная лаборатория для исследования многоагентных паттернов оркестрации, фреймворк эволюционировал в две ветви развития: исходный AutoGen (теперь в режиме поддержки) и сообщество-ориентированное AG2 (бывший AutoGen 0.7+), которое представляет собой актуальное направление разработки в 2026 году.

Что это такое: Определение и назначение

AutoGen/AG2 — это Python-фреймворк для построения многоагентных систем на основе парадигмы диалогового взаимодействия. В отличие от других фреймворков, которые акцентируют внимание на графовых структурах (LangGraph) или на ролевых моделях (CrewAI), AutoGen строит на идее, что агенты должны общаться естественным языком, решая задачи через многоходовые беседы.

Основная цель: устранить "острова интеллекта" в современных AI-системах, позволяя агентам из разных фреймворков (AG2, Google ADK, OpenAI, LangChain) работать вместе через стандартизированные протоколы (A2A и MCP).

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

Архитектура и ключевые концепции

Архитектурные слои

AG2 построен на трёхуровневой архитектуре:

  1. Core API — базовый уровень обработки сообщений и управления событиями
  2. Поддерживает как локальное, так и распределённое выполнение
  3. Event-driven модель взаимодействия агентов
  4. Асинхронный actor model (версия 0.7.x+)

  5. AgentChat API — упрощённый интерфейс для быстрого прототипирования

  6. Предоставляет готовые паттерны многоагентного взаимодействия
  7. Включает встроенные типы агентов (ConversableAgent, UserProxyAgent, etc.)
  8. Группировка агентов через GroupChat и GroupChatManager

  9. Extensions API — расширяемость и интеграции

  10. Поддержка различных LLM (OpenAI, Azure, местные модели)
  11. Инструменты и расширения функциональности
  12. Интеграция с внешними сервисами и инструментами

Ключевые концепции

Conversable Agent — базовый строительный блок. Каждый агент: - Обрабатывает входящие сообщения и генерирует ответы - Может инициировать чат с другими агентами - Поддерживает многоходовый диалог

Human-in-the-Loop — интеграция человека в процесс: - UserProxyAgent — агент, контролируемый человеком - Режимы управления: ALWAYS (каждый ход требует подтверждения), NEVER (полная автоматизация), TERMINATE (останавливается по требованию)

GroupChat & GroupChatManager — оркестрация нескольких агентов: - Manager использует LLM для выбора следующего говорящего агента - Обеспечивает координацию между специализированными агентами - Все агенты имеют доступ к полной истории беседы (shared context)

Tool использование — агенты не ограничены только LLM: - Регистрация функций и API как инструментов - Преодоление ограничений LLM (отсутствие реального времени, точные вычисления) - Безопасное выполнение пользовательского кода через код-исполнителя

Оркестрация и субагенты

Паттерны оркестрации

AG2 поддерживает несколько паттернов взаимодействия агентов:

1. Последовательный чат (Sequential Chat) - Прямое общение двух агентов - Диалог развивается в несколько туров до разрешения задачи - Пример: User → Assistant → User

2. Групповой чат (Group Chat) - Несколько агентов в едином разговоре - Менеджер выбирает следующего говорящего на основе LLM - Используется для решения сложных проблем требующих множество перспектив - Пример: код-ревью (Developer, Reviewer, QA, Architecture Designer)

3. Вложенный чат (Nested Chat) - Агент инициирует внутренний чат подагентов для решения подзадачи - Возвращает результат основному разговору - Пример: главный агент → вспомогательный чат → результат

4. Swarm Orchestration — новый паттерн в AG2 - Динамическое формирование команд агентов - Условные переходы между агентами на основе ключевых слов - Детерминированная маршрутизация (явное управление потоком)

Создание субагентов: Практический пример

from autogen_agentchat.agents import ConversableAgent

# Специализированный агент для кода
developer = ConversableAgent(
    name="Developer",
    system_prompt="You are an expert Python developer...",
    llm_config={"config_list": [{"model": "gpt-4", "api_key": "..."}]},
    temperature=0.3  # Низкая температура для точности кода
)

# Агент для ревью кода
reviewer = ConversableAgent(
    name="Code Reviewer",
    system_prompt="You are a strict code reviewer...",
    llm_config={"config_list": [{"model": "gpt-4", "api_key": "..."}]},
)

# Оркестрация через GroupChat
from autogen_agentchat.groups import GroupChat, GroupChatManager

group_chat = GroupChat(
    agents=[developer, reviewer],
    messages=[],
    max_round=15,
    select_speaker_prompt="Выберите следующего говорящего агента..."
)

manager = GroupChatManager(group_chat=group_chat)

Детерминированная маршрутизация (рекомендуется для production):

def select_next_speaker(messages, agents):
    if "APPROVED" in messages[-1]:
        return None  # Конец
    elif "REVISION NEEDED" in messages[-1]:
        return developer  # Возврат разработчику
    return reviewer

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

Типы памяти в AG2

Краткосрочная память (Short-term Memory) - Полная история сообщений в текущем чате - Хранится в памяти процесса - Автоматически передаётся всем агентам в GroupChat - Ограничение: теряется при перезагрузке

Долгосрочная память (Long-term Memory) - Context Variables — сохранение состояния между чатами - Persistent Storage — сохранение в файлы или БД - Teachability — агенты учатся на прошлых взаимодействиях

Context Variables

from autogen_agentchat.base import TerminationRequest

# Передача переменных контекста между чатами
agent = ConversableAgent(
    name="Agent",
    # ...
)

# Инициализация контекста
context_variables = {
    "project_name": "MyProject",
    "api_keys": {...}
}

# Использование в промпте
agent.update_system_prompt(f"Project: {context_variables['project_name']}")

Управление историей сообщений

# Ограничение размера истории для контроля контекстного окна
chat_result = agent.initiate_chat(
    recipient=another_agent,
    message="Solve this...",
    max_turns=20
)

# Сохранение истории
chat_history = chat_result.chat_history
with open("chat_history.json", "w") as f:
    json.dump(chat_history, f)

# Загрузка и восстановление контекста
with open("chat_history.json", "r") as f:
    restored_history = json.load(f)

Расширенные техники памяти

  1. RAG (Retrieval-Augmented Generation) — интеграция знаний из внешних источников
  2. Summarization — периодическое сжатие истории для сохранения контекста
  3. Hindsight Memory — специализированная система для долгосрочного обучения агентов
  4. TTL Policy — автоматическое удаление старых данных по времени

Развёртывание на собственном сервере

Минимальные требования

Установка

# Базовая установка
pip install "ag2[openai]"

# С поддержкой местных LLM
pip install "ag2[ollama]"

# Полная установка со всеми расширениями
pip install "ag2[all]"

Развёртывание production-системы

Вариант 1: Docker контейнеризация

FROM python:3.11-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install -r requirements.txt

COPY . .

# Использование стороннего LLM (например, Ollama)
ENV OLLAMA_API_URL=http://ollama:11434

CMD ["python", "main.py"]

Вариант 2: На местных LLM (без облачных API) - Установка Ollama или LM Studio для локального хостинга модели - Использование open-source моделей (Llama 2, Mistral, Neural Chat) - Полный контроль над данными, отсутствие облачных затрат - Рекомендуется для регулируемых отраслей (финансы, здравоохранение)

Вариант 3: Cloud deployment - Azure Container Instances для запуска контейнеров - AWS ECS/Lambda для serverless архитектуры - Google Cloud Run для масштабируемого развёртывания - Требует конфигурации API ключей и сетевой безопасности

Масштабируемость

Цена и модели затрат

Open Source — полностью бесплатно

AG2 и AutoGen — полностью open-source проекты под лицензией CC-BY-4.0 и Python Software Foundation License. Нулевая стоимость лицензии.

Операционные затраты

  1. LLM API (если используется облако)
  2. OpenAI GPT-4: ~$0.01-0.03 за 1K токенов (входящих)
  3. Azure OpenAI: похожие цены с возможностью скидок за объём
  4. Альтернативы с более низкой ценой (Claude, Gemini) — $0.003-0.01 за 1K токенов
  5. Типичная стоимость: $1-100 в месяц в зависимости от нагрузки

  6. Локальные LLM (самостоятельный хост)

  7. Серверное оборудование: $500-5000 за GPU сервер
  8. Электричество: ~$50-200/месяц (зависит от мощности)
  9. Типичная окупаемость: 3-6 месяцев в сравнении с облачными API

  10. Облачная инфраструктура (compute + storage)

  11. AWS EC2 (t3.xlarge): ~$150/месяц
  12. Google Cloud Run: pay-per-use, $0.00001667 за CPU-час
  13. Azure Container Instances: $0.0000278 за CPU-сек + storage

Примерная калькуляция для стартапа

Сценарий Месячные затраты
Прототип на GPT-4 (100k запросов) $300-500
Production на местном Llama 2 $100-200 (серверы)
Масштабируемая облачная система $500-2000
Enterprise (гибридное) $5000+

Вывод: AG2 как фреймворк — бесплатен. Основные затраты — на LLM и инфраструктуру, а не на лицензии.

Сильные и слабые стороны

✅ Сильные стороны

  1. Полная открытость и бесплатность
  2. Нет лицензионных затрат, в отличие от некоторых коммерческих решений
  3. Возможность форков и кастомизации под специфические нужды
  4. Сообщество активно способствует развитию

  5. Гибкость и универсальность

  6. Поддерживает разнообразные паттерны взаимодействия (не только последовательные)
  7. Возможность работы с разными LLM провайдерами
  8. Легко интегрировать собственные инструменты и функции

  9. Эмерджентное поведение и интеллект

  10. Агенты общаются естественным языком, что позволяет им находить нестандартные решения
  11. Больше возможностей для debate/consensus сценариев
  12. Подходит для исследовательских задач

  13. Human-in-the-loop из коробки

  14. Встроенная поддержка взаимодействия человека с системой
  15. Гибкие режимы управления (ALWAYS/NEVER/TERMINATE)

  16. Реальные примеры успеха

  17. Nvidia: сокращение многодневных задач дизайна чипа до минут
  18. MIT: автоматическое создание исследовательских отчётов
  19. Решение ~50% багов автоматически с расходом ~$1 на баг

❌ Слабые стороны

  1. Раз дель документации и confusion в экосистеме
  2. AutoGen (v0.2) в режиме поддержки vs AG2 (v0.7+) как основное направление
  3. Миграция из AutoGen на AG2 требует переписания кода
  4. Часть документации устарела

  5. Менее production-готов чем конкуренты

  6. LangGraph имеет встроенное checkpointing и durable execution
  7. AG2 всё ещё в beta (v0.7.x в марте 2026)
  8. Меньше примеров production-deployment в дикой природе

  9. API может измениться

  10. Асинхронный actor model — новая архитектура, ещё не полностью стабилизирована
  11. Возможны breaking changes перед v1.0

  12. Потенциал для бесконечных циклов

  13. Когда агенты общаются свободно, они могут "зацикливаться"
  14. Требует явного управления (max_round, terminators, детерминированная маршрутизация)
  15. Требует внимательного проектирования для production

  16. Меньше встроенных инструментов

  17. CrewAI имеет 100+ встроенных tools
  18. AG2 требует большей ручной конфигурации интеграций
  19. Ecosystem меньше, чем у LangChain

  20. Observability и мониторинг

  21. Нет встроенного аналога LangSmith (хотя и бесплатно)
  22. Требует кастомной разработки для production мониторинга

Для кого это: Целевые аудитории

✓ Отлично подходит для

  1. Исследователи и учёные
  2. Новые паттерны многоагентного взаимодействия
  3. Экспериментирование с различными оркестрационными моделями
  4. Публикуемые результаты на основе AG2

  5. Стартапы с ограниченным бюджетом

  6. Полностью бесплатный фреймворк экономит на лицензиях
  7. Возможность использовать местные LLM вместо облачных API
  8. Сокращает время to-market для MVP

  9. Компании с focus на debate/consensus

  10. Автоматизация ревью кода (Developer + Reviewer + QA)
  11. Управление проектами (PM + Engineer + QA)
  12. Исследовательские системы требующие множество перспектив

  13. Компании требующие приватность данных

  14. Self-hosted развёртывание без передачи данных в облако
  15. Контроль над всеми данными и моделями
  16. Соответствие GDPR/HIPAA требованиям

  17. Компании в регулируемых отраслях

  18. Возможность аудита всего процесса (коды агентов, логи)
  19. Использование certified моделей
  20. Полный контроль над инфраструктурой

✗ Не рекомендуется для

  1. Простые seq уential task-based системы
  2. Избыточен по возможностям
  3. CrewAI проще для простых задач

  4. Требующих максимальной надёжности production

  5. LangGraph лучше за счёт checkpointing
  6. AG2 ещё в beta и может иметь breaking changes

  7. Командам без опыта AI/ML

  8. Requires глубокое понимание агентных систем
  9. Документация предполагает technical background

  10. Требующих массивный набор встроенных интеграций

  11. CrewAI/LangChain имеют больше готовых коннекторов
  12. AG2 требует больше кастомной разработки

Свежесть проекта в 2026: Жив ли проект?

Текущий статус

AutoGen (исходный): В режиме поддержки (maintenance mode) - Microsoft фокусируется на миграции пользователей - Официальный guide по миграции доступен - Новые фичи не добавляются

AG2 (форк от сообщества): Активный основной филиал - AG2 Beta была выпущена в марте 2026 - Полностью управляется сообществом - Регулярные обновления и релизы - Discord сообщество активно помогает пользователям

Microsoft Agent Framework: Новое направление - Объединение AutoGen и Semantic Kernel - Production-ready в 2026 - Поддержка Python и .NET - Рекомендуется для новых enterprise проектов

Roadmap и планы

AG2 в 2026+: - Улучшение стабильности beta - Расширение инструментов и интеграций - Лучшая документация по миграции от AutoGen - Поддержка новых LLM провайдеров - Улучшение оркестрации и observability

Microsoft Agent Framework: - Объединённая платформа для AutoGen и Semantic Kernel - Enterprise поддержка от Microsoft - Интеграция с Azure облачными сервисами - Долгосрочные гарантии support

Заключение о жизнеспособности

Да, проект жив и развивается. Ситуация такова: 1. AutoGen "переехал" на новую архитектуру (AG2) 2. AG2 активно развивается и набирает популярность 3. Microsoft создала новый framework но это не означает смерть AG2 4. 2026 год — точка inflection, где экосистема стабилизируется

Выбор для новых проектов: - Production enterprise: Microsoft Agent Framework - Open-source, исследования: AG2 - Максимальная надёжность: LangGraph - Простота: CrewAI

Примеры реальных систем и использования

1. Chip Design (NVIDIA)

Задача: Автоматизация дизайна интегральных схем.

Архитектура: Группа специализированных агентов: - Architecture Agent: определяет стратегию дизайна - HDL Agent: пишет код на Verilog/SystemVerilog - Verification Agent: проверяет корректность - Optimization Agent: оптимизирует по площади/энергии

Результат: Многодневные задачи сокращены до часов/минут, повышена quality of design.

2. Research Paper Generation (MIT)

Задача: Автоматическое создание научных статей из данных.

Использует: Ontology-based знания, AG2 для координации: - Literature Agent: ищет релевантные статьи - Analysis Agent: обрабатывает данные - Writing Agent: структурирует текст и пишет - Review Agent: проверяет точность и ссылки

Результат: Сокращение времени на 60-70%, улучшена структура.

3. Software Bug Fixing

Задача: Автоматическое исправление багов в коде.

Процесс: - Analyzer Agent: понимает баг из issue tracker - Developer Agent: генерирует fix - Reviewer Agent: проверяет качество - Tester Agent: запускает тесты

Результат: ~50% багов исправлены автоматически, стоимость ~$1 на баг.

4. Investment Analysis (Better Future Labs)

Задача: Автоматическое создание investment memo для VC.

Компоненты: - Market Analyst: анализирует рынок - Financial Analyst: проверяет финансы компании - Tech Analyst: оценивает технологию - Report Writer: создаёт итоговый memo

Результат: Ускорение due diligence процесса в 3-5 раз.

5. Customer Support Orchestration

Задача: Многоагентная система поддержки клиентов.

Архитектура: - Routing Agent: понимает природу проблемы - Knowledge Agent: ищет решение в KB - Technical Agent: для технических проблем - Escalation Agent: передача человеку если нужно

Результат: 70% задач решено без человека, улучшена скорость ответа.

Архитектурные Паттерны и Best Practices

Paттерн 1: Debate Pattern (Дебаты для консенсуса)

Использование когда нужна разная перспектива:

debate = GroupChat(
    agents=[devil_advocate, supporter, analyst],
    max_round=5
)

Использование: Code review, design decisions, risk assessment.

Paттерн 2: Pipeline with Checkpoints (Конвейер с проверками)

Детерминированный поток с проверками качества:

# Шаг 1: Генерация
generator.initiate_chat(user)

# Шаг 2: Ревью
reviewer.initiate_chat(generator)

# Шаг 3: Окончательная проверка
finalizer.initiate_chat(reviewer)

Использование: Document generation, content pipeline, QA workflows.

Paттерн 3: Hierarchical Teams (Иерархические команды)

Вложенные группы агентов:

# Техническая команда
tech_team = GroupChat([developer, tester, architect])

# Управленческая команда
management_team = GroupChat([
    pm,
    tech_lead_proxy,  # представляет tech_team
    stakeholder
])

Использование: Large projects, complex organizations.

Возможные Проблемы и Их Решения

Проблема 1: Бесконечные циклы агентов

Симптом: Агенты продолжают разговор без прогресса.

Решение:

group_chat = GroupChat(
    agents=[...],
    max_round=20,  # Жесткое ограничение
)

# Или детерминированная маршрутизация
def select_speaker(messages, agents):
    if "FINAL" in messages[-1]:
        return None
    return next_agent

Проблема 2: Высокие затраты на LLM API

Решение: - Кэширование результатов вызовов - Использование более дешёвых моделей (Llama, Mistral) - Локальные LLM для чувствительного к времени сценариям

Проблема 3: Unpredictable поведение в production

Решение: - Избегать использования high-temperature агентов - Явное управление потоком через детерминированную маршрутизацию - Логирование всех решений для аудита - A/B тестирование перед production

Проблема 4: Токен context window переполнение

Решение: - Summarization истории чата каждые N ходов - Использование функций external memory (RAG) - Переход на модели с большим окном (Claude 3 — 200K токенов)

Сравнение с конкурентами (2026)

Критерий AG2 LangGraph CrewAI
Лицензия Open Source Бесплатно (LangSmith платный) Open Source
Проактивность Beta (0.7.x) Stable (1.0+) Stable
Paттерны Dialogue-driven Graph-driven Task-driven
Простота обучения Medium High Low
Production Ready ~70% ~95% ~80%
Observability Manual LangSmith Built-in
Встроенные tools ~20 ~50 ~100+
Enterprise support Community LangChain+ Community
Для debate scenarios ⭐⭐⭐ ⭐⭐
Для simple tasks ⭐⭐ ⭐⭐⭐ ⭐⭐⭐
Для complex workflows ⭐⭐⭐ ⭐⭐⭐ ⭐⭐

Выводы и Рекомендации

Когда использовать AG2 в 2026

  1. Для исследовательских проектов — новые паттерны и архитектуры
  2. Для систем требующих debate/consensus — автоматический code review, brainstorming
  3. Для бюджет-constrained стартапов — полностью бесплатный фреймворк
  4. Для self-hosted deployment — полный контроль над данными
  5. Для экспериментирования с агентными системами — гибкость и расширяемость

Когда выбрать альтернативы

  1. LangGraph — если требуется максимальная надёжность и production-readiness
  2. CrewAI — если нужна максимальная простота и встроенные tools
  3. Microsoft Agent Framework — если работаете в экосистеме Microsoft

Долгосрочный outlook

AG2 в 2026-2027: - Стабилизация v1.0 с гарантиями API - Усиление community и ecosystem - Интеграция с Microsoft Agent Framework (без потери независимости) - Рост использования в enterprise после v1.0

Рекомендация: AG2 — это правильный выбор для новых проектов в области многоагентных систем, особенно если у вас есть flexibility экспериментировать и достаточно tech expertise для customization.


Ссылки и Источники

Официальная документация

Блоги и Обзоры

Практические Гайды и Примеры

Сравнения и Benchmark

Исследовательские Статьи и Концепции

Community и Support