Представьте, что вы решаете задачу по математике. Вы не выплёвываете сразу ответ, а идёте шаг за шагом: определяете, что известно, что нужно найти, делаете промежуточные вычисления. Такой подход называется Chain of Thought — "цепочка размышлений".
А если вы перебираете варианты действий, отклоняетесь, возвращаетесь и выбираете лучший путь — это уже Tree of Thought.
А в задачах, где нужно не только размышлять, но и действовать (например, спрашивать API или запускать функцию), — используется ReAct: Reason + Act.
Эти подходы делают LLM более логичными, предсказуемыми и эффективными.
📘 Что вы узнаете
- В чём суть подходов Chain of Thought, Tree of Thought, ReAct
- Как эти методы улучшают результат
- Где они применяются: кейсы, игры, технический анализ
- Как писать промпты, чтобы включить reasoning
🧩 Ключевые термины
- Chain of Thought - Модель пошагово размышляет вслух перед ответом
- Tree of Thought - Модель перебирает альтернативные ходы и варианты
- ReAct - Модель чередует размышления и действия
- Reasoning - Способность логически выводить результат
- Intermediate steps - Промежуточные размышления, выводы или вычисления
- Tool Use - Возможность модели запускать внешние команды (например, API)
🧠 Почему это важно
Обычная генерация — это быстрый ответ без объяснений. Иногда этого достаточно, но в более сложных задачах такой подход приводит к ошибкам и недопониманию. Давайте разберёмся, почему важно использовать пошаговое рассуждение и как это помогает.
❌ Проблема «чёрного ящика»
Когда вы получаете просто ответ, без промежуточных шагов, вы не знаете:
- Насколько он достоверен
- Как к нему пришли
- Что нужно уточнить, если он неверен
📎 Аналогия: Представьте, что вы дали задание стажёру: “Подготовь ответ клиенту”. Он молча приносит письмо. Ответ вроде бы есть — но как он пришёл к выводу? Правильные ли доводы? Это остаётся загадкой.
🪜 Рассуждение «вслух» = контроль
Подходы вроде Chain of Thought и Tree of Thought позволяют модели “думать по шагам” — то есть проговаривать ход решения, уточнять промежуточные результаты и делать выводы на основе логики, а не догадок.
📎 Аналогия: Это как если бы стажёр начал объяснять: «Я сравнил наши цены с конкурентами, посмотрел расходы на логистику, затем добавил инфляцию — поэтому получилось вот так». Теперь вы можете вмешаться на любом шаге: уточнить, поправить, научить.
🔄 Обратная связь и отладка
Когда LLM проговаривает свои шаги, вы легко видите, где она ошиблась. Это особенно важно:
- при дебаге,
- в технических и юридических задачах,
- при построении пайплайнов в продуктах.
📎 Аналогия: Если ответ получился неверным, но рассуждение подробное — вы можете найти, где именно «сошёл с рельсов» процесс, а не гадать, что пошло не так.
🧩 Больше, чем просто ответ
Chain of Thought — это не про «медленнее», а про осознаннее. Такой подход приближает LLM к объясняемому ИИ: модель не просто выдаёт ответ, а ведёт диалог — сначала думает, потом предлагает решение.
📎 Это делает её не просто ассистентом, а полноценным участником размышления — особенно если задача комплексная, неоднозначная или чувствительная к контексту.
🔗 Chain of Thought: размышляй, прежде чем отвечать
Большие языковые модели умеют не только выдавать быстрые ответы, но и рассуждать по шагам, как это делает человек. Подход Chain of Thought (цепочка мыслей) позволяет модели проговаривать процесс решения — и тем самым делает ответы надёжнее, объяснимее и легче для проверки.
🧠 Что это значит
Обычная генерация отвечает сразу: «450». Chain of Thought просит: "Подумай шаг за шагом, прежде чем дать ответ".
Модель буквально проговаривает рассуждение — вычисления, логические переходы, промежуточные шаги. Это не только улучшает точность, но и делает весь процесс «прозрачным» для человека.
📌 Пример
Задача: Сколько минут в 7 часах и 30 минутах?
-
Ответ без Chain of Thought: → 450 (но откуда это число?)
-
Ответ с Chain of Thought:
7 часов = 7 × 60 = 420 минут 30 минут = 30 Итого: 420 + 30 = 450 минут
Теперь понятно, откуда взялись цифры и как модель пришла к итогу.
📎 Аналогия
Это как решать задачу по математике в школе. Если просто написать ответ — учитель поставит вопрос: а как ты его получил? А вот если прописать каждый шаг — даже если где-то ошибся, понятно где именно, и проще обсудить.
🧪 Когда использовать Chain of Thought
Chain of Thought особенно полезен:
- 📏 В задачах с расчётами: финансовые модели, проценты, единицы измерения
- 🧩 В логических и аналитических кейсах: проверка условий, принятие решений
- 📋 В инструкциях и пошаговых действиях: планирование, алгоритмы, how-to
💡 Почему работает
Модель может ошибиться не потому, что «не знает», а потому что поспешила. Chain of Thought добавляет этап размышления, и это снижает количество случайных, нелогичных или неинтерпретируемых ответов.
📎 По сути, вы даёте ей установку: «Сначала подумай — потом скажи».
🌳 Tree of Thought: перебор вариантов и выбор лучшего
Когда задача не имеет однозначного ответа — лучше не угадывать, а перебрать возможные стратегии и выбрать наиболее обоснованную. Для этого подходит подход Tree of Thought (дерево мыслей): вместо одной линейной цепочки рассуждений, модель генерирует несколько веток решений, сравнивает их и делает осознанный выбор.
🧠 Что это значит
Вместо того чтобы сразу сказать, что делать, модель предлагает несколько вариантов развития событий. Каждый путь — это одна «ветка» дерева. Далее она оценивает плюсы и минусы каждого, и выбирает лучший.
📌 Пример
Задача: Какую стратегию выбрать в игре?
Ответ модели с Tree of Thought:
- 🗡️ Атаковать сразу → быстрое преимущество, но высокий риск поражения
- ⏳ Подождать и собрать ресурсы → безопасно, но теряется инициатива и контроль карты
- 🧠 Обманный манёвр (fake attack) → требует слаженности, но создаёт эффект неожиданности
➡️ Вывод: Третья стратегия даёт лучший баланс риска и выгоды.
📎 Аналогия
Tree of Thought работает так же, как мозговой штурм:
- Сначала вы набрасываете разные варианты.
- Потом обсуждаете их, сравниваете по критериям.
- И наконец — выбираете тот, что подходит лучше всего.
Это также похоже на ветвление в шахматах: думаете сразу на 2–3 хода вперёд, просчитывая возможные ответы соперника.
🧪 Когда использовать Tree of Thought
Tree of Thought особенно полезен в задачах, где:
- 🎯 Есть несколько решений, но нужно выбрать наилучшее
- 💡 Нужен креатив, но с фильтром реалистичности
- 📊 Важна аргументация, а не просто генерация
Примеры задач:
- 🛠 Продуктовые решения — выбор фич, приоритизация
- 🎮 Игровая стратегия — поведение бота или игрока
- 💬 Генерация идей — креатив для маркетинга, сценарии
- 🧭 Стратегии запуска — когда много переменных и рисков
💡 Как улучшить промпт
Добавьте в задание уточнение вроде:
«Предложи 3 разных пути и обоснуй, какой из них подходит лучше всего»
Можно также просить дать метрику или критерий, по которому идёт выбор — тогда reasoning будет ещё более структурированным.
🤖 ReAct: Reason + Act
Когда просто ответа недостаточно — нужен ассистент, который сначала думает, потом действует. Именно так работает подход ReAct: модель анализирует задачу, выбирает действие, выполняет его и снова размышляет. Это мощный способ сделать работу LLM более точной и осмысленной, особенно в связке с внешними источниками данных и инструментами.
🧠 Что такое ReAct
Вместо одной волны генерации, ReAct строит цепочку мышления + действий. Модель:
- формулирует, что нужно узнать или сделать (Reason),
- выполняет действие (Act) — делает API-запрос, обращается к базе данных, вызывает функцию,
- анализирует результат,
- продолжает размышлять на основе полученного.
📎 Аналогия: Это как ассистент, который не "фантазирует" ответ, а идёт, проверяет и возвращается с результатом. Он может сказать: «Мне нужно уточнить», открыть нужный сайт, собрать данные, подумать и только потом дать вывод.
💡 Пример на пальцах
Представим, что вы спросили модель:
Какая сейчас погода в Лондоне?
Вариант без ReAct: модель «придумывает» температуру.
С ReAct:
- Reason: Мне нужно получить данные о погоде в Лондоне.
- Act:
weather_api("London") → { "temp": 18 } - Reason: Температура 18°C — прохладно.
- Answer: В Лондоне сейчас прохладно, 18°C.
Такой ответ логичен, объясним и основан на внешней информации.
🔧 Где это особенно полезно
ReAct применяется там, где нужно интерактивное поведение и точная проверка фактов:
- 🤖 В умных ассистентах: от поддержки клиентов до внутренних ботов.
- 🔎 В поиске и анализе данных: вытаскивание, фильтрация, обобщение информации.
- 📚 В обучении и тестировании: демонстрация цепочки размышлений + динамическое выполнение кода.
- 🧠 В задачах, требующих внешнего знания: справочники, базы данных, документация.
📈 Почему это меняет правила игры
Обычные промпты — это как просьба стажёру: "Ответь на вопрос." ReAct — как опытный сотрудник, который говорит: "Сначала я проверю, потом расскажу."
📎 Аналогия: представьте врача, который не сразу ставит диагноз, а сначала анализирует симптомы, отправляет на анализы, изучает результаты — и только потом объясняет всё пациенту. Это делает процесс надёжнее и понятнее.
🛠 Интеграция и реализация
Для реализации ReAct можно использовать:
- встроенные функции в ChatGPT API (function calling),
- фреймворки вроде LangChain,
- инструменты визуального проектирования промптов с шагами (Prompt Engineering UI),
- подключение к внешним данным (базы, API, плагины).
🔧 Как промптить правильно
| Подход | Что добавить в промпт |
|---|---|
| Chain of Thought | “Подумай шаг за шагом…” |
| Tree of Thought | “Предложи несколько вариантов… Объясни плюсы и минусы…” |
| ReAct | “Сначала объясни, потом выполни команду…” |
📎 Добавляйте “донесение задачи” (instruction clarity), описывайте, что важно в выводе: точность, логика, полнота.
🧠 Частые ошибки
- Нет запроса на размышление Модель даёт итог сразу, без пошагового рассуждения. Добавьте “Думай шаг за шагом”.
- Слишком общий промпт Модель не понимает, что от неё хотят: нет структуры, формата, цели.
- Смешение стратегий В одном промпте и reasoning, и действия, и вывод — модель путается.
- Один большой промпт вместо этапов Лучше разбить на шаги: сначала анализ, потом действие, потом вывод.
- Нет примеров Без few-shot примеров модель не улавливает формат и глубину размышлений.
❓ Частые вопросы
- Можно ли включить CoT в любом промпте?
Да, просто добавьте “подумай шаг за шагом” или начните промпт с анализа. - Может ли модель “перестараться”?
Иногда — да. Если задача простая, модель может размышлять слишком долго. Ограничьте количество шагов. - ReAct требует подключения к внешним функциям?
Для полноценного ReAct — да, но можно имитировать вызовы (например, “вообрази, что ты запросил…”).
✅ Итоги
В итоге, подходы Chain of Thought, Tree of Thought и ReAct делают взаимодействие с LLM более прозрачным, гибким и продуктивным. Они позволяют не просто получать результат, но понимать логику его появления, оценивать альтернативы и подключать внешние источники информации. Это особенно ценно при решении комплексных задач, где важны объяснимость, точность и возможность отладки. Используя эти методы, вы превращаете модель из "чёрного ящика" в надёжного партнёра по мышлению.
👉 В следующем разделе — как использовать few-shot примеры и подключать внешние инструменты к reasoning-подходам.