你在对话框里输入了一句话。几秒钟后,模型输出了回答。

比如你问它:"我家猫最近一直叫,尤其是半夜,是怎么回事?"

模型给你列了几条可能的原因:发情、饿了、不舒服、环境变化。每条还附了建议。看起来像是一个懂猫的朋友在帮你分析。

但这个过程里到底发生了什么?它不可能像人一样"读"懂了你的问题——它不认识字。它做的是另一套事情。

从输入到输出,可以拆成四步:

输入文字 → ① 拆块 → ② 转数字 → ③ 找关系 → ④ 逐字预测 → 输出回答

每一步对应一个你必须理解的关键概念。我们按顺序走一遍。

第一步:拆块(Token)

你输入了一句话。模型拿到手,第一件事不是"读",是

它不认识完整的句子,它认识的是一个个小块,叫 Token。Tokenizer(分词器)会按自己的规则把你的话切成小块——比如"我今天很开心"可能被切成"我"、"今天"、"很"、"开心"四个块。

不同的语言、不同的模型,切法不一样:

  • 英文 1 个 Token ≈ 0.75 个单词("unbelievable"可能被切成"un"、"believe"、"able"三段)
  • 中文 1 个 Token ≈ 1~2 个汉字
  • 有些模型词表大(比如 DeepSeek V4 上百万词表),常用词能整个保留,拆得少
  • 有些模型词表小,长词就会被拆得更碎

为什么你要关心这个? 因为这是大模型的计价单位。你每次调用 API,是按 Token 付费的。你每次控制输入的长度,实际就是在控制 Token 数量。你做 AI 产品时说的"控制成本",控制的就是这个东西。

好,现在文本被拆成了一个个小块。但模型还是"看"不懂它们——它只认识数字。

第二步:转数字(Embedding)

模型拿到这几个小块,下一件事:把每个小块变成一长串数字。

这个过程叫 Embedding(嵌入)。每个 Token 会被映射成一个几百维的向量——你可以理解为用几百个数字来描述这个 Token。

举个例子,在向量空间里:

"猫" 的数字 → 离 "狗" 近,离 "石头" 远
"开心" 的数字 → 离 "高兴" 近,离 "悲伤" 远

每个数字本身没意义,有意义的是向量之间的距离*。* 模型通过距离来判断"谁跟谁可能是同一类"。

这就解释了为什么 Embedding 可以做搜索——你把一段文字转成向量存起来,用户提问时也转成向量,然后算距离,距离近的就是相关的内容。这就是 RAG 里检索环节的原理。

好,现在所有 Token 都变成了数字。但还有个问题没解决:"我爱你"和"你爱我"的数字是不一样的呀——顺序不一样,意思就不一样。模型怎么区分?

第三步:找关系(注意力机制)

这是大模型最核心的机制,也是它跟老一代 AI 最大的区别。

在注意力机制出现之前,模型是按顺序读句子的:从左读到右,读完前面的,后面的就模糊了。注意力机制不一样——它允许模型在生成某个词的时候,回头看输入里所有的词,自己判断谁跟谁更相关。

具体到每一步:

  • 预测第 1 个字时:回头看整个输入,判断"当前最该关注什么"
  • 预测第 2 个字时:回头看整个输入 + 自己刚生成的 1 个字,再次计算
  • 预测第 3 个字时:再回头看整个输入 + 刚生成的 2 个字

每一次都是看全部,算一遍。 不是只看最近的那个。

但这也引出一个天然的限制——它能"看"的范围是有限的。

窗口限制(上下文窗口)

注意力机制虽然厉害,但不是无限看的。它能看到的最大范围叫做上下文窗口,单位也是 Token。

如果输入内容超过了窗口上限,最早的内容就会被"挤出去"——模型根本看不到。就像你站在一个房间中间,只能看到房间以内的东西,房间以外的你不知道。

这也是 RAG 的必要性所在:不是把所有内容塞进去,而是检索出最相关的内容,把有限的窗口用在刀刃上。

当前主流模型的窗口:

模型 上下文窗口
Claude Opus 4.7 / Sonnet 4.6 1M
GPT-4.1(全系列) 1M
Gemini 2.5 Pro 1M
DeepSeek V4 Pro / Flash 1M
Llama 4 Scout 10M

窗口确实越来越大了,但每次调 API 的成本也在跟着增加——窗口翻倍,Token 翻倍,成本翻倍。

第四步:逐字往外蹦(预测)

模型算好了相关性,接下来就是输出。

它不是一个字想好了再想下一个,而是一次只预测下一个最可能的 Token。 你看到的那段完整回答,是这个步骤重复了几十上百次的结果。

那"最可能"怎么控制?靠 Temperature(温度)

  • Temperature 设到 0.1:每次选概率最高的那个词,稳定但死板
  • Temperature 设到 1.0:概率高的词大概率选,但偶尔也给其他词机会,有变化
  • Temperature 设到 1.5:更随机,适合创意发散

你做产品时,不同环节可以设不同的温度:意图分类用低温(要确定),客服回答用中温(要自然),营销文案用高温(要创意)。大部分大模型的 API 都支持这个参数。

补充:为什么大模型突然就会了很多事

你可能会发现一个现象:小模型(7B)做不了的事,大模型(70B)突然就会了。不是慢慢变好的,是跳跃式的。

比如思维链推理——7B 不会,13B 还是不会,到 65B 突然就会了。这就是能力涌现

这个现象对做产品意味着什么:你不需要等"最强模型"出来了再动手。先搭好产品的流程框架,维护好一套测试集。 每次新模型发布,跑一遍测试集,看哪些能力涌现了,哪些还需要用 RAG 兜底。


总结:全流程串起来

现在把四步连起来看,就是一个完整的工作流程:

你输入:"我家猫最近一直叫,尤其是半夜,是怎么回事?"

    ↓

① 拆块 → 变成若干个 Token
   ["我家", "猫", "最近", "一直", "叫", "尤其", "是", "半夜", "是", "怎么回事"]

    ↓

② 转数字 → 每个 Token 变成一个向量
   "猫" → [0.12, -0.35, 0.67, ...]
   "叫" → [0.23, 0.11, -0.44, ...]
   "半夜" → [-0.05, 0.78, 0.33, ...]
   ...

    ↓

③ 找关系 → 注意力机制算出"猫"和"叫"、"半夜"相关性高
   模型知道重点不是"我家",而是"猫半夜叫"这个行为问题

    ↓

④ 逐字预测 → Temperature 决定"稳定"还是"灵活"
   第 1 步:先输出"猫"
   第 2 步:看输入 + "猫" → 输出"半夜"
   第 3 步:看输入 + "猫半夜" → 输出"叫"
   ……
   直到输出完

    ↓

你看到一段分析:
"猫半夜叫常见原因有几种:发情(尤其是未绝育的猫)、饥饿或口渴、身体不适、环境变化引起焦虑……"

这篇文章没有讲公式,没有贴代码。你的目标也不是能复现这个过程,而是别人问你"大模型是怎么工作的",你能按这个顺序把四步串一遍。讲清楚了,L2 就算过关了。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐