如何压缩token
压缩 Token 是高级大语言模型(LLM)玩家和开发者必备的技能。这不仅能大幅降低 API 调用成本,还能节省宝贵的上下文窗口(Context Window),在某些情况下,剔除冗余信息甚至能提高模型对关键指令的专注度(减少“幻觉”和注意力分散)。
以下是压缩 Token 的核心技巧和实用工具推荐:
一、 核心压缩技巧 (Prompt Engineering)
1. 语言降维(优先使用英文) 这是最立竿见影的物理压缩法。由于主流大模型(如 GPT、Claude)的 Tokenizer 主要基于英文语料训练:
-
英文:通常 1 个单词约等于 1.3 个 Token(1 Token ≈ 4 个英文字符)。
-
中文:通常 1 个汉字就会占据 1 到 2 个 Token,甚至生僻字会占用 3 个 Token。
-
技巧:在后台处理或构建系统 Prompt 时,尽量将背景信息和系统指令翻译成英文。即使让模型最终输出中文,中间的思考过程和背景数据用英文也能省下海量 Token。
2. 数据结构优化(YAML > JSON > XML) 如果你需要向模型输入结构化数据:
-
放弃 XML:极其冗长,闭合标签浪费大量 Token。
-
精简 JSON:如果必须用 JSON,请移除所有无用的空格、换行和缩进(使用 JSON Minify)。
-
改用 YAML:YAML 依赖缩进表达层级,没有
{}、""和,,在表达相同数据时,通常比 JSON 节省 20% - 40% 的 Token。
3. “断舍离”与内容蒸馏
-
去除礼貌用语:模型不需要“请”、“谢谢”、“如果你能帮我...我将非常感激”。直接下达祈使句指令(例如:“提取以下文本的关键实体:”)。
-
移除冗余标点和换行:连续的换行符(
\n\n)或多余的空格(尤其是 Markdown 中的排版空格)都会被计算为 Token。 -
使用缩写:在 System Prompt 中提前定义好缩写(例如:“User Experience = UX”,“Large Language Model = LLM”),后续全部使用缩写。
4. 代码压缩 (Code Minification) 如果你要将一大段代码丢给模型找 Bug 或重构,先使用代码压缩工具(Minifier)去掉注释、空格和换行。这可能会降低人类的可读性,但大模型完全能够读懂压缩后的代码。
二、 强大的压缩工具推荐
1. 微软 LLMLingua (最强算法压缩)
-
简介:这是微软开源的一个提示词压缩框架。它使用一个小巧的语言模型(如 LLaMA-small 或 ALBERT)来识别 Prompt 中哪些词是不重要的,然后将其剔除。
-
效果:号称能在保留原有语义和关键信息的情况下,将 Prompt 压缩 高达 20 倍。
-
适用场景:超长文本摘要、RAG(检索增强生成)中的背景文档压缩。
2. Tokenizer 计算器 (精准测量) 在优化 Prompt 时,你需要知道到底省了多少:
-
OpenAI Tiktokenizer:网页端工具,直观显示文本被切分成了哪些 Token,以及总数量。
-
Anthropic Tokenizer:针对 Claude 系列模型的官方 Token 计算工具。
3. 开发者工具 (日常清理)
-
JSON Minifier / YAML Converter:各种在线工具或 VS Code 插件,一键转换和压缩你的数据格式。
更多推荐




所有评论(0)