Конкурирующие агенты: как заставить ИИ спорить с собой
Один агент выдаёт первое правдоподобное решение и на этом останавливается. Схема с несколькими конкурирующими агентами заставляет модель предлагать альтернативы, критиковать их и отбирать наиболее подходящее.

Одиночный запрос к языковой модели устроен так: она генерирует первый связный ответ и защищает его до конца, даже когда он неверен. Проблему знают все, кто просил GPT-4 или Claude решить нетривиальную задачу и получал уверенно поданную ошибку. Схема с конкурирующими агентами ломает эту инерцию: вместо одного прохода вы запускаете несколько ролей, которые предлагают разные решения, атакуют чужие и сходятся на том, что пережило критику. Стоит это дороже — по токенам в три-пять раз больше обычного запроса — но на задачах с проверяемым ответом даёт заметный прирост.
Почему один агент проигрывает нескольким
Автогрессивная генерация — это ставка на первое слово. Модель выбирает начало ответа, и всё остальное подстраивается под уже сказанное. Если первый шаг рассуждения ушёл не туда, дальше идёт связное, грамотное, но неправильное продолжение. Модель не откатывается назад по своей воле.
Приём self-consistency* обходит это грубой силой: сгенерировать 5–40 независимых цепочек рассуждений и взять ответ, который встретился чаще всего. На арифметике и логике это стабильно поднимает точность. Но голосование работает только там, где ответ дискретен и его можно сравнить на равенство. Для эссе, кода или стратегии «самый частый ответ» не определён.
Конкурирующие агенты — следующий шаг. Вместо анонимного голосования вводятся роли, которые видят предложения друг друга и обязаны их оценивать. Спор становится явным, а не статистическим.
Один агент оптимизирует правдоподобность. Несколько конкурирующих агентов оптимизируют выживаемость идеи под атакой. Это разные цели, и вторая ближе к тому, что вам нужно.
Три рабочие схемы
Дебаты
Два-три агента получают одну задачу и независимо дают решение. Затем каждый видит ответы остальных и раунд за раундом либо защищает свою позицию, либо переходит на чужую с обоснованием. Финальный ответ выносит либо отдельный агент-судья, либо консенсус после N раундов.
В исследовании multiagent debate от команды MIT и Google (Du et al., 2023) такая схема на задачах арифметики и рассуждений обгоняла одиночный проход. Важная деталь: два-три раунда дают почти весь прирост, дальше агенты начинают повторяться или дружно сходиться на общей ошибке.
Генератор и критик
Асимметричная пара. Первый агент предлагает решение, второй ищет в нём дыры: пропущенные случаи, неверные допущения, уязвимости. Генератор переписывает с учётом критики. Цикл повторяется, пока критик не перестаёт находить существенные замечания или пока не исчерпан лимит итераций.
Схема особенно хороша для кода и текстов, где ошибку легче заметить, чем сгенерировать безупречный результат с первого раза. Ключевой риск — критик, который придирается к мелочам вечно. Ограничивайте его: «только ошибки, ломающие результат, не стилистика».
Турнир вариантов
Несколько агентов с разными установками («консервативный», «рискованный», «оптимизирующий по стоимости») выдают решения параллельно. Затем судья сравнивает их попарно или ранжирует по заданным критериям и объявляет победителя. Подходит для задач, где нет единственно верного ответа, но есть измеримые критерии качества.
Сравнение подходов
| Схема | Когда брать | Расход токенов | Слабое место |
|---|---|---|---|
| Self-consistency | Дискретный проверяемый ответ (числа, метки) | x5–x40 | Не работает для открытых форматов |
| Дебаты | Рассуждения, где полезен обмен аргументами | x3–x6 | Схождение на общей ошибке |
| Генератор + критик | Код, тексты, планы | x2–x4 за итерацию | Бесконечные придирки критика |
| Турнир вариантов | Задачи без единственного верного ответа | x3–x5 | Качество упирается в судью |
Как собрать это на практике
Минимальная реализация не требует фреймворка — достаточно нескольких вызовов API в цикле. Порядок действий:
- Разведите роли по системным промптам. Не «будь критиком» одной строкой, а конкретно: что ищем, что игнорируем, в каком формате возвращаем замечания. Расплывчатая роль даёт расплывчатую критику.
- Показывайте агентам чужие ответы полностью. Пересказ или сжатие убивают смысл дебатов — критик должен видеть оригинал, а не его резюме.
- Ставьте жёсткий лимит раундов. Два-три для дебатов, две-три итерации для генератора с критиком. Без лимита цикл либо зациклится, либо съест бюджет.
- Сделайте судью отдельной ролью с ясными критериями. «Выбери лучший ответ» — плохой промпт. «Оцени по корректности, полноте и стоимости реализации, объясни выбор» — рабочий.
- Логируйте промежуточные ответы. Когда итог окажется странным, разбираться придётся по цепочке, а не по финалу.
Где схема не окупается
Конкурирующие агенты — это дорого и медленно. Три раунда дебатов — это последовательные вызовы, которые нельзя полностью распараллелить, потому что каждый следующий зависит от предыдущего. Задержка растёт, и для интерактивного чата это чаще всего неприемлемо.
На простых задачах прирост точности стремится к нулю: если модель и так отвечает верно в 95% случаев, платить пятикратную цену за оставшиеся проценты бессмысленно. Есть и коварный эффект — групповое схождение: агенты на одной и той же базовой модели склонны к одним и тем же ошибкам и в дебатах могут убедить друг друга в неверном ответе, придав ему видимость консенсуса. Разнообразие тут достигается разными промптами и, по возможности, разными моделями, а не просто числом копий.
Практическое правило: включайте конкуренцию агентов там, где цена ошибки высокая, ответ проверяем, а задержка терпима — анализ, генерация кода с последующими тестами, разбор документов. Для быстрых ответов на простые вопросы это оверинжиниринг.
* Self-consistency — приём, при котором модель генерирует несколько независимых цепочек рассуждений на один вопрос, а финальным ответом берётся тот, что встретился чаще остальных. Работает только когда ответы можно сравнить на равенство.
Prompt-инженер: Идеальные запросы для Midjourney, ChatGPT и других моделей.
Спросить за 15 ₽Источники: Du et al. Improving Factuality and Reasoning in Language Models through Multiagent Debate (2023), Wang et al. Self-Consistency Improves Chain of Thought Reasoning (2022)
Частые вопросы
Нужен ли для этого специальный фреймворк вроде AutoGen или CrewAI?
Во сколько раз это дороже обычного запроса?
Можно ли брать одну и ту же модель для всех ролей?
Сколько раундов дебатов ставить?
Подходит ли схема для чат-бота с живым пользователем?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.