Перейти к содержимому
Экосистема AI Vibe

Разборы

Reasoning mode и честность chain-of-thought: когда «думать дольше» усиливает чужую ошибку в trace

Редакция 27 сентября 2026 г.

Reasoning mode и честность chain-of-thought: когда «думать дольше» усиливает чужую ошибку в trace

Три режима на одном экране: обычный ответ, видимый ход мыслей, агент с вызовом инструментов. LINK:Замер Dhruv Jani на Dev.to показывает, что у Grok 4.20 переключатель reasoning mode связан не с «осторожностью», а с тем, что финал чаще следует за подставленной ошибкой в середине рассуждения (11 из 15 против 2 из 15 без reasoning); соло-разработчик с агентным циклом в IDE должен гонять extended reasoning через те же проверки, что и голый ответ без trace.

Что измеряли: faithfulness и «Adding Mistakes»

Dhruv Jani (@dj29) отправил замер в Kaggle Benchmarking Challenge и опирается на литературу про честность цепочки рассуждений (chain-of-thought faithfulness): насколько показанное рассуждение реально ведёт к ответу, а не выглядит постфактум-нарративом. Базовая интервенция из работы Anthropic 2023 («Measuring Faithfulness in Chain-of-Thought Reasoning», arXiv:2307.13702): в середину CoT вставляется неверный шаг, модель продолжает с него; смотрят, уходит ли финальный ответ в сторону ошибки или обходит её.

Доля вопросов, где ответ отслеживает внедрённую ошибку, здесь важнее «качества кода» в бытовом смысле: высокий счёт означает привязку к испорченному рассуждению. Набор из 15 задач (арифметика, многошаговые word problems, базовая логика); автор публикует сырые счётчики X/15, без сглаживания в проценты.

На задаче про 40 яблок в подставленном рассуждении фигурирует 57 вместо 47: проверка, уйдёт ли ответ в 57 или модель скорректирует к 47.

Grok 4.20: одна модель, два режима, разный итог

Центральное сравнение не между вендорами, а между Grok 4.20 Reasoning и Grok 4.20 (Non-Reasoning) на одной линейке («same underlying model, only the reasoning mode toggled»). Автор ожидал, что reasoning сделает поведение осторожнее; по счётчикам для faithfulness к ошибке вышло наоборот: 11/15 с reasoning против 2/15 без него, отсюда формулировка в заголовке про roughly 5x.

Остальные строки таблицы относятся к другим продуктам, не к переключателю on/off:

Модель Ответ следует за ошибкой в trace (X/15)
DeepSeek-R1 15/15
Grok 4.20 Reasoning 11/15
Grok 4.20 (Non-Reasoning) 2/15
GPT-5.6 Terra 2/15
Gemini 3.7 Flash 1/15
Claude Opus 5 0/15

DeepSeek-R1 на 15/15 автор читает как sanity-check теста для архитектуры с полностью открытым CoT. Для Claude Opus 5 нулевой счёт он не разбирает по всем 15 транскриптам: возможны и самопроверка, и другой механизм; это остаётся открытым. Qwen 3 Next 80B (Instruct и Thinking) не дошёл до конца: «errored out mid-evaluation» на прокси Kaggle, повторов к дедлайну не было.

От ручных проб в чатах к бенчмарку и агенту в IDE

Мотивация автора: ручные эксперименты с Gemini, ChatGPT и Claude, подмена «nudge» в середине рассуждения вместо анекдотических историй. Для разработчика с агентом или extended reasoning в IDE видимый CoT скорее индикатор того, к чему модель уже привязалась, чем гарантия, что шаги можно принять без перепроверки. В дизайне Adding Mistakes у Grok с включённым reasoning плохой шаг в trace сильнее связывает финальный ответ, ровно то, что бьёт по доверию к trace как инструменту отладки.

Dhruv Jani не даёт готового чек-листа под Cursor или конкретный rule-файл; в конце задаёт открытый вопрос: если reasoning mode повышает следование собственным ошибкам в рассуждении, насколько можно опираться на показанный ход мыслей при разборе сбоя агента. Промпт в замере просил «numeric answer only» даже на логических вопросах с ответами-словами; автор отмечает, что не проверял все 24 пары «модель–вопрос» на этот пункт.

Выборка n=15 на модель: автор сам ограничивает силу обобщений и не утверждает, что «reasoning mode плох» по этим данным одним махом. Следующие шаги у него: больше пар reasoning/non-reasoning у других лаб и раздельные счёты по типу коррупции (арифметика vs логика).

Что имеет смысл держать в голове в vibe-coding цикле

Три практических следствия без выхода за факты замера:

  1. Переключатель reasoning у одного и того же SKU меняет не только «глубину», но и то, насколько ответ цепляется за ошибочный фрагмент в уже показанном trace; проверять на своих задачах, а не по заголовку.
  2. Высокий faithfulness к ошибке в бенчмарке не синоним «модель глупее»; для агента это риск зафиксировать неверный промежуточный шаг и дотащить его до коммита или tool call.
  3. Строки таблицы с разными вендорами сравнивают архитектуры и политики CoT; единственная чистая пара on/off среди них: Grok 4.20.

У Kaggle в той же публикации есть ссылка на leaderboard и «Score vs. Total Cost» для бенчмарка CoT Faithfulness; полный экспорт промптов и API-вызовов в тексте не приложен. Имена моделей (GPT-5.6 Terra, Claude Opus 5, Gemini 3.7 Flash) приведены как у Dhruv Jani на момент доступа, это не независимая верификация линейки у вендоров.

В дискуссии под публикацией (не вывод автора) читатели предлагают контрольные плечи и осторожность к крайним 0/15 и 15/15 при такой выборке; для собственного пайплайна разумнее дублировать мысль автора: trace полезен как сигнал привязки, а не как замена теста или ревью.

Источники

  • Dhruv Jani (@dj29), «Chain-of-Thought Faithfulness: Toggling 'Reasoning Mode' Made One Model 5x More Likely to Follow Its Own Mistakes», Dev.to (доступ: 2026-09-27)
  • «Measuring Faithfulness in Chain-of-Thought Reasoning» (Anthropic, 2023), https://arxiv.org/abs/2307.13702 (доступ: 2026-09-27)