type
status
date
slug
summary
tags
category
icon
password
Description
3.1 核心提示词技术
2020 年 OpenAI 就已经在这篇论文中提到了 Zero-shot, One-shot, Few-shot 这些提示词技术了

其实现在再来看零样本和少样本提示可能会有点摸不着头脑,其实最早在 GPT-3 的时候才展现了少样本提示的能力,也就是在 GPT-2 是无法做到少样本提示就能完成一个该模型未曾训练过的任务,因此在当时少样本甚至是零样本提示是一个非常重要的东西,只不过后续随着模型参数的持续提升,模型的通识能力不断提升,加之零样本和少样本提示太过于符合人类的自然语言使用习惯了,因此已经不是什么很特别的提示词技术了。
所以其实会有一定的认知差异导致新来者看起来云里雾里的,网上有很多文章都是复制来复制去的,很多内容的说法不一定适应 2025 年的今天了,因此我们了解一个技术的时候如果能知道背后的Why, What, How可能会有助于我们更深入了解某个技术,这样在实践中可以更加灵活地结合不同技术达成目标。接下去我们会一起来看看目前比较主流的几种提示词技术,旨在展示提示词的应用,除开我们提及的,还有很多提示词技术,分布在不同的行业和领域,有兴趣的可以自行去查阅扩展学习。
3.1.1 零样本提示(Zero-Shot Prompting)
这个是最简单的了,几乎每个在使用大模型的人都会使用这样的技巧,我觉得大语言模型发展到现在,甚至零样本提示都不能算作是一个技巧了。简单地说,大语言模型经过庞大的语料库训练后,已经有了基本的推理能力,可以完成很多任务而不需要提供任何的样本数据做示例,比如:
将文本分类为中性、负面或正面。文本:嗯,还行吧情感:
输出
中性
这种就是模型本身已经具备了推理你的要求和输入,并且其实我们用
情感:
打头其实也是变相地在做输出提醒,告诉模型应该输出什么类似的内容
3.1.2 多样本提示(Few-Shot Prompting)
继零样本之后就是多样本提示了,这个我相信很多人也使用过,其原理很简单,就是给模型一些示例,这样模型可以参考并模仿,在很多场景下非常有效,比如:
模型输出了
这样其实就是展示了一些示例给模型,模型会参考着来,不过细心的你一定发现,这里其实零样本就可以实现了,也就是
Input: 吃了么?Lang: 英语Output:也会输出一样的结果。这是因为模型的参数量已经大到一定程度,对于一些基础知识是可以直接推理的,我们可以看看这个例子:
Input: 在干嘛?Output: 嘛干在?Input: 没干啥Output: 啥干没Input: 晚上来我家吃饭Output: 饭吃家我来上晚Input: 可以啊,吃什么?Output:模型会输出
么什吃,啊以可?这样是不是比较明显了,模型会参照我们给它的模式来模仿最终的输出,可以看到,我们还不是简单地反转整个句子,而是保留了标点符号的位置,其他文本反转,这种情况模型是有严格参考给它的示例,这就是少样本技巧所在。后续我们可以在各种系统提示词里看到少样本的存在。不过值得一提的是,在 AI Agent 的应用场景下,Few Shot 不一定完全适用,有可能还会帮倒忙,我们可参考Manus 的这篇文章里提到的:
Don't Get Few-ShottedFew-shot prompting
简单说就是,少样本(Few-Shot)在 Agent 系统中,有时会以一种比较微妙的方式起到反作用。

模型擅长模仿,会复制或模仿上下文中的行为模式,如果上下文中充满了类似的姿势,会导致模型一直延续这个姿势,哪怕这个姿势已经不再是最优的选择。这种不断重复想到的姿势或动作可能会让模型往一个错误的方向越走越远。Manus 的解决方法是引入多样性,会在上下文中引入少量结构化的变化:不同的序列化模板、替代说法、顺序或格式上的轻微扰动。这种"受控的随机性"有助于打破模式,重新激活模型的注意力。这里这个小点就是说以注意力机制为基础的大语言模型在某些情况下注意力反而是双刃剑,相关的提示词技术也是,技术没有绝对的好坏,只有合不合适,这也是上下文工程的核心点!
3.1.3 思维链(Chain-Of-Thought Prompting)
2022 年 1 月份 Google Brain 的研究者发布了一篇论文:
,Jason Wei正是这篇论文的首作,但是最终让思维链闻名世界的是 OpenAI,因为 22 年 2 月 Jason Wei 去到了 OpenAI,也就有了后来的推理模型的出现:2024 年 OpenAI 推出 o1,以及后来 2025 年 DeepSeek 推出了 DeepSeek-R1。
思维链的原理是通过提示词让模型在推理的时候不要直接给出答案,而是让其模拟人类进行推理,这样可以让结果的准确性大大提升。也就是模型在产生最终结果之前会有中间推理结果产生,我们可以看到论文里的这个例子

这个例子里的问题如果你发给现在(2025-07)主流的大语言模型,你会发现,压根不需要明确的思维链,模型也可以轻易地解决,这是因为论文发表于 2022 年,3 年过去了,模型的参数和能力持续提升了。但是我们依然可以用 SOTA 模型复刻这个过程,以下是我用 OpenAI 的 4o 来问答:

可以看到,当我们把论文里的问题里的数字提高到一个大数,模型就很难在不推理的情况下一下给出正确答案,第一次我使用
就是防止模型自我进行推理,因为现在模型相对聪明一点,哪怕不是推理模型也会简单地推理演化再给出结果。这边得到的答案是
,实际的答案是
42408123934246812393差一点点就对了,第四位错了,这里其实也可以发现,大语言模型这种基于神经网络推理的模型,还是依赖本身的权重做概率运算,实际上和人类所拥有的推理能力有区别,这也是存在模型是否有自我推理能力和意识之类的较为主观层面的争论持续存在的原因之一。

接下来看看第二次,我们增加了提示词
,这个也是相对常见的触发模型推理的提示词之一

这里我们可以看到,模型一步一步地推理计算,最终得到了4,246,812,393
42468123934246812393这次对了。以上这个简单的例子其实就是展示出模型在思维链 CoT 的加持之下,可以得到一定程度的效果提升。要知道当时提出来的时候是 2022 年,当时推理模型都还没存在,不像我们现在已经对模型推理司空见惯了。随着 CoT 这个概念被提出之后,也有一些发展,在 2022 年 5 月的时候有一篇论文提出了零样本思维链(Zero-Shot CoT)以及在这之后 2022 年 10 月又有一篇论文提出了自动思维链(Auto-CoT),都是在思维链的提示词层面去演进的,前面我们也已经遇到过了,就是通过类似Let's think step by step这种提示词,无需提供样本让模型参考,直接让模型自我推理。现在我们可以看到诸如 OpenAI 的 o1 或 DeepSeek 的 R1 这类推理模型,这类模型自带推理能力,其实是经过一定思考推理数据集进行训练后使得模型自带这个能力的结果,相当于从提示词直接内化到权重里了

这里我们用 o3 进行问答,哪怕我们像前面一样,限定它直接输出结果,它依然还是进行了思考的过程,最终输出一个数字
可以看到结果是正确的,可以看到它的思考推理过程。关于模型训练阶段就拥有推理能力这个说法,这边以 DeepSeek R1 为例稍微展开一下,因为这块已经深入到比较底层,模型层面的研究了,通常是 AI 应用层是接触不到的,不过我们了解一下其原理可以让我们有一个更直观的感受。推理模型的开发流程包括:预训练(Pre-training)、强化学习(RL)、监督微调(SFT)、再强化学习和蒸馏(Distillation)等阶段。通过这篇文章提及的
The RL stage was followed by another round of SFT data collection. In this phase, the most recent model checkpoint was used to generate 600K Chain-of-Thought (CoT) SFT examples, while an additional 200K knowledge-based SFT examples were created using the DeepSeek-V3 base model.
在训练阶段就会通过生成大量包含推理步骤(即 CoT)的 SFT 样本,来做指令微调,强化模型自身的推理能力。我们也可以从SLAM Lab 开源的这份数据看到 SFT 的样本长这样:

id | reannotated_assistant_content重新标注过的助手回答内容(表示这条数据已经由人工或更高级模型重新审核、修改或修订过的助手生成内容) | problem问题 | source数据来源 | solution标准答案或期望的理想回答 |
id_0 | First, I need to determine the total number of children on the playground by adding the number of boys and girls.There are 27 boys and 35 girls.Adding these together: 27 boys + 35 girls = 62 children.Therefore, the total number of children on the playground is 62.To find the total number of children on the playground, we simply add the number of boys and girls together.[\text{Total children} = \text{Number of boys} + \text{Number of girls}]Plugging in the given values:[\text{Total children} = 27 \text{ boys} + 35 \text{ girls} = 62 \text{ children}]Final Answer:[\boxed{62}] | There were 27 boys and 35 girls on the playground at recess. There were _____ children on the playground at recess. | orca_math | There were 62 children on the playground at recess. (27 boys + 35 girls = $\boxed{62}$ children) |
id_1 | First, I need to determine the cost per dozen oranges. John bought three dozen oranges for $28.80, so I can find the cost per dozen by dividing the total cost by the number of dozens.Next, with the cost per dozen known, I can calculate the cost for five dozen oranges by multiplying the cost per dozen by five.Finally, I will present the final answer clearly.Solution:To determine the cost of five dozen oranges at the same rate, follow these steps:1. Find the cost per dozen:John purchased three dozen oranges for $28.80. To find the cost per dozen, divide the total cost by the number of dozens.[\text{Cost per dozen} = \frac{$28.80}{3} = $9.60 \text{ per dozen}]2. Calculate the cost for five dozen:Now, multiply the cost per dozen by the number of dozens needed.[\text{Cost for five dozen} = 5 \times $9.60 = $48.00]3. Final Answer:[\boxed{$48}] | John purchased three dozen oranges for $$$28.80. At the same rate, how much would five dozen of these oranges cost? | synthetic_math | The problem states that John bought three dozen oranges for $$$28.80. To find the cost per dozen, we use the formula:$$ \text{Cost per dozen} = \frac{\text{Total cost}}{\ |
3.1.4 元提示(Meta Prompting)
在2023年11月有篇论文提出了**元提示(Meta Prompting)**的概念,其实简单的说就是利用大语言模型来写提示词,这个技巧是现在最实用的一个技巧,也是新人友好的方式。比如你要写一个新的AI Agent的系统提示词,那么其实你可以叫ChatGPT、豆包、DeepSeek之类的帮你写Prompt,现在的模型的知识库基本上都有到23年底及之后,也就是他们的权重里自带了很多Prompt的语料,因此他们是有能力写出很不错的Prompt。我们看个例子:

我简单表述了一下我的需求:
ChatGPT就输出了:
可以看到是一个比较基础的系统提示词模板了,我们可以进一步调整,比如增加对应的外部工具进去,或者一些PLACEHOLDER用于运行时替换等等。
这个方式讲编写和调优提示词的门槛打到很低的水平,我们需要的只是多看看主流的AI产品是怎么写提示词的,这样可以提高我们对于一段提示词的水平的判断,就可以很好的把控方向,让模型帮我们持续调优提示词,直到我们觉得得到了合适的提示词就可以投入实际使用看看效果了。
3.1.5 思维树(ToT)
2023年5月,思维树(ToT,Tree Of Thoughts)被Shunyu Yao等人提出来了,基于原来的思维链(CoT)进行了总结和提升,使得模型介入中间步骤来解决问题的一个过程。

我们看这张论文里的图,可以看到,ToT其实核心的就是这么几点:
- 并发探索:不是传统的一条路,而是多条路尝试
- 智能评估:用模型来评估结果以决定走哪条路
- 回溯能力:如果发现走错了,死路了,可以退回前面的分支
- 避免局部最优:传统方法可能被第一个看起来不错的选择困住
总体会分为:
- 生成阶段
- 评估阶段
- 选择阶段
整体就是不断循环这3个步骤,直到结束。

这张图我们可以看到,每一次都会生成几个可能,然后分别评估,最终选择最好的最有潜力的几个,继续下去,这样可以不断收窄直到结束。我们可以用一个简单的例子看看如何一步步演化的:
这就是ToT的核心思想:系统性多路径探索+智能评估+最优选择。细心的你一定也注意到了,ToT也有一些弊端:
- 成本问题:几乎每个步骤都需要模型介入,推理资源消耗大大增加
- 评估问题:用模型评估模型,可能存在一定程度的偏见和盲目
- 搜索空间爆炸:可能存在很深或者太多轮次的迭代
- 实现相对复杂:学术探索大于实际落地
但是ToT的思想值得了解和学习,它的一些理念和想法可以提取出来在上下文工程中的某些环节中实践,让上下文构建更加智能、稳健。
3.1.6 ReAct
ReAct是2022年10月由Shunyu Yao等人提出的一种框架,全称为Reasoning and Acting,即推理与行动。它是将语言模型的推理能力与外部工具调用能力结合起来的范式之一,也是当今AI Agent架构中广泛借鉴的基础思路之一。

ReAct的核心灵感来源于人类:人类在解决问题时,往往会交替进行思考和行动。相比传统LLM一次性给出答案的方式,ReAct 更强调逐步推理、工具调用与反馈观察的交互过程。
因此,ReAct 将 Agent 的推理流程细分为以下三个循环阶段:
- Thought(思考):模型通过语言进行中间推理,比如“为了完成这个任务,我需要先查找相关信息”。
- Action(行动):模型选择一个具体的工具并给出使用方式,例如调用搜索、执行命令、数据库查询等工具。
- Observation(观察):模型接收工具的执行结果作为上下文信息,然后再次进行Thought。
这个循环持续进行,直到模型认为可以给出最终答案。我们来看一个很简单的例子,我们写一个系统提示词如下:
然后我们在运行的时候发送问题,比如:
运行过程可能是这样的:
这样,一个完整的ReAct流程就能实现模型原生推理能力与外部工具调用的结合,使其可以动态获取外部信息,在观察与思考的多轮交替中逐步逼近任务目标。ReAct在处理知识密集型任务时,往往比不具备交互能力的模型表现更为出色。
正因如此,许多后续其他的框架和AI Agent实现,都或多或少继承了ReAct的核心思想。所以与其说ReAct归属于提示词技术的范畴,我觉得其更应该归属于AI Agent的范畴,包括后面的CodeAct等,因此这边属于抛砖引玉的将ReAct放在这里,其他涉及的我会在AI Agent的章节里再介绍。



