跳到主要内容

Token、上下文与定价

入门
What you'll learn
  • 使用 Anthropic 自家的工具正确计算 token(而不是用其他模型的分词器)
  • 区分 max_tokens 与上下文窗口——以及为什么这个差异很重要
  • 根据每个模型的费率,从输入 + 输出 token 估算 API 成本
  • 在不损失质量的前提下削减成本:选对规格、缓存、精简、批处理

API 上的成本和上限都以 token 来衡量(约为一个单词的 ¾)。有三件事需要做对。

1. 正确计算 token

不要靠猜,也不要使用其他模型的分词器(例如 tiktoken)——不同模型系列的 token 计数各不相同。请使用 Anthropic 的 token 计数端点/SDK 辅助方法,在发送请求之前先测量一下。

Pro tip
  • 粗略的规划经验法则:约 750 个单词 ≈ 约 1,000 个 token(一个 token 大约是一个单词的 ¾)。

2. max_tokens ≠ 上下文窗口

这两个限制很容易混淆,但它们管的是不同的东西。

限制它限制的是什么何时需要调整
max_tokens回复的长度(仅输出)如果输出被截断就调高它
上下文窗口输入 + 输出的总预算大的输入会给输出留下更少的空间
Watch out
  • 把 max_tokens 设为任务所需的大小。设得太低会截断回复。设得过高并不会让成本更高——你只为实际生成的 token 付费——但它可能让回复变得啰嗦。

3. 估算成本

你按 输入 token + 输出 token 计费,费率因模型而异(Opus > Sonnet > Haiku)。快速估算:

cost ≈ (input_tokens × input_rate) + (output_tokens × output_rate)

请从官方定价页面获取当前费率——我们特意不在这里把它们写死。

削减成本(而不损失质量)

Guided walkthrough1 of 4
  1. 从 Sonnet 开始;把 Opus 留给最难的部分。参见《选择模型》(/docs/api/choosing-a-model)。

更多策略见成本与延迟的权衡

自我检测

0/4
  1. 你正在规划一个请求,想在发送之前知道它的 token 数。你应该用什么?
  2. 你的回复总是在句子中间被截断。你该改哪个设置?
  3. 在 API 上你是如何计费的?
  4. 在不损失质量的前提下削减成本,最好的第一步是什么?
Key takeaways
  • 一切都以 token 衡量(约为一个单词的 ¾);约 750 个单词 ≈ 约 1,000 个 token。
  • 用 Anthropic 自家的工具计算 token——绝不要用其他模型的分词器。
  • max_tokens 限制回复;上下文窗口是输入 + 输出的总预算。
  • 计费 = 输入 token + 输出 token,按每个模型的费率(Opus > Sonnet > Haiku)。
  • 通过选对模型规格、缓存前缀、精简输入和批处理来削减成本。

下一步