← Claude на русском
Открыть оригинал
Перевод с разбором · для Вани
Адаптировал Claude Opus 4.7 (ИИ) на основе документации Anthropic. Полная версия — в docs/chain-of-thought.html.

Chain-of-thought: «думай шаг за шагом»

Адаптация для Вани · 2026-04-27

О чём это

Chain-of-thought (буквально «цепочка размышлений», часто пишут CoT) — это приём, при котором вы просите модель не сразу выдать ответ, а сначала расписать свои рассуждения. Идея простая: когда Claude вслух разбирает задачу шаг за шагом, у него заметно меньше шансов перескочить через логическую дыру и выдать правдоподобную, но неверную картину.

Эта статья — про ручной CoT. Он же manual CoT — то есть вы сами в промпте просите модель порассуждать. Это не то же самое, что встроенный режим extended thinking у новых моделей (там модель «думает» автоматически, а вам отдаёт уже готовый ответ). Про extended thinking — отдельная статья. Здесь — приём, который работает в любом интерфейсе, включая Claude Code.

Когда это полезно вам

Вы пишете веб-систему для производства лестниц на Kotlin + Ktor + JDBI + PostgreSQL и React, кодите в основном через Claude Code. CoT здесь пригождается в трёх ситуациях:

Manual CoT — что говорит Anthropic

В разделе «Thinking and reasoning» документации Claude есть пункт специально про ручной CoT:

Manual CoT as a fallback. When thinking is off, you can still encourage step-by-step reasoning by asking Claude to think through the problem. Use structured tags like <thinking> and <answer> to cleanly separate reasoning from the final output.

По-русски: даже когда автоматический thinking-режим выключен, вы можете попросить Claude рассуждать шаг за шагом. Удобный приём — обернуть рассуждение в тег <thinking>, а финальный ответ — в <answer>. Тогда вы (или ваш код, если бы он у вас был) легко отделите внутреннюю кухню от итога.

Тут же Anthropic советует ещё один полезный приём — самопроверку:

Ask Claude to self-check. Append something like "Before you finish, verify your answer against [test criteria]." This catches errors reliably, especially for coding and math.

То есть в конце промпта добавьте что-то вроде «Прежде чем закончить, сверь ответ с [критерии]». Anthropic пишет, что это «надёжно ловит ошибки, особенно в задачах по программированию и математике» — то есть ровно ваш случай.

Пример в вашем стеке

Допустим, вы хотите изменить OrderCalculationService: там поменялась формула наценки на материалы. Не лучший подход — сразу написать «поправь markupMaterialsPct чтобы…». Лучше сначала попросить план.

Промпт в Claude Code:

Я хочу поменять расчёт markupMaterialsPct в OrderCalculationService.
Новая логика: наценка зависит от суммы заказа — до 100 000 ₽ это 30%,
выше — 20%.

Прежде чем менять код, расскажи в <thinking>:
1. какие методы OrderCalculationService используют markupMaterialsPct
2. какие тесты в IntegrationTestBase покроют это
3. какие граничные случаи могут сломаться (ровно 100 000, ноль, отрицательное)

Потом в <answer> — план правок с порядком файлов.
Перед тем как закончить, сверь план с тем, что markupMaterialsPct
используется в OrderRepository (если используется).

Что вы получаете: Claude сначала разбирает задачу — и часто на этом этапе всплывает, что markupMaterialsPct читается ещё в двух местах, или что текущий тест проверяет старую формулу буквально. Дальше план становится точнее, и вероятность правки в один проход — выше.

Когда CoT не нужен

Коротко