提示工程 · 任务拆解

复杂任务:拆解、计算与验证

保留逐步指导的实用方法,同时区分可检查的计算依据与模型私有思维链,并用水桶问题演示怎样复核答案。

为什么复杂任务容易出错?

想象一下,当我们突然被人喊去处理一个复杂问题,如果不加思索,直接说出答案,我们的表现能好到哪里去?

大概率会出错。

如果开始之前先看清问题,确认条件,再一步一步处理,结果通常会更可靠。

对大语言模型来说也一样。

这里有一点需要注意:我们不需要要求模型公开完整的私有思维链,也不能把一大段“我正在思考”的文字当成答案正确的证明。

我们真正需要的,是人可以检查的内容:使用了哪些条件、采用什么公式或依据、必要的中间结果是什么,以及最后的答案。

先看一个简单问题

科比和乔丹是否来自同一个国家?
请直接回答,并给出一句可以核对的依据。

这个问题并不复杂。科比和乔丹都来自美国,所以他们来自同一个国家。

对于这种简单问题,把答案和必要的事实依据说清楚就够了。没有必要为了显得认真,写一大段过程。

那如果问题稍微绕一点呢?

再看一个复杂一点的问题

三个人三天喝了三桶水。
假设每个人每天喝水量相同,九个人九天喝多少桶水?
请直接给出答案。

如果只盯着“三、三、三”和“九、九”,很容易按表面的数字凭感觉回答。

真的是这样吗?

我们先自己算一下。

三个人喝三天,一共是 9 人天。三桶水除以 9 人天,每个人每天喝 1/3 桶。

九个人喝九天,一共是 81 人天。再乘以每人每天 1/3 桶,最后是 27 桶。

所以,直接按表面的数字换算是不对的,正确答案是 27 桶。

给出关键路径

面对这种题,只告诉模型“认真想一想”,不一定有用。

就像我们面对一个什么都能干的实习生。他处理一个复杂问题怎么都弄不好,并不是完全没有能力,而是不知道应该先看什么、再算什么。

这时候,我们需要给他一点关键指导。

可以把 Prompt 改成:

请计算下面的问题:

三个人三天喝了三桶水。假设每个人每天喝水量相同,九个人九天喝多少桶水?

请按下面的关键步骤计算:
1. 先计算三个人三天一共有多少人天;
2. 再计算每个人每天喝多少桶;
3. 计算九个人九天一共有多少人天;
4. 最后计算总用量。

请给出核对答案所需的公式和中间结果,再单独写出最终答案。
不要输出完整的内部思维过程。

可以检查的结果是:

原场景总人天数:3 × 3 = 9 人天
每人每天用量:3 ÷ 9 = 1/3 桶
目标场景总人天数:9 × 9 = 81 人天
总用量:81 × 1/3 = 27 桶

答案:27 桶

这里真正有帮助的,是把关键路径指出来,并让公式和中间结果可以被复核。

把计算依据和最终答案分开

为什么要把两部分分开?

因为我们既想快速看到答案,也需要在有疑问的时候回头检查依据。

但“可检查的计算依据”不等于模型的完整私有思维链。对于这道题,3 × 3 = 9 人天、3 ÷ 9 = 1/3 桶 和 81 × 1/3 = 27 桶 已经足够核对。

最后别忘了,模型把步骤写得很完整,也不代表一定正确。计算题可以再用计算器或代码复核一次,事实问题则要回到原始来源确认。

简单问题,把答案和必要依据说清楚。

复杂问题,给出关键路径,再把可以检查的依据和最终答案分开。

上一章: 善用 XML 标签

回到导读: 什么是 Prompt Engineering?

Luffy Liu
Luffy Liu

Independent product builder · AI, agents and real workflows.