3.3 Chain-of-Thought Prompting

图片来源:Wei等人(2022)

在 Wei等人(2022) 中引入的链式思考(CoT)提示通过中间推理步骤实现了复杂的推理能力。您可以将其与少样本提示相结合,以获得更好的结果,以便在回答之前进行推理的更复杂的任务。

提示:

这组数中的奇数加起来是偶数:4、8、9、15、12、2、1。
A:将所有奇数相加(9、15、1)得到25。答案为False。
这组数中的奇数加起来是偶数:17、10、19、4、8、12、24。
A:将所有奇数相加(17、19)得到36。答案为True。
这组数中的奇数加起来是偶数:16、11、14、4、8、13、24。
A:将所有奇数相加(11、13)得到24。答案为True。
这组数中的奇数加起来是偶数:17、9、10、12、13、4、2。
A:将所有奇数相加(17、9、13)得到39。答案为False。
这组数中的奇数加起来是偶数:15、32、5、13、82、7、1。
A:

输出:

将所有奇数相加(15、5、13、7、1)得到41。答案为False。

哇!我们可以看到在提供推理步骤时得到了完美的结果。实际上,我们可以通过提供更少的示例来解决此任务,即仅一个示例似乎就足够了:

提示:

这组数中的奇数加起来是偶数:4、8、9、15、12、2、1。
A:将所有奇数相加(9、15、1)得到25。答案为False。
这组数中的奇数加起来是偶数:15、32、5、13、82、7、1。
A:

输出:

将所有奇数相加(15、5、13、7、1)得到41。答案为False。

请记住,作者声称这是足够大的语言模型才会出现的新兴能力。

零样本 COT 提示

图片来源:Kojima等人(2022)

最近提出的一个新想法是 零样本CoT( Kojima 等人,2022年),它基本上涉及将“让我们逐步思考”添加到原始提示中。让我们尝试一个简单的问题,看看模型的表现如何:

提示:

我去市场买了10个苹果。我给了邻居2个苹果和修理工2个苹果。然后我去买了5个苹果并吃了1个。我还剩下多少苹果?

输出:

11个苹果

答案是不正确的!现在让我们尝试使用特殊提示。

提示:

我去市场买了10个苹果。我给了邻居2个苹果和修理工2个苹果。然后我去买了5个苹果并吃了1个。我还剩下多少苹果?
让我们逐步思考。

输出:

首先,您从10个苹果开始。
您给了邻居和修理工各2个苹果,所以您还剩下6个苹果。
然后您买了5个苹果,所以现在您有11个苹果。
最后,您吃了1个苹果,所以您还剩下10个苹果。

令人印象深刻的是,这个简单的提示在这个任务中非常有效。这在您没有太多示例可用于提示时特别有用。

自动思维链(Auto-CoT)

当使用思维链提示时,这个过程需要手工制作有效且多样化的例子。这种手动工作可能会导致次优解决方案。Zhang et al. (2022) 提出了一种消除人工的方法,即利用 LLMs “让我们一步一步地思考” 提示来生成一个接一个的推理链。这种自动过程仍然可能在生成的链中出现错误。为了减轻错误的影响,演示的多样性很重要。这项工作提出了Auto-CoT,它对具有多样性的问题进行采样,并生成推理链来构建演示。

Auto-CoT 主要由两个阶段组成:

  • 阶段1:问题聚类:将给定问题划分为几个聚类
  • 阶段2:演示抽样:从每组数组中选择一个具有代表性的问题,并使用带有简单启发式的 Zero-Shot-CoT 生成其推理链

简单的启发式方法可以是问题的长度(例如,60 个 tokens)和理由的步骤数(例如,5 个推理步骤)。这鼓励模型使用简单而准确的演示。

该过程如下图所示:

图片来源:Zhang等人(2022)

Auto-CoT 的代码可在这里找到:Github

提示词工程指南 文章被收录于专栏

本专栏是 https://github.com/dair-ai/Prompt-Engineering-Guide 部分中文翻译。

全部评论

相关推荐

01-07 14:31
门头沟学院 Java
秋招期间,面试经常被问到的一个问题:“在AI时代下,程序员如何自处”?最近看了马斯克在访谈中的一些观点,结合我的理解,总结一下我对这个问题的答案。马斯克最新访谈中将 AI 比作超音速海啸,这场不可逆转的技术奇点,正在重塑程序员的职业价值。对程序员而言,AI 不是取代者,而是强制性演化的催化剂 —— 它淘汰的不是程序员,而是停留在代码工匠层面的从业者。真正的自处之道,是跳出机械编码的陷阱,成为驾驭 AI、定义价值的智掌舵人。一、职业本质的迁移马斯克断言,所有涉及信息处理的白领工作都将被 AI 深度冲击,后端开发的基础编码、语法调试等工作首当其冲。但这并非职业终结,而是价值重心的向上迁移:从“做什么”到“为什么做”:AI 能精准执行 “如何实现接口”“如何优化 SQL” 等执行层问题,却无法替代对 “为什么选择微服务架构”“为什么优先保障数据一致性” 的价值判断。从“代码生产者”到“AI 训练师”:用 AI 的程序员会取代不用 AI 的程序员。后端开发者的核心不再是亲手写每一行代码,而是用精准的需求拆解、清晰的逻辑指令,让 AI 成为高效的 “代码合伙人”。从 “技术执行者” 到 “风险守护者”:当系统由 “人码 + AI 码” 共同构成,后端开发者需对 AI 生成代码的性能陷阱、安全漏洞、架构债务负责,这是 AI 无法自我完成的批判性审视。二、核心竞争力:构建 AI 无法突破的壁垒结合马斯克 “技术奇点” 视角与后端开发特性,真正的不可替代性源于三大高阶能力:系统架构的顶层设计力:AI 是卓越的 “砖瓦匠”,但人类才是 “建筑师”。后端开发者需精通分布式系统、CAP 定理权衡、中间件选型等底层逻辑,能将复杂业务抽象为高内聚低耦合的架构模型 —— 这是 AI 仅靠模板无法实现的创造性工作。业务与技术的跨界融合力:脱离业务的技术毫无价值,AI 无法理解行业痛点、商业模式的底层逻辑。后端开发者需深入业务场景,比如将金融风控规则转化为技术方案、将电商流量峰值需求拆解为可落地的架构设计,这种 “业务翻译 + 技术落地” 的能力无可替代。技术伦理与风险把控力:马斯克强调 AI 安全的核心是 “坚持真理、追求美感”,对后端开发者而言,就是在 AI 生成的代码中识别安全漏洞、在技术选型中平衡效率与合规、在数据处理中守护用户隐私,成为技术伦理的最后一道防线。三、在 AI 浪潮中逆势成长把 AI 当成 “超级外脑”,而非对手:用 Copilot 生成基础 CRUD 代码、用 CodeGuru 定位性能瓶颈、用 AI 工具快速学习新技术栈,将重复劳动的时间省下来,投入到架构设计、技术选型等高阶工作中,让 AI 成为提升效率的 “杠杆”。深耕垂直领域,打造 “T 型能力”:在分布式系统、数据库内核、云原生等后端核心领域建立深度壁垒,同时掌握提示工程、AI 代码评估等跨界技能。比如专注于 “AI + 金融风控”“AI + 工业互联网” 等垂直场景,成为既懂技术又懂行业的专家。总结:马斯克预测,AI 时代终将迎来物质极度丰盛的 “普遍高收入” 时代,但过渡期必然充满颠簸。对后端开发者而言,真正的安全感不在于 “不被 AI 替代”,而在于 “成为 AI 无法替代的人”。技术工具永远在迭代,但人类的创造性、批判性思维与跨界整合能力,是永恒的核心竞争力。开发者不必恐惧 AI 浪潮,而应主动驾驭它 —— 将 AI 作为解放双手的工具,将自己升级为定义问题、设计系统、创造价值的掌舵人,方能在技术的变革中,找到属于自己的立足之地。
26年哪些行业会变好/更...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务