AI Prompt Engineering · Урок

Агенты, ведущие дебаты и голосование

Достижение консенсуса между агентами

Урок 4 из 413 шагов

«Агенты, ведущие дебаты и голосование» — бесплатный урок 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 — локальная установка не требуется.

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

  1. Роли и специализация
  2. Оркестратор и рабочие агенты
  3. Взаимодействие между агентами
  4. Агенты, ведущие дебаты и голосование
← Назад к AI Prompt Engineering