《每次 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。

相关推荐
kevinten1025 分钟前
ccuse: Claude Code CLI 配置文件切换工具
人工智能·开源
Black_Rock_br27 分钟前
Claude 金融 Skills 开源:从通用对话走向专业投研
人工智能·金融·开源
DLite41 分钟前
开源一个轻量化本地知识库:Bishon V2
人工智能·开源
HelloGitHub2 小时前
《HelloGitHub》第 124 期
开源·github
易筋紫容2 小时前
为什么做了 DevOps,你还是管不好开源依赖?
运维·开源·devops
字节跳动开源14 小时前
火山引擎开源 Agent 驱动的搜索自迭代技术
数据库·开源·agent
码哥字节17 小时前
0元搭了240篇文章的AI知识库,比付费版查得更准
开源·ai编程·mcp
长河18 小时前
推荐一个开源的功能开关平台:Facet
开源
山林竹笋19 小时前
人工智能领域开源TOP20(2026.06.22-2026.06.28)
人工智能·开源·大模型·智能体·技术趋势
Black_Rock_br1 天前
打通 PyTorch Monarch 与 ROCm:单 Controller 架构的异构算力实战
人工智能·pytorch·python·开源