素材
- 《大模型应用开发极简入门》
- 以前的笔记
- PDF 1.1 节
- 原书插图等
- 当前官方资料、本地 Agent/FDE 岗位要求和上一篇 Token 笔记。
先说结论
LLM 可以先理解成一个“IDE 的超级代码补全”:它根据当前上下文猜下一个 Token,把结果追加回去,再继续猜。
let context = 用户输入;
let answer = "";
while (回答还没结束) {
const nextToken = 模型(context);
answer += nextToken;
context += nextToken;
}
return answer;真实 API 不一定每次只返回一个 Token,但理解 LLM 的最小模型就是:生成一个,追加回去,再接着生成。
先把几个名词对上号

- AI:人工智能的总称。
- 机器学习:不把所有规则写死,而是让机器从数据里学规律。
- 深度学习:机器学习的一种,主要使用多层神经网络。
- NLP:让计算机处理和生成人类语言的应用领域。
- Transformer:一种
神经网络架构,擅长处理上下文中不同位置之间的关系。 - LLM:用大量语言数据训练出来的大语言模型,核心任务是根据上下文预测下一个 Token。
- GPT:一类使用 Transformer、擅长沿着已有内容继续生成的模型。
它们不是一回事:Transformer 是架构,LLM 是训练出来的模型,GPT 是其中一类生成模型。
模型预测的单位是 Token,不是固定的字或词。Token 的细节见 模型眼里的文字。
Transformer 当时解决了什么问题
Transformer 之前常用的 RNN,很像排队传话:前一个词处理完,才能把信息交给后一个词。
这会带来两个问题:
- 后面的计算必须等前面,不容易一起处理。
- 信息传得越远,前面的细节越容易丢。
例如:
我把昨天在上海买的、里面装着合同和电脑的黑色背包,落在出租车上了。
读到“落在出租车上”时,模型还要记得前面的主角是“黑色背包”。RNN 需要把这个信息一站一站传到句尾。
Transformer 换了一种方式:把整段内容摊开,处理当前位置时,直接去找最相关的位置。
我只需要记住三点:
- RNN 像排队传话;Transformer 像把全文摊开后直接找线索。
- Transformer 读一段已有输入时,很多位置可以一起计算。
- 所以,算法复杂度就是 O1
- 它写回答时仍然要逐个 Token 生成;长文本也仍然会增加成本,并不等于什么都不会忘。
注意力、自注意力和交叉注意力
先只看一个翻译案例:
中文:小红把雨伞递给小李,因为他要出门。
英文:Xiaohong handed the umbrella to Xiaoli because he was going out.
什么是注意力机制
模型处理一个位置时,不会把前面所有内容都当成同样重要,而是会找出当前最值得参考的信息。
比如
- 理解“他要出门”时,“小李”比“雨伞”更重要;
- 翻译“雨伞”时,“递给”和“小李”也能帮助模型理解它在句子里的作用。
所以注意力机制的大白话就是:
处理当前内容时,看看其它内容里谁和我最相关。
什么是自注意力
模型在读中文原句时,“他”会回头找同一句话里的“小李”,从而理解“他”指的是谁。
查找的人和被查找的内容,都在同一段话里,这就叫自注意力。
自注意力:同一段内容内部,大家互相找线索。
什么是交叉注意力
模型开始写英文译文以后,写到 umbrella 时,需要回头看中文原句里的“雨伞”;写到 he 时,也要回头看中文里的“他”和“小李”。
当前正在写的是英文,查找信息的地方是另一段中文。信息跨过了两段内容,这就叫交叉注意力。
交叉注意力:正在处理一段内容时,去另一段内容里找线索。
把这个案例里的关系画出来,会更直观:
不是所有生成模型都有交叉注意力,只有架构中确实需要让一段信息去读取另一段信息时才会用到。
Encoder、Decoder 和 GPT
继续用翻译来理解:
- Encoder(编码器)负责读:
- 把中文原句完整读一遍,整理出上下文。
- Decoder(解码器)负责写:
- 一边参考中文,一边逐个 Token 写出英文。
常见架构只需要知道三类:
- Encoder-only:
- 重点是读懂一段内容,典型代表是
BERT,例如文本分类和语义理解。
- 重点是读懂一段内容,典型代表是
- Encoder-Decoder:
- 先读一段,再写出另一段,典型代表是原始 Transformer、T5,例如翻译和改写。
- Decoder-only:
- 看着前面已有的内容继续写,典型代表是
GPT,例如聊天和代码补全。
- 看着前面已有的内容继续写,典型代表是
GPT 不需要单独的 Encoder,是因为提示词和已经生成的回答都放在同一条序列里。它像 IDE 代码补全,只要沿着当前内容继续往后生成。
为了保证训练和生成规则一致,GPT 处理当前位置时只能看已经出现的 Token,不能偷看未来。这叫因果掩码(causal mask)。
“GPT 是 Decoder-only”是理解经典文本主干的最小模型。现代多模态产品还可能包含视觉编码器等其它组件,具体架构要以公开资料为准。
模型怎样选出下一个 Token
开头伪代码里的 模型(context),内部可以先理解成四步:
- Tokenizer 把文字转换成 Token ID。
- Transformer 根据当前上下文计算接下来可能是什么。
- 模型给所有候选 Token 打分。
- 采样策略从候选中选出一个。

还是用 IDE 代码补全来理解。输入 console. 后,模型可能得到下面这组候选概率:
log 0.72
error 0.18
warn 0.07
table 0.03模型选出 log 后,把它追加回上下文,当前内容就变成了 console.log。接着模型可能继续预测 (,再继续预测括号里的内容。它不是一次想好整行代码,而是一步一步补出来的。
转换成概率之前的原始分数常叫 logit。
模型可以总选第一名,也可以按照候选概率采样,所以同一个问题不一定每次都得到完全相同的回答。
温度决定模型选得有多保守
温度 temperature 不会给模型增加知识,它只影响模型怎样从候选中选择。
- 低温度:更容易选第一名,结果通常更稳定。
- 高温度:第二名、第三名也有更多机会,结果通常更多样,也更容易跑偏。
它像一个抽签箱:低温度几乎只留下第一名,高温度会把更多候选放进来。
- 抽取字段、生成结构化结果时,通常更需要稳定。
- 头脑风暴、生成文案变体时,可以允许更多变化。
低温度不等于正确,高温度也不等于有创造力。如果模型的候选本身就错了,怎么选都可能错。实际接 API 时,还要查看当前模型是否支持这个参数以及推荐用法。
图片也要先变成数字,模型才能计算
文字要先变成 Token,图片也要先变成模型能够计算的数字表示。
一种常见方式是先缩放图片,再把它切成许多小块,例如 Patch 或 Tile,然后通过视觉编码把这些区域变成向量。具体模型的内部实现可能不同,我只需要先理解:模型不是直接“看见”图片,而是把图片转换成数字以后再计算。

用我修改前端页面的场景来理解
比如页面上有一个按钮没有圆角。我会:
- 给当前页面截一张图。
- 用红框或箭头圈出某个按钮。
- 告诉 CodeX :“这个按钮没有圆角,改成有圆角。”
模型会把文字和图片都转换成数字表示,再把两者联系起来:
- 从文字里知道,我要修改的是按钮的圆角。
- 从截图和红框里找到,我说的是哪个按钮。
- 从按钮四个尖角的形状,判断它现在没有圆角。
如果只发截图,模型只能告诉我“可以加 border-radius”。Coding Agent 还能读取代码仓库,找到对应的组件或样式,真正修改代码,再运行页面检查按钮是不是已经有圆角。
对 Agent 开发来说,记住三个结果就够了:
- 模型可以把截图中的按钮和我的文字要求联系起来。
- 截图只能告诉它页面看起来怎样;要真正修改,还需要代码仓库和工具。
- 图片不是“免费附件”,会占输入预算、延迟和费用。
对 Agent 开发和 FDE,我需要掌握到什么程度
我不需要先学会训练大模型,也不需要背注意力公式。当前的完成标准是:
- 能用大白话讲清 LLM 为什么逐 Token 生成。
- 知道 Transformer、注意力、Encoder、Decoder 和温度分别在做什么。
- 知道这些概念会影响 Context、输出稳定性、延迟、费用和多模态效果。
- 排查问题时,能提出下一步应该查什么,而不是只说“模型不聪明”。
知道这些以后,我能继续问什么
- 上下文很长时模型为什么会漏掉信息?可以继续问注意力、Context Engineering 和 RAG。
- 为什么回答生成得慢?可以继续问逐 Token 生成、KV Cache 和推理延迟。
- 为什么同一个问题每次答案不同?可以继续问采样、温度、
top_p和评测。 - 为什么截图里的小字总看错?可以继续问图片缩放、
detail、视觉 Token 和模型能力边界。 - 某个模型内部到底是什么架构?先看官方公开资料;没有公开,就不要靠教学图猜。
一分钟怎么讲清楚
LLM 可以先理解成一个超级代码补全。它根据当前上下文给下一个 Token 排出候选,选出一个追加回去,再继续生成。
Transformer 让模型可以直接寻找上下文里最相关的信息,注意力负责判断当前应该重点参考谁。GPT 使用 Decoder-only 主干,只能根据已经出现的内容继续往后写。
温度决定选择候选时有多保守。图片也要先转换成数字表示才能进入模型,而且会占用输入预算、时间和费用。
考考你
LLM 为什么能根据上下文逐个生成 Token,Transformer、注意力和采样策略分别负责什么?
文字或图片先被变成模型能计算的数字。Transformer 负责联系上下文,注意力负责找出当前最该参考的信息。模型给下一个 Token 排出候选,采样策略选出一个,再把它追加回上下文。这个循环不断重复,直到回答结束。
参考
- 原书 PDF 1.1 节及插图、模型眼里的文字。
- Hello-Agents 大语言模型基础。
- Transformer 论文、ViT 论文、OpenAI 当前文档。
上一篇:前言 下一篇:待下一个主题完成后决定