Агенты, ведущие дебаты и голосование
Достижение консенсуса между агентами
«Агенты, ведущие дебаты и голосование» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.
Зачем объединять нескольких агентов
Ответ одной модели — это один образец из распределения, включающего ошибки и чрезмерную уверенность. Запуск нескольких агентов и объединение их результатов — голосованием или структурированными дебатами — использует независимость и расхождения, помогая выявлять ошибки и приходить к более надёжным выводам.
- Голосование сглаживает независимые случайные ошибки.
- Дебаты подвергают ошибочные рассуждения проверке.
Голосование на основе самосогласованности
Самый простой способ объединения результатов: получить несколько независимых ходов рассуждения для одного вопроса и выбрать окончательный answer большинством голосов. Разнообразные цепочки часто приходят к одному и тому же правильному ответу, тогда как ошибки распределяются случайно, поэтому мода надёжнее любого отдельного хода рассуждения.
Лучше всего работает, когда пространство answer дискретно, а ходы рассуждения действительно независимы.
from collections import Counter
answers = [solve(q, temperature=0.7) for _ in range(7)]
final = Counter(a.final for a in answers).most_common(1)[0][0]Независимость — ключевое предположение
Голосование помогает только тогда, когда ошибки независимы. Если все агенты используют одну и ту же модель, инструкцию и смещение, они терпят неудачу одновременно, и голосование лишь усиливает общую ошибку. Внесите разнообразие: используйте разные температуры, формулировки инструкций, способы разбиения задачи или модели.
Коррелированные участники голосования создают ложную уверенность — такова опасность консенсуса без независимости.
Дебаты между несколькими агентами
В дебатах агенты создают первоначальные ответы, затем читают рассуждения друг друга и выполняют revise в нескольких раундах. Знакомство с противоположными аргументами позволяет агентам обнаруживать собственные ошибки и отказываться от слабых позиций, часто приходя к лучшему answer, чем тот, с которого всё началось.
- Раунд 1: независимые ответы.
- Раунд 2 и далее: критика и revise с учётом аргументов коллег.
positions = [agent.answer(q) for agent in agents]
for _ in range(rounds):
positions = [a.revise(q, others=positions) for a in agents]Ловушка подхалимства
Дебаты могут свестись к согласию по неправильной причине: агенты уступают уверенно говорящему коллеге, а не более убедительному аргументу. Противодействуйте этому, инструктируя агентов менять мнение только под влиянием достоинств аргумента, отстаивать правильные позиции под давлением и указывать конкретный аргумент, который их убедил.
Цель — продуктивное несогласие; преждевременный консенсус означает неудачу.
instruction = (
'Revise only if a peer presents a stronger argument. '
'State which specific point changed your view, or defend your answer.'
)Роли судьи и арбитра
Вместо того чтобы надеяться на схождение мнений участников дебатов, выполните add нейтрального судьи, который прочитает итоговые позиции и аргументы и вынесет обоснованное решение. Судья не участвует в дебатах и не заинтересован в исходе, что уменьшает влияние самого громкого голоса.
Разделение защиты позиции и вынесения решения — мощный и проверяемый шаблон.
verdict = judge.decide(
question=q, positions=positions,
rubric='choose the answer with the strongest evidence; explain why'
)Взвешенное голосование и голосование с учётом уверенности
Не все голоса равны. Агенты могут сообщать откалиброванную уверенность, и тогда вы можете соответствующим образом взвешивать общий результат или отбрасывать голоса с низкой уверенностью. Будьте осторожны: уверенность модели часто плохо откалибрована, поэтому сначала проверьте, действительно ли взвешивание повышает точность, и только потом полагайтесь на него.
- Взвешивайте по уверенности, только если она откалибрована.
- В противном случае безопаснее использовать простое большинство.
def weighted_vote(votes):
tally = {}
for v in votes:
tally[v.answer] = tally.get(v.answer, 0) + v.confidence
return max(tally, key=tally.get)Кривая затрат и выгод
Объединение результатов линейно увеличивает затраты с ростом числа агентов и раундов, однако прирост точности уменьшается. Первые несколько дополнительных образцов очень полезны, а десятый редко даёт заметный эффект. Подберите количество опытным путём и остановитесь там, где предельный прирост точности уже не оправдывает предельные расходы.
Остановка adaptive — прекращение работы на раннем этапе при сильном консенсусе — экономит бюджет на простых элементах.
def adaptive(q, max_n):
votes = []
for _ in range(max_n):
votes.append(solve(q))
if dominant_fraction(votes) > 0.8: break # confident enough
return majority(votes)Когда дебаты лучше голосования
Голосование подходит для задач с ясным дискретным answer и независимыми образцами. Дебаты подходят для задач, где рассуждение является источником ошибок — например, для многошаговых доказательств и планов с незаметными недостатками, — потому что ценность заключается в критике цепочки, а не в подсчёте выводов.
Соотносите метод с местом возникновения ошибок: в answer (голосование) или в рассуждении (дебаты).
Ничьи, тупики и эскалация
Определите, что происходит, когда агенты не приходят к согласию: возникает ничья при голосовании или тупик в дебатах. Используйте детерминированное правило разрешения (решение судьи, вариант с наименьшим риском или передача вопроса человеку), а не позволяйте системе зациклиться или сделать произвольный выбор.
- Ограничьте число раундов дебатов; при тупике пусть решение принимает судья или выполняется эскалация.
- Представляйте «нет консенсуса» как допустимый результат, требующий действия.
Контрольный список дизайна консенсуса
Для надёжного консенсуса обеспечьте независимость участников голосования за счёт реального разнообразия, выбирайте голосование для дискретных ответов, а дебаты — для задач, требующих интенсивных рассуждений, противодействуйте подхалимству с помощью revise только по существу аргумента, выполните add нейтрального судьи для вынесения решения, взвешивайте по уверенности только при наличии калибровки, применяйте остановку adaptive для контроля затрат и определите детерминированное разрешение ничьих с эскалацией. Несогласие — это ресурс; управляйте им осознанно.
Краткая проверка
Вы запускаете семь агентов, которые используют одну и ту же модель, инструкцию и температуру, а затем выбираете их ответы большинством голосов, рассчитывая повысить надёжность.
Повторение: агенты, ведущие дебаты и голосующие
Объединение результатов нескольких агентов повышает надёжность, используя независимость и расхождения. Применяйте голосование на основе самосогласованности для дискретных ответов, а дебаты между несколькими агентами — для задач, требующих интенсивных рассуждений, но только при действительно разнообразных участниках: коррелированные агенты усиливают общие смещения. Противодействуйте подхалимству с помощью revise только по существу аргумента, добавьте нейтрального судью для вынесения решения, взвешивайте по уверенности только при наличии калибровки, применяйте остановку adaptive для контроля затрат и определите детерминированное разрешение ничьих с эскалацией.
Изучай AI Prompt Engineering с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 53
- Уроки
- 199
Часто задаваемые вопросы
Урок «Агенты, ведущие дебаты и голосование» бесплатный?
Да — полный текст урока «Агенты, ведущие дебаты и голосование» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Prompt Engineering, подпишись на CoddyKit PRO. Курс AI Prompt Engineering содержит 4 уроков всего.
Чему я научусь в уроке «Агенты, ведущие дебаты и голосование»?
Достижение консенсуса между агентами Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Prompt Engineering?
Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Агенты, ведущие дебаты и голосование»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Prompt Engineering?
Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Роли и специализация
- Оркестратор и рабочие агенты
- Взаимодействие между агентами
- Агенты, ведущие дебаты и голосование