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

相关推荐
文心快码BaiduComate1 天前
Comate 搭载GLM-5.2:百万上下文,稳定支撑长程任务
前端·程序员·开源
冬奇Lab2 天前
每日一个开源项目(第133篇):EchoBird - 把 AI 工具的安装和部署做成傻瓜操作
人工智能·开源·资讯
下班走回家2 天前
DeepSeek 开源模型的突破与思考:从技术到生态的全面进化
人工智能·开源
ApacheSeaTunnel2 天前
实战演示 | 基于 Apache SeaTunnel 与 Apache DolphinScheduler 实现 MySQL 到 Doris 离线定时增量同步
大数据·mysql·开源·doris·数据集成·seatunnel·数据同步
国产化创客2 天前
ESP32 CameraWebServer 原生摄像头项目全解析
物联网·开源·嵌入式·实时音视频·智能硬件
ofoxcoding2 天前
GLM 5.2 使用教程:API 接入配置、价格说明及 MIT 开源权重发布计划
ai·开源
X54先生(人文科技)2 天前
《元创力》纪实录·卷宗2.2 会议室的裂缝:当“真实高于完美”第一次被写在会议纪要里
人工智能·开源·ai写作·零知识证明
IvorySQL2 天前
PostgreSQL 技术日报 (6月15日)|PG19 性能优化推进,POSETTE 大会倒计时 2 天
数据库·人工智能·postgresql·开源
CHENG-JustDoIt2 天前
AI工具 | 爆火开源项目Odysseus AI 工作台:从项目介绍、部署情况及其使用等多方位分析指南(含详细步骤)
大数据·人工智能·windows·python·ai·开源·github