0Pricing
AI Agents · Урок

Мультиагентная система на основе диалога (AutoGen)

Microsoft AutoGen позволяет нескольким агентам общаться друг с другом, пока они не достигнут согласия.

«Мультиагентная система на основе диалога (AutoGen)» — бесплатный урок AI Agents на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Зачем нужны несколько агентов?

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

Примеры:

  • Researcher + Writer — один собирает информацию, другой составляет ответ
  • Coder + Reviewer — один пишет код, другой критикует его
  • User-Proxy + Assistant — представляет пользователя и общается с рабочим агентом

Шаблон AutoGen

Microsoft AutoGen позволяет агентам общаться: каждый из них является AssistantAgent или UserProxyAgent. Они обмениваются сообщениями, пока не достигнут согласия.

Two-Agent Example

# pip install pyautogen
from autogen import AssistantAgent, UserProxyAgent

llm_config = {'model': 'gpt-4o-mini', 'api_key': '...'}

assistant = AssistantAgent(
    name='coder',
    system_message='You write Python code. Reply with code only.',
    llm_config=llm_config
)

user_proxy = UserProxyAgent(
    name='user',
    human_input_mode='NEVER',
    code_execution_config={'work_dir': './workdir'}
)

user_proxy.initiate_chat(assistant, message='Write a function that returns the factorial of n.')

UserProxyAgent

Представляет человека или скрипт. Может выполнять код, возвращённый ассистентом, задавать уточняющие вопросы и определять, когда задача выполнена.

Агенты, поддерживающие диалог

Все агенты AutoGen наследуются от ConversableAgent. Для особого поведения можно создать производный класс.

GroupChat for >2 Agents

class AssistantAgent:
    def __init__(self, name, system_message=''):
        self.name = name
        self.system_message = system_message

    def initiate_chat(self, manager, message):
        manager.run(self, message)

class GroupChat:
    def __init__(self, agents, messages, max_round=12):
        self.agents = agents
        self.messages = messages
        self.max_round = max_round

class GroupChatManager:
    def __init__(self, groupchat, llm_config=None):
        self.groupchat = groupchat

    def run(self, initiator, message):
        self.groupchat.messages.append({'role': initiator.name, 'content': message})
        for i, agent in enumerate(self.groupchat.agents):
            if i >= self.groupchat.max_round:
                break
            reply = f'{agent.name} contributes to: {message}'
            self.groupchat.messages.append({'role': agent.name, 'content': reply})
            print(reply)

user_proxy = AssistantAgent(name='user_proxy')
researcher = AssistantAgent(name='researcher')
writer = AssistantAgent(name='writer')
critic = AssistantAgent(name='critic')

group = GroupChat(agents=[user_proxy, researcher, writer, critic], messages=[], max_round=12)
manager = GroupChatManager(groupchat=group, llm_config={})

user_proxy.initiate_chat(manager, message='Write a blog post about RAG.')

Выбор говорящего

GroupChatManager решает, кто будет говорить следующим. Стратегии:

  • по кругу — фиксированная ротация
  • автоматически — LLM выбирает на основе диалога
  • вручную — выбирает человек

Условия завершения

Диалоги заканчиваются, когда:

  • агент выдаёт ключевое слово TERMINATE
  • достигнуто максимальное число раундов
  • UserProxyAgent определяет, что задача выполнена

Выполнение кода

UserProxyAgent может выполнить любой код, который ассистент выдаёт в блоках кода. Используйте изолированную среду:

user_proxy = UserProxyAgent(
    name='user',
    code_execution_config={
        'work_dir': './workdir',
        'use_docker': True   # safer
    }
)

Контроль стоимости

Диалоги с несколькими агентами дороги: N агентов × M раундов = N×M вызовов LLM на задачу. Агрессивно ограничивайте число раундов.

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

  • Задачи с чётким разделением ролей (исследование, код, проверка)
  • Задачи, где критика повышает качество
  • Задачи, слишком сложные для одного запроса к агенту

Когда НЕ использовать

  • Простые вопросы и ответы — один агент быстрее и дешевле
  • Участки, критичные к задержке
  • Задачи, которые один агент может качественно выполнить целиком

AutoGen и LangGraph

AutoGen основан на диалоге (свободное общение между агентами), а LangGraph — на графе (явная машина состояний). Оба подхода корректны; выбирайте тот, которому ваша задача лучше соответствует.

Шаблон AutoGen

Какова центральная абстракция в AutoGen?

Итоги

AutoGen — это общение агентов с ролями. Он отлично подходит для задач, где один агент руководит, а другие специализируются. Следите за стоимостью и ограничивайте число раундов.

Часто задаваемые вопросы

Урок «Мультиагентная система на основе диалога (AutoGen)» бесплатный?

Да — полный текст урока «Мультиагентная система на основе диалога (AutoGen)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.

Чему я научусь в уроке «Мультиагентная система на основе диалога (AutoGen)»?

Microsoft AutoGen позволяет нескольким агентам общаться друг с другом, пока они не достигнут согласия. Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Agents?

Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Мультиагентная система на основе диалога (AutoGen)»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Agents?

Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Мультиагентная система на основе диалога (AutoGen)
  2. Иерархические супервизоры (координатор + исполнители)
  3. Роли и специализации агентов
  4. Протоколы связи (шины сообщений)
← Назад к AI Agents