用于LLM的令牌压缩:在路由之前减少上下文成本

LLM 的令牌压缩 是在提示、检索的上下文、工具输出、聊天记录和日志到达模型之前对其进行缩减的做法。这并不替代路由、评估或故障转移,而是使这些系统能够处理更清晰的输入。.
这很重要,因为大多数 AI 的成本和延迟问题在请求离开您的应用程序之前就已经开始了。一个支持机器人可能会发送整个工单线程,而实际上只有三个事实是重要的。一个代理可能会粘贴完整的工具响应,而实际上只需要状态、金额和下一步操作。一个 RAG 工作流可能会检索五个片段,而实际上一个简洁的答案就足够了。.
OpenAI 解释 API 的使用是以令牌为单位进行计量的,这些令牌来自输入和输出文本。长上下文并不是免费的上下文。目标不是让模型缺乏上下文,而是发送最小的上下文,同时保留模型所需的决策、证据和约束。.
为什么令牌压缩在路由之前很重要
许多团队认为成本优化是一个模型选择问题:将简单的工作发送到更便宜的模型,将高级模型保留用于更复杂的工作,并在提供商路由退化时使用故障转移。这是有用的,但忽略了一个基本点:路由器只能看到您提供的请求。.
如果请求过于臃肿,每个下游决策都会变得更困难。一个便宜的模型可能会因为接收到太多噪音而失败。一个前沿模型可能看起来是必要的,因为提示过于杂乱。可观测性可能显示高支出,但却无法显示导致高支出的可避免上下文。.
压缩在模型访问之前增加了一个步骤:减少负载,保留意图,然后进行路由。通过 ShareAI 的模型市场, ,更清晰的请求可以根据模型选择、价格、延迟、可用性和跨一个 API 的路由需求进行评估。.
应该压缩什么?
并非每个令牌都值得同等对待。有些文本对指令至关重要。有些文本是证据。有些文本只是前一步骤的残留物。.
| 输入区域 | 压缩方法 | 需要保留的内容 |
|---|---|---|
| 聊天记录 | 将较早的对话总结为状态、决策、约束和未解决的问题。. | 用户意图、承诺、姓名、偏好和未完成的任务。. |
| RAG块 | 精确检索、去重并提取回答当前问题的段落。. | 引用、确切事实、冲突证据和新鲜度信号。. |
| 工具输出 | 将冗长的回复转换为简洁的结构化字段。. | 状态、ID、金额、错误、时间戳和下一步操作。. |
| 日志和跟踪 | 聚类重复事件,仅保留异常、计数和相关样本。. | 错误模式、频率、受影响的服务和时间线。. |
| 系统指令 | 删除重复的政策文本,并将稳定指令与任务特定的上下文分开。. | 安全规则、输出合同、角色约束和工具权限。. |
五种实用的压缩方法
1. 总结状态,而非叙述
弱总结将长对话改写为较短的段落。有用的总结则保留操作状态:用户的需求、已经尝试过的内容、失败的内容、剩余的约束条件以及下一步决策。.
对于代理,状态总结应在已知边界处刷新:工具调用后、用户决策后、工作流程步骤后或切换模型之前。不要压缩掉ID、需求或负面约束。.
2. 从工具输出中提取字段
许多工具调用返回的文本远远超过下一模型步骤所需的内容。与其传递整个响应,不如提取重要字段。例如,支付查询可能变为客户ID、发票状态、余额、到期日期和风险标志。搜索结果可能变为标题、规范URL、日期以及支持声明的一句话。.
3. 在生成之前过滤检索内容
RAG系统常因发送相似的片段、旧片段或匹配关键词但不匹配意图的片段而浪费令牌。压缩层可以去重重叠段落、移除过时上下文,并仅保留回答当前查询的证据。.
当最终答案需要引用时,这一点尤为重要。压缩上下文,但保留足够的来源细节以便后续验证答案。.
4. 使用结构化的中间输出
自由形式的中间文本增长迅速。结构化输出保持更小且更易审计。与其让一个模型解释每个候选动作,不如让它返回一个紧凑的选项列表,包含诸如动作、置信度、原因、阻碍问题和所需输入等字段。.
5. 将提示缓存视为单独的杠杆
提示缓存可以减少支持系统中重复前缀的成本或延迟,但它与令牌压缩不同。缓存的文本仍然会占用上下文窗口空间,并且仍然可能使请求更难检查。Anthropic的 上下文窗口 和 提示缓存 文档是有用的提醒,缓存和上下文设计解决的是相关但不同的问题。.
压缩在 ShareAI 工作流程中的位置
ShareAI 是一个 AI 市场和 API,而不是构建应用程序本身的地方。您的应用程序负责用户体验、工作流程逻辑、上下文选择和压缩步骤。ShareAI 提供模型访问方面的帮助:一个 API 支持 150+ 模型、市场可见性、路由、故障转移和使用跟踪。.
- 收集原始用户请求和应用程序上下文。.
- 删除重复项、过时的上下文和不相关的检索结果。.
- 压缩较旧的对话状态和冗长的工具输出。.
- 将清理后的请求发送通过 分享AI API.
- 根据模型适配性、价格、延迟、可用性和回退需求进行路由。.
- 在响应后测量质量、成本和失败模式。.
对于构建者来说,压缩还可以使货币化更清晰。如果现有应用通过 ShareAI 路由 AI 推理流量,构建者可以配置附加费或利润率,并根据生成的使用量每月获得付款。更清晰的上下文有助于向客户解释路由使用,因为重度用户为他们实际生成的 AI 流量付费。.
如何衡量压缩是否有效
压缩只有在质量保持的情况下才有用。像生产变更一样跟踪它,而不是一个巧妙的提示技巧。.
- 每次请求的输入令牌: 应针对目标工作流程减少。.
- 输出质量: 应在代表性任务上保持稳定。.
- 回退率: 不应上升,因为较便宜的路径接收到的上下文较弱。.
- 延迟: 应改善,或至少证明任何预处理步骤的合理性。.
- 升级率: 应揭示压缩上下文何时迫使用户或代理再次询问。.
- 每个成功任务的成本: 应下降,而不仅仅是每次请求的成本。.
一个好的测试集包括简短提示、长提示、工具密集型代理任务、RAG问题,以及缺失上下文会导致错误答案的边缘案例。在将压缩设为默认之前,比较压缩和未压缩的运行结果。.
何时不应过度压缩
压缩存在权衡。它可能会移除细微差别、隐藏不确定性或简化模型需要的证据。当确切措辞很重要、模型必须推理合同或政策、必须保留引用,或用户明确要求详尽的来源材料时,请使用较轻的压缩。.
最安全的模式是渐进式压缩。在您的应用中保留高保真来源材料,将紧凑的上下文传递给模型,并在任务需要验证时再次检索原始证据。.
常见问题:LLM的Token压缩
什么是LLM的Token压缩?
LLM的Token压缩是指在模型调用之前减少不必要的输入文本,同时保留良好响应所需的事实、指令和约束。.
Token压缩是否与使用较小的模型相同?
不。压缩减少了请求。模型选择决定了请求的去向。最强的设置通常同时执行这两项操作:先压缩上下文,然后路由到正确的模型。.
ShareAI 会自动压缩提示吗?
压缩通常是应用端的设计选择。ShareAI 提供 AI 市场和 API 层,用于模型访问、路由、故障切换以及在应用准备请求后实现使用可见性。.
压缩如何帮助降低 LLM 成本?
大多数 AI API 的定价基于输入和输出的 token 数量。如果在保持质量稳定的情况下安全地减少输入 token,成功任务的成本可能会下降。.
token 压缩会影响响应质量吗?
会。过度压缩可能会移除证据、细微差别或约束。针对实际任务测试压缩后的提示,并监控答案质量、回退率和用户修正情况。.
构建者需要了解哪些关于压缩的内容?
通过 ShareAI 从现有应用路由 AI 使用的构建者可以使用压缩来保持路由流量更清晰。他们仍然可以设置附加费或利润率,并从生成的使用中每月获得支付。.
token 压缩对 RAG 有用吗?
有用。RAG 系统通常会发送冗余或弱相关的块。压缩可以去重、过滤并提取回答当前问题的段落。.
提示缓存可以替代压缩吗?
不能。提示缓存可以帮助支持系统中的重复前缀,但当上下文嘈杂、过时、重复或对任务来说过大时,压缩仍然很重要。.
哪些团队最能从 token 压缩中受益?
拥有长聊天记录、工具密集型代理、文档工作流、支持自动化、研究助手和 RAG 系统的团队通常最需要压缩。.
如何开始测试压缩?
选择一个耗费资源的工作流程,捕获具有代表性的请求,创建压缩版本,并比较令牌使用、答案质量、延迟和每个成功任务的成本。.
压缩如何与 AI 路由协作?
压缩准备一个更干净的请求。路由根据价格、延迟、可用性、可靠性和质量需求决定该请求的最佳模型或提供商路径。.
下一步
从一个上下文膨胀明显的工作流程开始。压缩噪声部分,保留重要证据,然后使用 ShareAI 通过一个 API 比较模型路由。实际目标很简单:减少浪费的令牌,减少可避免的升级,并获得更清晰的使用数据。.