Проверка LLM‑ответов через «рецензирование»

**Divergent‑Convergent Reasoning (DCR)** – генерируй несколько независимых решений, затем дай модели выступить в роли строгого рецензента: найти консенсусные шаги, разногласия и собрать финальный ответ, проверяя даже “меньшинства”.

1. Что это?

**DCR** – метод из двух этапов: | Этап | Задача | |------|--------| | **Дивергенция** | Модель генерирует N независимых решений задачи (обычно 3–7). Каждый вариант начинается с нуля, без «подглядывания» в предыдущие. | | **Конвергенция** | Тот же LLM получает все варианты и играет роль *рецензента*: 1. Находит шаги, которые повторяются у большинства (консенсус). 2. Выделяет точки разногласий и анализирует их глубоко. 3. Синтезирует один ответ, явно проверяя, не содержит ли «меньшинство» правильную поправку. | Если нужно повысить точность, можно **рекурсивно** повторять шаг 2 до единогласия (или пока не достигнут лимит).

2. Как работает?

1. **Генерация вариантов** - Prompt: *“Реши задачу {N} независимыми способами… покажи полное рассуждение.”* - Важно, чтобы каждый вариант был действительно самостоятельным (разные подходы, разные формулы). 2. **Рецензирование** - Prompt: *“Ты рецензент. Ниже N решений. 1) Найди консенсус… 2) Разногласия… 3) Синтезируй финальный ответ.”* - Модель должна явно упоминать, какие шаги совпали и почему они считаются надёжными. 3. **Рекурсивный раунд** (опционально) - Вводим предыдущий синтезированный вывод как новый «пул» и повторяем до согласия или лимита попыток.

3. Шаблон промпта

```text Шаг 1 – Divergent Exploration: Реши задачу {N} независимыми способами. Для каждого начинай с нуля, не смотри на предыдущие попытки, используй разные подходы к рассуждению если возможно. Покажи полное решение для каждого варианта. Задача: {задача} Шаг 2 – Convergent Reconciliation: Ты рецензент. Ниже {N} независимых решений одной задачи. 1. НАЙДИ КОНСЕНСУС: шаги, повторяющиеся у большинства — проверь их бегло. 2. НАЙДИ РАЗНОГЛАСИЯ: точно определи, где решения расходятся – разбери их глубоко. 3. СИНТЕЗИРУЙ ОТВЕТ: собери решение из проверенных шагов + разбора спорных мест. Явно проверь, не прав ли вариант из МЕНЬШИНСТВА — не отбрасывай его только потому что он один. Решения: {вставить все N решений} Дай финальный обоснованный ответ. ```

4. Практический чек‑лист

| Шаг | Что делать | Как проверить | |-----|------------|---------------| | **1. Определить N** | 3–5 для простых, >5 для сложных | Убедись, что варианты действительно различны (проверь ключевые формулы). | | **2. Запустить генерацию** | Отправь prompt Шаг 1 | Получи ровно N ответов без пересечений. | | **3. Рецензировать** | Отправь prompt Шаг 2 | Модель должна явно перечислить консенсусные шаги и разногласия. | | **4. (Опционально) Повторить** | Если ответы не согласованы, повторяй Шаг 2 с новым пулом | Остановись при единогласии или лимите (обычно 3–5 раундов). |

5. Ограничения и риски

- **Смешение слабых/сильных источников**: если в пуле много «плохих» вариантов, они могут исказить консенсус. Лучше генерировать только из одной сильной модели или фильтровать плохие ответы вручную. - **Творческие задачи**: метод рассчитан на задачи с единственным правильным ответом (математика, логика). Для генеративных текстов он не применим. - **Стоимость**: каждый раунд требует 2–3 вызова модели. Не стоит использовать для рутинных вопросов, где одна попытка достаточна. - **Надёжность консенсуса**: если все варианты схожи (из‑за шаблонного поведения модели), разногласий будет мало и DCR не даст пользы.

6. Результаты исследований

| Метрика | Голосование по большинству | DCR | Recursive DCR | |---------|----------------------------|-----|---------------| | Точность (AIME‑2024) | 0.68 | 0.82 | 0.86 | | Кол-во вызовов | 1 | ~2 | ~1.5 (27 % экономия) | *Ключевой вывод*: DCR почти всегда превосходит простое голосование, особенно когда правильный ответ находится у меньшинства. Рекурсивная версия повышает точность при умеренной стоимости.

Продолжение в комментарии...