Skip to content

LLM 工作原理

写 Agent 这件事有一个反直觉的地方:你不需要会训练模型,但你需要真正理解模型是怎么工作的。

不理解原理,你写出来的 Agent 会在奇怪的地方失败,而你不知道为什么。

这个模块不是机器学习课,是一门面向 Agent 开发者的 LLM 操作手册

子课展开学习:


课次

课次 01 · Token 与 Context Window

你需要搞清楚的问题:

  • 为什么 LLM 有 context window 限制?这个限制本质上是什么?
  • Token 和字符的区别——为什么中文比英文贵?
  • context 越长,推理越慢、越贵——背后的数学是什么?

关键概念:

  • Tokenizer 的工作原理:BPE(Byte Pair Encoding)
  • Context window:为什么不能无限长
  • Token 计费:为什么 len(text) 不等于 token_count

实验: 用 tiktoken / Claude tokenizer 数一段中文和英文的 token 数,感受差距。


课次 02 · Attention 机制直觉

不需要推导公式,但你需要对 Attention 有操作层面的直觉。

你需要搞清楚的问题:

  • 模型是怎么「看到」上下文依赖关系的?
  • 为什么 LLM 记不住超长对话?(不是 context window 的问题)
  • 为什么同样的 prompt 在不同位置效果不同?

关键概念:

  • Self-Attention:每个 token 和所有其他 token 的相关性加权
  • 位置编码:模型怎么知道 token 的顺序
  • 注意力的「失忆」问题:为什么开头的内容容易被忽略

Agent 开发含义: 系统 prompt 放在哪、工具结果放在哪,影响模型的注意力分布。


课次 03 · 推理过程与成本

你需要搞清楚的问题:

  • 为什么 LLM 推理不能并行生成所有 token?
  • KV Cache 是什么?它省了哪里的钱?
  • 为什么 prefill 阶段和 decode 阶段成本差这么多?

关键概念:

  • Autoregressive 解码:token by token 生成的本质
  • Prefill vs Decode:两个阶段的计算特征
  • KV Cache:复用已计算的 key/value,避免重复计算
  • 批处理:为什么 API 厂商要做 batching

Agent 开发含义: 理解成本结构,才能设计出经济合理的 Agent——比如哪些内容值得放进 context,哪些应该用检索代替。


课次 04 · 模型能力边界

你需要搞清楚的问题:

  • 幻觉是怎么产生的?什么情况下更容易幻觉?
  • 知识截止日期如何影响 Agent?如何用 RAG 补偿?
  • 什么任务适合大模型,什么任务适合小模型?
  • 为什么同样的 prompt 在不同模型上效果差这么多?

关键概念:

  • 幻觉的根本原因:模型是概率分布,不是知识库
  • 训练数据偏差:模型「擅长」什么取决于训练了什么
  • 能力 vs 知识:推理能力和事实知识是不同的东西
  • 大模型 vs 小模型:成本与能力的权衡矩阵

Agent 开发含义: 工具调用替代模型记忆、验证步骤减少幻觉、小模型做路由大模型做规划。


推荐阅读

大齐 AI 课堂 · 程序员的 Agent 开发课