文章发布于:2024年10月12日
看到有人套出kimi的系统提示词,试了一下,果然可以。在提示词里发现,针对前一段时间大模型不会比数字大小做的修复,突然想,如果不让大模型一步一步地分析,让他直接给出答案,还能正确地给出答案吗?用手机里的豆包APP试了一下,果然,不能。
为什么一步一步地分析可以,而直接给出答案就不行?这就牵扯到大模型的工作流程了。具体我不太清楚,但大致来说,就是大模型在做类似于完形填空的工作,只不过它是根据你输入的内容进行补充。更具体的一点是,它每次可能只生成一个单词(token),然后将这个单词和前面的问题合并在一起,再生成下一个单词,然后继续合并,继续生成,直到任务完成。
因为这个原理,也就导致了在数字比大小时出现的情况。当让大模型直接给出答案时,相当于限制大模型的输出,即只完成一轮“完形填空”。大模型此时给出错误答案,说明大模型的训练数据无法给出直接的正确答案。当然也可以说,大模型没有作弊,比如针对数字比大小做特殊训练。
当给出提示词,让其一步一步地分析时,相当于告诉大模型,不要直接给出答案,先说些“废话”,然后再根据“废话”生成答案,这相当于强制增加“完形填空”的次数。而大模型此时能正确地给出答案,说明大模型有一定的推理能力,但这个推理能力是需要用户“激活”的。那么,假如用户不会“激活”,就会导致,大致相同的问题,大模型可能就给出错误的答案。
解决的办法有两个:第一,用户学着“激活”大模型,即学会编写能让大模型发挥最大作用的提示词;第二,让大模型在工作流程上完善,比如增加系统提示词,将系统提示词和用户提示词合并在一起交给大模型。或者先让大模型根据用户提问,生成一个更完整的提问,然后再交给大模型给出最终答案。