Appearance
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 开发含义: 工具调用替代模型记忆、验证步骤减少幻觉、小模型做路由大模型做规划。
推荐阅读
- Anthropic 官方 Prompt Engineering 指南
- Tokenizer Playground(感受 token 切分)
- LLM 深度原理想深挖:→ LLM 深度原理模块
