Token、上下文与定价
- 使用 Anthropic 自家的工具正确计算 token(而不是用其他模型的分词器)
- 区分 max_tokens 与上下文窗口——以及为什么这个差异很重要
- 根据每个模型的费率,从输入 + 输出 token 估算 API 成本
- 在不损失质量的前提下削减成本:选对规格、缓存、精简、批处理
API 上的成本和上限都以 token 来衡量(约为一个单词的 ¾)。有三件事需要做对。
1. 正确计算 token
不要靠猜,也不要使用其他模型的分词器(例如 tiktoken)——不同模型系列的 token 计数各不相同。请使用 Anthropic 的 token 计数端点/SDK 辅助方法,在发送请求之前先测量一下。
- 粗略的规划经验法则:约 750 个单词 ≈ 约 1,000 个 token(一个 token 大约是一个单词的 ¾)。
2. max_tokens ≠ 上下文窗口
这两个限制很容易混淆,但它们管的是不同的东西。
| 限制 | 它限制的是什么 | 何时需要调整 |
|---|---|---|
max_tokens | 回复的长度(仅输出) | 如果输出被截断就调高它 |
| 上下文窗口 | 输入 + 输出的总预算 | 大的输入会给输出留下更少的空间 |
- 把 max_tokens 设为任务所需的大小。设得太低会截断回复。设得过高并不会让成本更高——你只为实际生成的 token 付费——但它可能让回复变得啰嗦。
3. 估算成本
你按 输入 token + 输出 token 计费,费率因模型而异(Opus > Sonnet > Haiku)。快速估算:
cost ≈ (input_tokens × input_rate) + (output_tokens × output_rate)
请从官方定价页面获取当前费率——我们特意不在这里把它们写死。
削减成本(而不损失质量)
Guided walkthrough1 of 4
- 从 Sonnet 开始;把 Opus 留给最难的部分。参见《选择模型》(/docs/api/choosing-a-model)。
- 在多次调用之间复用稳定的提示前缀。参见《提示缓存》(/docs/api/prompt-caching)。
- 只发送真正重要的上下文。这也是 RAG(/docs/foundations/rag)能帮上忙的地方。
- 把对延迟不敏感的任务做成批处理作业。
更多策略见成本与延迟的权衡。
自我检测
0/4- 一切都以 token 衡量(约为一个单词的 ¾);约 750 个单词 ≈ 约 1,000 个 token。
- 用 Anthropic 自家的工具计算 token——绝不要用其他模型的分词器。
- max_tokens 限制回复;上下文窗口是输入 + 输出的总预算。
- 计费 = 输入 token + 输出 token,按每个模型的费率(Opus > Sonnet > Haiku)。
- 通过选对模型规格、缓存前缀、精简输入和批处理来削减成本。