这就是模型真正执行的操作。给定一份上下文,它会采样出下一个 Token,将其追加进去,然后再次运行。所有输出——一句话、一次工具调用,或一个上千行的文件——都是逐个 Token 构建出来的。模型没有其他运行方式。
每一步的工作方式都相同:上下文窗口中的 Token 经过参数运算,为词表中的每个 Token 生成一个概率——这个很可能是下一个,另一个则没那么可能。模型从这些概率中采样一个 Token,将其追加到上下文中,再用稍长一些的上下文继续循环。正是这个采样步骤,使同一个提示词在不同运行中产生不同输出:非确定性内置于机制之中,并不是后来叠加的缺陷。
理解这一机制,就能解释许多看似奇怪的行为。模型在输出 Token 前从不会检查它是否真实,只会判断它是否可能——这正是幻觉的根源。模型会逐个承诺已经生成的 Token,因此一句听起来很自信、实际却错误的开场,就可能把后续回答全部带偏。由于输出 Token严格逐个生成,生成速度也为任何智能体的工作速度设定了下限。
用法:
“智能体是怎么‘决定’调用工具的?”
“它并没有做决定——从头到尾都是下一 Token 预测。工具调用只是一段结构化字符串,由运行框架从输出流中解析出来。”