Self-consistency и границы CoT
Если один прогон ненадёжен, запустите несколько и возьмите ответ большинством голосов; но и сам CoT — не всегда добро.
Self-consistency — приём, при котором задачу решают несколько раз (с ненулевой температурой) и выбирают ответ, встретившийся чаще всего.
Идея self-consistency
На сложной задаче одна цепочка рассуждений может свернуть не туда. Но если запустить рассуждение несколько раз, ошибочные пути обычно расходятся в разные стороны, а верный — повторяется. Берём ответ большинства.
from collections import Counter
# Имитация: 5 независимых прогонов модели дали такие ответы
runs = ["6", "6", "7", "6", "5"]
votes = Counter(runs)
best, n = votes.most_common(1)[0]
print("Голоса:", dict(votes))
print(f"Итоговый ответ по большинству: {best} ({n} из {len(runs)})")Вывод:
Голоса: {'6': 3, '7': 1, '5': 1}
Итоговый ответ по большинству: 6 (3 из 5)В реальности «прогоны» — это несколько вызовов модели с температурой выше нуля. Self-consistency повышает надёжность ценой стоимости (несколько запросов вместо одного), поэтому применяют там, где правильность критична.
Когда CoT не нужен
Пошаговое рассуждение — не бесплатно: оно удлиняет ответ, повышает стоимость и задержку. Для простых задач оно избыточно:
- Прямые фактические вопросы («столица Франции»).
- Простая классификация, где ответ очевиден.
- Извлечение по шаблону.
- Когда нужен только короткий ответ, а рассуждение мешает парсингу.
Когда CoT даже вредит
Иногда длинное рассуждение уводит модель от верного интуитивного ответа или создаёт «убедительное» обоснование неверного вывода. Также на задачах, где важен только финальный формат (например, строгий JSON), лишнее рассуждение перед ним мешает и его приходится отдельно вычищать. Если CoT не улучшает метрику на ваших данных — уберите его.
Практическое правило
| Задача | CoT? |
| Многошаговая логика/арифметика | Да, помогает |
| Критичная правильность | Да + self-consistency |
| Простой факт/классификация | Нет, избыточно |
| Строгий машинный формат | Осторожно, может мешать |
Итог
- Self-consistency = несколько прогонов + ответ большинства; надёжнее, но дороже.
- CoT не бесплатен: длиннее, дороже, медленнее.
- На простых задачах рассуждение избыточно, иногда вредно.
- Решайте по данным: если CoT не улучшает метрику — уберите.