阅读目录一、一句话它在做“接龙”概念卡token词元文字生成的核心预测下一个 token温度temperature抽签有多“随机”二、它是怎么学会的三个阶段阶段 1预训练——阅读大量文本学会“接龙”阶段 2后训练——学会当“助手”阶段 3使用推理——你每次调用 API 时发生的事三、上下文窗口这次回答能使用的“工作记忆”概念卡上下文窗口context window对话历史怎样继续参与下一轮回答四、为什么会“一本正经地胡说”五、成本与延迟负责人要会算的账六、能力是“参差不齐”的七、本章要点自测1. 同一个分类任务模型有时把“退款”判成“投诉”。除了改提示词你在参数上可以先试什么为什么2. 手算第 n 次调用的输入恰好为 800 × n 个 token连续 5 次输入 token 合计是多少3. 产品经理说“模型在排行榜上准确率最高所以它幻觉最少。”这句话错在哪里4. 为什么提示缓存要求“把固定内容放在前面”阅读目标从一个词怎样被生成开始理解模型为什么会猜错、上下文能帮什么忙以及成本该怎样计算。做 AI 应用时很多决定都绕不开大模型的工作原理为什么同一个问题问两次答案不一样为什么聊得越久越贵为什么它会一本正经地编造这一章不讲神经网络的数学细节只讲负责人做判断时需要的那一层原理模型在做什么、它是怎么学会的、它的“记忆”在哪里、钱花在哪里。本章主要依据 Andrej Karpathy 的公开课Deep Dive into LLMs like ChatGPT2025-02约三个半小时面向大众以及 OpenAI、Anthropic 的官方文档。想看更完整的版本可以直接看这个视频。一、一句话它在做“接龙”概念卡token词元要解决的问题计算机只能处理数字模型需要先把文字切成小块每一块对应一个编号。白话定义token 是模型处理文字时使用的片段单位。常见英文单词可能对应一个 token长单词可能被切成几块中文可能按字、词片段或其他字符组合切分具体取决于模型用的“切分词表”。类比像把一句话拆成乐高积木每块积木有编号。不成立的地方积木的切法不是按“意思”切的而是按统计上常一起出现的字符组合切的所以有时会切得很奇怪。为什么你要关心文字模型的计费与上下文容量通常以 token 为单位处理速度也受 token 数影响。同一份中文合同换一种切分方式就可能得到不同的 token 数估算预算时应使用目标模型的词元统计工具不能直接把字数当成 token 数。在本阶段的作用后面讲成本本章第五节、上下文窗口第三节、第 02 章、检索的分块第 03 章都以 token 为单位。文字生成的核心预测下一个 token本文讨论的是常见的自回归语言模型它按顺序接着前文生成文字核心动作是根据已有的 token给“下一个 token 是什么”打分按生成规则选一个接上去再重复。真实 AI 产品还可能检索资料、调用工具或处理图片这里先拆开讲清文字生成这一步。比如前文是“今天天气很”模型会给词表里每个候选 token 一个分数专业上叫 logit再换算成概率。下面是一组教学用的数字不是真实模型的输出候选分数换算后的概率好2.060.9%热1.022.4%冷0.513.6%差−1.03.0%“换算”用的是一个叫 softmax 的公式每个分数先取指数e 的分数次方再除以所有指数的总和让所有概率加起来等于 100%。以“好”为例e²≈7.389四个指数的总和约 12.1247.389÷12.124≈60.9%。启用随机采样时模型会按这个概率抽签大多数时候接“好”也有两成多的机会接“热”。也可以采用每次直接选最高分候选的规则。接上之后“今天天气很好”成了新的前文再预测下一个 token。一篇回答的基本生成过程就是这样逐步“接龙”。这解释了三个你一定遇到过的现象同一个问题问两次答案可能不一样随机采样会带来不同路径降低随机性通常能改善稳定性但不能保证事实正确。回答越长通常越慢、越贵生成更多 token 通常需要更多计算具体延迟还受服务端优化影响。生成文字不等于核验事实候选按生成规则被选中并不代表它已经查证。应用可以额外检索资料、调用数据库或其他工具但仍需检查证据是否支持回答。这与第四节的“幻觉”问题直接相关。温度temperature抽签有多“随机”API 里常见的 temperature 参数控制的就是这次抽签。做法是换算概率之前先把每个分数除以温度 T。图 1-1 同一组分数在三种温度下换算出的概率教学数字。温度低第一名的优势被放大温度高各候选的概率被拉平。温度 T好热冷差效果0.584.2%11.4%4.2%0.2%几乎总选第一名更稳定、更保守160.9%22.4%13.6%3.0%原始分布243.4%26.3%20.5%9.7%更分散更有“创意”也更容易出错算一个T0.5 时“好”的分数变成 2.0÷0.54e⁴≈54.60四个候选的指数总和约 64.8454.60÷64.84≈84.2%。对负责人的意义要求稳定、可重复的任务分类、抽取、评分温度调低需要多样性的任务起标题、头脑风暴温度可以高一些。具体模型是否开放温度参数、允许哪些取值应查对应版本的官方文档低温度也不能代替正确性评测。二、它是怎么学会的三个阶段图 1-2 一个对话模型从训练到使用的三个阶段教学示意图依据 Karpathy 课程的结构绘制。阶段 1预训练——阅读大量文本学会“接龙”模型先在海量的互联网文本上练习“预测下一个 token”练习的次数是天文数字。结果是一个基座模型base model。它学会了语言的规律、大量的事实和推理模式但它只会“续写文档”你问它一个问题它可能接着写出十个类似的问题而不是回答。Karpathy 把基座模型里的知识比作“对读过的东西的模糊回忆”它读过很多次的东西记得很牢只出现过一两次的冷门事实记得很模糊。阶段 2后训练——学会当“助手”接着用大量人工编写的“用户提问 → 理想回答”的对话样本继续训练监督微调SFT模型学会了以助手的口吻回答问题、遵守格式、拒绝不当请求。之后再用强化学习进一步调整RLHF基于人类反馈的强化学习让人对多个回答排序训练模型更像人们喜欢的回答。面向推理的强化学习在答案可以自动核对的题目数学、编程上奖励最终答对的解题过程。2024–2025 年的“推理模型”OpenAI o1、DeepSeek-R1 等就是这样训练出“先想再答”的能力的具体训练目标与数据仍需对照各模型的技术报告。阶段 3使用推理——你每次调用 API 时发生的事在通常的推理调用中模型参数不会因为这一次对话而更新。它可以利用当前上下文里的示例和纠正来调整回答但这不等于现场重新训练了模型。需要分清两种“记住”模型参数里的知识与应用保存并在后续提供的对话、笔记、检索结果是两回事。用户纠正过的内容只有被应用或服务端会话机制再次放进模型可用的上下文才能持续影响后面的回答。三、上下文窗口这次回答能使用的“工作记忆”概念卡上下文窗口context window白话定义一次调用里模型能同时“看到”的全部 token 的上限包括你发的系统提示、对话历史、检索到的资料、工具结果以及它自己正在写的回答。类比参数像多年积累的知识上下文像桌上摊开的资料。桌子有大小限制而且“放在桌上”不等于“可靠地用到了”长上下文中仍可能漏掉关键信息。类比的边界在于通常的一次推理不会把这些资料直接写进模型参数。在本阶段的作用第 02 章的上下文工程、第 03 章的 RAG本质上都是在决定“往这张桌子上放什么”。对话历史怎样继续参与下一轮回答一种常见做法是程序在每次请求中重发需要保留的历史。另一种做法是使用服务商提供的会话功能例如 OpenAI 的previous_response_id或 Conversations由服务端串联已有上下文。不必每次由客户端重传不等于历史免费也不等于模型参数被训练了。OpenAI 文档明确说明通过previous_response_id串联时前面的输入 token 仍按输入计费。来源会话状态官方文档图 1-3 由应用重发历史的教学示意图。服务端会话是另一种实现两者都需要管理模型实际可用的上下文。算一笔简化账教学数字假设保留全部历史第 n 次调用的输入量恰好是 500 × n 个 token连续调用 10 次。第 1 次输入 500 个第 2 次输入 1000 个……第 10 次输入 5000 个。这里只计算输入量不计输出费用500 1000 1500 … 5000 500 × (12…10) 500 × 55 27,500 个 token第 10 次的单次输入是第 1 次的 10 倍而 10 次累计输入是第 1 次的 55 倍。这个例子说明了保留历史的累计成本也说明产品为什么需要设计历史上限、摘要压缩等策略。实际费用还取决于缓存命中、输出长度和模型单价。提示缓存prompt caching可以缓解这笔账满足缓存条件时服务商可以复用重复提示前缀的计算结果降低输入成本和延迟。OpenAI 官方文档写的是输入成本最高减少 95%不是所有模型、所有请求都享有相同折扣具体门槛、保留时间与单价要按所用模型核对。要用好缓存通常应把固定内容放在前面把每次变化的内容放在后面。来源提示缓存官方文档2026-10-17 核对四、为什么会“一本正经地胡说”上面说过模型说出的每个事实都是“接龙”的结果。那它为什么不在不确定时说“我不知道”OpenAI 2025 年 9 月的论文Why Language Models Hallucinate给了一个很有说服力的解释现在的训练和评测方式奖励猜测不奖励承认不知道。打个比方选择题考试只按答对的题数算分时空着不答一定是 0 分瞎猜还有机会蒙对所以理性的考生会全部猜一遍。论文认为模型就是被优化成了这样的“好考生”。OpenAI 在论文配套说明里给了一组 SimpleQA一个事实问答测试上的数字。这是特定评测中的示例不代表两个模型在所有任务上的能力排名模型弃答率准确率错误率gpt-5-thinking-mini52%22%26%OpenAI o4-mini1%24%75%只看准确率o4-mini 还略高但它几乎从不说“不知道”错误率是前者的近 3 倍。只看准确率的排行榜会把更爱瞎猜的模型排在前面。这篇论文的推理过程很值得学本阶段有一篇完整的精读四。对负责人的意义评测你的产品时不要只看“答对率”还要单独统计“答错率”和“合理拒答率”并给“自信地答错”更重的扣分第 05 章。对冷门、精确的事实人名、日期、条款号、价格不要依赖模型的“回忆”要么给它资料第 03 章 RAG要么让它调用工具查询第 04 章 Agent。在提示词和产品设计里明确允许并鼓励模型说“我不确定”并给用户一条找人工或查原文的路径。五、成本与延迟负责人要会算的账把前面几节合起来一次调用的成本和耗时大致由三件事决定因素对成本的影响对延迟的影响你能怎么调输入 token 数按输入单价计费缓存命中部分大幅打折影响“首个字出来前”的等待控制历史长度、只放需要的资料、固定内容放前面以命中缓存输出 token 数输出单价通常是输入的数倍每个 token 都要逐个生成是总耗时的主要来源限制回答长度、要求结构化输出、推理模型控制思考预算选哪个模型大模型和小模型单价可差 10 倍以上小模型通常更快按任务难度分流简单任务用小模型第 04 章“路由”模式一个可以随身带的估算公式单价以各家官方价格页为准每次调用费用 ≈ 未缓存输入 token × 输入单价 缓存命中 token × 缓存单价 输出 token × 输出单价手算一遍全部是教学数字某客服功能每次调用输入 6,000 token其中 5,000 是固定的系统提示和知识可以命中缓存1,000 是本次对话输出 400 token。假设输入单价每百万 token 3 美元、缓存按 0.1 倍计、输出每百万 token 15 美元未缓存输入1,000 × 3 / 1,000,000 0.003 美元缓存输入5,000 × 0.3 / 1,000,000 0.0015 美元输出400 × 15 / 1,000,000 0.006 美元合计约0.0105 美元/次。如果没有缓存输入部分是 6,000 × 3 / 1,000,000 0.018 美元合计 0.024 美元贵了一倍多。每天 10 万次调用差别就是每天约 1,350 美元。这种账负责人应该能在白板上算出来。六、能力是“参差不齐”的Karpathy 用“参差不齐的智能”jagged intelligence形容大模型它能解出很难的数学题却可能数错一个单词里有几个字母。2026 年 2 月发布的《国际 AI 安全报告》也用了同样的说法能力进步是“锯齿状”的在难题上表现出色在一些简单任务上却会失败。这对产品设计的含义是不能用“它连这么难的都会”去推断“它一定会那个简单的”。每一类任务都要单独评测第 05 章。七、本章要点常见自回归语言模型按前文预测下一个 token再按生成规则选取。理解这一步有助于分析随机性、成本与延迟生成顺畅不等于事实可靠。它的知识有两个来源参数里的“模糊回忆”和本次上下文里的“工作记忆”。精确、冷门、会变化的事实要放进上下文而不是依赖回忆。对话状态可以由应用或服务端保存但历史参与后续回答仍会占用上下文和预算。缓存、历史上限和摘要压缩是控制成本的基本手段。幻觉的一个重要原因是“只奖励答对”的训练和评测方式。评测时要单独统计答错率和合理拒答率。能力参差不齐每一类任务都要单独评测。自测1. 同一个分类任务模型有时把“退款”判成“投诉”。除了改提示词你在参数上可以先试什么为什么把温度调低如果这个模型开放温度参数。温度低时概率最高的选项被放大抽签结果更稳定。如果模型不开放温度参数就要靠更清晰的类别定义、示例和评测来保证稳定性。2. 手算第 n 次调用的输入恰好为 800 × n 个 token连续 5 次输入 token 合计是多少800 × (12345) 800 × 15 12,000 个 token。3. 产品经理说“模型在排行榜上准确率最高所以它幻觉最少。”这句话错在哪里准确率只统计答对的比例不区分“答错”和“不答”。一个从不拒答、爱猜的模型准确率可能更高错误率幻觉也高得多。OpenAI 给的 SimpleQA 例子里o4-mini 准确率 24%、错误率 75%gpt-5-thinking-mini 准确率 22%、错误率只有 26%。要同时看错误率和弃答率。4. 为什么提示缓存要求“把固定内容放在前面”缓存复用的是“开头完全相同的那一段”的计算结果。如果每次都变的内容用户问题、时间戳放在最前面后面的固定内容也就和上一次不“同头”了缓存无法命中。上一篇 · 下一篇 · 专题目录 · 知识库首页