Hi my new friend!

搞懂 AI 的 Token:省钱、省时、高效对话的完整指南

Scroll down

搞懂 AI 的 Token:省钱、省时、高效对话的完整指南

越来越多的人开始用 AI 辅助工作,但大多数人对 AI 的底层运作方式一知半解——Token 是什么?为什么对话长了 AI 会"忘事"?为什么同样的问题有时回答好有时回答差?

搞懂这些,不只是为了省钱,更是为了真正用好 AI。


Token 是什么?

Token 是 AI 处理文本的基本单位,既不是字符,也不是单词,而是介于两者之间的"文本片段"。

英文的 Token 切分规律:

"Hello, world!" → ["Hello", ",", " world", "!"]  共 4 个 Token
"ChatGPT"       → ["Chat", "G", "PT"]             共 3 个 Token

中文的 Token 切分规律:

中文通常每个汉字对应 1~2 个 Token,标点和空格也会占用 Token。

"你好世界"   → 约 4~6 个 Token
"人工智能"   → 约 4~6 个 Token

一个粗略的换算参考:

内容大约 Token 数
1000 个英文单词~750 Token
1000 个汉字~1000~1500 Token
一页 A4 文档~500~800 Token
一段 200 行代码~1500~3000 Token

可以用 OpenAI Tokenizer 直接粘贴文本查看 Token 数量。


上下文窗口:AI 的"工作记忆"

AI 并不像人一样有持久记忆,它每次回复时能"看到"的内容是有限的,这个限制就叫上下文窗口(Context Window),单位是 Token。

┌─────────────────────────────────────────┐
│           上下文窗口(如 128K Token)      │
│                                         │
│  你的第1条消息                            │
│  AI 的第1条回复                           │
│  你的第2条消息                            │
│  AI 的第2条回复                           │
│  ...                                    │
│  你的第N条消息(当前)← AI 正在处理这里     │
└─────────────────────────────────────────┘

关键点:

  • 窗口内的所有历史消息都会被重新发送给 AI,每次对话都在"重读"全部历史
  • 超出窗口限制后,最早的内容会被截断,AI 真的会"忘记"前面说过的话
  • 窗口越大,每次请求消耗的 Token 越多,费用越高

主流模型的上下文窗口对比:

模型上下文窗口
GPT-4o128K Token
Claude 3.5 Sonnet200K Token
Gemini 1.5 Pro1M Token
DeepSeek V364K Token

AI 是怎么计费的?

主流 AI 服务按 Token 计费,分为输入 Token输出 Token 两部分,通常输出比输入贵 3~5 倍。

总费用 = 输入 Token 数 × 输入单价 + 输出 Token 数 × 输出单价

输入 Token 包括:

  • 你发送的消息
  • 系统提示词(System Prompt)
  • 本次对话的所有历史记录

输出 Token 包括:

  • AI 生成的回复内容

这意味着一个长达 50 轮的对话,到最后每一条新消息都要把前面 49 轮全部重新计费一次。对话越长,边际成本越高。


如何节省 Token?

1. 开新对话,而不是无限续聊

每个话题独立开一个对话,避免把不相关的历史拖进来。这是最直接有效的省钱方式。

❌ 在同一个对话里问:写代码 → 翻译文章 → 分析数据 → 写邮件
✅ 每个任务开一个新对话

2. 精简你的提问

冗余的客套话和重复的背景说明都是在烧 Token。

❌ "你好!我是一名前端开发者,我最近在做一个项目,
    这个项目是关于电商的,我遇到了一个问题,
    就是关于 CSS 的,希望你能帮我解答一下,
    我的问题是:flex 和 grid 有什么区别?"

✅ "CSS flex 和 grid 的核心区别是什么?各自适合什么场景?"

3. 让 AI 直接给结论,不要解释过程

❌ "请详细解释一下快速排序的原理和实现步骤"
✅ "给我一个 JavaScript 快速排序的实现,只要代码,不要解释"

4. 用代码代替描述

需要处理数据时,直接给结构,不要用文字描述。

❌ "我有一个用户列表,每个用户有名字、年龄和邮箱,
    我想按年龄从小到大排序..."

✅ 直接粘贴数据结构:
[{ name: "Alice", age: 28, email: "..." }, ...]
按 age 升序排序,返回新数组

5. 分段处理长文档

不要一次性把整篇文章扔给 AI,按需截取相关段落。

❌ 把 10000 字的文档全部粘贴,问其中一个小问题
✅ 只粘贴相关的 500 字段落

如何高效与 AI 对话?

节省 Token 只是一方面,更重要的是提升对话质量,让 AI 一次就给出你想要的结果。

给 AI 一个明确的角色

✅ "你是一个有 10 年经验的 Node.js 后端工程师,
    帮我 review 以下代码的性能问题:"

角色设定能让 AI 调整回答的专业深度和视角,避免给出过于基础或偏离方向的回答。

说清楚输出格式

✅ "用 Markdown 表格对比以下三个方案的优缺点"
✅ "给我 3 个方案,每个方案一句话概括,不要展开"
✅ "只返回 JSON,不要任何解释文字"

提供反例或约束条件

✅ "写一个 Python 函数,要求:
    - 不使用第三方库
    - 时间复杂度 O(n)
    - 不要用递归"

用"继续"代替重复上下文

如果 AI 的回答被截断,直接说"继续",不要重新描述任务。

迭代而不是重来

AI 的第一次回答不满意时,针对性地指出问题,而不是重新写一遍提示词。

❌ 重新写一个更详细的 Prompt,从头开始
✅ "上面的方案性能太差,改用哈希表实现"
✅ "语气太正式了,改成口语化一点"

善用"分步思考"

对于复杂问题,让 AI 先列出思路再执行,能显著提升准确率。

✅ "先列出解决这个问题的步骤,确认后再写代码"
✅ "一步一步思考,然后给出答案"

一个实用的对话模板

把以下结构作为复杂任务的提问框架:

【角色】你是一个...(领域专家)

【背景】我正在做...(简短的项目背景,1~2句)

【任务】请帮我...(具体要做什么)

【约束】
- 要求1
- 要求2

【输出格式】请以...格式返回

这个结构能让 AI 快速定位你的需求,减少来回确认的轮次,也就减少了 Token 消耗。


总结

目标做法
省 Token开新对话、精简提问、按需截取文档
提升质量给角色、说格式、加约束条件
减少来回用模板、迭代修改、让 AI 分步思考
控制成本简单任务用便宜模型,复杂任务再上旗舰

AI 不是搜索引擎,也不是万能的。它的能力上限很高,但能不能发挥出来,很大程度上取决于你怎么问。

  • 本文作者:Gavin
  • 本文链接:
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
其他文章