谷歌研究揭秘:重复提示词如何显著提升大语言模型准确率76%
在接触了众多企业后,我不得不正视一个普遍现象:许多人在撰写提示词(Prompt)方面存在明显不足。当提示词本身撰写不当或结构混乱时,期望大型语言模型(LLM)能够输出高质量的结果,无疑是极其困难的。尤其在处理复杂任务时,精心设计提示词的挑战性会急剧上升。有一个说法非常贴切地描述了这种转变:
大型语言模型将传统编程中复杂的逻辑处理,转移到了提示词的编写上。复杂性并未消失,它只是转移了阵地。
为了在大模型的提示工程这一复杂领域内提升其表现,我们发展出了各式各样的高级技巧。从思维链(CoT)到角色扮演,再到少样本示例(Few-shot)等,这些方法在实践中都被证明是行之有效的。
然而,Google Research 近期发布的一项新研究却提出了一个颠覆性的观点:或许我们把事情想得过于复杂了。研究指出,有时候,仅仅将问题重复一遍,就能让模型的表现变得更加“聪明”。
这项名为《Prompt Repetition Improves Non-Reasoning LLMs》的研究结论初看之下令人匪夷所思,但数据本身极具说服力。研究显示,在那些不需要模型进行链式推理的任务中,仅仅通过复制并重复输入提示词,某些模型的准确率就从21% 大幅跃升至 97%,提升幅度高达惊人的 76 个百分点。这一发现着实令人惊叹。

更值得注意的是,在研究者测试的共计 70 组不同的模型与任务组合中,这个看似简单的技巧取得了 47 胜 0 负 的压倒性战绩,从未导致模型性能下降。
如此显著的效果不禁让人深思:“简单重复”竟然能成为一种有效的优化策略,其背后的原理究竟是什么?本文将深入剖析这一技巧的工作机制,并进一步探讨提示词在现代大型语言模型中的核心作用及其实用方法。
提示词技巧:与大模型对话的核心
在不对模型进行任何内部修改(微调或训练)的前提下,提示词是我们与模型进行交互的唯一途径。我们输入的任何一段文字、一个问题或一条指令,都构成了所谓的“提示词”。

你可以将提示词理解为向模型下达的一份 “任务说明书” :它清晰地定义了用户希望模型执行的具体操作。这种特性主要源于指令微调(Instruction Tuning)的训练方式,使得模型学会了识别并遵从各种形式的指令提示来生成回应。
因此,我们可以通过精心设计不同的提示词,来有效地引导和塑造模型的行为输出。针对不同的任务类型,提示词的设计侧重点也应有所不同。无论是要求模型回答问题、生成创意故事,还是遵循特定格式与语气风格,不同类型的提示词策略会产生差异化的效果:
- 指令型提示:直接、明确地下达任务指令,例如“请用一句话总结上述段落”或“将以下文本翻译成英文”。模型会根据这条清晰的指令执行操作。
- 情景/角色提示:为模型设定一个特定的身份或场景,使其从该视角出发进行回答。例如“假设你是一位资深的历史学家,请解释一下……”。这种角色扮演能显著影响回答的风格与内容深度。
- 示例型提示(Few-shot):在提出核心问题之前,提供若干组示例(问答对或操作步骤),让模型通过类比学习来理解任务要求。
- 思维链提示(CoT):引导模型在输出最终答案前,展示其内部的推理过程。例如在问题后附加“请逐步思考并给出答案”,或直接提供示范性的推理步骤。
- 格式要求提示:在提示中明确指定输出格式,例如要求模型以列表、表格、JSON 或特定代码结构进行输出。
- ……
以上是实际应用场景中必然会接触到的核心提示词技巧。然而,Google 的这一新发现提醒我们,有时最简单、最直接的提示修改,反而可能带来最出人意料的效果提升。
神奇的提示词重复:弥补因果盲点的简单技巧
在深入探讨“提示词重复”这一神奇技巧之前,我们有必要先理解当前主流大语言模型的一个固有架构局限。目前大多数先进的 LLM 都属于因果语言模型,这意味着它们处理文本的顺序是严格从左到右的。
当模型在“阅读”我们输入的提示时,它每处理下一个词元(Token),都只能“看到”其左侧已经出现的所有内容,而对于右侧尚未出现的词元则一无所知。
换言之,模型对提示的解读是单向的,信息呈现的先后顺序会严重影响它对任务意图的理解精度。
举例来说,如果我们的提示结构是:
<背景信息>
<具体问题>
模型会先读到背景,再看到问题。但如果顺序颠倒:
<具体问题>
<背景信息>
那么,当模型开始处理问题时,它并不知道后面还有关键的背景信息作为补充,很可能会倾向于基于不完整的信息直接生成答案。等到它读完全部提示(包括背景)时,可能已经生成了一部分前后不一致的回答。这种因注意力机制单向性而导致的信息利用不充分现象,被研究者形象地称为 “因果盲点”。
对于简单任务,顺序的影响或许微乎其微。但在涉及复杂提示的场景中——例如包含冗长背景说明的问题,或是选项在前、题目在后的选择题——提示信息的排列顺序就成为了决定模型表现的关键因素之一。
这就对我们的提示工程设计提出了挑战:究竟是先提供背景知识再提问,还是先抛出问题再补充信息?不同的排列组合可能导致输出质量的巨大差异,其根源就在于因果模型无法“预知”未来的文本,只能顺序地利用已读信息。
由此可见,这本质上是模型架构所带来的特定理解瓶颈。
理解了“因果盲点”,你或许已经猜到“提示词重复”旨在解决的正是这个问题。没错,这个看似简单粗暴的技巧,其本质正是为了弥补单向注意力机制带来的信息理解不足。那么,它具体是如何实现的呢?
提示词重复的工作原理揭秘
研究者提出的“提示词重复”方法,其描述异常简单:将输入的整段提示词完整地重复一次,然后再提交给模型。用形式化的方式表达,就是将原始输入从:
“<QUERY>”
转变为:
“<QUERY><QUERY>”
也就是说,如果你原本打算询问模型一个问题,现在只需将同一个问题再粘贴一遍,合并为一条请求发送。
正是这样一个看似“笨拙”的操作,在那些不要求模型进行复杂推理(Non-Reasoning) 的任务上,带来了显著的性能提升。许多同行在初次看到论文结论时,反应与我如出一辙:“这也太离谱了吧?这么简单的方法居然如此有效!”然而,仔细推敲之下,其背后的原理实则非常精妙。
打破单向理解的限制
重复提示词为模型提供了一次 “回顾” 的机会。当完整的提示内容被重复两遍时,模型在处理第二遍内容的过程中,相当于已经“预先”读过了第一遍的全部信息。
这意味着,第二遍提示中的每一个词元,都可以通过注意力机制,“看到”第一遍提示中的所有内容。形象地比喻,模型第一次阅读提示时可能理解得不够透彻,但当它第二次阅读时,就如同拥有了“全局视野”,可以参考之前完整的上下文来更精确地解析问题。这有效地弥补了“因果盲点”:第二遍的阅读过程为模型模拟出了一种类似双向注意力的效果。
举例来说,过去我们可能这样提问模型:
从成都自驾到北京,沿途有哪些值得推荐的景点?
应用提示词重复技巧后,我们则在单次请求中输入:
从成都自驾到北京,沿途有哪些值得推荐的景点?
从成都自驾到北京,沿途有哪些值得推荐的景点?
模型在处理第二遍提问时,实际上已经完整地“预览”过整个问题一次,因此更有可能激活相关的知识或提高回答的准确性与完整性。这个过程无需我们提供任何额外的新信息,仅仅是通过重复关键信息来强化模型的注意与理解深度。
需要明确的是,重复提示主要适用于不要求模型输出详细逐步推理过程的场景。对于那些本就期望获得链式思考、分步解释答案的任务,我们通常会采用思维链(CoT)等更高级的技巧,而非追求直接答案。
从单向理解到自我辩驳:提升答案的鲁棒性
重复提示词可以有效改善模型对输入信息的接收与理解质量,解决因“因果盲点”导致的误判。然而,与大型语言模型交互的复杂性不止于此。很多时候,即便输入被模型充分理解了,其一次性生成的答案也未必是完全可靠或最优的。
这就引出了提示工程中另一个至关重要的维度:如何引导模型进行更深入、更严谨的自我审查,从而显著提升最终答案的准确性与鲁棒性。
在这方面,“角色反转提示”是我在实践中认为效果颇为显著的技巧之一。当前主流大模型通常被训练为一次性生成流畅且自信的回答,但这种模式存在一个固有缺陷:模型倾向于沿着统计概率最高的路径生成连贯文本,而不会主动暂停以质疑自身的推理过程、验证潜在假设或审视答案的边界条件。
其结果往往是,一个表面逻辑通顺、表述清晰的回答,可能隐藏着不易察觉的逻辑漏洞,或未充分考虑某些异常情况。此时,自我辩驳类提示词就派上了用场。
角色反转提示的操作极为直接:在模型给出初始答案后,要求它转换身份,从一位“解答者”转变为一位“批判者”。这与经典的“六顶思考帽”思维框架有异曲同工之妙。
具体而言,即指示模型以对立或评审的视角,专门针对自己刚才给出的答案进行系统性地质疑和攻击。这一过程激活了模型内部通常被压制的“对抗性思维”模式。
当任务目标从“生成一个答案”转变为“找出这个答案的弱点”时,模型会调用不同的知识关联与推理路径,从而更有可能实现以下目标:
- 发现答案所依赖的、未明确陈述的前提假设。
- 思考是否存在其他同样合理的推理方向或解释。
- 识别出可能导致当前解决方案失效的边界场景或极端案例。
- 审视推理链条中是否存在逻辑跳跃或脆弱的论证环节。
基于这些自我批评的反馈,我们可以进一步要求模型修订其初始答案,整合新的洞察,最终产出一个更加周密、可靠且经得起推敲的结果。
可以看出,所有这类引导模型进行多轮审视与思考的策略,本质上都是一种 “以计算资源(Token)换取结果稳定性” 的权衡策略。
根据我的实际测试经验,其效果可以概括为:对于模型原本具备相关知识但可能因粗心而出错的任务,它能有效纠偏;但对于模型知识边界之外或完全不会的任务,则收效甚微。
这好比解一道数学题:若因疏忽算错,经提示后可以改正;但若题目本身超出能力范围,则无论如何提示也无法得出正确答案。
以下是一个简单的应用案例指令示例:
现在,请切换你的角色:你是一位极其挑剔的学术审稿人或红队评估专家。
你的核心目标是:尽最大可能挑战并证伪你自己刚才给出的回答。
请按照以下要求进行批判:
1) 指出你刚才回答中最脆弱的3个论点或假设(每个点都必须具体,避免泛泛而谈)。
2) 针对每一点,说明你的原答案中隐含了什么样的前提假设。
3) 为每一点构思一个可能导致原结论失败或被推翻的具体场景或反例。
4) 如果存在任何不确定性或信息缺失,请明确指出“不确定之处在哪里”,以及“需要补充何种信息才能做出准确判断”。
结语
本文首先介绍了一项反直觉的提示词研究:有时最简单的操作——重复提示词,反而能带来最显著的性能提升。然而,我们也必须认识到,这一技巧主要针对由模型“因果盲点”引发的一类特定问题。
与大型语言模型进行高效对话的本质,是在其现有架构限制下,通过精巧的外部设计来补偿其在信息理解与复杂推理方面的不足。无论是重复提示、角色反转,还是思维链引导,其核心逻辑都是一致的:即通过各种手段,引导模型进行更充分、更结构化、更多视角的“思考”。
在实际工作中,面对千变万化的具体问题,探索和调试提示词的过程依然充满挑战,需要不断的实践与尝试。但理解这些底层原理与技巧,无疑能为我们设计出更高效、更可靠的AI交互方案提供有力的支撑。