Tokens、上下文窗口与成本
理解 token 是什么、上下文窗口如何限制对话长度,学会估算和控制 LLM 应用的调用成本。
Token:模型计量的最小单位
模型不按"字"处理文本,而是按 token:英文约 1 token ≈ 0.75 个单词;中文通常 1 个汉字 ≈ 0.5~1.5 个 token(因模型词表而异)。API 按"输入 + 输出"的 token 总量计费。
上下文窗口
模型一次能"看到"的最大 token 数就是上下文窗口(如 8K / 32K / 128K)。它装的是:
System 提示 + 历史消息 + 检索资料 + 用户问题 + 模型输出
任何一项超限都会报错或被截断。RAG 和 Memory 的本质,都是在有限窗口里"装最有价值的内容"。
成本估算方法
- 单次调用成本 = 输入 token × 输入单价 + 输出 token × 输出单价;
- RAG 问答典型用量:系统提示 + 3 个片段 ≈ 1000~2000 输入 token,回答 ≈ 300~800 输出 token;
- 多轮对话注意历史重复计费:每轮都重发全部历史,10 轮长对话的输入成本是单轮的数倍。
省钱技巧
- 简单任务(分类、抽取)用小模型(如 glm-4-flash),复杂推理才上大模型;
- 控制 Memory 策略(窗口 / 摘要),避免历史无限增长;
- 检索片段宁缺毋滥,3 个高质量片段胜过 10 个相关片段。
📝 课后练习
quiz-1 多轮对话中输入 token 成本持续上升的根本原因是?