在线计算器

上下文长度计算器

把 token 数换算成中文字符和英文单词量,并按单价算出单次调用成本(单位 $ / 百万 token)。

8,000
≈ 中文字符数
6,154
≈ 英文单词数
0.012000
本次调用成本($)

换算为近似值,精确以各厂商 tokenizer 为准

先把「多长」变成能感知的量

上下文窗口写着 128K、256K、1M,这些数字对多数人是没有体感的。 换算一下就清楚了:几万 token 大约相当于一本小册子的篇幅,十几万 token 能装下一部长篇小说的主要章节。 问题从来不是「装不装得下」,而是「装进去值不值这个钱、模型还能不能找准重点」。

换算规则很粗糙但够用:中文大致一个字一个 token 上下,英文平均三到四个字符一个 token, 代码因为符号密集,token 密度介于两者之间。真实数字取决于各家分词器, 需要更贴近的估算就把文本粘进 token 计算器

窗口大小怎么选

选型时把窗口当成安全余量,而不是使用目标。理由有两个。

一是钱。上下文里的每个 token 都要按输入价计费,而且很多厂商按上下文长度分档, 超过某个阈值单价直接跳一档。把三十页文档整份塞进去问一句话,成本可能是检索出三段再问的十几倍。

二是效果。超长上下文里,关键信息被埋在中间时,模型的召回准确率通常不如短上下文稳定。 这不是某一家的问题,是长上下文的共性挑战。与其赌模型能从十万 token 里精准捞出那一句, 不如自己先把范围缩小到几千 token。

超长了怎么办

最省事的是裁剪历史:只保留最近几轮完整对话,更早的部分压成一段摘要。 摘要可以用便宜的小模型生成,成本几乎可以忽略。

其次是换成检索:把长文档切片建索引,每次只把相关的几片送进上下文。 这一步还顺带解决了「文档超过窗口上限根本塞不下」的硬约束。

最后是用提示缓存复用固定前缀:如果每次请求前半截都一样, 缓存命中后这部分按很低的折扣价计费,长 system prompt 的项目收益最明显。 三种手段可以叠加,顺序建议是先裁剪、再检索、最后缓存。

把结果接到预算上

这一页算的是单次调用成本。把它乘以日调用量再乘三十,就是月成本; 也可以直接去 月成本估算器按输入输出分别填, 那边会把各模型按月成本排好序。想先比单价,去价格对比表

常见问题

上下文窗口越大越好吗?

窗口大是能力上限,不是使用建议。塞满一百万 token 的窗口,既贵又慢,而且模型在超长上下文里定位关键信息的准确率通常会下降。实际项目里更常见的做法是把窗口当安全余量,日常只用其中一小部分。

超出上下文长度会发生什么?

多数 API 会直接报错拒绝请求,少数客户端会自动截断最早的历史。两种都不好:前者是功能中断,后者是模型「忘了」前面说过什么却不告诉你。稳妥做法是在发请求前自己估算长度,超了就先做摘要压缩或裁剪历史。

长上下文和 RAG 检索该选哪个?

看文档是否稳定复用。同一份长文档反复问,用提示缓存把它缓存住通常最划算;文档库很大、每次只相关几段,检索出片段再送进去更省也更准。两者不冲突,很多系统是检索出候选片段后再靠缓存复用固定前缀。

长上下文只是手段之一

检索、缓存、Agent 编排怎么配合,奇连 AI 的学习路线里有系统讲法。

看学习路线