Перейти к содержимому

Debate

DebateStepDescription запускает дискуссию по кругу: каждая роль аргументирует по очереди заданное число раундов, затем судья синтезирует вывод.

from mmar_carl import DebateStepDescription, DebateStepConfig
DebateStepDescription(
number=1,
title="Debate the proposal",
config=DebateStepConfig(
roles=["optimist", "skeptic"],
role_prompts={
"optimist": "Argue for the proposal's strengths.",
"skeptic": "Probe the proposal's weaknesses.",
},
rounds=2,
judge_prompt="Weigh both sides and state the strongest conclusion.",
output_memory_key="verdict",
),
)
ПолеНазначение
rolesРоли дискутантов (в порядке очерёдности).
role_promptsСистемный промпт для каждой роли.
roundsСколько полных раундов по кругу.
task_sourceСсылка на тему (по умолчанию $history[-1]).
judge_promptПромпт, который судья использует для синтеза.
output_memory_key / output_namespaceКуда сохраняется вердикт.
llm_configМодель по умолчанию для всех ролей + судьи.
role_llm_configsПереопределения модели для каждой роли (разные модели для каждой роли).
  • Parallel sampling — семплирование нескольких ответов и голосование.