Appearance
基本概念入门
在深入学习提示词工程之前,我们需要理解大型语言模型(LLM)的基本工作原理。这不是为了让你成为 AI 专家,而是帮助你理解为什么某些提示词技巧有效,以及如何根据模型特性优化你的提示词。
1. 大型语言模型的工作原理
1.1 什么是 LLM
大型语言模型(Large Language Model, LLM)是一种基于 Transformer 架构的神经网络模型,通过在海量文本数据上训练,学习语言的统计规律和知识表示。
核心机制:LLM 的本质任务是预测下一个 Token。给定一段文本,模型会计算词汇表中每个可能的下一个词的概率分布,然后根据这个分布生成输出。
输入: "今天天气真不错,适合"
模型预测:
- "出门" (概率 35%)
- "散步" (概率 25%)
- "运动" (概率 15%)
- ...这个看似简单的机制,在足够大的模型规模和训练数据下,涌现出了令人惊讶的能力:逻辑推理、代码生成、知识问答等。
1.2 理解"涌现能力"
当模型参数规模达到一定量级(通常在百亿参数以上)时,会出现所谓的"涌现能力"(Emergent Abilities):
| 能力类型 | 描述 | 对提示词的启示 |
|---|---|---|
| 上下文学习 | 从少量示例中学习任务模式 | Few-shot prompting 有效 |
| 指令遵循 | 理解并执行自然语言指令 | 清晰的指令比复杂的技巧更重要 |
| 思维链推理 | 逐步解决复杂问题 | 引导模型"思考"可提升准确性 |
关键认知:LLM 不具备真正的"理解"或"意识"。它的输出是基于训练数据中学到的模式进行的概率预测。这意味着:
- 它可能生成看起来正确但实际错误的内容(幻觉)
- 它的知识有截止日期(训练数据的时间范围)
- 它的表现高度依赖于提示词的质量
2. Token:理解 LLM 的计费单位
2.1 什么是 Token
Token 是 LLM 处理文本的基本单位。它不等同于"词"或"字",而是由分词器(Tokenizer)根据特定算法切分出的文本片段。
英文 Token 规律:
- 常见词通常是一个 Token:
hello、world - 长词或罕见词会被拆分:
unbelievable→un+believ+able - 标点符号通常是独立 Token
中文 Token 规律:
- 常见词可能是一个 Token:
中国、人工智能 - 单个汉字也可能是一个 Token:
龘 - 中文通常比英文消耗更多 Token
实用工具:OpenAI 提供了 Tokenizer 工具,可以直观地看到文本如何被分词。建议实际操作体验一下。
2.2 为什么 Token 重要
Token 直接影响三个关键因素:
| 因素 | 影响 | 优化建议 |
|---|---|---|
| 成本 | API 调用按 Token 计费 | 精简提示词,避免冗余 |
| 速度 | Token 越多,生成越慢 | 控制输出长度 |
| 上下文限制 | 总 Token 数不能超过模型上限 | 合理分配输入/输出比例 |
3. 上下文窗口:模型的"工作记忆"
3.1 什么是上下文窗口
上下文窗口(Context Window)是模型在单次交互中能够"看到"的最大 Token 数量。它包括:
上下文窗口总量 = 系统提示 + 历史对话 + 当前输入 + 预留输出空间主流模型的上下文窗口(2024-2025):
| 模型 | 上下文窗口 | 适用场景 |
|---|---|---|
| GPT-4o | 128K tokens | 长文档分析、代码库理解 |
| Claude 3.5 Sonnet | 200K tokens | 超长文本处理 |
| Gemini 1.5 Pro | 1M tokens | 视频/书籍级内容 |
| GPT-3.5 Turbo | 16K tokens | 一般对话和简单任务 |
3.2 上下文窗口的实际影响
场景一:长对话
对话开始时:[系统提示] + [用户消息1] + [AI回复1]
...
对话后期:[系统提示] + [消息n-5...消息n] + [当前输入]
↑
早期消息被"遗忘"当对话总长度超过上下文窗口时,早期的信息会被截断。这就是为什么 AI 有时会"忘记"之前讨论过的内容。
场景二:长文档分析
如果你要分析一份超过上下文窗口的文档,需要采用分块处理策略:
- 将文档切分为多个片段
- 分别处理每个片段
- 汇总各片段的结果
4. 温度与采样参数:控制输出的确定性
4.1 Temperature(温度)
温度参数控制输出的随机性,取值范围通常为 0-2:
| 温度值 | 特性 | 适用场景 |
|---|---|---|
| 0-0.3 | 高度确定性,输出稳定 | 代码生成、事实问答、数据提取 |
| 0.4-0.7 | 适度随机,平衡创造性和一致性 | 一般写作、对话 |
| 0.8-1.2 | 高随机性,输出多样 | 头脑风暴、创意写作 |
技术原理:温度影响 softmax 函数的"锐度"。低温度使概率分布更尖锐(倾向于选择最高概率的词),高温度使分布更平坦(增加低概率词被选中的机会)。
4.2 Top-p(核采样)
Top-p 是另一种控制随机性的方式。设置 top_p=0.9 意味着模型只从累积概率达到 90% 的候选词中进行采样。
实践建议:
- 通常只调整 Temperature 或 Top-p 中的一个
- 需要一致性输出时:
temperature=0或top_p=1 - 需要创造性输出时:
temperature=0.8或top_p=0.9
5. 常见误解与正确认知
| 误解 | 正确认知 |
|---|---|
| "AI 理解我说的话" | AI 在进行模式匹配和概率预测,不具备真正的理解能力 |
| "AI 的回答一定正确" | AI 可能产生"幻觉",即生成看似合理但实际错误的内容 |
| "温度越高越好/越低越好" | 温度应根据任务特性选择,没有绝对的好坏 |
| "上下文越长越好" | 过长的上下文可能导致模型"迷失",关键信息应放在开头或结尾 |
6. 本章小结
理解 LLM 的工作原理,对于编写有效的提示词至关重要:
- Token 是基本单位:影响成本、速度和上下文限制
- 上下文窗口有限:需要合理管理对话历史和文档长度
- 温度控制确定性:根据任务需求选择合适的参数
- 模型不是万能的:存在幻觉、知识截止等局限性
带着这些认知,你将能够更好地理解后续章节中各种提示词技巧的原理和适用场景。
练习
- 使用 OpenAI 的 Tokenizer 工具,比较同一段内容的中英文 Token 数量差异。
- 在你常用的 AI 工具中,尝试将温度设为 0 和 1,对同一个问题生成多次回答,观察输出的差异。
- 设计一个实验,验证"上下文窗口"的影响:在长对话中,尝试让 AI 回忆对话开头提到的信息。