前端知库

为什么不能用字符串长度准确计算 Token 和费用?

参考答案

Token 是模型分词器使用的单位,不等于字符数、字节数或单词数。不同模型及分词器可能对同一文本得到不同计数,不能把“一个中文字符等于一个 Token”写成通用规则。

一次请求还可能包括系统指令、历史消息、工具定义、检索上下文和图片等输入。应按目标模型及服务商支持的计数接口估算,并以实际响应中的用量及当前计费规则核对。这里引用的 Claude 文档也明确把预先计数称为估计,而非所有请求的精确账单。

前端可提供长度和上下文预算提示,但权威额度控制应由受控执行端完成。历史压缩和截断会丢失信息,也可能破坏工具调用与结果的对应关系,不能简单删除开头几条消息就视为安全。不要把某个模型的窗口大小或价格写成所有模型都适用的常量。