# Chain-of-Thought Prompting import {Screenshot} from 'components/screenshot' import COT from '../../img/cot.png' import ZEROCOT from '../../img/zero-cot.png' ## 链式思考(CoT)提示 图片来源:[Wei等人(2022)](https://arxiv.org/abs/2201.11903) 在[Wei等人(2022)](https://arxiv.org/abs/2201.11903)中引入的链式思考(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)](https://arxiv.org/abs/2205.11916) 最近提出的一个新想法是[零样本CoT](https://arxiv.org/abs/2205.11916)(Kojima等人,2022年),它基本上涉及将“让我们逐步思考”添加到原始提示中。让我们尝试一个简单的问题,看看模型的表现如何: *提示:* ``` 我去市场买了10个苹果。我给了邻居2个苹果和修理工2个苹果。然后我去买了5个苹果并吃了1个。我还剩下多少苹果? ``` *输出:* ``` 11个苹果 ``` 答案是不正确的!现在让我们尝试使用特殊提示。 *提示:* ``` 我去市场买了10个苹果。我给了邻居2个苹果和修理工2个苹果。然后我去买了5个苹果并吃了1个。我还剩下多少苹果? 让我们逐步思考。 ``` *输出:* ``` 首先,您从10个苹果开始。 您给了邻居和修理工各2个苹果,所以您还剩下6个苹果。 然后您买了5个苹果,所以现在您有11个苹果。 最后,您吃了1个苹果,所以您还剩下10个苹果。 ``` 令人印象深刻的是,这个简单的提示在这个任务中非常有效。这在您没有太多示例可用于提示时特别有用。