ACL 2025 | 大模型提示词不是「随便写」!

点击下方卡片,关注“大模型没那么大”公众号

戳我 -> 获取大模型巨卷干货

今天大模型没那么大为大家分享一篇中稿ACL 2025的大模型相关论文,本文围绕LLM中提示词设计的重要性及工作原理展开,通过分析提示搜索空间的复杂性,为大模型提示工程提供了理论基础。如果您有相关工作需要分享,请在文末联系我们!

论文作者:Xiang Zhang等

作者单位:University of British Columbia等

论文链接:https://arxiv.org/pdf/2503.10084

AI 的「聪明病」与「思维堵车」

现在的大语言模型(比如GPT-4)很厉害,能回答问题、写文章,甚至做简单的逻辑题,在很多需要知识记忆的任务上几乎和人做得一样好。但它有个大问题:复杂推理能力不行。比如,让它计算“1+2+3+…+100”这样需要分步推导的问题,或者解决类似“骑士周游”(在棋盘上让骑士不重复走完所有格子)的逻辑题时,它经常出错。

为什么会这样呢?

图2:(a) 单纯的CoT中,模型为循环计算生成自身的步骤模板。这种提示模板可能不正确或非最优,导致任务失败。(b) 通过提示工程与设计,CoT框架下的任务性能可得到有效引导。(c) 当不使用CoT时,模型仅依赖Transformer架构的内部推理。(d) Transformer仅能执行固定深度的顺序计算。

因为这些模型的“大脑”——Transformer架构——有个天生的缺陷:只能做固定深度的计算。就像一个学生只能按固定的步骤做简单题,遇到需要反复推导、层层深入的难题就卡住了。比如,Transformer在处理长序列时,注意力机制只能“平行”处理信息,无法像人类一样“递归”思考(图2最右侧)。

为了弥补这个缺陷,研究者发明了“思维链”(Chain of Thought, CoT)技术。简单来说,就是让模型把思考过程外化成文字步骤,比如“第一步,计算1+2=3;第二步,用3+3=6;第三步……”,通过这种方式模拟递归计算。

举个例子:

如果让模型计算“今天是星期一,30天后是星期几”,传统Transformer可能直接猜答案,而CoT会引导模型先算“30除以7余2,所以星期一加2天是星期三”。这样一步步写出来,模型就能利用文字作为“中间记忆”,突破固定深度的限制。

但问题来了:

大部分CoT方法都用通用提示,比如“请逐步思考”,然后让模型自己决定怎么分步。这就像给学生一道题却不教方法,让他自己摸索——虽然有可能做对,但效率低、容易错。比如,模型可能在需要“深度优先搜索”的问题上错误地用了“广度优先”的步骤,导致绕弯路或算错(图2最左侧)。

本文的核心观点是:提示不是随便写的一句话,而是引导模型提取关键信息的‘选择器’

  • 提示空间 vs. 答案空间

    • 提示空间:模型的“隐藏状态”(可以理解为大脑中的潜意识信息)包含很多内容,比如计算时的中间结果、条件判断的标志位等。提示的作用是从这些信息中选出与任务相关的部分,比如在计算余数时,提示需要“提取当前余数”而不是其他无关数据。

    • 答案空间:选对提示后,模型才能在正确的路径上搜索答案。比如,计算星期几的问题中,正确提示会引导模型关注“余数”和“周期循环”,而错误提示可能让它纠结于“今天的天气”等无关信息,导致答案空间混乱。

  • 为什么通用提示不够好?

    像“逐步思考”这样的通用提示,相当于让模型在一个巨大的“提示超市”里盲目挑选工具。比如,同样是数学题,有的需要分步加减,有的需要找规律,通用提示无法针对具体任务优化步骤,导致模型可能选到低效甚至错误的方法。

    实验证明:用精心设计的任务特定提示(比如“先计算总天数除以7的余数”),模型准确率能提升50%以上,而用次优提示(比如“先列出所有日期”)则会导致性能大幅下降。

一个简单比喻:提示就像导航路线。想象你要从北京开车去上海:

  • 通用提示:相当于只说“出发吧”,让司机自己选路线,可能走高速、国道,甚至绕路,耗时又容易错。

  • 最优提示:相当于导航APP规划的最短高速路线,每个路口都明确指引,高效直达。

  • 次优提示:相当于故意绕路的路线,比如先去天津再南下,虽然能到但浪费时间,甚至可能迷路。

本文通过数学分析和实验证明,提示设计是决定CoT效果的关键。好的提示能让模型在复杂任务中少走弯路,而盲目依赖通用提示会让它在“思维迷宫”里打转。这也解释了为什么有时候你觉得模型“很笨”——可能只是因为没给它正确的“导航提示”。

本文的主要贡献如下:

  1. 提示工程理论框架
    提供了一个理论框架,用于解释为什么某些提示(prompts)在Chain-of-Thought(CoT)推理中有效,而另一些则无效。该框架将提示视为“选择器”,从模型的全隐藏状态中提取特定任务相关的信息。

  2. 揭示提示的作用机制
    研究表明,每个提示定义了答案空间中的独特轨迹,而这一轨迹的选择对任务性能和后续答案空间的导航至关重要。

  3. 分析提示空间的复杂性
    文章分析了寻找最优提示的复杂性,并探讨了特定任务下提示空间的大小,为理解提示设计的难度提供了理论依据。

  4. 批判通用CoT提示的局限性
    文章指出,通用的CoT提示(如“think step by step”)可能严重限制模型性能,因为这种自我引导的提示方式迫使模型在庞大的提示空间中盲目搜索。

  5. 实验验证与性能提升
    通过实验证明,优化提示搜索可以在推理任务上带来超过50%的性能提升,验证了理论框架的实用性。

回顾思维链技术:为什么分步思考能让AI变聪明?

你有没有想过,为什么大语言模型(比如ChatGPT)有时候能解数学题,有时候却会“犯蠢”?其实,这和它们的“大脑结构”——Transformer架构——密切相关。本章通过对比传统模型和CoT的机制,揭示分步思考背后的核心原理。

1. Transformer的致命短板:不会“回头想”的直线型大脑

图3:CoT如何近似循环计算。

Transformer是大语言模型的底层架构,它很擅长处理文字的“平行关系”(比如分析一句话中每个词的关联),但有个致命缺点:无法进行递归计算

  • 什么是递归计算?

    简单说,就是“用前一步的结果指导下一步”的循环思考(图3.a)。比如计算斐波那契数列(第n项=第n-1项+第n-2项),需要不断用已算出的数值推导下一个数。

  • Transformer的困境

    Transformer的每一层计算都是固定的,隐藏状态(可以理解为“思考记忆”)只会在层与层之间传递,不会在“时间维度”上循环利用(图3.b)。就像一个人做算术时,每次都要从头开始算,不能记住中间结果🔄。

    举例:让Transformer计算“1+2+3+…+100”,它可能会把每一步的加法都当作独立计算,而不是用前一步的和继续累加,导致计算量爆炸💥。

2. 人类推理的本质:一步一步“搭积木”

人类解决复杂问题时,总是分步骤进行的。比如:

  • 计数任务:数苹果时,我们会在心里默数“1、2、3…”,每数一个就更新当前总数;

  • 下棋:每走一步都要记住当前棋盘状态,再思考下一步策略。

这些过程都有一个共同点:需要依赖前一步的中间结果,逐步构建最终答案(图3.b和图1最右侧)。这种“序列深度”是解决复杂问题的关键,而Transformer的固定深度架构天生缺乏这种能力📏。

3. CoT如何让AI“学会递归”?

CoT的核心思想是:把Transformer无法在内部完成的递归计算,“外包”到文本空间。具体来说:

  • 用文字记录中间状态

    当模型被提示“分步思考”时,它会把隐藏状态中的关键信息(比如计数器、棋盘布局)转化为自然语言文本(图3.c和图5)。

图5:CoT仅从隐藏状态h中提取部分信息,而提取哪些信息由提示模板决定。

  • 将文本再转化为思考记忆

    这些文本会被重新输入模型,作为下一步计算的依据,相当于在Transformer外部模拟了“隐藏状态的递归更新”。就像我们在纸上列算式,用文字辅助大脑记忆一样✍️。

    公式化表达

    隐藏状态 提取信息 提示词 文本步骤 转化为向量 模型处理 新隐藏状态

    即文中下式:

    这个过程让Transformer从“一次性计算”变成“循环迭代”(图4),理论上能实现类似递归神经网络(RNN)的深度推理能力。

图4:循环模型与自回归模型中的计算信息流

4. CoT的局限性:文本空间的“信息压缩”

虽然CoT很强大,但它也有缺陷:每次只能从隐藏状态中提取有限的信息

  • 信息丢失问题

    隐藏状态可能包含数千维的信息(比如棋盘的所有可能状态),但文本步骤只能表达其中一小部分(如当前位置和下一步方向)。这种“压缩”可能导致关键信息丢失,影响推理准确性📉。

  • 提示词的关键作用

    如何从隐藏状态中提取最关键的信息?这取决于提示词的设计。例如,在计数任务中,提示词需要明确要求“输出当前计数结果”,而不是无关的细节(如“当前数字的字体颜色”)🎯。

思维链的「双重宇宙」:提示空间和答案空间

你有没有发现,同样的问题,不同的提问方式会让AI给出截然不同的答案?比如问“如何计算10天后的星期几”,有的提示词让AI秒答“星期三”,有的却让它算出“星期五”。作者揭示了背后的核心原理:提示词决定了AI在两个「平行宇宙」中的行走路径——「提示空间」和「答案空间」

图1:提示模板会影响答案空间的构建和搜索路径。提示空间搜索技术包括Auto-Prompt(Shin等人,2020)、RL-Prompt(Deng等人,2022)等方法,而答案空间搜索则包括ToT(Yao等人,2024)、ReST-MCTS∗(Zhang等人,2024a)。

1. 两个关键概念:提示空间 vs. 答案空间

  • 提示空间(Prompt Space)

图6:每个提示决定了思维链(CoT)过程中信息语言化的一种方式。提示空间的复杂度基于从隐藏状态h到非答案标记o的潜在信息语言化进行计算。

这是AI大脑里的「信息超市」,存储着所有可能的「思考角度」。比如在计算星期几的问题中,提示空间包含“算余数”“列日期表”“查日历API”等无数种潜在思路。

本质:提示空间是从AI隐藏状态(h)中提取信息的所有可能方式的集合,就像从图书馆书架上选择不同的书🔖。

  • 答案空间(Answer Space)

图7:思维链(CoT)空间的可视化示意图,针对给定问题将其分解为提示空间和答案空间。从提示空间中选择的提示(左)会影响答案空间中的答案导航(右)。

这是AI为解决问题而探索的「路径迷宫」。比如计算星期几的答案空间包含从“今天”开始往后数10天的所有可能路径,正确路径只有一条(10÷7余3,今天+3天),错误路径可能有千万条(如误算余数为2)。

2. 提示词如何「剪裁」AI的思考路径?

提示词的作用就像一把「剪刀」,从提示空间中裁剪出一条特定的信息提取路径,进而影响答案空间的搜索效率。

  • 案例:国际象棋棋盘推理

    • 最优提示:“每步输出当前棋盘布局”

      ✅ 从提示空间中提取“棋盘状态”信息,AI能递归更新棋盘,正确推导下一步走法。

    • 次优提示:“每步输出棋子总数”

      ❌ 提取的“棋子总数”与走法无关,AI无法跟踪具体位置,答案空间变成随机猜测🎲。

  • 数学本质

    假设AI的隐藏状态包含n位信息(如棋盘的所有位置、棋子类型等),每次提示只能提取s位关键信息(如当前位置坐标),则提示空间的复杂度为组合数**C(n, s)**。这意味着,当n很大时(如复杂任务),穷举所有提示可能比登天还难🧮!

3. 通用提示为什么「坑AI」?

大多数人习惯用“请逐步思考”这样的通用提示,但这相当于让AI在提示空间中「裸奔」——没有导航,全靠运气。

  • 问题1:信息提取混乱

    通用提示不指定提取什么信息,AI可能在隐藏状态中随机抓取无关数据。比如计算“偶数对数量”时,它可能错误提取“字母颜色”而非“相邻字母组合”🔤。

  • 问题2:答案空间爆炸

    没有提示引导时,AI需要在答案空间中尝试所有可能路径。例如,解一道需要10步推理的题,可能的路径数超过10亿条,计算量呈指数级增长💥!

实验数据:在“循环导航”任务中,通用提示的准确率仅78%,而最优提示能达到100%——差距源于是否精准提取“当前位置”信息📊。

4. 如何用提示词「缩小包围圈」?

好的提示词能像“聚光灯”一样,将AI的注意力集中到关键信息上,大幅缩小答案空间的搜索范围。

  • 步骤1:明确任务的「核心变量」

    例如,“奇偶校验”任务的核心变量是“目标字母的计数”,提示词应直接要求“初始化计数器并逐一枚举”,而非泛泛而谈“仔细检查”✅。

  • 步骤2:强制输出关键中间结果

    提示词应要求AI将中间变量(如计数器数值、棋盘坐标)显性化。例如:“第1步:当前计数为0;第2步:遇到字母a,计数+1,当前计数为1”📝。

  • 效果:通过这种方式,答案空间的复杂度从“指数级”骤降至“线性级”,AI的推理效率提升数百倍⚡!

5. 次优提示的「温柔陷阱」**

有些提示词看似正确,实则低效,甚至导致错误。

  • 案例:反转列表任务

    • 最优提示:“从后往前逐个提取字母”

      ✅ 直接命中反转逻辑,一步到位。

    • 次优提示:“每次将首字母移到末尾”

      ❌ 需要n次移动(n为列表长度),当n=20时,计算量增加20倍,且容易因中间步骤错误导致结果偏差🔄。

本质:次优提示可能引导AI走“远路”,甚至陷入“死循环”——就像用筷子夹豌豆,虽然能做到,但效率远低于用勺子🥄。

戳我 -> 获取大模型巨卷干货

实验现场:AI 用错提示词有多离谱?

作者通过实验验证了提示设计对大语言模型(LLMs)推理性能的关键影响,揭示了有监督提示(尤其是最优提示)在提升CoT(思维链)效果中的核心作用。以下是核心内容总结:

实验设计

1. 任务选择

聚焦于三类推理任务(按计算复杂度递增):

  • 正则任务(R):如奇偶校验、循环导航(需基础递归)。

  • 上下文无关任务(CF):如栈操作、列表反转(需中层结构推理)。

  • 上下文敏感任务(CS):如排序、回文验证(需高层语义理解)。

2. 关键变量
  • 提示类型

    • 无CoT:禁止中间步骤,直接输出答案。

    • 无监督CoT:通用提示「Think step by step」。

    • 有监督CoT(最优提示):人工设计的任务专属提示(如「初始化计数器并逐一枚举」)。

    • 次优提示:逻辑正确但非最优的提示(如「先判断奇偶再计数」)。

  • 模型与工具:使用GPT-4o系列模型,排除外部工具干扰,聚焦纯文本推理。

3. 控制变量
  • 输入格式:采用「列表化」输入(如["a", "b", "c"]),避免标记化误差(如BPE合并字符导致的信息丢失)。

  • 长度敏感性:根据任务复杂度设置输入长度(如正则任务最长35步,CS任务最长70步),避免因过长导致的「记忆崩塌」。

核心发现:提示设计决定推理的「生死存亡」

1. 递归计算是推理的「生命线」

表1:每个单元格使用gpt-4o-classic Web版本在50个实例上生成的结果。对于不使用思维链(CoT)的大语言模型(LLMs),通过提示明确禁止中间步骤。“有监督”是指我们提供最优提示模板的情况。“有监督-SUB”是指提供正确但次优的步骤模板,模拟大语言模型在提示空间导航中做出较差选择并推导出较差步骤模板的场景。循环神经网络(RNN)、磁带循环神经网络(Tape-RNN)和Transformer的结果来自先前研究(Delétang等人,2022)以供参考。实验设置的差异在附录B中有详细说明。

  • 无CoT的Transformer模型:在所有任务中表现极差(准确率普遍低于30%),因无法处理递归步骤。

  • 有CoT的LLMs:准确率显著提升(平均+60%),证明CoT通过模拟递归突破了架构限制。

    • 案例:在「奇偶校验」任务中,无CoT准确率仅22%,有CoT提升至96%🔵。

2. 最优提示 vs. 通用提示:差距高达50%+

表2:执行每个任务时的思维链(CoT)变体。每个任务使用表1中的前两个字母命名。

  • 有监督CoT(最优提示)

    • 在正则任务中准确率接近100%(如「循环导航」达100%);

    • 在CS任务中提升显著(如「排序」从无监督CoT的62%提升至94%)。

  • 无监督CoT(通用提示)

    • 依赖模型「自学」提取信息,准确率波动大(如「栈操作」仅92%,低于最优提示的96%)。

  • 关键结论任务专属提示能引导模型精准提取关键信息,而通用提示依赖「运气」

3. 次优提示的「隐性成本」
  • 性能暴跌:次优提示导致准确率大幅下降,甚至接近无CoT水平。

    • 案例:在「循环导航」任务中,次优提示使准确率从100%骤降至26%,因提示引导模型记录冗余信息(如「已走步数」)而非关键状态(如「当前位置」)。

  • 错误模式

    • 信息冗余:输出无关中间结果,占用上下文空间(类似人类思考时记流水账);

    • 递归断裂:无法形成有效状态更新链,导致推理中断(如计数任务中漏记关键步骤)。

三、CoT变体的局限性:无法挽救「方向错误」

1. ToT(树思维)与GoT(图思维)的效果
  • 提升有限:在无监督场景下,ToT/GoT仅比普通CoT提升5%-10%(如「循环导航」从78%→92%),因未解决提示空间的根本缺陷。

  • 依赖提示质量:若提示本身次优,变体无法纠正方向。例如,在次优提示下,ToT的多路径搜索反而加剧混乱(如「列表反转」任务中准确率从38%→16%)。

2. 本质原因
  • 变体作用域:ToT/GoT仅优化答案空间的搜索效率(如剪枝、回溯),但无法改变提示空间的信息提取方式。

  • 类比说明

    • 最优提示:相当于选对了「地图」,变体是「优化路线」;

    • 次优提示:相当于拿错了「地图」,变体再怎么导航也到不了终点。

实验启示:如何用提示「驯服」AI?

1. 提示设计的「三不要原则」
  • 不要模糊:避免「请仔细思考」,改用「请按步骤X、Y、Z执行」;

  • 不要冗余:每步只提取1-2个关键变量(如「当前计数」而非「计数+时间+颜色」);

  • 不要假设:明确指定中间结果格式(如「输出为JSON:{"count": 5}」),避免模型自由发挥。

2. 普通人的「提示急救包」
  • 模板公式

    [任务指令] +  
    1. [关键步骤1:提取变量A]  
    2. [关键步骤2:基于变量A计算变量B]  
    3. [重复直至输出结果]
  • 示例:计算星期几

    计算X天后的星期几:  
    1. 计算X ÷ 7的余数N;  
    2. 从今天星期Y开始,往后数N天;  
    3. 输出结果。
3. 警惕「正确但低效」的陷阱
  • 验证方法:对比不同提示的「推理步数」和「错误率」。例如,次优提示可能使步数增加3倍,错误率上升40%。

选择任务的最佳提示

核心观点

  • 提示的本质作用

    有效提示是信息“选择器”,其核心功能是从模型的隐藏状态 ( h ) 中提取与任务最相关的关键信息,并转化为文本形式的中间步骤 ( o ),以指导后续计算。隐藏状态 ( h ) 包含任务相关和无关的混合信号,提示需精准筛选出对推理最关键的 ( s ) 位信息,同时舍弃冗余内容。

  • 最优提示的设计原则

  1. 明确指定中间步骤:每个CoT步骤应输出任务相关变量的摘要,例如在计数任务中明确要求输出当前计数值。

  2. 对齐隐藏状态的关键信息:提示需与任务所需的 ( h ) 中最具信息量的部分对齐。例如,在棋盘状态模拟任务中,提示应要求提取“当前棋盘布局”而非无关信息(如“玩家顺序”)。

  3. 避免信息冗余:次优提示可能引入无关信息或冗余步骤,导致推理路径偏离最优解,例如在反转列表任务中,错误提示可能引导模型重复移动元素而非直接反转顺序。

结语

本研究揭示了提示如何在思维链提示中塑造推理过程。通过分析提示空间与答案空间的相互作用,作者发现提示充当了从模型内部状态中选择任务相关信息的角色。研究结果表明,提示设计并非辅助性的,而是CoT有效性的核心——提示结构的微小变化可能导致性能的巨大差异。这为理解和改进基于提示的大语言模型推理提供了理论基础。

局限:研究主要集中在简单推理任务上,在这些任务中,作者发现使用最优模板(正确的人工引导)的CoT显著提高了性能。尽管这些发现可能推广到更复杂的推理任务,因为它们基于相似的基本原理,但由于资源限制和需要专业领域知识,无法直接验证这一点。同样,尽管在有限的模型集上进行了测试,但主流大语言模型训练和设计原则的通用性表明,这一发现可以推广到其他语言模型。未来的工作可以通过将范围扩展到更复杂的推理任务和更广泛的模型来验证这些假设。

知识星球交流社区

我们创建了一个全新的学习社区 —— “大模型没那么大”知识星球,希望能够帮你把复杂的东西拆开,揉碎,整合,帮你快速打通从0到1的技术路径。 。星球内容包含:每日大模型相关论文/技术报告更新、各种分类汇总(开源repo、大模型预训练、后训练、知识蒸馏、剪枝、量化)、科研/办公助手、AI创作工具/产品测评、升学&求职&岗位推荐,等等。星球成员平均每天花费不到0.3元,欢迎扫码加入一起学习一起卷!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值