LLM 的核心能力
学习目标:理解 LLM 的涌现能力和关键技能
预计时间:60 分钟
难度等级:⭐⭐⭐☆☆
涌现能力之谜
什么是涌现能力?
涌现是指当模型规模超过某个临界点时,突然展现出小模型完全不具备的能力。
临界点现象
能力强度
↑
│ _______ 涌现!
│ /
│ /
│ /
│ /
│___/__________________ 模型规模
10B (临界点)研究发现,约 100 亿参数是涌现能力的临界点[^1]。
经典涌现能力列表
| 能力 | 描述 | 出现规模 |
|---|---|---|
| 上下文学习 | 从示例中学习,无需权重更新 | ~10B 参数 |
| 指令遵循 | 理解并执行自然语言指令 | ~10B 参数 |
| 思维链推理 | 分步骤解决复杂问题 | ~30B 参数 |
| 代码生成 | 编写、解释、调试代码 | ~10B 参数 |
| 多语言翻译 | 零样本跨语言翻译 | ~10B 参数 |
核心能力 1:上下文学习(In-Context Learning)
什么是上下文学习?
模型无需修改权重,仅通过提示词中的示例就能学会新任务。
直观对比
传统机器学习:
训练数据 → 更新权重 → 新任务
需要:梯度下降、反向传播、多次迭代上下文学习:
提示词示例 → 立即执行
无需:更新权重、训练迭代示例:情感分析
提示词示例
任务:判断评论的情感倾向
示例 1:
输入:"这个产品太棒了,强烈推荐!"
输出:正面
示例 2:
输入:"质量很差,不推荐购买。"
输出:负面
示例 3:
输入:"还可以,性价比一般。"
输出:中性
现在请判断:
输入:"超出预期,非常满意!"
输出:_____模型从未见过这个任务,但通过 3 个示例就学会了!
三种学习范式
1. 零样本学习(Zero-shot)
任务:翻译成中文
输入:"Hello, world!"
输出:_____无示例,直接完成任务。
2. 单样本学习(One-shot)
任务:翻译成中文
示例:
输入:"Hello" → "你好"
输入:"Good morning"
输出:_____一个示例,快速学习。
3. 少样本学习(Few-shot)
任务:翻译成中文
示例 1: "Hello" → "你好"
示例 2: "Goodbye" → "再见"
示例 3: "Thank you" → "谢谢"
示例 4: "Sorry" → "对不起"
输入:"Good morning"
输出:_____多个示例,效果最好。
性能对比
零样本 < 单样本 < 少样本
(成本递增,效果递增)最佳实践:根据任务复杂度选择 3-10 个示例。
核心能力 2:思维链推理(Chain-of-Thought)
什么是思维链?
通过分步骤思考解决复杂问题,而非直接给出答案。
直观示例
问题:小明有 5 个苹果,吃了 2 个,妈妈又给了他 3 个,现在有几个?
直接回答:6 个(可能错误)
思维链:
步骤 1:小明原有 5 个苹果
步骤 2:吃了 2 个,剩余 5 - 2 = 3 个
步骤 3:妈妈给了 3 个,现有 3 + 3 = 6 个
答案:6 个为什么思维链有效?
机制:
- 分解问题:复杂问题 → 多个简单步骤
- 逐步推理:每步依赖前一步的结果
- 减少错误:中间过程可检验、可修正
- 提升可解释性:人类可理解推理过程
实验结果
在 GSM8K 数学题数据集上[^2]:
直接回答:准确率 ~30%
思维链:准确率 ~90%
提升:3 倍!触发思维链的技巧
方法 1:显式提示
问题:...
请一步步思考:
步骤 1:...
步骤 2:...
...
最终答案:...方法 2:示例引导
问题:鸡兔同笼,头 10,脚 28,鸡兔各几只?
解答:
步骤 1:假设都是鸡,脚数 = 10 × 2 = 20
步骤 2:实际脚数 28,差值 = 28 - 20 = 8
步骤 3:每只兔比鸡多 2 脚,兔子数 = 8 ÷ 2 = 4
步骤 4:鸡数 = 10 - 4 = 6
答案:鸡 6 只,兔 4 只
现在请解答:
头 15,脚 40,鸡兔各几只?方法 3:"Let's think step by step"
只需在提示词末尾加上:
...Let's think step by step.就能触发思维链![^3]
核心能力 3:代码生成与理解
LLM 的编程能力
现代 LLM(GPT-4, Claude, DeepSeek)在编程任务上表现出色:
| 任务 | 表现 | 说明 |
|---|---|---|
| 代码生成 | 75-85% pass@1 | HumanEval 基准 |
| 代码解释 | 优秀 | 清晰注释和说明 |
| Bug 修复 | 良好 | SWE-bench:60-75% |
| 代码重构 | 良好 | 优化结构和性能 |
| 跨语言 | 支持 | Python, JS, Java, C++... |
示例:生成算法
提示词示例
用 Python 实现快速排序算法,要求:
1. 包含详细注释
2. 处理边界情况
3. 包含测试用例LLM 输出(可能):
def quicksort(arr):
"""
快速排序算法
参数:
arr: 待排序的列表
返回:
排序后的列表
"""
# 边界情况:空列表或单元素
if len(arr) <= 1:
return arr
# 选择基准元素
pivot = arr[len(arr) // 2]
# 分区
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
# 递归排序并合并
return quicksort(left) + middle + quicksort(right)
# 测试用例
if __name__ == "__main__":
test_cases = [
[3, 1, 4, 1, 5, 9, 2, 6],
[],
[1],
[5, 4, 3, 2, 1]
]
for case in test_cases:
print(f"原数组: {case}")
print(f"排序后: {quicksort(case)}")
print()为什么 LLM 擅长编程?
原因:
- 代码是结构化的语言:语法规则明确
- 大量训练数据:GitHub 等开源代码
- 模式识别能力强:识别常见的编程模式
- 逻辑推理能力:算法设计需要推理
最佳实践
✅ 有效提示
用 Python 实现一个函数:
- 功能:计算两个日期之间的工作日天数
- 输入:两个日期字符串
- 输出:工作日天数
- 要求:排除周末和法定节假日
- 包含:类型注解、错误处理、文档字符串❌ 模糊提示
写个计算日期的函数核心能力 4:多语言理解
跨语言能力
现代 LLM 支持多语言,并能进行跨语言迁移:
跨语言示例
英文提示:
Translate to Chinese:
"Artificial Intelligence is transforming the world."中文回答:
人工智能正在改变世界。即使主要在英文数据上训练,模型仍能处理其他语言!
中文 LLM 的优势
虽然通用 LLM 支持多语言,但专用中文模型表现更好:
| 模型 | 中文优势 |
|---|---|
| Qwen 3 | 119 种语言,中文理解最强 |
| DeepSeek V3 | 中文推理、编程优秀 |
| Kimi | 长文本中文处理 |
| GPT-4.1 | 中文能力良好,但不如本土模型 |
为什么?
- 训练数据中中文比例更高
- 更理解中国文化语境
- 优化了中文分词和嵌入
核心能力 5:长上下文理解
上下文窗口演进
GPT-3 (2020): 2K tokens
GPT-3.5 (2022): 4K tokens
GPT-4 (2023): 8K → 32K → 128K
Claude 3 (2024): 200K tokens
Gemini 2.5 (2025): 1M tokens1M tokens 约等于:
- 70 万个单词
- 几本长篇小说
- 数小时的视频字幕
- 大量代码文件
长上下文的应用
📚 文档分析
输入:100 页法律文档
任务:找出所有关键条款和风险点💻 代码库理解
输入:整个项目的代码
任务:解释架构、重构建议、生成文档🔬 研究综述
输入:20 篇论文
任务:总结研究进展、识别趋势、提出方向长上下文的挑战
问题:
- 中间迷失(Missing in the Middle):模型容易忽略中间内容[^4]
- 信息遗忘:长文本尾部信息回忆困难
缓解策略:
1. 重要信息放在开头或结尾
2. 使用结构化摘要
3. 多轮迭代,分段处理
4. 使用 RAG 检索增强核心能力 6:指令遵循
什么是指令遵循?
理解并准确执行复杂的自然语言指令。
示例:复杂任务
任务:分析以下文本并生成报告
文本:[长文本...]
要求:
1. 提取 5 个关键点
2. 总结主要论点
3. 指出支持证据
4. 评估论证逻辑
5. 提出反驳观点
6. 格式化为 Markdown
7. 包含标题层级
8. 使用项目符号现代 LLM 能准确执行所有 8 个要求!
指令遵循的层次
| 层次 | 示例 | 难度 |
|---|---|---|
| 简单指令 | "翻译成中文" | ⭐ |
| 格式约束 | "用 Markdown 格式" | ⭐⭐ |
| 多步骤 | "先总结,再分析,最后建议" | ⭐⭐⭐ |
| 矛盾约束 | "详细但不超过 100 字" | ⭐⭐⭐⭐ |
| 隐性推理 | "用适合 5 岁儿童的方式解释量子力学" | ⭐⭐⭐⭐⭐ |
核心能力 7:工具使用
什么是工具使用?
LLM 能调用外部工具(API、数据库、计算器等)完成任务。
示例:计算器
用户:1234 × 5678 = ?
LLM 思考:这是个计算任务,应该用计算器
工具调用:calculator.multiply(1234, 5678)
工具返回:7006652
LLM 回答:1234 × 5678 = 7,006,652常用工具类型
| 工具类型 | 示例 | 用途 |
|---|---|---|
| 搜索引擎 | Google, Bing | 实时信息 |
| 数据库 | SQL 查询 | 结构化数据 |
| 计算器 | 数学计算 | 精确计算 |
| 代码执行 | Python 解释器 | 运行代码 |
| API 调用 | Weather API | 外部服务 |
| 文件操作 | 读写文件 | 处理文档 |
重要性:这是构建 AI Agent 的基础!(详见模块四)
能力评估
基准测试
MMLU(多任务语言理解)
- 范围:57 个学科
- 题型:选择题
- 人类基线:~89%
- GPT-4:~86%
HumanEval(代码生成)
- 任务:编写 Python 函数
- 度量:pass@1(一次通过率)
- GPT-4:~85%
GSM8K(数学推理)
- 任务:小学数学应用题
- 思维链提升:30% → 90%
自我评估清单
你的 LLM 能否:
- [ ] 从 3 个示例中学会新任务?
- [ ] 分步骤解决数学问题?
- [ ] 生成可运行的 Python 代码?
- [ ] 翻译中英文文本?
- [ ] 总结 10 页文档?
- [ ] 执行复杂的 5 步指令?
- [ ] 调用搜索 API 查询实时信息?
局限性
LLM 不是万能的
- 知识截止:训练数据之后的事件不知
- 数学精确性:复杂计算可能错误
- 逻辑严密性:长推理链可能断裂
- 事实准确性:可能产生幻觉
- 常识推理:某些日常场景理解不准
应对:结合工具(RAG、计算器、搜索等)增强能力
思考题
检验你的理解
什么是"涌现能力"?为什么模型规模增大后会突然出现新能力?
思维链推理为什么能提升 LLM 在数学问题上的表现?
设计一个测试用例,验证 LLM 的"上下文学习"能力。
尝试让 LLM 完成一个复杂的多步骤任务(如:分析一篇文章并生成报告),观察它的指令遵循能力。
本节小结
通过本节学习,你应该掌握了:
✅ 涌现能力
- 临界点现象
- 主要涌现能力类型
✅ 上下文学习
- 零/单/少样本学习
- 提示工程技巧
✅ 思维链推理
- 分步思考
- 触发技巧
✅ 编程能力
- 代码生成、解释、调试
- 最佳实践
✅ 其他核心能力
- 多语言、长上下文
- 指令遵循、工具使用
✅ 评估方法
- 基准测试
- 自我评估
下一步:在下一节中,我们将探讨 LLM 的挑战和局限性。
[^1]: Wei et al., "Emergent Abilities of Large Language Models", 2022 [^2]: Cobbe et al., "Training Verifiers to Solve Math Word Problems", 2021 [^3]: Kojima et al., "Large Language Models are Zero-Shot Reasoners", 2022 [^4]: Liu et al., "Lost in the Middle", 2023