SecureGPT

Chain-of-Thought: как заставить нейросеть рассуждать по шагам, а не угадывать

Image

Вы загружаете в нейросеть договор поставки и спрашиваете, сколько неустойки причитается с поставщика за просрочку. Через несколько секунд приходит уверенный ответ: 55 200 ₽. Но откуда взялась эта сумма? Сколько дней просрочки насчитала нейросеть, проверила ли она ограничение из договора? Без пересчёта не узнать. Сделать ответ проверяемым помогает простой приём — Chain-of-Thought (chain of thought, CoT), или цепочка рассуждений.

Нейросеть показывает не только итог, но и путь к нему: исходные данные, промежуточные расчёты, применённые правила. Тогда можно проверить и результат, и то, как он получен.

Разберёмся, как работает приём и когда он действительно полезен. Покажем готовые промпты на рабочих задачах. И честно скажем, где у метода границы: рассуждение делает ответ проверяемым, но не гарантирует, что он верен.

Коротко:

  • Chain-of-Thought — приём, при котором нейросеть просят решать задачу по шагам и показывать ход решения, а не только итог.
  • Он нужен для задач в несколько шагов: расчётов, сравнений, выводов по документу.
  • Не ограничивайтесь фразой «подумай шаг за шагом» — задайте шаги сами.
  • Подробное рассуждение не гарантирует правильности: исходные данные и допущения всё равно проверяйте.

Что такое Chain-of-Thought (цепочка рассуждений)

Суть Chain-of-Thought (CoT, «цепочка рассуждений») — не требовать от нейросети готовый ответ сразу, а попросить её дойти до него по шагам. Вместо одной цифры вы получаете решение: какие данные взяты, что с ними сделано, как получен итог.

Разницу видно на простом примере. Вы спрашиваете, сколько будет стоить закупка 120 единиц товара по 850 ₽ за штуку со скидкой 10%. Можно получить короткий ответ: 91 800 ₽. А можно попросить показать решение:

  • стоимость без скидки: 120 × 850 = 102 000 ₽;
  • скидка: 10% от 102 000 ₽ = 10 200 ₽;
  • итог: 102 000 − 10 200 = 91 800 ₽.

Результат тот же, но во втором случае видно, что сделала модель, и ошибку в любом шаге легко заметить.

Здесь работает тот же принцип, что в школьной математике. Учитель просит записать решение не ради оформления: по нему видно, понял ли ученик задачу и где именно ошибся. С нейросетью так же.

Термин стал широко известен после исследования Google 2022 года — «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». Исследователи показывали моделям несколько примеров задач с решением по шагам, и те заметно лучше справлялись с арифметикой и логическими задачами. В том же году другая группа обнаружила, что примеры можно даже не давать. Достаточно добавить к вопросу фразу «давай подумаем шаг за шагом» (Kojima и соавторы, 2022).

Цепочку рассуждений легко спутать с цепочкой промптов. Названия похожи, но разница в том, кто ведёт задачу. При Chain-of-Thought вы пишете один запрос, а разбивает задачу на шаги сама модель. В цепочке промптов вы сами делите работу на несколько запросов: сначала просите извлечь данные, потом посчитать, потом проверить.

Почему рассуждение по шагам помогает: два эффекта

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

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

Решение становится проверяемым. Для работы это даже важнее точности. По шагам видно, какие данные модель взяла, какое правило применила и где свернула не туда. Найти ошибку в одном шаге быстрее, чем перерешать всю задачу. А если ошибки нет, вы понимаете, на чём держится вывод, и можете на него опираться.

Приём полезен там, где у задачи несколько шагов:

  • расчёты — неустойка, пени, проценты, пропорции, сроки, распределение расходов;
  • сравнение вариантов по нескольким условиям — коммерческие предложения, тарифы, кандидаты;
  • вывод из документа — нарушил ли контрагент договор, подходит ли условие под требование;
  • планирование с ограничениями — бюджет, сроки, ресурсы.

А для простых задач — перевода, письма, пересказа — цепочка рассуждений не нужна. Она только удлинит ответ.

Как попросить нейросеть рассуждать по шагам: три варианта промптов

Цепочка рассуждений не заменяет хороший промпт. Если вы не объяснили задачу и не дали исходные данные, просьба рассуждать по шагам не поможет.

Поэтому сначала опишите задачу и контекст — как это сделать, разбирали в статье «Как написать промпт: пошаговое руководство с примерами». Потом добавьте инструкцию о том, как идти к решению. Вариантов три — от самого простого до самого управляемого.

Вариант 1. Одна фраза в конце запроса

Начать можно с простого — попросить нейросеть решить задачу по шагам:

Реши задачу по шагам. Сначала выпиши исходные данные, затем покажи расчёт и в конце дай итог одной строкой.

Почему не просто «подумай шаг за шагом»? Так вы сразу задаёте структуру ответа: данные, расчёт и итог окажутся в разных строках. Ответ станет не просто длиннее, а упорядоченнее, и ошибку в любой строке видно сразу.

Вариант 2. Вы сами задаёте шаги

Если задача сложнее и вы знаете, из каких этапов состоит правильное решение, перечислите их в промпте. Допустим, нужно выбрать поставщика из трёх коммерческих предложений:

Сравни три коммерческих предложения из загруженных файлов. Действуй по шагам:
1. Выпиши условия каждого предложения в таблицу: цена, доставка, срок поставки, отсрочка платежа.
2. Отбрось предложения, которые не укладываются в бюджет 500 000 ₽ или срок поставки до 1 декабря.
3. Сравни оставшиеся по итоговой стоимости с учётом доставки и отсрочки.
4. Дай вывод и напиши, какое условие могло бы его изменить.

Обратите внимание на последний пункт. Он показывает, насколько вывод зависит от условий. Скажем, поставщик с самой низкой ценой проигрывает из-за дорогой доставки. Но если он согласится привезти товар бесплатно, картина изменится. Если всё решает одно условие, его стоит перепроверить.

Вариант 3. Образец решения

Бывает, что задача повторяется, а порядок действий не меняется. Например, бухгалтеру нужно считать неустойку по десяткам договоров: правила одни, меняются суммы и даты. Тогда проще один раз показать решённый пример:

Вот как я считаю неустойку. Пример: партия на 500 000 ₽, срок поставки — 10 марта, поставлено 20 марта. Просрочка — 10 дней (с 11 по 20 марта включительно). 0,1% от 500 000 ₽ = 500 ₽ в день. 500 ₽ × 10 дней = 5 000 ₽. Лимит 10% — 50 000 ₽, не превышен. Итог: 5 000 ₽.
Посчитай так же для поставок из списка ниже. Если каких-то данных не хватает, напиши об этом отдельно.

Модель видит готовый образец и повторяет ход решения на новых данных.

Один вопрос — два ответа: пример с неустойкой

Вы загрузили договор поставки. В нём сказано: неустойка — 0,1% от стоимости непоставленного товара за каждый день просрочки, но не более 10% от этой стоимости. Партия стоит 1 200 000 ₽. Срок поставки — 1 сентября, товар пришёл 18 октября.

Было. Обычный вопрос:

Срок поставки по договору — 1 сентября, товар пришёл 18 октября. Сколько неустойки причитается с поставщика?

Ответ:

Неустойка составит 55 200 ₽.

Выглядит убедительно. Но сколько дней просрочки учла модель, какую ставку взяла, проверила ли лимит — не видно.

Стало. Тот же вопрос с просьбой показать шаги:

Срок поставки по договору — 1 сентября, товар пришёл 18 октября. Сколько неустойки причитается с поставщика? Реши по шагам:
1. Посчитай дни просрочки и напиши, по какому правилу считаешь дни.
2. Посчитай неустойку за один день.
3. Посчитай сумму за весь период.
4. Проверь ограничение 10% от стоимости партии.
5. Дай итог.

Ответ:

Правило подсчёта дней: просрочка — со дня, следующего за сроком поставки, по день фактической поставки включительно.
Дни просрочки: со 2 по 30 сентября — 29 дней, с 1 по 18 октября — 18 дней. Всего 47 дней.
Сумма за день: 0,1% от 1 200 000 ₽ = 1 200 ₽.
Сумма за период: 1 200 ₽ × 47 = 56 400 ₽.
Ограничение: 10% от 1 200 000 ₽ = 120 000 ₽. 56 400 ₽ меньше лимита.
Итог: 56 400 ₽.

Почему суммы разные? 55 200 ₽ — это 46 дней по 1 200 ₽. Видимо, в первом ответе модель не включила в просрочку день поставки, но нигде об этом не сказала. Во втором ответе она сама записала, по какому правилу считала дни.

Теперь допущение на виду. Вы можете сверить его с договором и, если нужно, написать «считай по-другому». В этом практический смысл цепочки рассуждений: спорный шаг больше не спрятан внутри одной цифры.

Готовый блок для расчётов

Если вы часто работаете с цифрами и документами, держите под рукой универсальную добавку. Её достаточно вставить в конец основного промта:

Решай по шагам.
Перед расчётом выпиши исходные данные и укажи, откуда взял каждое.
Каждый шаг — отдельной строкой. Если делаешь допущение, назови его явно.
Если данных не хватает, напиши, каких именно, и не подставляй типовые значения.
В конце дай итог одной строкой.

Безошибочной нейросеть она не сделает. Но любую ошибку в таком ответе видно быстрее.

Если решений несколько: дерево рассуждений (Tree of Thought)

Chain-of-Thought хорошо работает, когда у задачи есть понятный порядок действий. Но бывает, что единственно правильного ответа нет и нужно выбрать из нескольких вариантов. Тут пригодится родственный приём — Tree of Thought (ToT), или дерево рассуждений.

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

Например, у компании кассовый разрыв: 15 декабря нужно заплатить поставщику 900 000 ₽, а деньги от крупного клиента придут только 25-го. На обычный вопрос модель может дать один совет — скажем, взять краткосрочный кредит. Чтобы модель сравнила несколько вариантов, напишите:

У компании кассовый разрыв: 15 декабря нужно оплатить поставщику 900 000 ₽, деньги от клиента поступят 25 декабря. Предложи три разных способа закрыть разрыв. Для каждого укажи: что нужно сделать, сколько это стоит, какие риски и сколько времени это займёт. Сравни варианты по стоимости, скорости и влиянию на отношения с партнёрами. Выбери один и объясни, почему он лучше остальных.

Вместо одного совета вы получите несколько сценариев — например, отсрочку у поставщика, перенос части закупки и краткосрочный кредит. И увидите, по каким критериям модель выбирала. Если вам важнее сохранить отношения с поставщиком, чем сэкономить на процентах, поменяйте приоритеты и попросите пересмотреть выбор.

Такой анализ — черновик для решения, а не финансовая рекомендация. Ставку по кредиту, готовность поставщика дать отсрочку и другие условия проверяете вы.

Рассуждающие модели: нужен ли CoT-промпт сейчас

Когда приём только появился, нейросеть приходилось специально просить рассуждать по шагам. Сейчас многие модели делают это сами. Их называют рассуждающими моделями (reasoning-моделями, иногда говорят «ризонинг»).

Такая модель сначала разбирает задачу и только потом отвечает. Режим рассуждения есть у многих сервисов — например, у ChatGPT, GigaChat и Алисы AI. Обычно его видно по тому, что перед ответом сервис какое-то время «думает».

Отсюда вопрос: если модель рассуждает сама, есть ли смысл писать «подумай шаг за шагом»? В 2025 году это проверили исследователи из Уортонской школы бизнеса (Meincke и соавторы, 2025). Рассуждающим моделям такая просьба почти не прибавила точности, а ответ приходил заметно дольше. Тестировали на научных вопросах, а не на рабочих задачах, поэтому переносить результаты на работу напрямую не стоит.

Но практические выводы сделать можно.

  1. Не просите модель делать то, что она и так делает. Фраза «подумай шаг за шагом» рассуждающей модели почти ничего не добавляет.
  2. Задавать структуру ответа по-прежнему полезно. Вы решаете, какие шаги показать и в каком виде. В примере с неустойкой вам нужны дни просрочки, ставка и проверка лимита — такая просьба полезна с любой моделью.
  3. Рассуждение модели «в голове» и ход решения в ответе — не одно и то же. Даже если сервис показывает, как модель думала, это не полный и не обязательно точный отчёт. Для проверки просите ход решения в самом ответе: нумерованные шаги, таблицу, промежуточные расчёты, явные допущения.

Границы метода: почему рассуждение не гарантирует верный ответ

Подробный ответ с формулами выглядит убедительно, но может оказаться неверным. У метода четыре границы.

Ошибка в исходных данных испортит всё решение. Допустим, модель неверно прочитала договор и взяла ставку 0,15% вместо 0,1%. Дальше всё посчитано безупречно, но итог неверный: расчёт стоит на неправильной цифре. Поэтому проверяйте не только арифметику, но и исходные данные каждого шага: суммы, даты, ставки, пункты договора. Почему нейросеть вообще уверенно выдаёт несуществующие факты, разбираем в статье «Галлюцинации нейросетей».

Показанные шаги могут не совпадать с тем, как модель на самом деле пришла к ответу. Это проверили исследователи Anthropic («Reasoning Models Don't Always Say What They Think», 2025). В задания подкладывали подсказку. Модели ею пользовались, но в своих рассуждениях чаще всего о ней не упоминали.

Речь не об обмане: описание хода решения бывает неполным. Поэтому считайте шаги инструментом проверки, а не доказательством того, что модель рассуждала именно так.

Длиннее — не значит лучше. Рассуждение удлиняет ответ и время ожидания. На простых вопросах оно может даже добавить ошибок — это заметили и в исследовании Уортонской школы. Чтобы узнать, сколько будет 15% от 2 000 ₽, цепочка не нужна: ответ — 300 ₽.

В длинных расчётах модель всё ещё может ошибиться в арифметике. Цепочка рассуждений снижает риск пропустить шаг, но не гарантирует, что каждое действие посчитано верно. Чем больше строк — десятки договоров, сотни записей в реестре, — тем труднее проверить всё глазами. Здесь нужен другой подход.

Расчёты по документам: шаги, которые можно проверить в файле

Всё, о чём шла речь выше, работает в любом чате. Но в чате рассуждение — это текст, и цифры в нём считает сама языковая модель. Когда один и тот же расчёт нужно повторить для десятков строк файла, надёжнее считать программно.

Агент SecureGPT считает кодом, а не «в уме». Он пишет и выполняет код (Python, LibreOffice) над загруженным файлом. Сложение, проценты и сравнение с лимитом вычисляются программно, а не подбираются как продолжение текста.

Шаги расчёта видны в самом файле. Попросите агента оставить в таблице формулы вместо готовых чисел и описать, как он считал. Получается та же цепочка рассуждений, только проверить её можно кликом по ячейке. Подробнее о том, как агент работает с таблицами, — в статье «ИИ для таблиц Excel: сделать, свести, посчитать».

Как это выглядит на практике

Дано: реестр поставок за квартал в Excel — 60 строк. Столбцы: номер договора, поставщик, сумма партии, срок поставки, дата фактической поставки. Во всех договорах одинаковое условие о неустойке: 0,1% в день, не более 10%.

Промпт:

Посчитай неустойку по каждой просроченной поставке по условиям договора: 0,1% от суммы партии за каждый день просрочки, но не более 10% от суммы партии. Просрочку считай со дня, следующего за сроком поставки, по день фактической поставки включительно. Добавь столбцы: дни просрочки, неустойка, неустойка с учётом лимита. Оставь формулы в ячейках и опиши шаги расчёта. Сохрани результат в Excel.

Правило подсчёта дней здесь задали вы сами. Это вывод из примера «было → стало»: допущение, которое модель могла выбрать молча, теперь записано явно. Формулировка правила — пример. Если в ваших договорах порядок другой, напишите его.

Результат: ссылка на скачивание .xlsx с новыми столбцами: дни просрочки, неустойка, лимит и неустойка с учётом лимита. В ячейках — формулы, а не готовые числа. В чате — описание шагов: какие поставки отобраны как просроченные, как посчитаны дни, где сработал лимит.

Чат SecureGPT: загружен реестр поставок, промпт с расчётом неустойки, ответ агента с итогами расчёта и ссылкой на скачивание файла reestr-postavok-3kv-2026-neustoyka.xlsx
Загружаем реестр поставок и получаем расчёт неустойки по каждой строке с формулами и пояснениями
Открытый файл Excel с реестром поставок: выделена ячейка столбца «Неустойка с учётом лимита», в строке формул — формула расчёта
Расчёт можно проверить прямо в Excel: в ячейках сохранены формулы

Проверка займёт несколько минут. Откройте файл, кликните по ячейке с неустойкой и посмотрите формулу: те ли столбцы взяты, применён ли лимит. Сверьте одну-две строки с договором и обязательно — строку, где сработал лимит: неустойка там должна равняться ровно 10% от суммы партии.

Для такого файла важно и то, где он обрабатывается. Реестр с поставщиками и суммами остаётся в России. SecureGPT использует модели с открытыми весами на серверах в РФ, данные не передаются разработчикам моделей и не идут в обучение.

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

Итог: когда стоит использовать Chain-of-Thought

Chain-of-Thought — не сложная технология и не отдельный инструмент. Это способ поставить задачу: попросить нейросеть показать не только итог, но и путь к нему. Тогда ответ из «чёрного ящика» становится проверяемым. Чтобы приём работал, держитесь трёх правил:

  • Используйте его для задач в несколько шагов. Для перевода или письма он не нужен.
  • Задавайте шаги сами. Не ограничивайтесь «подумай шаг за шагом»: укажите, что проверить, что посчитать и в каком виде показать. Это полезно даже рассуждающим моделям.
  • Проверяйте исходные данные и допущения. Логика может быть безупречной, а факт в её основе — неверным.

Если вы регулярно считаете неустойки, пени или сводки по реестрам, загрузите свой файл в SecureGPT и попросите расчёт с формулами. Каждый шаг проверите сами в таблице.

Посчитать на своём реестре →

Читайте также: