跳转到主要内容

隐藏的 Token 税:系统开销如何悄无声息地耗尽你的 LLM 上下文窗口

阅读需 3 分钟Tian PanTian Pan

大多数团队知道他们的用户发送了多少 token。但几乎没有人知道在用户开口说话之前,他们已经支出了多少 token。

在典型的生产级 LLM 流水线中,系统提示词 (system prompts)、工具架构 (tool schemas)、聊天历史、安全前导词和 RAG 序言在实际用户查询到达之前,就默默消耗了上下文窗口的 30–60%。对于拥有数十个注册工具的智能体 (agentic) 系统,这种开销在 128k 窗口中可能达到 45% —— 约 55,000 个 token —— 而这些工具定义甚至从未被调用过。

这就是隐藏的 token 税。它虚增了成本、增加了延迟并降低了输出质量 —— 然而,它从未出现在任何面向用户的指标中。

被征税请求的剖析

想想当用户发送“我今天有什么会议?”时会发生什么。以下是随这个 8 token 查询一同发送的内容:

  • 系统提示词 (行为规则、角色、护栏): 1,500–3,000 个 token
  • 工具/函数定义 (名称、描述、参数架构): 5,000–55,000 个 token
  • 聊天历史 (对话上下文的前几轮): 2,000–10,000 个 token
  • RAG 上下文 (检索到的文档或知识库分块): 1,000–5,000 个 token
  • 安全前导词和输出格式指令: 500–1,000 个 token
  • 实际用户消息: 8 个 token

对于一个 8 token 的问题,开销超过了 10,000 个 token —— 如果有庞大的工具注册表,很容易超过 60,000 个。每一个 token 都按照输入费率计费,并竞争模型有限的注意力预算。

多轮对话使问题更加严重。一个 20 轮的对话会积累 5,000–10,000 个 token 的历史记录,但通常只有最后几轮才重要。你在每一次调用中都要为所有这些内容付费 —— 这是一种随对话长度线性增长且永远不会自动缩减的税收。

工具架构:最大的隐形罪魁祸首

工具定义是隐藏开销的最大来源。每个定义都承载着令人惊讶的成本:

  • 工具名称: 5–10 个 token
  • 描述: 50–150 个 token
  • 参数架构 (类型、必填字段): 100–300 个 token
  • 字段描述和约束: 50–200 个 token
  • 用于可靠调用的 few-shot 示例: 200–500 个 token

每个工具总计 550–1,400 个 token。大多数团队从未察觉,因为他们的框架会自动注入这些定义 —— 税收隐藏在抽象层之后。

来自连接到 MCP 服务器的智能体的真实测量揭示了问题的规模:

  • GitHub (35 个工具): 约 26,000 个 token
  • Slack (11 个工具): 约 21,000 个 token
  • 可观测性工具: 约 8,000 个 token

在开发者输入单个字符之前,128k 上下文窗口的 45% 就已经消失了。无论是否调用了工具,每个 token 都会计费 —— 一个简单的“总结这份文档”请求仍然需要支付全额税费。

选择准确度也会随着注册表的增长而下降:

  • 5–10 个工具:超过 90% 的选择准确率
  • 50+ 个工具:下降到 49% 左右 —— 相当于抛硬币

token 越多,结果越差。

税收在链式调用中成倍增长

token 税不是相加的,而是相乘的。一个链接了三次 LLM 调用的智能体工作流 —— 意图分类、数据库查询、响应格式化 —— 如果每次调用都带有 20,000 个 token 的开销,那么为了一个 200 token 的答案,就消耗了 60,000 个 token 的结构性成本。这相当于 300:1 的开销价值比。

智能体循环的影响更为严重。一个执行 10 个步骤的智能体,每一步都带有完整的系统提示词和工具定义,仅在开销上就消耗了 200,000–500,000 个 token。按照每百万输入 token 3的价格计算,每个任务仅税收就要花费3 的价格计算,每个任务仅税收就要花费 0.60–$1.50 —— 这还没算上执行有用工作的 token。

会员专享

余下内容仅对会员开放。

会员可读完整内容 —— 每一个公开发布的观点背后,那些框架、决策与推理的全貌。

  • 完整文章,包含未公开存档的部分
  • 可落地的工作框架,附带权衡与决策依据
  • 新文章抢先看,先于公开发布

随时取消 · 一次订阅,畅读全部

参考资料

保持联系,关注我获取更多内容

阅读需 7 分钟

上下文长度军备竞赛:为什么填满窗口是错误的目标

每个大模型新版本发布时都会宣传更大的上下文窗口。但实践者正在发现,填满窗口会降低质量、增加延迟并消耗预算——而稀疏、精心筛选的上下文始终优于朴素的堆砌方式。

insider
llm
阅读需 11 分钟

右缘准确率下降:为什么上下文窗口的最后 20% 是个陷阱

填满 LLM 宣称的上下文窗口会导致右缘准确率崩溃 —— 这是继“迷失在中间”之后的一种失效模式。本文包含基准测试、按任务划分的安全裕度以及提示词修复方案。

insider
llm
阅读需 9 分钟

Token 预算作为产品约束:围绕上下文限制进行设计,而不是假装它们不存在

大多数 AI 产品在处理上下文限制时会直接崩溃。本文将探讨如何围绕这些限制进行设计——包括渐进式截断、优雅降级,以及将上下文压力作为一等公民的 UI 信号进行展示。

insider
llm
阅读需 9 分钟

上下文长度是安全边界,而不仅仅是成本线

足够长的对话会将你的系统提示词埋在更新的 Token 之下,直到防护栏悄然失效。为什么上下文长度属于威胁模型——以及如何控制它。

insider
ai-security
阅读需 8 分钟

上下文限制是一个 UX 问题:为什么静默截断会侵蚀用户信任

当 LLM 为了给新 Token 腾出空间而静默丢弃早期的上下文时,用户看不到错误提示 —— 他们看到的是一个困惑的 AI。这是一个产品设计上的失败,而非模型本身的失败。

insider
ai