🧠 Token 消耗完全解读(小白也能看懂)
本文以一次 OpenCode 会话为例,逐项解释 AI 对话中 token 的含义。
📊 示例会话数据
| 参数 | 数值 |
|---|---|
| 提供商 | OpenCode Zen |
| 模型 | DeepSeek V4 Flash Free |
| 上下文限制 | 1,000,000 |
| 使用率 | 27% |
| 总 token | 267,774 |
| 输入 token | 85 |
| 输出 token | 24 |
| 推理 token | 17 |
| 缓存 token(读/写) | 267,648 / 0 |
| 用户消息 | 7 |
| 助手消息 | 123 |
| 消息总数 | 130 |
| 会话时长 | 约 5 天 |
| 总成本 | US$0.00 |
| 上下文拆分 | 用户 2.4% / 助手 20% / 工具调用 76.5% / 其他 1.2% |
🔤 什么是 Token?
Token 是 AI 理解和生成文本的最小单位。
一个 token ≈
- 英文:1 个词 ≈ 1~2 token(如 "Hello" = 1 token)
- 中文:1 个汉字 ≈ 12 token(如 "你好" = 24 token)
- 代码:1 行代码 ≈ 3~10 token
简单记:1000 token ≈ 750 个英文单词 ≈ 500 个汉字。
AI 每"看"一段文字、每"写"一句话,都要消耗 token。Token = AI 的算力货币。
📖 逐项解读
1️⃣ 提供商(Provider)
AI 服务的提供方。OpenCode 内置了多种 AI 提供商(OpenAI、Claude、DeepSeek 等),当前用的是 OpenCode 自家的 Zen 线路。
2️⃣ 模型(Model)
本次对话使用的 AI 模型名称。DeepSeek V4 是深度求索的模型,Flash 表示快速版,Free 表示免费。不同模型能力不同、价格不同、上下文窗口大小也不同。
3️⃣ 上下文限制(Context Limit)
这是 AI 的"短期记忆容量"。
AI 一次能"记住"的信息量上限。就像你的电脑内存——内存越大,能同时处理的信息越多。
- 100 万 token 是非常大的容量(约等于 3 套《三体》小说)
- 这意味着这个会话可以塞进海量信息而不丢失上下文
- 用满之前基本不会碰到"遗忘"问题
4️⃣ 使用率(Usage Rate)
当前已使用了上下文限制的百分之多少。
计算方式:总 token ÷ 上下文限制 × 100% = 267,774 ÷ 1,000,000 ≈ 27%
还剩 73% 的空间 ≈ 73 万 token,说明"记忆"还有富余。
5️⃣ 总 Token(Total Tokens)
从会话开始到现在的全部 token 消耗总和。
包括:你问的 + AI 答的 + 推理过程的 + 工具调用的 + 缓存的。
这个数字越大,说明对话越长、涉及的信息越多。
6️⃣ 输入 Token(Input Tokens)
最近一次请求中,你输入的内容消耗了多少 token。
这个"85"非常小,说明你刚发的消息很短。
每次你发消息,AI 都会把整段对话历史作为输入(不只是你最新的一句话),所以实际输入成本远高于这个数字。这里的 85 是"增量"。
7️⃣ 输出 Token(Output Tokens)
最近一次响应中,AI 生成的回答消耗了多少 token。
24 token ≈ 12 个汉字左右,说明上一条回复很短。
8️⃣ 推理 Token(Reasoning Tokens)
AI 在"思考"过程中消耗的 token。
有些模型(如 DeepSeek R1、Claude)在给出答案前会先进行内部推理。这些"思考过程"不会显示给你看,但会消耗 token。
17 很小,说明这个问题不需要复杂推理。
9️⃣ 缓存 Token(Cache Tokens)
这是省钱的秘诀!
- 读(Read) : AI 命中了之前已经处理过的内容,不需要重新计算——命中缓存,又快又省
- 写(Write) : 需要新计算的内容
本次会话 267,648 个 token 命中了缓存,意味着绝大多数内容都是重复利用的,这也是为什么总成本是 $0.00。
🔟 用户消息 / 助手消息 / 消息总数
- 用户消息: 你主动发送的提问次数 = 7 次
- 助手消息: AI 回复的次数 = 123 次
- 消息总数: 130 条(7 + 123 = 130)
为什么助手消息远多于用户消息?因为这里的"助手消息"包含了 AI 调用的工具执行结果。当你让 AI 执行命令、搜索网页、操作浏览器时,每次工具调用和返回值都算作一条"助手消息"。所以 123 条里大部分是工具执行的往返,不是 AI 真的说了 123 次话。
1️⃣1️⃣ 总成本(Total Cost)
当前使用的模型是免费的(DeepSeek V4 Flash Free),所以成本为 0。
如果换成付费模型(如 GPT-4 或 Claude Opus),成本计算方式为:成本 = 输入 token × 输入单价 + 输出 token × 输出单价。
通常:
- 输入比输出便宜(约 3~5 倍差价)
- 缓存命中更便宜(约 50% 折扣)
1️⃣2️⃣ 上下文拆分(Context Breakdown)
这是"对话内容"的种类分布,按 token 占比。
| 类型 | 占比 | 说明 |
|---|---|---|
| 用户 | 2.4% | 你发的消息(很少,因为你只是下达指令) |
| 助手 | 20% | AI 的文字回答(方案、解释等) |
| 工具调用 | 76.5% | AI 执行命令的输入输出(最多!) |
| 其他 | 1.2% | 系统提示词等 |
关键洞察:本次会话中,超过 3/4 的 token 都用在工具调用上——意味着 AI 主要在处理文件、执行命令、搜索网页、操作浏览器等实际操作,而不是在对话。这是 AI Agent 的典型特征:干活的量 >> 说话的量。
💡 关键总结
- Token 是 AI 的货币——每次对话、每次工具调用都要花
- 上下文限制是内存——100 万 token 意味着 3 套《三体》的容量
- 缓存是省钱神器——命中缓存的内容不用重新算
- 工具调用占大头——Agent 模式下 >70% 的消耗是执行操作,不是聊天
- 推理 token 是思考成本——模型越聪明,"思考"花得越多
- 用户消息很少——你只需要下达指令,AI 负责执行
🎯 怎么省钱?
| 方式 | 原理 |
|---|---|
| 开新会话 | 清空上下文,从头开始(省缓存/输入) |
| 简短提问 | 减少输入 token |
| 使用缓存模型 | 命中缓存的内容价格更低 |
| 避免超长上下文 | 用满 100 万 context limit = 成本翻倍 |
| 选择免费模型 | DeepSeek Flash、Claude Haiku 等 |