3,583 papers
arXiv:2604.17433 81 19 апр. 2026 г. FREE

CoT-PoT: двойная проверка через смену типа рассуждения

КЛЮЧЕВАЯ СУТЬ
Парадокс: попросить модель решить задачу пять раз — не верификация. Это перефразирование одной ошибки пять раз. Если в рассуждении есть системный сбой, он воспроизведётся в большинстве попыток. CoT-PoT позволяет получить реально проверенный ответ на математические и расчётные задачи — с двух запросов вместо стандартных 5-40: сначала модель рассуждает словами шаг за шагом, потом пишет и запускает код. Фишка: словесный анализ и код ошибаются по-разному — когда оба дают один ответ, это согласие двух независимых систем, а не случайность. 78.6% задач закрываются ровно двумя запросами.
Адаптировать под запрос

TL;DR

CoT-PoT — техника, которая проверяет ответ не через повторение, а через смену языка мышления. Сначала модель решает задачу словами шаг за шагом (CoT — Chain-of-Thought), потом — через код и вычисление (PoT — Program-of-Thought). Совпадение двух принципиально разных подходов — сильный сигнал что ответ верный.

Обычная проверка "реши ещё несколько раз" почти бесполезна: модель воспроизводит один паттерн рассуждений с вариацией слов. Если в расчёте допущена ошибка — она воспроизведётся в большинстве попыток. Это не разные мнения, это перефразирование одной ошибки.

CoT и PoT ошибаются по-разному: словесный анализ может напутать в арифметике ("53 − 35 = 8"), а код может неверно сформулировать логику (перепутать деление с остатком от деления). Когда оба метода приходят к одному ответу — это согласие двух независимых систем, а не случайность. В исследовании 78.6% задач закрывались ровно двумя запросами без дальнейшей проверки.


🔬

Схема метода

ШАГ 1: Реши задачу словами (CoT)
        → пошаговое рассуждение на естественном языке

ШАГ 2: Реши ту же задачу через Python-код (PoT)
        → код + результат выполнения

ШАГ 3: Сравни ответы
        → Совпали → высокая уверенность, принимаем
        → Не совпали → ищем ошибку, запрашиваем ещё раз

Все три шага выполняются в одном промпте, если модель поддерживает выполнение кода (ChatGPT с Code Interpreter, Claude с Artifacts).


🚀

Пример применения

Задача: Проверить расчёт юнит-экономики перед питчем инвесторам. Одна цифра выглядит странно — нужна уверенность, что LTV и LTV/CAC посчитаны правильно.

Промпт:

Перед тобой задача по юнит-экономике. Реши её двумя разными способами.

Исходные данные:
- Средний чек: 4 200 ₽
- Маржинальность: 40%
- Среднее время жизни клиента: 18 месяцев
- Стоимость привлечения клиента (CAC): 6 500 ₽

**Способ 1 — Рассуждение словами:**
Пройди по шагам: посчитай LTV, потом LTV/CAC. Объясни каждый шаг.

**Способ 2 — Python-код:**
Напиши и выполни код, который считает те же величины. Выведи результат.

После обоих способов:
- Если ответы совпали → напиши "Результат подтверждён двумя методами: [итог]"
- Если не совпали → укажи расхождение и найди где ошибка

Результат:

Модель покажет два решения подряд. В первом — пошаговый расчёт словами: LTV = 4200 × 0.4 × 18 = X, LTV/CAC = X / 6500. Во втором — Python-код с переменными и print(). Если результаты совпадают — финальная строка подтверждает это явно. Если расходятся — модель находит где именно сломалась логика или вычисление. Вы получаете не просто ответ, а верифицированный ответ с двойной логикой.


🧠

Почему это работает

LLM плохо замечает собственные ошибки. Если попросить "проверь ещё раз" — модель читает свой же текст и соглашается с собой. Это как самопроверка диктанта: видишь то, что написал, а не то, что есть на самом деле.

У модели есть два принципиально разных режима мышления. Словесный (CoT) — гибкий, человекоподобный, но склонен к арифметическим ошибкам и пропускам. Программный (PoT) — точный в вычислениях, но может неверно сформулировать саму логику задачи. Ошибки этих режимов почти не пересекаются — это и есть ключ.

Совпадение = резонанс двух независимых систем. Когда конкретный ответ получен и через словесную логику, и через формальный код — вероятность случайного совпадения неверных ответов крайне мала. Исследование показало: если CoT и PoT сошлись, ответ был либо правильным, либо задача была вообще за пределами возможностей модели — и тогда даже 40 попыток не помогут. Авторы назвали это "безопасным результатом" — честнее, чем обещать "всегда верно".

Рычаги управления: - "Результат подтверждён" — явный триггер делает итог однозначным, не нужно сравнивать вручную - "Найди где ошибка" при расхождении → модель глубже анализирует конфликт двух ответов - Для сложных задач после расхождения: третий запрос — "какой из двух ответов скорее верный и почему" - Без Code Interpreter: убери шаг выполнения, оставь структуру двух подходов — принцип работает, надёжность чуть ниже


📋

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

Реши задачу двумя способами.

{задача_или_данные}

**Способ 1 — Рассуждение словами:**
Пройди по шагам, объясняя каждый. Приди к конкретному ответу.

**Способ 2 — Python-код:**
Напиши и выполни код, который решает ту же задачу. Покажи результат.

После обоих способов:
- Если ответы совпали → "Результат подтверждён: [ответ]"
- Если не совпали → найди расхождение и определи где ошибка

Плейсхолдеры: - {задача_или_данные} — формулировка задачи, числа, условия, контекст


🚀 Быстрый старт — вставь в чат:

Вот шаблон CoT-PoT для двойной проверки ответа. 
Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить нужные данные.

[вставить шаблон выше]

LLM спросит исходные данные и условия — потому что без них невозможно запустить оба способа и сравнить результаты. Она возьмёт структуру "реши дважды + сравни" и подставит твою конкретику.


⚠️

Ограничения

⚠️ Требует выполнения кода: PoT-шаг в полной силе работает в ChatGPT с включённым Code Interpreter или в Claude с Artifacts. Без выполнения кода модель напишет код, но не запустит его — сравнение менее надёжно, хотя принцип двух подходов всё равно улучшает качество по сравнению с одним запросом.

⚠️ Лучше всего для количественных задач: Математика, финансы, логика с однозначным ответом. Для открытых задач ("напиши текст", "придумай стратегию") метод не применим — там нет объективного критерия совпадения.

⚠️ Расхождение — тоже ценный результат: Если CoT и PoT не сошлись — это сигнал "задача сложнее чем кажется". Не угадывай правильный ответ, копай глубже.

⚠️ "Стоп на двух" работает статистически: Метод закрывает 78% задач двумя запросами. Оставшиеся 22% требуют дополнительных итераций — особенно сложная математика олимпийского уровня.


🔍

Как исследовали

Команда взяла пять датасетов с принципиально разными типами задач: школьная математика (GSM8K), олимпийная математика (MATH), финансовый анализ по реальным отчётам (FinQA), задачи с арифметическими ловушками (SVAMP) и задачи с таблицами (TabMWP). На каждой задаче прогоняли до 40 запросов, чередуя CoT и PoT, и сравнивали с классическим голосованием большинством.

Самый любопытный вывод — не в точности, а в таблице вероятностей. Параметр a₂ — вероятность что ответ верный при условии совпадения CoT и PoT — оказался ≥ 0.991 для всех шести протестированных моделей, от GPT-3.5 до DeepSeek R1. Это почти детерминированный сигнал: если оба метода сошлись, ответ либо правильный, либо задача за пределами возможностей модели в принципе. Авторы честно назвали это "безопасным результатом" — не "всегда верно", а "лучшее что мы можем получить".

Неожиданно хорошо метод срабатывал именно для мощных reasoning-моделей типа DeepSeek R1 — у них больший процент задач закрывался за два запроса. Логика: чем сильнее модель, тем выше внутренняя уверенность в правильных ответах, тем быстрее CoT и PoT сходятся.


💡

Адаптации и экстраполяции

Суть метода — не в CoT vs PoT, а в двух режимах с разными типами ошибок. Этот принцип применим шире, чем математика.

🔧 "Аналитик vs Практик" для бизнес-решений

Попроси оценить ситуацию дважды — через структурный разбор и через "нутром опытного практика". Если оба указывают в одну сторону — сигнал сильнее, чем один глубокий анализ.

Оцени эту бизнес-идею двумя способами.

{описание идеи}

**Способ 1 — Структурный анализ:**
Разбери по критериям: рынок, конкуренция, бизнес-модель, риски.
Итог: стоит двигаться или нет?

**Способ 2 — Gut check опытного предпринимателя:**
Без таблиц. Что сразу бросается в глаза? Какой инстинкт?
Итог: стоит двигаться или нет?

Если оценки совпали → "Сигнал однозначен: [вывод]"
Если разошлись → "Противоречие. Вот в чём оно: [разбор]"

⚠️ Это экстраполяция принципа, не оригинальный метод. Математической гарантии нет — но "два разных режима > повторение одного" работает шире, чем математика.


🔗

Ресурсы

Self-Consistency from Only Two Samples: CoT–PoT Ensembling for Efficient LLM Reasoning — Raman Saparkhan (Carnegie Mellon University Qatar), Majd Hawasly, MD Rizwan Parvez, Mohammad Raza (Qatar Computing Research Institute, HBKU)

Связанные работы: Self-Consistency (Wang et al., 2022), Adaptive Consistency (Aggarwal et al., 2023), Chain-of-Thought (Wei et al., 2022), Program-of-Thought (Chen et al., 2023; Gao et al., 2023)


📋 Дайджест исследования

Ключевая суть

Парадокс: попросить модель решить задачу пять раз — не верификация. Это перефразирование одной ошибки пять раз. Если в рассуждении есть системный сбой, он воспроизведётся в большинстве попыток. CoT-PoT позволяет получить реально проверенный ответ на математические и расчётные задачи — с двух запросов вместо стандартных 5-40: сначала модель рассуждает словами шаг за шагом, потом пишет и запускает код. Фишка: словесный анализ и код ошибаются по-разному — когда оба дают один ответ, это согласие двух независимых систем, а не случайность. 78.6% задач закрываются ровно двумя запросами.

Принцип работы

Словесное рассуждение путается в арифметике: «53 − 35 = 8». Код точен в вычислениях, но может перепутать логику — взять деление вместо остатка. Ошибки этих двух режимов почти не пересекаются — в этом весь механизм. Модель как два независимых свидетеля одного события. Дают одинаковые показания — скорее всего правда. Расходятся — что-то не так, и это честный сигнал, а не тупик.

Почему работает

Стандартная самопроверка — как проверять диктант своими же глазами. Видишь то, что написал, а не то, что есть на самом деле. Модель читает свой текст и соглашается с собой. CoT-PoT ломает этот замкнутый круг. Два режима мышления — два независимых детектора ошибок. Сошлись — задача решена с высокой уверенностью. Не сошлись — это честный сигнал «здесь что-то сломано, копай глубже». Авторы называют это «безопасным результатом» — честнее, чем обещать «всегда верно».

Когда применять

Математика, финансы, логика с однозначным ответом — расчёт юнит-экономики перед питчем, проверка формул в таблицах, задачи по физике или статистике. Особенно когда ошибка дорого стоит и нужна уверенность, а не просто ответ. НЕ подходит для открытых задач — написать текст, придумать стратегию. Там нет критерия совпадения, метод просто не запустится.

Мини-рецепт

1. Дай задачу и данные: все цифры, условия, контекст — в одном месте, без разброса по тексту.
2. Попроси способ 1: пошаговое рассуждение словами с объяснением каждого шага и конкретным итогом.
3. Попроси способ 2: написать и выполнить Python-код, который считает то же самое. Вывод через print().
4. Задай условие сравнения: совпали → «Результат подтверждён: [ответ]», не совпали → «Найди расхождение и определи где ошибка».

Всё это — в одном промпте. Работает лучше всего в ChatGPT с включённым Code Interpreter или в Claude с Artifacts: там код реально запускается, а не просто пишется.

Примеры

[ПЛОХО] : Посчитай LTV при среднем чеке 4200 рублей, марже 40% и среднем сроке жизни клиента 18 месяцев
[ХОРОШО] : Реши задачу двумя способами. Данные: средний чек 4200 руб, маржинальность 40%, срок жизни клиента 18 месяцев, стоимость привлечения клиента 6500 руб. Способ 1 — рассуждение словами: пройди по шагам, посчитай LTV, потом LTV/CAC, объясни каждый шаг. Способ 2 — Python-код: напиши и выполни код с теми же вычислениями, выведи результат. После обоих способов: — Совпали → «Результат подтверждён: [итог]» — Не совпали → найди где расходится логика или вычисление
Источник: Self-Consistency from Only Two Samples: CoT-PoT Ensembling for Efficient LLM Reasoning
ArXiv ID: 2604.17433 | Сгенерировано: 2026-04-21 05:32

Проблемы LLM

ПроблемаСутьКак обойти
Повторная проверка воспроизводит ту же ошибкуПросишь модель "проверь ещё раз". Она читает свой же текст и соглашается с собой. Ошибка в логике или арифметике воспроизводится снова — словами другими, сутью той же. Это работает как самопроверка диктанта: видишь написанное, а не реальное. Проблема для любых задач с вычислениями или многошаговой логикойПопроси решить задачу двумя принципиально разными способами — словами и кодом. Сравни результаты. Совпали высокая уверенность. Расхождение сигнал что где-то ошибка

Методы

МетодСуть
Двойное решение — верификация через смену режимаПопроси модель решить одну задачу дважды, но разными способами. Способ 1: пошаговое рассуждение словами. Способ 2: Python-код с выполнением. Потом сравни ответы. Шаблон: Реши задачу двумя способами. {задача}. Способ 1 — рассуждение словами: пройди по шагам. Способ 2 — Python-код: напиши и выполни. После: если совпало "Результат подтверждён: [ответ]". Если нет найди где ошибка. Почему работает: словесный режим точен в логике, но ошибается в арифметике. Код точен в вычислениях, но может неверно сформулировать условие. Ошибки почти не пересекаются. Поэтому совпадение = сигнал двух независимых систем. Когда да: математика, финансы, логика с однозначным ответом, любые числовые расчёты. Когда нет: открытые задачи без правильного ответа (текст, стратегия). Без выполнения кода: принцип двух подходов всё равно улучшает качество — просто надёжность чуть ниже

Тезисы

ТезисКомментарий
Два разных способа решения ошибаются по-разному — их совпадение надёжнее десяти повторений одногоСловесное рассуждение и программный код — разные режимы мышления. Каждый имеет свои слабые места. Словесный путает цифры. Код путает логику. Когда оба дают один ответ — вероятность случайного совпадения неверных ответов крайне мала. Это не два голоса, которые повторяют одно — это два независимых судьи. Применяй: для важных числовых задач добавь второй режим решения. Два несхожих пути к одному ответу = можно доверять
📖 Простыми словами

Self-Consistency from Only Two Samples: CoT-PoT Ensembling for EfficientLLMReasoning

arXiv: 2604.17433

Суть метода CoT-PoT в том, что нейросети, как и люди, склонны поддаваться самообману. Когда модель решает задачу обычным текстом, она может просто «загаллюцинировать» логическую цепочку, которая выглядит убедительно, но ведет в тупик. Чтобы вытащить из нее правильный ответ, исследователи заставляют AI использовать два разных языка мышления: обычные рассуждения словами и строгий программный код. Если эти два принципиально разных пути привели к одной цифре, значит, ответ с вероятностью 99% верный.

Это как проверять домашку по математике у ребенка. Если он просто пересчитает пример в уме второй раз, он, скорее всего, повторит ту же ошибку по невнимательности. Но если ты скажешь: «А теперь нарисуй это в виде схемы или проверь через уравнение на калькуляторе», — шансов накосячить почти не остается. Метод CoT-PoT — это и есть тот самый «калькулятор», который заставляет модель перепроверить свои гуманитарные домыслы сухой логикой кода.

Работает это через связку двух техник: Chain-of-Thought (рассуждай вслух) и Program-of-Thought (напиши код для решения). Сначала модель пишет текст, где объясняет логику, а потом — скрипт на Python, который эту логику обсчитывает. Если «словесный» ответ совпал с результатом выполнения кода — бинго, мы получили сильный сигнал достоверности. Это гораздо эффективнее, чем просто просить модель «подумать еще раз» или генерировать десять одинаковых ответов в надежде на большинство.

Хотя метод тестировали на математических задачах, принцип универсален для любой аналитики. Его можно внедрять в проверку юнит-экономики, аудит смарт-контрактов или расчеты сложных скидок в ритейле. Везде, где есть риск, что AI «поплывет» в логике, нужно заставлять его дублировать мысли кодом. Это превращает нейронку из неуверенного стажера в систему с двойным контуром безопасности, где одна часть мозга проверяет другую.

Главный вывод: самопроверка внутри одного типа мышления — это путь в никуда. Если хочешь выжать из LLM максимум точности, не давай ей повторяться, а заставляй менять подход. Два разных метода лучше десяти одинаковых, потому что совпадение в разных парадигмах — это не случайность, а закономерность. Кто продолжит просто «просить перепроверить», тот будет и дальше получать уверенную чушь, а остальные внедрят CoT-PoT и забудут о глупых ошибках в расчетах.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с