Agent 面试

LLM 基础与模型边界:Transformer、Token 与幻觉

LLM 基础与模型边界:Transformer、Token 与幻觉

Agent 开发不要求你手写 Transformer,但面试中经常会问:模型到底在做什么?为什么会有上下文限制?为什么会产生幻觉?这些问题最终又会影响 Agent 的哪些设计?

这一篇不深入数学,只解决这些面试中最常见的基础问题。

一句话总结

这一期不要求你会推导 Transformer,而是要求你能说清楚:LLM 如何理解上下文、为什么有长度限制、为什么会产生幻觉,以及为什么 Agent 必须用 RAG、Tool 和 Runtime 校验补足模型的能力边界。


一、这篇主要准备什么

这一期只需要掌握 5 个问题:

#面试问题需要掌握什么
Q1Self-Attention 在做什么?理解模型如何关注上下文
Q2为什么 Transformer 适合做 LLM?理解并行计算和长距离依赖
Q3Token 和 Context Window 是什么?理解模型输入输出的基本单位和限制
Q4为什么 LLM 会产生幻觉?理解模型不是数据库
Q5temperature=0 是不是完全确定?理解模型输出不是普通程序函数

面试目标不是背公式,而是能够把这些概念和 Agent 工程联系起来。


二、Self-Attention 在做什么?

这是 Transformer 最核心的概念之一。 面试官如果问:

“Self-Attention 到底是在干什么?” 不要一上来背公式。 可以先用一句话回答: Self-Attention 的作用,是让每个 Token 根据当前上下文,决定应该重点关注哪些其他 Token,然后把这些信息组合起来。 例如:

小明把苹果放在桌子上,他很快就离开了。
“他”指的是谁?

模型需要理解:

他 → 小明

Attention 可以帮助模型建立这种 Token 之间的关系。


2.1 Q、K、V 是什么?

面试中经常会继续问:

“那 Q、K、V 分别是什么?”

可以简单理解成:

名称面试解释
Q Query我现在想找什么
K Key我这里有什么信息可以匹配
V Value匹配到以后真正拿走的信息

可以把它类比成搜索:

Query
  ↓
找到相关 Key
  ↓
取出对应 Value

核心过程可以记成:

Q × K → 相关程度
        ↓
      Softmax
        ↓
      权重
        ↓
      加权 V

不需要在 L1 面试中手推矩阵。

只需要知道:

Attention 本质上是在计算“当前 Token 应该关注上下文中的哪些 Token”。


2.2 为什么叫 Self-Attention?

因为 Q、K、V 都来自同一份输入序列。 例如:

我 喜欢 吃 苹果

每个 Token 都可以根据其他 Token 来更新自己的表示。 所以叫:

Self-Attention。 如果面试官继续问 Cross-Attention,可以简单回答: Self-Attention 是序列内部的信息交互;Cross-Attention 通常用于让一个序列去关注另一个序列的信息。 L1 阶段知道这个区别即可。


三、为什么 Transformer 适合做 LLM?

这是第二个非常高频的问题。 可以直接回答:

Transformer 最大的优势之一是可以高度并行地处理序列,同时能够比较直接地建立远距离 Token 之间的关系。


3.1 Transformer 和 RNN 最大区别是什么?

简单记住这张表:

RNNTransformer
处理方式按顺序处理可以并行处理
长距离关系需要逐步传递可以直接建立关系
GPU 利用相对困难非常适合并行计算
当前主流 LLM❌✅

例如:

Token1 → Token2 → Token3 → Token4

RNN 更像:

1 → 2 → 3 → 4

必须一步一步传递。

Transformer 可以让不同位置之间直接进行 Attention:

1 ↔ 2 ↔ 3 ↔ 4

所以非常适合利用 GPU 大规模训练。


3.2 为什么 Transformer 可以训练得很快?

核心原因:

训练阶段可以同时计算大量 Token,而不是像传统 RNN 一样严格按照时间顺序计算。 这也是 Transformer 能够支撑大规模模型训练的重要原因之一。 面试时不要只回答: “因为 Transformer 有 Attention。”

更好的回答是:

Attention 提供了 Token 之间的信息交互,而 Transformer 的结构又非常适合 GPU 并行计算,这使它特别适合大规模训练。


四、Token 是什么?

这是 Agent 开发中非常基础的概念。 面试官可能问:

“LLM 是按照什么单位处理文本的?” 答案: Token。 Token 不是严格意义上的“字”,也不是严格意义上的“单词”。 例如:

Hello world

可能被切成:

Hello
world

中文则可能根据具体 tokenizer 被切成不同数量的 Token。 所以不要记:

一个中文 = 一个 Token。 正确的说法是: Token 是模型 tokenizer 切分出来的文本单位,不同模型的 tokenizer 不一样。


4.1 为什么 Agent 开发需要关心 Token?

因为 Token 通常直接影响:

  • Context Window
  • API 成本
  • 推理速度
  • Prompt 大小
  • RAG 返回多少文档
  • 对话历史保存多少内容

例如:

用户问题
+
System Prompt
+
历史对话
+
RAG 文档
+
Tool 返回结果

最终都会进入模型上下文。 所以 Agent 做到后面一定会遇到:

上下文太长怎么办? 这就是 Context Engineering 要解决的问题。


五、Context Window 是什么?

一句话:

Context Window 是模型一次能够处理的上下文 Token 容量上限。 例如一个模型支持:

128K context

可以简单理解为:

一次请求能够处理大约 128K Token 规模的上下文。

但是要注意: Context Window 大,不代表上下文越多越好。

例如一个 Agent:

System Prompt
+
最近 20 轮对话
+
100 个 RAG 文档
+
10 次 Tool 返回结果

即使没有超过 Context Window,也可能出现问题:

  • 成本增加
  • 延迟增加
  • 无关信息干扰模型
  • 重要信息被大量内容淹没

所以 Agent 开发中经常需要:

压缩
+
摘要
+
RAG
+
Rerank
+
历史裁剪

而不是简单地:

“模型支持 1M Token,那就全部塞进去。”


六、什么是 KV Cache?

这是 Agent / LLM 面试中经常出现的进阶问题。 如果面试官问:

“为什么 LLM 生成 Token 的时候需要 KV Cache?” 可以这样回答: 因为生成下一个 Token 时,之前 Token 的 Key 和 Value 已经计算过了,没有必要每次重新计算,所以可以缓存起来复用。

例如:

输入:

我 喜欢 吃
生成:
苹果

生成“苹果”时,不需要把:

我
喜欢
吃

对应的 K、V 全部重新计算。 可以直接复用之前的结果。


6.1 KV Cache 带来了什么?

简单记住两个结论:

好处

减少重复计算,提高生成速度。

代价

需要占用显存,而且上下文越长,缓存越大。

所以 Agent 如果不断累积历史对话:

第 1 轮
第 2 轮
第 3 轮
...
第 100 轮

上下文越来越长,KV Cache 也会越来越大。 这也是为什么 Agent 系统需要控制上下文。


七、为什么 LLM 会产生幻觉?

这是 Agent 面试非常重要的问题。

最简单的回答:

因为 LLM 的核心任务是根据上下文预测下一个 Token,而不是像数据库一样验证事实是否正确。

例如:

请介绍一个不存在的技术框架 XXX。

模型可能依然会生成:

XXX 是一个由某某公司推出的……

为什么?

因为从模型的角度:

生成一个看起来合理的答案,比直接说“我不知道”可能更符合它学习到的语言模式。


7.1 为什么模型越大也不能彻底解决幻觉?

模型变大通常可以提升能力、降低部分错误。

但是:

模型本质上仍然是在生成概率最高的 Token,而不是执行数据库查询。

所以:

模型变强
    ↓
幻觉可以减少
    ↓
但不能保证 0 幻觉

因此 Agent 系统不能简单认为:

“换一个更强的模型就解决了。”


八、Agent 如何降低幻觉?

面试官很可能继续问:

“那实际项目怎么降低幻觉?”

可以按照下面几个方向回答:

1. RAG

让模型回答问题之前先拿到相关资料。

用户问题
   ↓
检索
   ↓
相关资料
   ↓
LLM
   ↓
答案

适合解决:

模型不知道企业内部知识。


2. Tool

需要实时数据的时候,不让模型自己猜。

例如:

“现在汇率是多少?”

LLM
 ↓
汇率工具
 ↓
实时数据
 ↓
LLM
 ↓
回答

3. 输出校验

对于重要结果,不直接相信模型。

例如:

LLM
 ↓
JSON Schema
 ↓
业务校验
 ↓
通过 / 拒绝

金额、权限、订单状态等尤其应该由代码判断。


4. 引用 / Evidence

如果要求模型根据资料回答,可以要求:

答案
+
对应资料来源

然后由程序检查:

引用是否存在?
数字是否和资料一致?

8.1 一个非常重要的面试结论

可以记住:

Prompt 可以约束模型,但不能把模型变成确定性的业务规则引擎。

所以:

模型负责:
理解
推理
生成
决策建议

代码负责:
权限
金额
状态
事务
最终校验

这是 Agent 开发中非常重要的边界。


九、temperature=0 是不是完全确定?

这是一个很容易被面试官拿来追问的问题。

先记住:

temperature=0 主要意味着尽可能选择概率最高的 Token,并不等于整个推理系统一定完全可复现。

原因可能来自:

  • 推理后端
  • GPU kernel
  • 浮点计算
  • 并行计算
  • batch
  • 服务端实现

所以不要回答:

“temperature=0 就一定每次完全一样。”

更稳妥的回答:

temperature=0 可以减少采样带来的随机性,但是否完全确定,还取决于具体推理系统。


十、Agent 开发需要记住的几个结论

如果面试时间只有 1 分钟,可以直接回答下面这些:

Q1:Attention 是什么?

Attention 是让模型根据上下文计算不同 Token 之间的相关性,从而决定应该关注哪些信息。

Q2:为什么 Transformer 适合 LLM?

因为它可以并行处理大量 Token,并且能够直接建立远距离 Token 之间的关系,非常适合 GPU 大规模训练。

Q3:Token 是什么?

Token 是 tokenizer 切分出来的文本单位,不同模型的 tokenizer 不一样。

Q4:Context Window 是什么?

模型一次能够处理的上下文 Token 容量上限。上下文越长通常意味着更高的成本和延迟,也可能带来信息干扰。

Q5:为什么有幻觉?

因为 LLM 的核心目标是预测下一个 Token,而不是验证事实正确性。

Q6:怎么降低幻觉?

RAG 提供知识,Tool 提供实时数据,代码做关键结果校验,必要时要求引用证据。

Q7:temperature=0 是否完全确定?

不一定。它主要减少采样随机性,但底层推理系统仍可能存在非确定性。


十一、面试官可能继续追问

掌握上面内容以后,可能继续被问:

Attention
  ↓
为什么需要 sqrt(d_k)?
  ↓
什么是 Multi-Head Attention?
  ↓
什么是 Mask?
  ↓
为什么 Decoder 要使用 Causal Mask?
  ↓
什么是 KV Cache?
  ↓
为什么 KV Cache 会占显存?
  ↓
为什么上下文越长成本越高?
  ↓
Agent 如何管理 Context?
  ↓
为什么 LLM 会产生幻觉?
  ↓
RAG 为什么可以降低幻觉?
  ↓
Tool Calling 和普通文本生成有什么区别?

这些问题会在后面的章节逐步展开。


十二、这一期真正需要记住的

如果把整篇压缩成一张图:

                 LLM
                  │
        ┌─────────┴─────────┐
        ↓                   ↓
    Transformer           Token
        │                   │
     Attention        Context Window
        │                   │
        └─────────┬─────────┘
                  ↓
              生成 Token
                  │
                  ↓
               有幻觉
                  │
        ┌─────────┼─────────┐
        ↓         ↓         ↓
       RAG       Tool      校验
        │         │         │
        └─────────┴─────────┘
                  ↓
             Agent Runtime

真正需要记住的不是 Transformer 的公式,而是:

LLM 是一个概率生成模型,它很擅长理解和生成,但不是数据库,也不是确定性的业务规则引擎。Agent 的工程价值,就是在模型能力之外增加 Context、Tool、Memory、Workflow 和 Runtime 校验,让概率模型能够稳定地完成业务任务。

下一期再讲:

什么是 AI Agent:定义、判据与组件

从“模型是什么”正式进入“Agent 是什么”。


AI Agent面试LLMTransformer

← 返回面试题