Chain-of-Thought Prompting
Chain-of-Thought Prompting (CoT, подсказки в виде «цепочки мыслей») — это методика промпт-инжиниринга, направленная на улучшение способностей больших языковых моделей (LLM) к решению сложных задач, требующих многоэтапных рассуждений. Вместо того чтобы генерировать ответ сразу, CoT-подсказка побуждает модель сначала явно воспроизвести последовательность промежуточных шагов рассуждений, которые ведут к конечному выводу.
Этот подход, имитирующий человеческий процесс мышления, значительно повышает точность моделей в арифметических, логических и символьных задачах.
Ключевая идея
Фундаментальный принцип CoT заключается в том, чтобы заставить модель «думать вслух» на естественном языке перед тем, как дать финальный ответ. Генерация этих промежуточных шагов позволяет:
- Декомпозировать сложные задачи: Модель разбивает комплексную проблему на более мелкие и управляемые подзадачи, концентрируясь на каждой из них последовательно.
- Минимизировать ошибки: Пошаговый процесс снижает вероятность логических ошибок, которые часто возникают при попытке дать ответ в один шаг.
- Улучшить прозрачность и интерпретируемость: Пользователи и разработчики могут видеть логику модели, что облегчает отладку, верификацию и формирование доверия к результатам.
Исторический контекст
Методика CoT была впервые представлена 28 января 2022 года исследователями из Google Research в работе «Chain of Thought Prompting Elicits Reasoning in Large Language Models» (Jason Wei, Denny Zhou et al.)[1]. Они обнаружили, что предоставление модели нескольких примеров задач с пошаговыми решениями (few-shot CoT) резко повышает её производительность на сложных задачах.
Это открытие показало, что способность к многоэтапным рассуждениям является эмерджентным свойством больших моделей. Как отмечалось в оригинальной работе, CoT даёт прирост производительности только у моделей, достигших определённого масштаба (около 100 миллиардов параметров и более), и практически отсутствует у моделей меньшего размера, которые при использовании CoT могут генерировать нелогичные рассуждения и показывать худшие результаты.
Разновидности CoT Prompting
Few-Shot CoT: Обучение на примерах
Это оригинальный и наиболее надёжный метод CoT.
- Принцип: Модели предоставляется несколько (обычно от 2 до 8) примеров, каждый из которых состоит из набора: вопрос — цепочка рассуждений — ответ.
- Преимущества: Высокая точность, так как модель учится конкретному стилю и формату рассуждений.
- Недостатки: Требует ручного создания качественных и разнообразных примеров.
Zero-Shot CoT: «Давай подумаем шаг за шагом»
Этот метод был предложен позже, 24 мая 2022 года, в работе «Large Language Models are Zero-Shot Reasoners» (Takeshi Kojima et al.)[2] и является значительно более простым вариантом.
- Принцип: К исходному запросу добавляется простая триггерная фраза, например, «Давай подумаем шаг за шагом» (англ. "Let's think step by step").
- Преимущества: Простота, гибкость и отсутствие необходимости в примерах.
- Недостатки: Может быть менее точным, чем Few-Shot CoT, для очень специфических задач.
Automatic CoT (Auto-CoT)
Этот подход, предложенный в работе Zhang et al. (2022)[3], автоматизирует создание демонстраций для Few-Shot CoT.
- Принцип:
- Вопросы из нового набора данных кластеризуются.
- Из каждого кластера выбирается репрезентативный вопрос.
- Для этих вопросов генерируется цепочка рассуждений с помощью Zero-Shot CoT.
- Полученные демонстрации используются для формирования промпта.
- Цель: Снизить ручные усилия и масштабировать применение CoT, достигая производительности, сопоставимой с ручным созданием примеров.
Мультимодальный CoT
Применение CoT на задачи, включающие данные из нескольких модальностей (текст и изображения).
- Принцип: Модель генерирует рассуждения, которые связывают текстовую и визуальную информацию.
- Применение: Анализ диаграмм, решение визуальных головоломок.
Механизмы и эффективность
- Улучшение рассуждений: CoT направляет модель через структурированный процесс решения, что минимизирует логические ошибки и позволяет более эффективно использовать её базу знаний.
- Эмпирические доказательства: Эффективность CoT особенно заметна на сложных бенчмарках. Например, на арифметическом бенчмарке GSM8K базовый метод Few-Shot CoT повысил точность модели PaLM-540B с 17.9% до 58.1%. Применение же более продвинутых техник, построенных на основе CoT (таких как Self-Consistency), позволяет достигать точности в 74–78%.
- Роль формата рассуждений: Исследования показали, что даже примеры с неверными промежуточными шагами могут улучшать результат, если общая структура рассуждений сохраняется. Это говорит о том, что CoT в первую очередь учит модель формату пошагового мышления.
Связь с другими техниками
CoT является фундаментальным компонентом для более продвинутых методов:
- Self-Consistency: Генерирует несколько разных CoT-цепочек для одного вопроса и выбирает наиболее частый ответ путём голосования. Это значительно повышает надёжность, давая прирост точности на бенчмарках GSM8K[4] (+17.9%)[5], SVAMP[6] (+11.0%)[1] и AQuA[7] (+12.2%)[1].
- Tree of Thoughts (ToT): Обобщает CoT, исследуя не одну, а целое дерево возможных путей рассуждений. В отличие от линейной цепочки CoT, ToT позволяет модели исследовать несколько веток, оценивать промежуточные «мысли» и возвращаться назад (backtracking) при обнаружении бесперспективного пути. Это позволяет решать еще более сложные задачи, где простого линейного рассуждения недостаточно (например, повысив точность решения задачи "Game of 24"[8] с 4% до 74%)[9].
См. также
Литература
- Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
- Zhou, D. et al. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. arXiv:2205.10625.
- Zhang, Z. et al. (2022). Automatic Chain of Thought Prompting in Large Language Models. arXiv:2210.03493.
- Lyu, Q. et al. (2023). Faithful Chain-of-Thought Reasoning. arXiv:2301.13379.
- Wang, X. et al. (2023). Deductive Verification of Chain-of-Thought Reasoning. arXiv:2306.03872.
- Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
- Lightman, H. et al. (2023). Let’s Verify Step by Step. arXiv:2305.20050.
- Yang, B. et al. (2025). Hallucination Detection in Large Language Models with Metamorphic Relations. arXiv:2502.15844.
Примечания
- ↑ 1,0 1,1 1,2 Wei, Jason, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed Chi, Quoc Le, и Denny Zhou. «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». arXiv, 10 январь 2023 г. https://doi.org/10.48550/arXiv.2201.11903.[1]
- ↑ Kojima, Takeshi, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, и Yusuke Iwasawa. «Large Language Models are Zero-Shot Reasoners». arXiv, 29 январь 2023 г. https://doi.org/10.48550/arXiv.2205.11916.[2]
- ↑ Zhang, Zhuosheng, Aston Zhang, Mu Li, и Alex Smola. «Automatic Chain of Thought Prompting in Large Language Models». arXiv, 7 октябрь 2022 г. https://doi.org/10.48550/arXiv.2210.03493.[3]
- ↑ «openai/gsm8k · Datasets at Hugging Face», 17 июль 2023 г. https://huggingface.co/datasets/openai/gsm8k.[4]
- ↑ Wang, Xuezhi, Jason Wei, Dale Schuurmans, Quoc Le, Ed Chi, Sharan Narang, Aakanksha Chowdhery, и Denny Zhou. «Self-Consistency Improves Chain of Thought Reasoning in Language Models». arXiv, 7 март 2023 г. https://doi.org/10.48550/arXiv.2203.11171.[5]
- ↑ Patel, Arkil. «arkilpatel/SVAMP». Python, 30 май 2025 г. https://github.com/arkilpatel/SVAMP.[6]
- ↑ «autonlab/aqua». Jupyter Notebook. 2022. Reprint, Auton Lab, Carnegie Mellon University, 12 июнь 2025 г. https://github.com/autonlab/aqua.[7]
- ↑ «24 (Puzzle)». В Wikipedia [8]
- ↑ Yao, Shunyu, Dian Yu, Jeffrey Zhao, Izhak Shafran, Thomas L. Griffiths, Yuan Cao, и Karthik Narasimhan. «Tree of Thoughts: Deliberate Problem Solving with Large Language Models». arXiv, 3 декабрь 2023 г. https://doi.org/10.48550/arXiv.2305.10601.[9]