AI Agent原理篇02:大模型基础:Token、上下文窗口与采样

Agent 的大脑是大语言模型。不需要懂训练原理,但有三个概念必须清楚:Token、上下文窗口、采样。它们分别决定了 Agent 的成本、能力边界和稳定性。

一、模型到底在做什么

大模型做的事情可以简化为一句话:根据前面所有的内容,预测下一个 token,然后把它接上去,再预测下一个。这叫自回归生成。

所以模型的输出是一个 token 一个 token「吐」出来的,这也是为什么回答越长,等待时间越长。

二、Token:模型读写的基本单位

Token 不是字,也不是词,而是分词器切出来的片段。一些直观认识:

  • 常见英文单词通常是 1 个 token,长词或生僻词会被切成多个。
  • 中文大致一到两个字一个 token,具体取决于模型的分词器。
  • 代码、JSON、日志里的符号和数字会占用不少 token。一份看着不长的日志,token 数可能比同样字数的文章多得多。

Token 重要,是因为三件事都按 token 算:

  1. 费用:按输入 token 和输出 token 分别计价,输出通常更贵。
  2. 速度:输出 token 越多,生成越慢;输入越多,首个 token 出来前的等待也越长。
  3. 上限:一次调用能处理的内容总量有上限,就是下面要讲的上下文窗口。

三、上下文窗口

上下文窗口是模型在一次调用中能看到的全部内容,包括:

  • 系统提示(System Prompt)
  • 所有历史消息
  • 工具的定义和每次工具调用返回的结果
  • 模型本次要生成的输出

主流模型的窗口从十几万到百万 token 级别不等。听起来很大,但有三点要注意:

  1. 窗口不是记忆。超出窗口的内容模型完全看不到。下一次调用如果你不把历史再发一遍,它也不会记得。这一点在第 03 篇会展开。
  2. 越长越贵越慢。每次调用都要为整个上下文付费,Agent 循环十轮,前面的内容就被反复计费十次。
  3. 越长越容易「走神」。上下文塞满无关内容时,模型更容易忽略关键信息或早期的指令。

对 Agent 来说,上下文是最稀缺的资源。第 07 篇「上下文工程」会专门讲怎么管理它。

四、采样:为什么同样的问题答案不一样

模型每一步预测的其实是「下一个 token 的概率分布」,然后从中挑一个。怎么挑由采样参数控制:

  • temperature:越低越倾向选概率最高的 token,输出越稳定;越高越随机、越有创意。
  • top_p:只在累计概率前 p 的候选里挑,砍掉长尾的低概率选项。

结论是:大模型的输出天然具有不确定性。即使参数调得很保守,同样的输入也可能得到不同的输出。不同模型对这些参数的支持也不完全一样,以各家文档为准。

对 Agent 开发的启示:

  • 需要稳定输出的场景(如生成 JSON、做分类)用较低的随机性。
  • 不要假设模型每次都会做同样的选择,代码要能处理意外的输出,第 06 篇会讲容错。
  • 评估 Agent 时,一个用例要多跑几次看稳定性,第 19 篇会讲。

五、这三个概念对 Agent 意味着什么

概念 影响 设计上的应对
Token 成本和延迟 工具返回值要精简,不要整份原始数据往回塞
上下文窗口 能处理的信息上限,以及长上下文下的质量下降 数据先在代码里聚合,只给模型看摘要
采样 输出不稳定 校验输出、允许重试、关键决策加规则兜底

本篇小结

  • 模型逐个 token 生成内容,输出越长越慢。
  • 费用、速度、容量都以 token 计算。
  • 上下文窗口是一次调用能看到的全部内容,不是记忆,也是 Agent 最稀缺的资源。
  • 输出天然不确定,代码必须能兜底。

思考与练习

  • 一份 5 万行的访问日志能直接塞进上下文吗?如果不能,你会先在代码里做哪些处理,再把什么交给模型?
  • 一个 Agent 平均循环 8 轮、每轮上下文 2 万 token,估算一次任务的输入 token 总量。

上一篇:AI Agent原理篇01:AI Agent 概述与核心概念
下一篇:AI Agent原理篇03:消息结构与角色:System、User、Assistant、Tool
返回系列总目录

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇