跳到正文
Neaptidestudio
博客

AI Token 是什么:上下文、输出上限与 API 费用

Neaptide · 2026年9月6日 · 6 分钟阅读

用一组明确的数字解释 Token、上下文窗口和 API 成本,教你按完整任务计算费用,而不只看最后一条消息。

本文目录
小纸片穿过透明窗口,旁边放着几枚硬币。

你只发了一句“修改最后一段”,用量却增加了。原因可能是应用同时把聊天记录、文档和系统指令一起发给了模型。最后一条消息的长度,并不等于整个请求的大小。

Token 不是“一个字”或“一个词”

Token 是模型处理输入、生成输出时使用的单位。对于文本,一个 Token 可能对应字符、词的一部分,也可能是完整的词。换算比例取决于分词器和具体内容。做预算时,应使用适合目标模型的计数工具,而不是固定的字数换算公式。

上下文窗口限制单次请求的容量

上下文窗口表示模型在一次请求中可使用的 Token 容量。OpenAI 文档将输入、输出和推理 Token 纳入这一预算。使用具体模型时,要分别查看上下文限制和输出限制。文档放得进去,也不代表其中每个细节都能被正确处理。

假设窗口共 2000 Token:输入 1200、输出预留 600、余量 200
教学示意,不代表任何实际模型的规格。预留输出空间不等于实际用量。

示例中,我们为输出预留 600 Token。如果实际回答只生成了 300 Token,不能把预留的 600 全部当作已生成的用量。真实 API 还可能区分推理等其他类别,需要按照相应规则核算。

输入中还可能包含什么

  • 应用指令,以及应用选择传入的历史消息。
  • 文档内容、检索到的片段和工具返回结果。
  • 图片等其他数据,按服务商的规则计数。

具体传入什么,由应用决定。OpenAI 明确说明,使用 previous_response_id 并不会让之前的输入 Token 免费。因此,长对话里一句简短的追问,输入用量可能比新对话中的长消息还多。

算一笔账:一次请求 0.0048 美元

假设输入价格为每百万 Token 2 美元,输出为每百万 Token 8 美元。这是虚构的教学价格,不是当前报价。以下只计算这两项,不包含工具、缓存及其他费用。

一组假设请求的数据
类别Token 数计算方式费用(美元)
输入12001200 × 2 / 10000000.0024
输出300300 × 8 / 10000000.0024
合计15000.0024 + 0.00240.0048

1000 次完全相同的请求,费用是 4.80 美元。如果一项任务尝试三次,且每次用量完全相同,就是 0.0144 美元。实际重试时,历史记录、回答长度和工具调用往往会变化,应累计每次真实用量,包括失败的尝试。

请求前估算,请求后核对

  1. 发送前,用服务商的计数工具计算完整输入,并选择正确的模型。
  2. 收到回答后,读取 usage 用量数据,不要让模型猜测自己用了多少 Token。
  3. 将用量类别与计费规则、实际扣费逐项对应。可见回答不一定涵盖全部用量。
  4. 按任务归集多次请求,计算完成一项工作的总成本。

OpenAI 提供输入 Token 计数接口。Gemini 文档也说明了请求前计数和响应中的用量类别。字段名称应以所用 API 版本为准。

减少无用内容,保留关键条件

先删除重复内容、过期版本和无关段落。再明确回答形式,例如“列出五处错误并附原文”,而不是要求完整复述。不要为了降低数字而删掉限制条件、例外和证据。

如果要在新对话里继续原来的工作,可以整理一份摘要,写明已经做出的决定、限制条件、待解决的问题和原始资料链接。使用前,再与原对话核对一遍。遗漏关键条件可能导致返工,成本反而高于少用的那部分Token。

最终应比较通过验收的工作成本,把检查和返工也算进去。一次便宜的调用,如果留下大量人工修正工作,并不一定让整个任务更便宜。

常见问题

要点速览

一个汉字等于一个 Token 吗?

没有固定对应关系。应使用目标模型的分词器计算具体文本。

上下文窗口是每月额度吗?

不是。上下文限制单次请求的容量,订阅额度和调用频率限制另行规定。

新开对话一定省钱吗?

只有在应用传入的数据更少时才可能减少用量。必要的背景需要重新提供,缺少条件也可能增加重试。

能按 PDF 页数准确估算吗?

不能。文件处理方式、内容和模型对图片的计数规则都会影响结果。