2 minutes
大语言模型原理与实践
你不需要在 2026 年亲手写一个 Transformer,但你需要知道它"葫芦里卖的什么药"。AI 协作之所以常常翻车,根源往往是把模型当成"懂你心思的人"——而它实际只是在玩一个非常精彩的语言接龙游戏。本章把 LLM 的几个底层概念讲清楚,让你以后每一句 prompt 都有底。
2.1 LLM 在干什么
一句话:给定上文,预测下一个 token。
Input: "今天天气"
Model: → 预测概率分布 {"真":0.21, "不":0.18, "挺":0.10, ...}
Output: 选一个 → "真"
Loop: "今天天气真" → 再预测下一个 token ...
仅此而已。模型不做"思考",它输出一段看起来像思考的字符序列。理解这一点非常重要——所有的"魔法"都来自这个朴素的循环。
2.2 Transformer 与注意力
Transformer 是当前主流 LLM 的骨架,核心是 self-attention:让序列中每个 token 与其他所有 token 算一组相似度权重,再用权重做加权平均。
# 自注意力的最简示意(省略缩放、归一化、多头等细节)
import torch
import torch.nn.functional as F
def attention(Q, K, V):
# Q, K, V: (seq_len, d_k)
scores = Q @ K.T # (seq_len, seq_len) 谁和谁相关
weights = F.softmax(scores, dim=-1)
return weights @ V # (seq_len, d_k) 加权聚合上下文
直觉:每次预测新 token 时,模型同时回看所有上文,给"最相关"的部分更高权重,再用这些"重点片段"去推下一个词。这是它能写到一半的方法名突然想起上下文某变量名的根本原因。
2.3 模型训练三阶段
| 阶段 | 名字 | 数据 | 学到了什么 |
|---|---|---|---|
| 1 | Pretrain | 万亿级 token 互联网语料 | 通用的"续写"能力 |
| 2 | SFT | 几十万条人类写的高质量问答对 | “提问-回答"的对话形式 |
| 3 | RLHF / RLAIF | 人类/AI 对回答打分 | 偏好对齐、安全、有用 |
理解这三阶段的实际收益:
- Pretrain 决定"原始智力"和"世界知识”——为何 GPT-4 能讨论历史也能写代码
- SFT 决定"对话姿态"——它学到了有问必答、不啰嗦
- RLHF 决定"对话品味"——但它也是"幻觉式自信"的来源之一:被训练得过分乐于给答案
2.4 上下文窗口与 Token
两个关键数字:
- 上下文窗口(context window):一次对话能塞进去的 token 上限。2026 年主流从 128k 到 10M 不等。
- Token:模型处理的最小单位,不是字符也不是字节。一个英文单词 ≈ 1–2 token,一个汉字 ≈ 1–3 token,一行代码 ≈ 5–15 token。
实用速算:
1 页 A4 中文 ≈ 600–800 token
一屏代码(80×25)≈ 1k–2k token
一节本课程文章 ≈ 3k–6k token
你整个项目所有源文件 ≈ 几十万到几百万 token
为什么这件事重要:
- 越往后越贵:大多数模型对长输入成本线性上升。
- 越往后越笨:长度逼近上限时,召回中间内容的能力下降(lost-in-the-middle 现象)。
- AI 编程工具的核心活法之一:怎么裁、怎么塞、何时让模型主动去"翻文件"而不是塞全文。
04 上下文工程 篇专门讲这个。
2.5 三大边界:你必须知道的 LLM 缺陷
2.5.1 没有"长期记忆"
每次对话独立,下一次启动模型它根本不记得你是谁。所有"积累人设/偏好"的效果,都是上层工具(系统提示、Memory 服务、项目文档)帮你"再塞回去"的。
推论:你给团队 / 同侪讲的"复用经验",本质都是落到 文件(AGENTS.md、Skill、Memory 数据库)里,而不是"告诉过模型"。
2.5.2 没有"实时知识"
模型训练有截止日。2026 年的 Claude 不知道 2027 年的新工具。所有"它怎么知道这个库"都是因为:
- 这个库比较老 → 在 pretrain 里
- 这个库在当前对话里被你贴进来了 → 在 context 里
- 这个库在某个 MCP server 的搜索能力里 → 走工具调用
2.5.3 没有"算"只有"看起来在算"
模型不是一个稳定计算器。简短数学题可以蒙对(biting pattern)、长链路推理可能错。真正涉及计算的代码任务,要让它写代码去算而不是它自己脑算。
2.6 实战:用 logprobs 看模型"信心"
OpenAI / Anthropic 等都提供 logprobs API(输出 token 的对数概率)。可用它快速校准对模型的信任度:
from anthropic import Anthropic
client = Anthropic()
resp = client.messages.create(
model="claude-3-5-sonnet-latest",
max_tokens=1,
messages=[{"role": "user", "content": "法国首都是哪个城市?"}],
)
# 你能从 stop_reason 看模型状态:end_turn / tool_use / max_tokens
print(resp.stop_reason)
练习:写一个小脚本,给模型 10 道有确定答案、5 道开放题,统计 stop_reason 与人类判断的"对错"关系,你会开始摸到"AI 校准"的实操感。
2.7 小结
- LLM = 续写引擎 + 庞大知识 + 对话姿态 + 偏好对齐
- 智力来自 pretrain,姿态来自 SFT,品味来自 RLHF
- 它没有记忆、没有实时、没有靠谱计算
- 上下文窗口是一种预算——会花钱,也会过载
下一篇:《03 Prompt 工程入门》——把这些抽象边界翻译成"怎么说话"。
Summary: LLM 是续写引擎,Transformer 给了它"回看上文"的能力,理解边界才能用好模型。