《每次 API 调用前扔掉 43% Token,我开源了一个 AI 提示词瘦身工具》

第一篇:每次 API 调用前扔掉 43% Token,我开源了一个 AI 提示词瘦身工具

一个用 Python 写的 Prompt 精简库,40+ 条冗余规则 + LLM 智能压缩,每次调用前自动剃掉无效 Token。

为什么需要这个工具?

每次调 GPT-4o、Claude、DeepSeek,你是不是也这样:

  • "嗯那个我想说的是..." → 5 个 Token 纯浪费
  • "Basically, I just wanted to mention that..." → 8 个 Token 毫无意义
  • "求求了、帮帮忙、拜托拜托" → 对模型没用,但花钱是真的

我统计了自己一个月的 API 调用,平均 38% 的 Token 是冗余的 。按 GPT-4o 的 2.50/1Minput算,每个月白白烧掉 2.50/1M input 算,每个月白白烧掉 ~ 2.50/1Minput算,每个月白白烧掉 4。看着不多,但如果你每天调 1000 次,一年就是 $180+。

更要命的是,提示词越长,响应也越慢。那能不能在发请求之前,自动把这些废话过滤掉?

于是 PromptSlim 诞生了。

核心思路

client.chat.completions.create() 之前,插入一个轻量级的文本分析层:

复制代码
用户输入 → 冗余检测(40+ 规则)→ 代码保护 → LLM 二次压缩 → 发送 API

三个关键设计:

  1. 规则引擎前置:先跑 40+ 条正则,0 Token 消耗剃掉常规冗余
  2. 代码块保护:检测到 Python/JS/Go 代码自动跳过,绝不乱改
  3. LLM 语义压缩:规则处理后,按需调用轻量模型做精细压缩

5 分钟上手

bash 复制代码
pip install promptslim

命令行

bash 复制代码
# 直接精简
echo "嗯那个我想说的是这个功能非常非常好用对吧" | promptslim slim

# 统计 Token 数
promptslim count -i prompt.txt

# 智能压缩(LLM 二次处理)
promptslim smart -i long_prompt.txt --api-key YOUR_KEY

# 对比精简效果
promptslim compare -i before.txt -o after.txt

Python API

python 复制代码
from promptslim import quick_slim

# 一行搞定
report = quick_slim("嗯那个我想说的是这个功能非常非常好用对吧")
print(f"节省 {report.savings_pct}% Token")

# 批量处理
from promptslim import slim_batch
results = slim_batch(["prompt1", "prompt2", "prompt3"])
for r in results:
    print(f"节省 {r.savings_pct}%")

效果实测

场景 原始 Token 精简后 节省
中文口语化提示词 48 27 43.8%
英文冗余(basically/just/very) 27 24 11.1%
带代码块的技术问题 118 118 0%(代码被保护)
混合中英文长文 350 210 40.0%
礼貌用语堆砌 85 38 55.3%

代码块保护是最重要的安全机制。你绝不希望 AI 精简工具把你的 def quick_sort(arr) 变成 def sort(arr)

技术架构

python 复制代码
# 核心流程(简化版)
def slim(prompt: str) -> SlimReport:
    # 1. 提取并保护代码块
    code_blocks, placeholder = extract_code_blocks(prompt)
    
    # 2. 应用 40+ 条冗余规则
    for rule in REDUNDANCY_RULES:
        prompt = rule.apply(prompt)
    
    # 3. 可选:LLM 语义压缩
    if use_llm:
        prompt = llm_compress(prompt)
    
    # 4. 还原代码块
    prompt = restore_code_blocks(prompt, code_blocks)
    
    return SlimReport(original_tokens, slimmed_tokens, savings_pct)

每条规则是一个简单的正则替换:

python 复制代码
# 中文冗余
("(嗯|那个|就是说|我想说的是)", ""),
("(非常|特别|十分)非常", "非常"),
("(可以|能)(够|以)", r"\1"),
("(帮助|帮)(你|我|我们)", r"\1助"),

# 英文冗余  
("basically,?\s*", ""),
("I just wanted to mention that\s*", ""),
("in my opinion,?\s*", ""),
("very very", "very"),

适用场景

✅ 适用 ❌ 不适用
日常聊天式提示词 精确的 few-shot 示例
多轮对话上下文累积 System prompt(需保持完整)
用户填写的长表单内容 法律/医疗等精确措辞
批量处理大量 Prompt 已精心优化的提示词

和竞品对比

工具 规则引擎 LLM 压缩 代码保护 离线
PromptSlim ✅ 40+ 规则 ✅ 可选
手动删减 --- ---
用 GPT 精简

下一步

PromptSlim 在 GitHub 开源,MIT 协议:

👉 github.com/JING04-PROD...

如果你每天调 API 超过 100 次,用它能直观感受到 Token 消耗下降。有问题或建议直接提 Issue。

相关推荐
Mr.朱鹏15 小时前
科技周报(第2026-08-17):开源与变现
人工智能·科技·开源
千桐科技16 小时前
开源共建数字水利生态:千桐科技智慧水利项目正式上线 Gitee,诚邀开发者参与共建!
大数据·开源·数据治理·开源项目·数字水利
ZJU_统一阿萨姆16 小时前
【推理优化进阶】Hopper_Blackwell 微架构:从指令、流水线到真实性能上限
开发语言·人工智能·语言模型·架构·开源
呆呆敲代码的小Y17 小时前
Magic Resume 实战:开源 AI 简历编辑器(多模型 + 本地存储)
人工智能·开源·编辑器·magic resume·简历编辑器
chunmiao30321 天前
阿里开源Qwen3.8-27B:270亿参数模型,消费级显卡能跑
开源
小弥儿1 天前
GitHub今日热榜 | 2026-08-16:大模型微调与编码工具扎堆
学习·开源·github
Flynt1 天前
花一下午把Qwen3.8-27B跑在本地,最坑的不是显存
开源·llm·llama
冬奇Lab1 天前
Code Agent 解剖(03):各家 LLM 格式不一样,agent 怎么统一对接?
人工智能·开源
冬奇Lab1 天前
开源项目第189期:DeepTutor — Agent 原生的终身个性化学习工作台,三层记忆+多引擎RAG+Partners
人工智能·开源·资讯
无凭1 天前
DeerFlow 的可观测性(一):RunJournal 如何记录 Agent 运行过程
人工智能·开源