共计 1757 个字符,预计需要花费 5 分钟才能阅读完成。
核心概念:Token 的定义与计费逻辑
- Token 的本质:在 ChatGPT 中,token 是文本处理的最小单位,英文单词、标点或中文字符都可能被拆分为多个 token。例如:
- “ChatGPT” → [“Chat”, “G”, “PT”](3 tokens)
-
“ 你好 ” → [“ 你 ”, “ 好 ”](2 tokens)

-
计费标准(2023 年数据):
- gpt-3.5-turbo:$0.002/1K tokens
-
gpt-4:$0.06/1K tokens(输入)/$0.12/1K tokens(输出)
-
计数原理:
- 输入和输出的 token 总数合并计算
- 系统消息(system prompt)计入费用
- 多轮对话中所有历史消息会被重复计费
开发者痛点分析
- 长文本处理:一篇 5000 字的文章经 token 化后可能超过模型上下文限制(如 4096 tokens),需额外拆分调用
- 对话累积成本:客服场景中 10 轮对话的 token 消耗可达单轮的 3 倍
- 隐藏成本项:
- 系统提示词设计不当导致冗余 token
- 未压缩的 JSON 格式 API 响应
技术优化方案
文本预处理策略
- 内容精简:
- 移除重复描述和无意义修饰词
-
用缩写替代完整短语(如 ”Python programming language”→”Python”)
-
结构化输入:
- 表格数据转 CSV 比自然语言描述节省 30% tokens
- 使用 ”TL;DR” 指令要求模型生成摘要
对话管理技巧
- 会话摘要:每 5 轮对话后要求模型生成上下文摘要,替代完整历史
- 冷热分离:将高频通用指令固化到 system prompt,动态内容通过 user prompt 传递
模型选择建议
- 对成本敏感场景优先选用 gpt-3.5-turbo-16k 而非 gpt-4
- 简单分类任务可测试 text-embedding-ada-002($0.0004/1K tokens)
代码实现示例
# 使用 tiktoken 库精确计算 token
import tiktoken
def count_tokens(text: str, model: str = "gpt-3.5-turbo") -> int:
""" 计算文本的 token 数量
Args:
text: 待处理文本
model: 模型名称
Returns:
token 数量
"""
encoder = tiktoken.encoding_for_model(model)
return len(encoder.encode(text))
# 优化后的对话组装示例
def build_conversation(
system_prompt: str,
user_input: str,
summary: str = None
) -> list:
""" 构建符合 token 优化的对话结构
Args:
system_prompt: 系统级指令(需提前优化)user_input: 当前用户输入
summary: 前序对话摘要
"""
messages = [{"role": "system", "content": system_prompt},
{"role": "assistant", "content": summary} if summary else None,
{"role": "user", "content": user_input}
]
return [msg for msg in messages if msg is not None]
性能对比数据
| 优化策略 | 原始 token 量 | 优化后 token 量 | 降幅 |
|---|---|---|---|
| 文本压缩 | 1,200 | 850 | 29% |
| 对话摘要 | 3,800 | 1,200 | 68% |
| 模型降级(gpt4→3.5) | 等效 1,000 | 等效 1,000 | 成本降 83% |
常见陷阱规避
- 非显性计费项:
- 函数调用(function calling)产生的 schema 会计入 token
-
图像理解中的 base64 编码会显著增加 token
-
技术债积累:
- 未监控的日志增长导致历史对话无限累积
- 开发环境误调用生产 API 密钥
实践路线图
- 成本基线建立:
- 使用
usage字段记录每次调用的实际消耗 -
设置 AWS CloudWatch 或 Prometheus 监控
-
渐进式优化:
- 首月聚焦文本预处理(可达 20% 节省)
-
次月实施对话管理优化(再降 30-50%)
-
持续学习:
- 定期查阅官方计费政策更新
- 参与 OpenAI 开发者社区的成本优化讨论
思考题
当处理法律合同等必须保留原文的场景时,除了模型降级外还有哪些可行的成本优化方法?欢迎在评论区分享您的实战经验。
(本文数据基于 OpenAI 2023 年 8 月定价,实际使用时请以最新文档为准)
正文完

