Skip to Content
Руководство для пользователейВозможностиАрена агентов

Agent Arena

Запускайте несколько AI-моделей одновременно для выполнения одной и той же задачи, сравнивайте их решения бок о бок и выбирайте лучший результат для применения в вашем рабочем пространстве.

[!warning] Agent Arena находится в экспериментальной стадии. У неё есть известные ограничения в режимах отображения и управлении сессиями.

Agent Arena позволяет запустить несколько AI-моделей в соревновании за выполнение одной задачи. Каждая модель работает как полностью независимый агент в своём изолированном Git worktree, поэтому файловые операции никогда не пересекаются. Когда все агенты завершают работу, вы сравниваете результаты и выбираете победителя, чьи изменения будут объединены в основное рабочее пространство.

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

На этой странице рассматриваются:

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

Agent Arena наиболее эффективна, когда вам нужно оценить или сравнить, как разные модели решают одну и ту же задачу. Лучшие сценарии использования:

  • Бенчмаркинг моделей: Оценка возможностей разных моделей на реальных задачах в вашей кодовой базе, а не на синтетических тестах
  • Выбор лучшего из N: Получение нескольких независимых решений и выбор лучшей реализации
  • Исследование подходов: Наблюдение за тем, как разные модели рассуждают и решают одну задачу — полезно для обучения и получения новых идей
  • Снижение рисков: Для критических изменений убедитесь, что несколько моделей сходятся на схожем подходе перед коммитом

Agent Arena расходует значительно больше токенов, чем одна сессия (у каждого агента своё контекстное окно и вызовы модели). Она лучше всего подходит, когда ценность сравнения оправдывает затраты. Для рутинных задач, где вы доверяете модели по умолчанию, одна сессия будет эффективнее.

Запуск сессии Arena

Для запуска сессии используйте слеш-команду /arena. Укажите модели для соревнования и задачу:

/arena --models qwen3.5-plus,glm-5,kimi-k2.5 "Refactor the authentication module to use JWT tokens"

Если вы опустите --models, появится интерактивное окно выбора моделей, где можно выбрать из настроенных провайдеров.

Что происходит при запуске

  1. Настройка worktree: Qwen Code создаёт изолированные Git worktrees для каждого агента по пути ~/.qwen/arena/<session-id>/worktrees/<model-name>/. Каждый worktree точно отражает состояние вашего текущего рабочего каталога — включая проиндексированные, непроиндексированные и неотслеживаемые файлы.
  2. Запуск агентов: Каждый агент стартует в своём worktree с полным доступом к инструментам и настроенной моделью. Агенты запускаются последовательно, но выполняются параллельно.
  3. Выполнение: Все агенты работают над задачей независимо, без общего состояния или взаимодействия. Вы можете отслеживать их прогресс и взаимодействовать с любым из них.
  4. Завершение: Когда все агенты завершают работу (или завершаются с ошибкой), вы переходите к фазе сравнения результатов.

Взаимодействие с агентами

Режимы отображения

В настоящее время Agent Arena поддерживает режим in-process, где все агенты работают асинхронно в одном терминальном процессе. Панель вкладок внизу терминала позволяет переключаться между агентами.

[!note] Режимы отображения с разделением панелей запланированы на будущее. Мы планируем поддержку макетов с разделением панелей на основе tmux и iTerm2, где каждый агент получит собственную терминальную панель для настоящего просмотра бок о бок. В настоящее время доступно только переключение вкладок в рамках одного процесса.

Навигация между агентами

В режиме in-process используйте горячие клавиши для переключения между представлениями агентов:

Горячая клавишаДействие
RightПереключиться на следующую вкладку агента
LeftПереключиться на предыдущую вкладку агента
UpПеревести фокус в поле ввода
DownПеревести фокус на панель вкладок агентов

Панель вкладок отображает текущий статус каждого агента:

ИндикаторЗначение
Выполняется или ожидает
Успешно завершён
Завершён с ошибкой
Отменён

Взаимодействие с отдельными агентами

При просмотре вкладки агента вы можете:

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

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

Сравнение результатов и выбор победителя

Когда все агенты завершают работу, Arena переходит в фазу сравнения результатов. Вы увидите:

  • Сводка статусов: Какие агенты успешно завершили работу, завершились с ошибкой или были отменены
  • Метрики выполнения: Длительность, раунды рассуждений, использование токенов и количество вызовов инструментов для каждого агента

Диалог выбора покажет успешно завершивших работу агентов. Выберите одного, чтобы применить его изменения в основное рабочее пространство, или отклоните все результаты.

Что происходит при выборе победителя

  1. Изменения агента-победителя извлекаются в виде diff относительно базовой версии
  2. Diff применяется к вашему основному рабочему каталогу
  3. Все worktree и временные ветки автоматически очищаются

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

Конфигурация

Поведение Arena можно настроить в settings.json:

{ "arena": { "worktreeBaseDir": "~/.qwen/arena", "maxRoundsPerAgent": 50, "timeoutSeconds": 600 } }
ПараметрОписаниеЗначение по умолчанию
arena.worktreeBaseDirБазовый каталог для worktree Arena~/.qwen/arena
arena.maxRoundsPerAgentМаксимальное количество раундов рассуждений на агента50
arena.timeoutSecondsТаймаут для каждого агента в секундах600

Рекомендации

Выбирайте модели, дополняющие друг друга

Arena наиболее полезна, когда вы сравниваете модели с существенно разными сильными сторонами. Например:

/arena --models qwen3.5-plus,glm-5,kimi-k2.5 "Optimize the database query layer"

Сравнение трёх версий одного семейства моделей даст меньше информации, чем сравнение моделей от разных провайдеров.

Делайте задачи самодостаточными

Агенты Arena работают независимо и не взаимодействуют друг с другом. Задачи должны быть полностью описаны в промпте без необходимости уточнений:

Хорошо: «Рефакторинг модуля оплаты с использованием паттерна «Стратегия». Обновите все тесты.»

Менее эффективно: «Давайте обсудим, как улучшить модуль оплаты» — это требует диалога, что лучше подходит для обычной сессии.

Ограничивайте количество агентов

Одновременно может работать до 5 агентов. На практике 2–3 агента обеспечивают оптимальный баланс между ценностью сравнения и затратами ресурсов. Больше агентов означает:

  • Более высокие затраты токенов (у каждого агента своё контекстное окно)
  • Увеличение общего времени выполнения
  • Больше результатов для сравнения

Начинайте с 2–3 агентов и увеличивайте количество только тогда, когда ценность сравнения оправдывает затраты.

Используйте Arena для важных решений

Arena раскрывает свой потенциал, когда важность задачи оправдывает запуск нескольких моделей:

  • Выбор архитектуры для нового модуля
  • Выбор подхода для сложного рефакторинга
  • Валидация критического исправления бага с разных сторон

Для рутинных изменений, таких как переименование переменной или обновление конфигурационного файла, одна сессия будет быстрее и дешевле.

Устранение неполадок

Агенты не запускаются

  • Убедитесь, что каждая модель в --models правильно настроена и имеет валидные API-ключи
  • Проверьте, что ваш рабочий каталог является Git-репозиторием (worktree требуют Git)
  • Убедитесь, что у вас есть права на запись в базовый каталог worktree (по умолчанию ~/.qwen/arena/)

Ошибка создания worktree

  • Выполните git worktree list, чтобы проверить наличие устаревших worktree от предыдущих сессий
  • Очистите устаревшие worktree с помощью git worktree prune
  • Убедитесь, что ваша версия Git поддерживает worktrees (git --version, требуется Git 2.5+)

Агент выполняется слишком долго

  • Увеличьте таймаут: задайте arena.timeoutSeconds в настройках
  • Уменьшите сложность задачи — задачи для Arena должны быть сфокусированными и чётко определёнными
  • Уменьшите arena.maxRoundsPerAgent, если агенты тратят слишком много раундов

Ошибка применения изменений победителя

  • Проверьте наличие незакоммиченных изменений в основном рабочем каталоге, которые могут вызвать конфликты
  • Diff применяется как патч — возможны конфликты слияния, если ваш рабочий каталог изменился во время сессии

Ограничения

Agent Arena находится в экспериментальной стадии. Текущие ограничения:

  • Только режим in-process: Отображение с разделением панелей через tmux или iTerm2 пока недоступно. Все агенты работают в одном окне терминала с переключением вкладок.
  • Нет предпросмотра diff перед выбором: Вы можете просматривать историю разговора каждого агента, но отсутствует единый просмотрщик diff для сравнения решений бок о бок перед выбором победителя.
  • Без сохранения worktree: Worktree всегда очищаются после выбора. Нет возможности сохранить их для дальнейшего изучения.
  • Нет возобновления сессии: Сессии Arena нельзя возобновить после выхода. Если вы закроете терминал в середине сессии, worktree останутся на диске и должны быть очищены вручную через git worktree prune.
  • Максимум 5 агентов: Жёсткое ограничение в 5 одновременных агентов изменить нельзя.
  • Требуется Git-репозиторий: Arena требует Git-репозиторий для изоляции через worktree. Её нельзя использовать в каталогах без Git.

Сравнение с другими режимами мультиагентности

Agent Arena — один из нескольких запланированных режимов мультиагентности в Qwen Code. Agent Team и Agent Swarm ещё не реализованы — таблица ниже описывает их предполагаемую архитектуру для справки.

Agent ArenaAgent Team (запланировано)Agent Swarm (запланировано)
ЦельСоревновательный: найти лучшее решение для одной и той же задачиКоллаборативный: совместно решать разные аспекты задачиПакетный параллельный: динамическое создание воркеров для массовых задач
АгентыЗаранее настроенные модели соревнуются независимоУчастники команды сотрудничают с назначенными ролямиВоркеры создаются на лету и уничтожаются после завершения
КоммуникацияОтсутствует взаимодействие между агентамиПрямой обмен сообщениями peer-to-peerОдносторонняя: результаты агрегируются родительским процессом
ИзоляцияПолная: отдельные Git worktreesНезависимые сессии с общим списком задачЛёгкий эфемерный контекст для каждого воркера
РезультатОдно выбранное решение применяется в рабочее пространствоСинтезированные результаты с разных точек зренияАгрегированные результаты параллельной обработки
Лучше всего подходит дляБенчмаркинга, выбора между подходами моделейИсследований, сложной коллаборации, межслойной работыПакетных операций, обработки данных, задач типа map-reduce

Следующие шаги

Изучите связанные подходы для параллельной и делегированной работы:

  • Лёгкое делегирование: Субагенты обрабатывают узкие подзадачи в рамках вашей сессии — лучше подходят, когда сравнение моделей не требуется
  • Ручные параллельные сессии: Запускайте несколько сессий Qwen Code самостоятельно в отдельных терминалах с Git worktrees  для полного ручного контроля
Last updated on