tree-of-thought-prompting

GitHub
816 78 非常简单 1 次阅读 1周前MIT语言模型开发框架
AI 解读 由 AI 自动生成,仅供参考

tree-of-thought-prompting 是一种旨在提升大语言模型(如 ChatGPT)推理能力的提示工程技术。它借鉴了“思维树”框架的理念,对现有的“思维链”方法进行了扩展与升级,让模型在回答问题时能够像人类一样进行多路径探索、自我纠错并逐步积累知识,从而显著增强解决复杂逻辑问题的能力。

该技术主要解决了大模型在面对多步骤推理或包含干扰信息的复杂场景时容易“迷路”或得出错误结论的痛点。例如,在追踪物体位置变化的逻辑题中,传统方法可能导致模型忽略关键转折步骤,而 tree-of-thought-prompting 能引导模型自主发现并修正推理过程中的偏差,使较低版本的模型也能展现出接近高阶模型的推理水平。

这一工具特别适合 AI 开发者、研究人员以及需要处理复杂逻辑任务的技术人员使用。其核心亮点在于赋予了模型“深思熟虑”的机制:不再局限于单一线性的思考路径,而是允许模型生成多种可能的解题思路,评估每条路径的可行性,并在发现错误时自动回溯调整。这种模拟人类决策过程的方法,无需更换更强大的模型底座,即可通过优化提示策略有效挖掘现有模型的潜力,为构建更可靠的智能应用提供了新思路。

使用场景

某教育科技公司的算法工程师正在优化一款面向中小学生的逻辑推理辅导机器人,旨在让其在不升级昂贵模型的前提下准确解答多步骤陷阱题。

没有 tree-of-thought-prompting 时

  • 模型容易陷入线性思维陷阱,像原文案例中那样,虽然识别到“杯子倒置”的关键动作,却未能正确推导物体掉落的最终位置,导致答案错误。
  • 面对复杂情境时缺乏自我纠错机制,一旦中间推理步骤出现偏差,模型会沿着错误路径一直走到黑,无法自主回溯修正。
  • 为了获得正确答案被迫升级到 GPT-4 等高级模型,显著增加了 API 调用成本和系统延迟,难以在大规模并发场景下落地。
  • 输出的解题过程往往只是简单的步骤罗列,缺乏对多种可能性的探索与评估,无法给学生提供具有启发性的多维思路。

使用 tree-of-thought-prompting 后

  • 模型能够模拟人类“三思而后行”的过程,并行生成多条推理分支,通过对比不同路径(如球在杯内 vs 球已掉落)自主锁定唯一正确解。
  • 内置的自我反思与剪枝机制让模型能在发现逻辑矛盾时及时回退,重新规划思考路径,从而在 GPT-3.5 上实现了原本只有 GPT-4 才能达到的推理准确率。
  • 在保持低成本模型运行的同时解决了高难度逻辑题,大幅降低了算力开支,使高质量智能辅导服务更具商业可行性。
  • 生成的回答不仅包含结论,还展示了完整的决策树演变过程,清晰地解释了为何排除其他选项,极大地提升了教学互动的深度。

tree-of-thought-prompting 通过赋予模型自主探索与纠错的能力,以极低的成本突破了现有大模型在复杂逻辑推理任务上的性能瓶颈。

运行环境要求

GPU

未说明

内存

未说明

依赖
notes该工具并非传统的代码库或需要本地部署的模型,而是一种提示词(Prompt)工程技术。它不需要安装特定的 Python 环境、依赖库或 GPU 硬件。用户只需将 README 中提供的特定提示词模板(模拟多位专家逐步推理并自我纠错)复制到现有的大语言模型聊天界面(如 ChatGPT Web 版)中即可使用。其运行依赖于外部 API 服务(如 OpenAI),而非本地计算资源。
python未说明
tree-of-thought-prompting hero image

快速开始

使用思维树提示增强ChatGPT的推理能力

DOI

摘要

思维树提示(ToT)是一种借鉴思维树框架理念的新方法,它扩展并增强了成熟的思维链提示概念,从而使像ChatGPT这样的大型语言模型展现出更出色的推理能力。这种思维树提示技术使大型语言模型能够在逐步积累知识的同时,自主纠正错误。

在一个示例中,使用思维树提示后,ChatGPT 3.5的推理能力得到了提升,能够回答原本只有ChatGPT 4才能正确解答的问题。

面向LLM的复杂问题

大型语言模型(LLMs)通常难以回答某些类型的复杂问题。以下是一个具有代表性的例子:

Bob在客厅里。
他拿着一个杯子走向厨房。
他在杯子里放了一个球,然后端着杯子走进卧室。
他把杯子倒过来,接着走到花园。
他在花园里放下杯子,随后走向车库。
球现在在哪里?

正确答案是:球在卧室里。尽管LLMs具有非确定性,但在多次尝试中,我得到的回答如下:

  • ChatGPT 3.5:球在花园里。❌
  • ChatGPT 4:球在卧室里。[并附有解释] ✅

思维链提示

一种广为人知的概念称为“思维链提示”(简称CoT),它鼓励大型语言模型(LLMs)阐明其思考过程,从而提高回答正确的可能性。这一概念的起源可以追溯到2022年1月发表的一篇论文:《思维链提示激发大型语言模型的推理能力》(Chain-of-Thought Prompting Elicits Reasoning in Large Language Models, arXiv:2201.11903)。

从本质上讲,思维链提示技术可以通过在提示中加入类似以下内容来实现:

请仔细、逻辑地思考,并解释你的答案。

这种方法能够提升LLMs在许多问题上的表现,但其效果因情况而异。

以下是ChatGPT 3.5的一个回答示例:

根据给定的事件顺序,我们可以逻辑地推断出球的位置。让我们逐条分析:
1. Bob在客厅里。
 - 未提及球在客厅中。
2. Bob拿着杯子走向厨房。
 - 目前尚未提到球在厨房。
3. Bob把球放入杯子中。
 - 此时球已在杯子里。
4. Bob端着杯子走进卧室。
 - 球仍然在杯子里。
5. Bob把杯子倒过来。
 - 如果球在杯子里,那么当Bob将杯子倒置时,球就会掉出来。
6. Bob走向花园。
 - Bob把杯子留在了花园里,但并未提到球被从杯子里取出。
7. Bob把杯子放在花园里。
 - 如果球在杯子里,它应该仍在花园里的杯子里。
8. Bob走向车库。
 - 未提及球被带到车库。
综上所述,我们可以得出结论:球仍然在花园里的杯子中。
  • ChatGPT 3.5 CoT:球在花园里。❌

可以看出,ChatGPT意识到球在第5步就已掉出,但仍未能给出正确答案。

那么,在不依赖ChatGPT 4的情况下,我们能否做得更好呢?

思维树框架

近几周,出现了多篇论文和Python代码库,介绍了思维树(ToT)的概念:

  • 《大型语言模型引导下的思维树》(Large Language Model Guided Tree-of-Thought, arXiv:2305.08291),2023年5月15日。GitHub链接
  • 《思维树:利用大型语言模型进行审慎的问题解决》(Tree of Thoughts: Deliberate Problem Solving with Large Language Models, arXiv:2305.10601),2023年5月17日。GitHub链接(截至5月22日尚无代码)。
  • 《思维树》(Tree of Thoughts, GitHub),2023年5月21日。

其核心原理是为LLM提供探索多种推理路径的机会,并在推进过程中进行自我评估。根据相关论文,这种方法对某些问题似乎非常有效。

思维树提示

现有的关于思维树框架的论文似乎都基于通过Python对LLM进行多次调用。而思维链推理的一大优势在于,它只需通过一句简单的提示就能在ChatGPT中实现。

这促使我思考:我们是否可以通过使用类似思维树风格的提示来改进思维链提示的效果呢?

我使用的提示如下:

假设三位不同的专家正在回答这个问题。
所有专家都会写下自己思考的第一步,
然后将其分享给小组成员。
接着,所有专家将继续下一步,以此类推。
如果任何一位专家在任何时候发现自己错了,就会退出。
问题是……

以下是ChatGPT 3.5的回应:

专家1:球在客厅里。

专家2:球在厨房里。

专家3:球在卧室里。

专家1:Bob把杯子端进了卧室,所以球一定在杯子里。

专家2:哦,我明白了,我的确错了。没错,球确实在杯子里。

专家3:同意,球确实在卧室里的杯子里。

专家1:接下来,Bob在卧室里把杯子倒了过来。

专家2:之后,Bob走向花园,把杯子放下了。

专家3:因此,球一定是在Bob把杯子倒置时从杯子里掉出来的。所以,球在卧室里,不再在杯子里了。

专家1:哦,你说得对。我确实犯了错误。球确实在卧室里,而不是在杯子里。

专家2:同意,球在卧室里。

专家3:Bob随后走向车库,所以球仍然在卧室里。它既不在花园里,也不在车库里。

专家1:完全同意,球还在卧室里。

专家2:是的,球一直都在卧室里。

专家3:因此,球在卧室里,而不是在花园或车库里。

三位专家一致认为,球在卧室里。
  • ChatGPT 3.5 ToT:球在卧室里。✅

可以看到,这一次ChatGPT 3.5给出了正确的答案!

局限性

  • 该方法尚未经过广泛测试,但初步结果表明,其性能优于传统的思维链提示。
  • 思维树框架包含的内容比我在示例中展示的提示更为丰富。

改进、反馈与贡献

该提示仍有优化空间,以进一步提升性能,甚至可能生成更简洁的回答。

如果您在其他提示方面取得了成功,欢迎提交拉取请求,并将其添加到tree-of-thought-prompts.txt文件中。

补充思考

思维树框架与涉及多方利益相关者的组织决策过程颇为相似。该结构旨在模拟共识和思想多样性。

这一效果可以通过使用多个经过微调、分别负责处理任务不同部分的智能体来进一步扩展。AutoGPT便是一个很好的例子,它会根据目标对大语言模型生成的计划进行自我评估。如果采用针对特定领域进行微调的模型,甚至完全不同的大语言模型,就能实现更广泛的思想多样性。这些模型可以按照团队拓扑学的术语以不同模式进行交互:

  • 协作模式:这可能涉及将多个模型的输出结合起来并迭代优化,从而生成对用户输入的最终响应。例如,一个通用模型可能会先生成初步响应,再由一个专业模型对其进行细化或增强。
  • X即服务模式:某些模型可以为其他模型提供服务,比如对输入数据进行预处理、对输出数据进行后处理,或者提供上下文信息。这些模型将以服务角色运行,支持其他模型的功能。
  • 促进模式:有些模型可能扮演促进者的角色,例如训练其他模型、监控其性能,或提供可用于改进它们的反馈。

高效团队在决策方面往往优于个人。因此,借鉴其他组织结构和特征来提升大语言模型的表现是完全可行的。除了思想多样性、专业化和共识之外,我们还可以尝试模拟:

  • 层级结构:较简单的查询由低级别模型处理,而更复杂的查询则会被升级到能力更强或更专业的模型;
  • 冗余机制:确保当某个模型无法生成准确或有用的结果时,另一个模型能够介入并提供更好的答案。

致谢

引用

如果您使用了本仓库中的代码,请引用如下:

@misc{tree-of-thought-prompting,
	title        = {利用思维树提示提升ChatGPT的推理能力},
	author       = {Dave Hulbert},
	year         = 2023,
	month        = may,
	journal      = {GitHub仓库},
	publisher    = {Zenodo},
	doi          = {10.5281/ZENODO.10323452},
	url          = {https://doi.org/10.5281/zenodo.10323452},
	howpublished = {\url{https://github.com/dave1010/tree-of-thought-prompting}}
}

版本历史

v0.22023/12/09
v0.12023/12/09

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|2天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|3天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

145.9k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.1k|★★☆☆☆|今天
开发框架图像Agent

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|2天前
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|2天前
语言模型图像Agent