Skip to content

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 个

为什么思维链有效?

机制:

  1. 分解问题:复杂问题 → 多个简单步骤
  2. 逐步推理:每步依赖前一步的结果
  3. 减少错误:中间过程可检验、可修正
  4. 提升可解释性:人类可理解推理过程

实验结果

在 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@1HumanEval 基准
代码解释优秀清晰注释和说明
Bug 修复良好SWE-bench:60-75%
代码重构良好优化结构和性能
跨语言支持Python, JS, Java, C++...

示例:生成算法

提示词示例
用 Python 实现快速排序算法,要求:
1. 包含详细注释
2. 处理边界情况
3. 包含测试用例

LLM 输出(可能):

python
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 擅长编程?

原因:

  1. 代码是结构化的语言:语法规则明确
  2. 大量训练数据:GitHub 等开源代码
  3. 模式识别能力强:识别常见的编程模式
  4. 逻辑推理能力:算法设计需要推理

最佳实践

✅ 有效提示

用 Python 实现一个函数:
- 功能:计算两个日期之间的工作日天数
- 输入:两个日期字符串
- 输出:工作日天数
- 要求:排除周末和法定节假日
- 包含:类型注解、错误处理、文档字符串

❌ 模糊提示

写个计算日期的函数

核心能力 4:多语言理解

跨语言能力

现代 LLM 支持多语言,并能进行跨语言迁移:

跨语言示例

英文提示:

Translate to Chinese:
"Artificial Intelligence is transforming the world."

中文回答:

人工智能正在改变世界。

即使主要在英文数据上训练,模型仍能处理其他语言!

中文 LLM 的优势

虽然通用 LLM 支持多语言,但专用中文模型表现更好:

模型中文优势
Qwen 3119 种语言,中文理解最强
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 tokens

1M 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 不是万能的

  1. 知识截止:训练数据之后的事件不知
  2. 数学精确性:复杂计算可能错误
  3. 逻辑严密性:长推理链可能断裂
  4. 事实准确性:可能产生幻觉
  5. 常识推理:某些日常场景理解不准

应对:结合工具(RAG、计算器、搜索等)增强能力


思考题

检验你的理解

  1. 什么是"涌现能力"?为什么模型规模增大后会突然出现新能力?

  2. 思维链推理为什么能提升 LLM 在数学问题上的表现?

  3. 设计一个测试用例,验证 LLM 的"上下文学习"能力。

  4. 尝试让 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

最近更新

基于 Apache 2.0 许可发布