公众号旧文

为什么 AI 总是 一个字一个字 的回答问题

作者:胖子阅读 —

很多人在使用 ChatGPT 或其他 AI 时,都会发现:

AI 的回答并不是一次性全部出现,而是像打字一样,一个字一个字的往外冒。

例如:

今
今天
今天天
今天天气
今天天气不
今天天气不错

为什么 AI 要这样输出?它真的是一个字一个字想出来的吗?

要理解这个问题,就需要先知道一个非常重要的概念:

Token

一、什么是 Token?

在 AI 模型里,文本并不是按“字”或者“单词”来处理的,而是会被拆成一种叫 Token(标记) 的单位。

简单理解:

Token 就是模型处理文本时使用的最小单位。

例如一句中文:

你好,世界

在 AI 模型内部,可能会被拆成:

你 | 好 | , | 世界

也可能是:

你好 | , | 世界

这些被拆分出来的单位,就叫 Token。

二、Token 不一定等于一个字

很多人以为:

1
 个字 =
1
 个 token

其实不一定。

例如中文:

人工智能

可能被拆成:

人工 | 智能

也可能是:

人 | 工 | 智 | 能

英文也一样。

例如:

Hello
 world

可能被拆成:

Hello
 | world

也可能是:

Hel
 | lo | world

不同的 AI 模型,会有不同的 Tokenizer(分词器)。

三、为什么 AI 要用 Token?

原因很简单:

神经网络更容易处理数字序列。

AI 并不能直接理解:

你好

它看到的是:

1234

5678

也就是说:

Token
 → 数字 ID → 模型计算

整个过程大概是这样:

用户输入文字
↓
Tokenizer 切成 token
↓
token 转换成数字
↓
模型计算
↓
生成新的 token
↓
再转换回文字

所以 AI 的本质其实是:

不断预测下一个 token。

四、AI 是怎么生成答案的?

当你问 AI 一个问题时,例如:

为什么天空是蓝色的?

模型并不是先想好整段答案。

它的工作方式更像是这样:

预测第一个 token
↓
预测第二个 token
↓
预测第三个 token
↓
……

例如:

天空
之所以
呈现
蓝色
是因为
……

每生成一个 token,模型都会重新计算一次。

所以 AI 的生成过程其实是:

token
 → token → token → token

一步一步往下推。

五、为什么 AI 会一个字一个字的输出?

当模型生成 token 时,服务器其实可以有两种做法:

第一种:全部生成完再返回

例如:

生成 500 个 token
↓
一次性返回

这样用户就会看到:

等待 5 秒
↓
突然出现一大段文字

体验会比较差。

第二种:边生成边发送

很多 AI 系统采用的是:

生成一个 token
↓
立刻发送给浏览器
↓
浏览器显示

于是用户看到的效果就是:

今
今天
今天天气
今天天气不错

就像 AI 在打字一样。

这种技术叫:

流式输出(Streaming)。

六、Token 也是 AI 的计费单位

如果你用过 AI API,可能见过这样的说法:

100 万 token

这里的 token,其实就是:

模型处理的文本单位数量。

通常包含两部分:

输入 token + 输出 token

例如用户问题:

写一篇关于闪电形成的文章

假设消耗:

输入:30 token
输出:800 token

总消耗就是:

830 token

这就是 AI 服务的计费方式。

七、一个很多人不知道的小细节

虽然你看到 AI 是 一个字一个字输出,但实际上:

模型不一定真的是一次生成一个 token。

很多推理服务器会:

一次生成几个 token
↓
再分批发送

所以有时候你会发现:

  • 开头输出很快
  • 中间稍微慢一点

这其实是服务器在控制发送节奏。

八、总结

简单来说:

Token 是 AI 处理文本的基本单位。

AI 的回答本质上是:

不断预测下一个 token

而我们看到的打字机效果,就是因为:

服务器一边生成 token,一边把结果发送给浏览器。

于是就出现了 AI 像打字一样回答问题 的现象。