在前面的文章中,我们一起学习了将提示词分解成模块化组件和上下文学习以提高AI大模型反馈能力。虽然这些方法适用于许多场景,但对于高度复杂的应用场景可能并不可行。因此,本文我们一起继续学习链式提示的技巧。
其实,基于Transformer架构的AI大模型,本质上,都是根据提示词把逐步把每一次输出的token作为新的输入,迭代来生成最终输出的。如图(仅做示意,具体生成token步骤不一定完全一致):

从这个大模型生成的本质,我们可以看到,如果对于比较复杂的情况,仅仅从一个简单的提示词开始生成,那么可能非常多步骤之后,生成的内容很大可能就偏离目标比较远了。
因此,对于比较复杂的问题,我们可以对问题进行拆解,分步骤地让大模型进行生成回答,然后再将确认的回答作为新的提示词,继续输入给大模型,从而创建一个连续的交互链来解决我们的问题。这也是小龙虾(Openclaw)、Hermes这类Agent实现时重要的LangChain核心架构。虽然这些Agent帮我们做了一定程度的链式分解,但对于非常复杂的问题,我们在更高层次上进行链式分解,会取得更好的效果。
为了说明这一点,假设我们想要让AI帮忙写一本书。我们可以提供核心观点、主要思想、总体字数等内容后,要求AI一次性完成这些任务。但我们可以将问题分解成几个步骤,分步逐步实施,每一次的结果作为下一次的输入(像小龙虾这些Agent自动帮我们做了这一个工作)迭代推进。

这样,我们就获得了一个工作流水线(pipeline),在每步的产出中,我们也可以对AI的输出结果进行确认、纠正等交互,把最终得到的理想的输出作为下一步的输入继续,从而最终得到更理想的整体结果。
夜雨聆风