AI Agent 由浅入深
核心原理 大语言模型(LLM)的核心原理讲起来很简单:根据已有的文本,预测下一个 token 出现的概率,这里的 token 是模型处理文本的最小单位,可以简单理解 token 就是输入和输出的文本里的字词 比如你输入「今天天气」,模型会计算所有可能的下一个字的概率分布:「真」的概率 30%,「不」的概率 20%,「很」的概率 15%… 然后从中选一个输出。选完之后,把这个字拼到输入后面,继续预测下一个字,如此反复,就生成了一段完整的文本 所以 LLM 本质上就是一个概率模型,一个字一个字地往外蹦,由于 Transformer 架构的自回归设计,上一轮的输出作为下一轮的输入,所以也只能一个字一个字往外蹦,跟 ChatGPT 聊天时看到回答一个字一个字地出现,不是为了打字机效果,这就是它真实的生成方式 在 LLM 往外输出文本时,会先计算出一组 token 本身的出现概率,再根据几个参数对这些概率进行调整,再最终选择输出哪一个 token 有一个参数叫温度(temperature),控制模型选择 token 时的随机程度,就像热力学熵一样,越高越混乱 温度等于 1 的时候,模型选择 token 时的概率完全等于模型本身计算出的概率,没有任何缩放。温度越低,越会让本来概率高的更高,本来概率低的更低,缩放后的概率就越确定,信息熵越低;温度越高,缩放之后的概率就更随机,分布得更平坦,就更有可能选择到原本概率并不高的 token,输出变得更有创意 还有另一组参数叫做 top P 和 top K,其中 top P 用于配置保留将 token 按概率从高到低排序后前 n 个概率加起来超过 p 的 token 选项,其他的丢弃掉,而 top K 就直接用于保留概率最高的 k 个选项 可能光这样讲比较抽象,可以看看这个在线演示 现在很多比较新的推理模型已经不推荐再去调整这几个参数了,而是提供了更为直观的 Reasoning Effort 参数,用于配置模型的推理预算和思考深度 上下文 另一个重要的概念是上下文(Context) 模型在预测下一个 token 时,依据的就是当前上下文里的所有文本。你输入的问题、当前会话中的历史消息、系统给的背景设定,这些全部拼在一起就构成了上下文 模型本身是没有状态的,至少现在这些给大众使用的还没有,对于同一个模型,不引入随机性的情况下或者说温度设定为0的时候,对于同样的输入,输出几乎永远是一致的 举个例子,你跟 ChatGPT 聊天,第一句说「我叫小明」,然后聊了很多别的话题,最后突然问「我叫什么名字」,它能正确回答「你叫小明」,这不是因为它「记住」了你的名字,而是因为「我叫小明」这句话还在上下文窗口里。模型每次生成回答时,都是依据整个上下文的内容来预测下一个 token 的,所以表现出来是它「记住」了你的名字 ...