Tree of Thoughts (ToT)
Tree of Thoughts (ToT) (Дерево мыслей) — это инновационный фреймворк для управления рассуждениями больших языковых моделей (LLM), позволяющий им выполнять осознанное решение задач путём систематического исследования множества путей рассуждения. Концепция была представлена в 2023 году исследователями из Принстонского университета и Google DeepMind[1].
ToT является расширением и обобщением популярной техники «цепочки мыслей» (Chain of Thought, CoT). В отличие от CoT, где рассуждение представляет собой единую линейную последовательность шагов, ToT организует процесс мышления в виде дерева, где каждый узел — это промежуточное состояние («мысль»), а ветви — возможные пути развития рассуждения. Это позволяет модели исследовать несколько вариантов параллельно, оценивать их перспективность, возвращаться к предыдущим шагам при обнаружении тупиков (backtracking) и делать осознанный выбор[1][2].
Принцип работы
Фреймворк ToT организует процесс решения задачи как поиск по дереву состояний. Его работа основана на циклическом взаимодействии четырёх ключевых компонентов[1]:
1. Декомпозиция задачи на «мысли»: Исходная проблема разбивается на более мелкие подзадачи-шаги, называемые «мыслями». В отличие от CoT, где «мысль» — это просто следующий токен, в ToT «мысль» является семантически значимой единицей (например, уравнение в математической задаче или абзац в плане текста), которая приближает к решению.
2. Генерация мыслей: На каждом шаге для текущего состояния (узла дерева) модель генерирует несколько потенциальных следующих «мыслей» (ветвей). Для этого используются две стратегии:
- Сэмплирование (sample): Модель независимо генерирует несколько вариантов продолжения. Подходит для творческих задач, где полезен широкий спектр идей.
- Предложение (propose): Модель последовательно генерирует варианты, что более эффективно для задач с ограниченным пространством решений.
3. Оценка состояний: Сгенерированные «мысли» оцениваются самой LLM для определения их перспективности. Оценка может быть числовой (например, по шкале от 0 до 1) или категориальной («уверенно», «возможно», «невозможно»). Это эвристическая функция, которая направляет поиск в сторону многообещающих ветвей.
4. Алгоритм поиска: Для систематического исследования дерева мыслей используются классические алгоритмы поиска:
- Поиск в ширину (BFS): Исследует все узлы на одном уровне, прежде чем перейти на следующий. Гарантирует нахождение кратчайшего пути, но требует больше памяти.
- Поиск в глубину (DFS): Исследует одну ветвь до конца, прежде чем вернуться и попробовать другую. Более экономичен по памяти и подходит для задач с глубоким, но не слишком широким пространством поиска.
Этот фреймворк имитирует человеческое мышление при решении проблем, сочетая интуитивную генерацию идей (с помощью LLM) с осознанным, систематическим планированием и перебором вариантов[2].
Сравнение с другими методами рассуждения
ToT в сравнении с Chain of Thought (CoT)
ToT является прямым обобщением CoT. Если CoT можно представить как дерево с шириной ветвления, равной 1, то ToT позволяет исследовать дерево с произвольной шириной. Это даёт ключевые преимущества[3]:
- Исследование альтернатив: ToT может рассматривать несколько путей решения, в то время как CoT ограничен одним линейным путём.
- Возможность отката: ToT позволяет модели «вернуться назад», если ветвь рассуждений зашла в тупик, что невозможно в CoT.
- Глобальное планирование: ToT позволяет делать стратегический выбор на основе оценки нескольких будущих шагов.
ToT в сравнении с Self-Consistency
Self-Consistency генерирует множество независимых «цепочек мыслей» и выбирает наиболее частый ответ путём голосования. Этот метод улучшает надёжность CoT, но, как и CoT, он не позволяет исследовать разветвлённую структуру решения. ToT, в свою очередь, может показывать более существенные улучшения на сложных задачах планирования, где важны не только независимые попытки, но и их взаимосвязь[1].
Экспериментальные результаты
Авторы ToT продемонстрировали его эффективность на трёх задачах, требующих нетривиального планирования или поиска.
- Игра 24: Математическая головоломка, где нужно получить число 24 из четырёх заданных чисел с помощью базовых арифметических операций. Стандартный промптинг с GPT-4 показал успешность 7.3%, Chain of Thought — 4%. ToT с поиском в ширину (b=5) достиг 74% успешности, что в 18.5 раз лучше, чем CoT[1][4].
- Творческое письмо: В задаче генерации связного текста из четырёх абзацев с заданными последними предложениями тексты, созданные с помощью ToT, получили средний балл когерентности 7.56 из 10, в то время как CoT — 6.15. В 41 из 100 сравнений люди предпочли текст, сгенерированный ToT, против 21 для CoT[5].
- Мини-кроссворды (5x5): ToT правильно заполнил 60% слов, тогда как CoT — всего 1%[6].
Ограничения и будущие направления
Несмотря на впечатляющие результаты, фреймворк ToT имеет ряд ограничений:
- Вычислительная сложность: ToT требует значительно больше вычислительных ресурсов (в 5–100 раз больше токенов), чем стандартные методы, из-за необходимости генерировать и оценивать множество «мыслей»[1].
- Сложность реализации: Внедрение ToT требует значительных инженерных усилий для создания и настройки всех компонентов: генератора мыслей, оценщика состояний и алгоритма поиска.
- Зависимость от качества оценки: Эффективность всего фреймворка сильно зависит от способности LLM адекватно оценивать промежуточные состояния, что не всегда гарантировано.
Будущие исследования направлены на повышение эффективности, автоматизацию оптимизации и интеграцию ToT с другими методами, такими как обучение с подкреплением, для создания более умных и автономных агентов.
Ссылки
- Официальный репозиторий Tree of Thoughts на GitHub.
- Tree of Thoughts (ToT) — руководство на Prompt Engineering Guide.
Литература
- Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
- 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.
- 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.
- Ling, Z. et al. (2023). Deductive Verification of Chain of Thought Reasoning. arXiv:2306.03872.
- Yao, S. et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629.
- Besta, M. et al. (2023). Graph of Thoughts: Solving Elaborate Problems with Large Language Models. arXiv:2308.09687.
- Lightman, H. et al. (2023). Let’s Verify Step by Step. arXiv:2305.20050.
- Lanham, T. et al. (2023). Measuring Faithfulness in Chain-of-Thought Reasoning. arXiv:2307.13702.
- Yang, B. et al. (2025). Hallucination Detection in Large Language Models with Metamorphic Relations. arXiv:2502.15844.
Примечания
- ↑ 1,0 1,1 1,2 1,3 1,4 1,5 Yao, S., Yu, D., Zhao, J., et al. (2023). «Tree of Thoughts: Deliberate Problem Solving with Large Language Models». arXiv. [1]
- ↑ 2,0 2,1 «What is Tree of Thoughts Prompting?». IBM. [2]
- ↑ «Tree of Thoughts vs Chain of Thought». Substack.
- ↑ «...18.5 times improvement...». arXiv.
- ↑ «...41 out of 100 comparisons...». OpenReview.
- ↑ «...CoT: 1% success rate...». arXiv.