在与大语言模型交互的时候,如果模型给出了错误的结论,不要着急否定大模型的能力,我们应当尝试重新构建查询,请求模型在提供它的最终答案之前进行一系列相关的推理。也就是说,如果给模型一个在短时间或用少量文字无法完成的任务,它可能会给出不那么完美甚至是错误的回答。其实这种情况对人类来说也是存在的。一个人解答复杂的数学问题时,如果没有充足时间进行计算,他们通常也不能给出正确的答案。因此,如果模型给出了错误的结论,我们可以指示模型花更多时间进行思考,以便最终得出令人满意的结果。
策略一:指定完成任务所需要的步骤
例:
针对以下由三个`包含的寓言,执行以下操作:
1.概括这则寓言的寓意
2.寓意给打工人的启示
3.寓意给学生的启示
```一只乌鸦坐在树上,整天无所事事。一只小兔子看见乌鸦,就问:“我能像你一样整天坐在那里,什么事也不干吗?”乌鸦答道:“当然可以啦,为什么不呢?”于是,兔子便坐在树下开始休息。突然,一只狼出现了,狼跳向兔子……抓住兔子并把它给吃了。```
例:
针对以下由三个`包含的寓言,使用以下格式完成<>中的要求:
1.寓意:<概括这则寓言的寓意>
2.相反故事:<编写一则100字左右的寓言表达相反的寓意>
3.翻译:<将寓意翻译成英语>
```一只乌鸦坐在树上,整天无所事事。一只小兔子看见乌鸦,就问:“我能像你一样整天坐在那里,什么事也不干吗?”乌鸦答道:“当然可以啦,为什么不呢?”于是,兔子便坐在树下开始休息。突然,一只狼出现了,狼跳向兔子……抓住兔子并把它给吃了。```
策略二:要求模型先给出自己的解法,然后再下结论
某些情况下,如果直接让模型给出结论,这个匆忙的结果可能是错误的。此时,明确要求模型先思考解决方案,然后再判断结论,通常模型会给出更合理的结果。
例:
以下是一个问题及某人的解答,请判断该人的答案是否正确。
问题:
某人在银行开立一年期定期存款10万元,年息1%。假设用户在前两年末到期时取出当年利息的一半,然后继续定存一年且年息不变,直至存满3年后全部取出,此时用户取出的金额是多少?
解:
第一年本金100000元,到期利息:100000*0.01=1000元,取500元
第二年本金100000+500=100500元,到期利息:100500*0.01=1005元
第三年本金100500+502.5=101002.5元,到期利息:1010.025元
故第三年到期全部取出的金额:101002.5+1010.025=102,012.525元
大模型迅速给出了自己的判断并且给出了它认为错误的理由,只可惜它并没有意识到它自己错了。下面我们使用本策略,让大模型先自己尝试解决问题,再进行判断。
例:
以下是一个问题及某人的解答,请完成以下要求:
1.先分析并解答计算这个问题,请特别注意存款人前两年取出了利息中的一半,而第三年全部取出。
2.尝试解释这个人解答中的式子的含义。
3.判断该人的答案是否正确。
问题:
某人在银行开立一年期定期存款10万元,年息1%。假设用户在前两年末到期时取出当年利息的一半,然后继续定存一年且年息不变,直至存满3年后全部取出,此时用户取出的金额是多少?
解:
第一年本金100000元,到期利息:100000*0.01=1000元,取500元
第二年本金100000+500=100500元,到期利息:100500*0.01=1005元
第三年本金100500+502.5=101002.5元,到期利息:1010.025元
故第三年到期全部取出的金额:101002.5+1010.025=102,012.525元
如果你在阅读这篇文章的时候,同时将上述示例输入大模型进行验证,你将发现你得到的结果也许不太一样。事实上,在不同的模型中,或者对同一模型在不同时间来运行上述示例结果都不太会一样。但是这里的提及的技巧总体而言还是对我们使用语言大模型有帮助的。
大语言模型提示技巧(二)-给模型时间思考 – 光头颜说IThttps://gtyan.com/archives/56
大语言模型提示技巧(一)-指令要清晰、具体-CSDN博客