系统提示词是"每调用一次就付一次钱"的固定开销。它常占输入 token 的 70% 以上,因此也是压缩成本最直接的着力点。
-
单次成本($)
-
每天($)
-
每月($)
-
每年($)
-
提示词占输入(%)
-
压缩后月省($)
-
单次成本 = (系统提示词 + 其他输入) ÷ 1000000 × 输入单价 + 输出 token ÷ 1000000 × 输出单价;月成本 = 单次成本 × 日调用量 × 30。
被忽略的"固定开销"
做 AI 应用时,大家习惯盯着单次调用的成本,却容易忽略一件事:系统提示词是每次调用都要重新计费的。一个 1500 token 的系统提示词,如果每天调用 1 万次,一年下来为这段几乎不变的文字付出的费用,可能远超模型本身的"能力成本"。
更关键的是它在输入里的占比。上例中系统提示词占输入的 83%——这意味着你优化其他 17% 的输入,最多只能省下两成;而只要把系统提示词压掉三成,整体成本就能降两成以上。
系统提示词为什么会长到失控
| 膨胀原因 | 典型表现 | 压缩手法 |
|---|---|---|
| 堆叠规则 | 每次线上出问题就加一条"不要做 X" | 合并同类规则,改成结构化清单 |
| 举例过多 | 塞入十几个 few-shot 示例 | 只留 2–3 个最有代表性的 |
| 内联长文档 | 把整个产品手册贴进去 | 改用 RAG 按需检索(见 RAG 分块工具) |
| 重复表述 | 同一个约束用三种说法写三遍 | 逐条复盘,删除冗余 |
| 格式化冗余 | 大量 JSON 缩进、缩进空格 | 改紧凑格式或 YAML |
四种有效的压缩手段
- 提示词缓存:最省事,不用改一个字。Anthropic 命中读 0.1×,能把这段固定开销直接砍到十分之一。
- 精简重写:请模型帮你压缩自己的系统提示词。实践中通常能无损压掉 20%–40%。
- 按场景拆分:把"全能提示词"拆成几个专用提示词,每个只带当前任务需要的部分,实际每类请求的 token 都变少。
- 把知识挪到检索里:静态知识改为向量库按需召回,只在需要时注入相关片段。
顺序建议:先上缓存(改动最小、收益最大),再考虑精简重写,最后才是架构级改造。
成本之外,还有延迟
系统提示词不只花钱,还花时间。预填充阶段要处理全部输入 token,输入越长首字延迟越高。把 1500 token 的系统提示词压到 900,通常能同时省下约 20% 的成本和一部分 TTFT。这是一个罕见的"既省钱又提速"的优化方向。
你可能还想问
系统提示词为什么要算成本?
它在每一次请求中都会随上下文发送,长提示词会被反复计费;高频调用下,精简 500 token 带来的节省非常可观。
怎么降低这部分开销?
精简冗余说明、把固定示例改成按需注入、利用上下文缓存(重复前缀按缓存价计费);不要在系统提示里堆砌大量业务数据。
缓存命中能省多少?
部分模型对缓存命中的前缀按正常输入价的一到三折计费,命中率高时节省明显;保持前缀稳定(把变动内容放到末尾)能提高命中率。
速查在线工具箱