我在一个周末将 AI Agent 的 Token 账单削减了 62%
我的 AI agent 之前每个任务的成本是 5.40 美元。在一个周末里,我将其降低到了每个任务 2.05 美元。在不损失质量的情况下,我实现了 62% 的降幅。
以下是我的做法。
问题所在: 我的 agent 运行一个研究循环。它搜索网页、抓取页面并编写摘要。它通过三种方式在消耗 token:
- 上下文填充 (Context stuffing):我将整页 50,000 个字符的内容发送给模型。而我其实只需要 2,000 个字符。我为了在干草堆里找一根针,却为了一整堆干草买单。
- 冗长的提示词 (Verbose prompts):我的系统提示词重复了三次相同的指令。我每次都在为模型重新阅读我自己的话而付费。
- 过度使用昂贵模型:我将高阶推理模型用于简单的任务,比如总结单个段落。
解决方案:
发送前先过滤 我不再发送整个页面,而是对文本进行分块 (chunking)。我先找到相关部分,然后只将这些部分发送给模型。这使得每页的输入 token 从 12,500 个降至 3,200 个。
精简系统提示词 我删除了冗余的指令。我移除了模型已经知道的工具描述。我不再使用像“一步步思考 (think step-by-step)”这样的模板化语言,因为现代模型默认就会这样做。
分层模型路由 (Tiered model routing) 我不再用同一个模型处理所有事情。我将任务分为三个级别:
- 提取 (Extraction):使用廉价的小型模型。
- 综合 (Synthesis):使用高阶推理模型。
- 格式化 (Formatting):使用廉价的小型模型。
50 个任务测试的结果:
- 每个任务成本:5.40 美元降至 2.05 美元
- 延迟:41 秒降至 28 秒
- 引用覆盖率:67% 升至 89%
Agent 并没有变得更聪明,只是流水线变得更高效了。
给生产环境 Agent 的三个建议:
- 设置硬性的 token 预算。如果超过限制,直接终止任务。
- 缓存结果。不要对同一个 URL 进行两次抓取。
- 记录所有日志。你必须确切知道哪一步最耗钱。
当质量下降时,不要急着寻找更大的模型。开始尝试使用上下文更紧凑的小型模型。
来源:https://dev.to/mrclaw207/i-cut-my-ai-agents-token-bill-by-62-in-one-weekend-heres-the-receipts-1fp1
可选学习社区:https://t.me/GyaanSetuAi