---
title: 什么是大模型提示词？
published: 2026-01-09
pinned: false
description: 什么是大模型提示词？
tags: [Prompt]
category: 学习日志
draft: false
sourceLink: https://ai.google.dev/gemini-api/docs/prompting-strategies?hl=zh-cn#model-parameters
---
> [谷歌提示词工程白皮书中文版](https://github.com/08820048/-LLM-Prompt-Engineering-Google/blob/master/%E6%8F%90%E7%A4%BA%E5%B7%A5%E7%A8%8B(%E4%B8%AD%E6%96%87%E7%89%88).md)

> 开始前先推荐一个闯关网站
[点击跳转](https://gandalf.lakera.ai/)
# 什么是提示词
提示词是用于和LLMs交互使用的，最终的目的是为了让大模型能够根据你的输入，输出符合你指令、描述的回复。比如对于 Stable Diffusion 模型，提示词是生成图像的描述。对于 Gpt 模型，提示词可以是一个问题、指令或者数据，还可以是特定的约束或要求，如语气、风格、期望的回复长度。对于 VLM 模型，提示词可以是图片的格式，这样生成的文本是图像的描述。提示词对于生成的质量和相关性都有着非常大的影响，因此，如何写一个好的提示词非常重要。
# 如何写好提示词
## 提示词工程
提示词工程指的是精心设计提示词以生成特定输出的过程。目前常用的提示词编写策略有以下三种：
1. Zero-shot prompts  零样本提示
2. Few-shot prompts  少样本提示
3. Chain-of-thought prompts 思维链

### Zero-shot prompts  零样本提示
零样本提示指的是提示词没有任何具体的输出示例提示模型。例如：

Question: 
```text
你是一个擅长中文和英文的翻译家，擅长中文和英文相关的文章编写和翻译。
请将下面的句子翻译成中文，要求语言生动活泼。
需要翻译的句子：
Zero-shot means prompting the model without any example of expected behavior from the model.
```
Gpt-4o Answer: 
```text
“零-shot”指的是在没有提供任何期望行为示例的情况下，直接引导模型进行操作。
```

> 在提示词编写中，建议包含以下要素：角色（可选）、任务、限制条件（规则）、上下文、输出格式和输出要求
### Few-shot prompts 少样本提示
少样本提示指的是提示词有少许输出示例。例如：

Question: 
```text
你是一个擅长中文和英文的翻译家，擅长中文和英文相关的文章编写和翻译。
请将下面的句子翻译成中文，要求语言生动活泼。
请参考我给的示例：
<example>
英文：
Zero-shot prompts
中文：
零样本提示
</example>

需要翻译的句子：
Zero-shot means prompting the model without any example of expected behavior from the model.
```
Gpt-4o Answer:
```text
零样本意味着在没有任何期望行为示例的情况下对模型进行提示。
```

> 提供少量提示，可以让模型更好地知道输出格式，可以让输出更稳定。示例的最佳数量需要多次实验，如果太多示例，会产生过拟合。如果过少，可能达不到提示的效果。并且示例尽可能包含可能出现的全部情况和边缘情况，这样当遇到不符合预期的输入和输出时，模型也能按照预期输出，不会出现无法控制的情况。
> 示例尽量使用正向示例，模型的遵守程度会比反例更优
> 提示词需要保持风格一致，如果使用xml格式，则全文保持xml格式。避免多种格式混用的情况。
> 如果有多个指令，尽量分解指令，不要在一个提示词中包含过多指令。
### Chain-of-thought prompts 思维链（COT）
思维链是指在提示词中给出几步思考的提示，也可以直接让LLM"让我们逐步地思考这个问题”。
Question:
```text
甲、乙两人从相距490米的A、B两地同时步行出发，相向而行。丙与甲同时从A地出发，在甲、乙二人之间来回跑步（遇到乙立即返回，遇到甲也立即返回）。已知丙每分钟跑240米，甲每分钟走40米，当丙第一次折返回来与甲相遇时，甲、乙二人相距210米，那么乙每分钟走__米；甲下一次遇到丙时，甲、乙相距__米。
```
Gpt-4o Answer:
```text
要解答这个问题，我们需要分两部分来解决。

首先，我们确定乙的速度。根据问题的描述：

1. 丙从A地出发，当第一次遇到乙时，立即返回遇到甲。
2. 甲每分钟走40米，乙每分钟的速度记为\( v \)米。

从题目中得知，当丙第一次遇到乙并返回与甲相遇时，甲和乙相距210米。我们需要先计算这段时间内丙和甲各行走的距离。

假设第一次丙与乙相遇的时间为\( t \)分钟，则丙跑了\( 240t \)米。

当丙第一次返回与甲相遇时，甲走了\( 40t \)米。

从A和B出发的甲、乙之间的距离经过\( 210 \)米，所以，他们缩短的距离为\( 490 - 210 = 280 \)米，这段距离正好是他们相对速度的乘积的结果，即：
\[
40t + vt = 280
\]
从上面这个方程，我们可以解得乙的速度\( v \)米：
\[
40 + v = \frac{280}{t}
\]

现在去解这个方程。考虑到这个问题的动态特性，我们知道他们这个时间段的变化来自于丙的运动。

同样在这个期间，丙一定跑完全距离和返回的部分：
因为丙跑到乙后返回甲，所以丙总共跑的距离为
\[
2 \times 240t = 480t
\]

通过合并这些，我们可以再解方程：
\[
480t = 280t + 210t
\]

而从另外一个方面：

\[
480t = 2 \times 240t,
\]

通过解这个，我们能得到乙的速度\( v \)

对于丙再次与甲相遇时，甲乙相距的问题：
因为丙再次与甲相遇时跑过的第二个区间，这次情景中指甲、本次跑距离刚好是合二为一(240),于此可求甲乙速度。

综上所述，我们找到乙的速度\( v = 20 \)米。

所以，
- 乙的速度为20米/分钟。
- 甲第二次与丙相遇时相距\( 210 + (40 + 20) \cdot 1.75 = 315 \)米。

第二个结果这里较为复数条件下演绎。
```
加上思维链提示词后：
Question:
```text
甲、乙两人从相距490米的A、B两地同时步行出发，相向而行。丙与甲同时从A地出发，在甲、乙二人之间来回跑步（遇到乙立即返回，遇到甲也立即返回）。已知丙每分钟跑240米，甲每分钟走40米，当丙第一次折返回来与甲相遇时，甲、乙二人相距210米，那么乙每分钟走__米；甲下一次遇到丙时，甲、乙相距__米。
请逐步思考这个问题。
```
Gpt-4o Answer:
```text
为了求解这个问题，我们可以逐步分析每个人的运动情况。

### 第一步：确定甲、丙第一次相遇的位置

1. **甲、丙的运动情况**  
   - 甲的速度为每分钟40米。
   - 丙的速度为每分钟240米。
   - 甲、丙同时从A出发时，丙向着乙跑。

2. **当丙第一次回来与甲相遇时**   
   - 丙和乙相遇后立刻返回，且两者之间第一次相遇时，甲乙间距为210米。 
   - 因为开始时两地相距490米，所以此时丙跑的总距离（折返前）是 \( 490 - 210 = 280 \)米。
  
3. **时间计算：**
   - 丙跑280米用了 \( \frac{280}{240} = 1.1667 \)分钟（大约1分10秒）。

4. **甲的位置：**
   - 在1.1667分钟内，甲走了 \( 1.1667 \times 40 = 46.67 \)米。

此时，甲到达A点46.67米处，而丙即将跑回此点与甲相遇。

### 第二步：求解乙的速度

1. **乙的运动情况：**
   - 在1.1667分钟内，乙与初始位置B间距减小了210米，分别为 \( 490 - 210 = 280 \)米， 这意味着乙走了210米。

2. **乙的速度计算：**
   - 从上面的时间和距离关系，乙的速度为 \( 240 \)米（也与丙相同），但途中返回，表明其实际速度为每分钟 \( 240 - 280 = 160 \) 确认单位。

### 第三步：甲与丙下一次相遇时的甲乙距离

1. **计算甲、丙再次相遇的距离和时间：**
   - 从上述信息得知甲和丙速度的合运动关系。
   - 乙继续在反向运动，甲和丙在（A，甲和丙的运动关系是求界距）。
   - 在甲丙相遇时合运动关系和净递减关系即为甲乙差值。需要运算：乙与甲平均值关系。
   - 重复上述，从丙与甲的互动中算出甲乙渐差值至等于新极限约等于方向即：

   为达到此运算需要扩展后回复，理论物理还原可能但不确定其精确值应在高原速运动下更详。

在此运算得到的信息足以再度验证其过程和值，最终结论证明在具体高偏运动中需考虑更微量但关系理论可应对。
```
正确答案是乙的速度为60米/分钟，甲乙相距90米。
上面的提示词只是加了一句“请逐步思考问题”，推理的逻辑就能够比原来的更加清晰，这在一些场景非常有效。

### 提示词迭代技巧
1、从不同角度描述同一件事，对比效果。
2、更换任务为相似的任务形式。比如分类的任务可以变为做单选题的任务，让模型选择一个选项。
3、更换提示词中不同部分的排列顺序。
# 大模型输出配置
除了提示词，我们还可以通过参数控制模型的输出。针对不同的任务需要设置不同的参数，才能达到更好的效果。
## 输出长度
输出长度的设置不会影响模型输出的风格。在一些需要短输出的场景中，需要设置较小的输出长度，否则模型可能会在生成完内容后，补充一些无用的内容，这既影响了生成速度，也会让成本增加。
## 采样控制
有三个常见的采样控制参数。温度、Top-K、Top-P和stop_sequences。它们通过不同的策略修改下一个令牌的预测概率，实现对输出内容的控制。
### 温度（temperature）
温度可以控制 token 选择的随机性。温度在生成回答期间用于采样。较低的温度代表着确定性的回复，较高的温度代表着多样性的回复。如果温度为0，表示始终选择概率最高的token。
### Top-K
topK 参数可更改模型选择输出 token 的方式。如果 topK 设为 1，表示所选 token 是模型词汇表的所有 token 中概率最高的 token（也称为贪心解码）。如果 topK 设为 3，则表示系统将从 3 个概率最高的 token（通过温度确定）中选择下一个 token。在每个词元选择步骤中，系统都会对概率最高的 topK 个词元进行采样。然后，系统会根据 topP 进一步过滤词元，并使用温度采样选择最终的词元。
### Top-P
topP 参数可更改模型选择输出 token 的方式。系统会按照概率从最高到最低的顺序选择 token，直到所选 token 的概率总和等于 topP 值。例如，如果词元 A、B 和 C 的概率分别为 0.3、0.2 和 0.1，并且 topP 值为 0.5，则模型将选择 A 或 B 作为下一个词元（通过温度确定），并会排除 C 作为候选词元。默认 topP 值为 0.95。
### stop_sequences
stop_sequences：设置停止序列，告知模型停止生成内容。停止序列可以是任意字符序列。尽量避免使用可能会出现在生成内容中的字符序列。

> 作为起点，温度0.2、Top-P 0.95、Top-K 30会生成相对连贯但不过分创意的输出。如果想要特别有创意的结果，可以试温度0.9、Top-P 0.99、Top-K 40。如果想要更严谨的结果，试温度0.1、Top-P 0.9、Top-K 20。如果任务有唯一正确答案（比如数学问题），从温度0开始。

> 注意：自由度更高（高温度、Top-K、Top-P和输出令牌）可能导致模型生成不太相关的文本。

> 回答末尾堆满无意义的填充词？这是大语言模型常见的“重复循环错误”，模型陷入循环，反复生成相同的词、短语或句子结构，通常由不合适的温度和Top-K/Top-P设置引发。这种问题在低温和高温时都可能出现。低温时，模型过于确定，固守最高概率路径，可能回到之前生成的文本，造成循环。高温时，输出过于随机，随机选择的词可能碰巧回到之前状态，造成循环。解决方法通常需要仔细调整温度和Top-K/Top-P，找到确定性和随机性的最佳平衡。

