你的客服 Agent 上线第一周,账单 \$40,你觉得"比 Netflix 还便宜";第三个月,账单变成 \$4200,你盯着它想——什么都没改啊,怎么就炸了?答案不在单价上。2026 年 LLM API 价格已经比一年前跌了 80%,但你的账单不降反升,因为真正的钱不是花在"单次调用贵",而是花在"一个任务被偷偷调用了 20 次"。今天拆解四个 90% 团队都没意识到的隐性倍增器——它们让你的 Agent 账单以乘法、不是加法增长,而且每一个都有现成的、被讲烂的"省钱技巧"管不到的死穴。
Anthropic 的工程团队在 2026 年初分析了大量生产级 Agent 部署,得出一个让老兵都意外的结论:推理(inference)吃掉了企业 AI 总预算的 85% 以上。罪魁不是每个 token 的单价——那个早就暴跌了——而是 agentic 工作流吐出的 token 绝对量。
一个本该一次 LLM 调用搞定的简单任务,在 Agent 手里会触发 10 到 20 次顺序模型调用:规划、工具选择、执行、验证、错误恢复、生成回答。这张表是某团队实测的对比(按 \$15/M tokens 计价):
| 任务类型 | LLM 调用次数 | 平均 token/任务 | 单任务成本 |
|---|---|---|---|
| 简单 chatbot 查询 | 1 | ~800 | \$0.012 |
| 基础 RAG 流水线 | 2–3 | ~3,000 | \$0.045 |
| 客服 Agent(复杂工单) | 5–10 | ~10,000 | \$0.15 |
| 编码 Agent(修 bug) | 8–15 | ~18,000 | \$0.27 |
| 研究 Agent(多步) | 12–20 | ~35,000 | \$0.53 |
一个全程跑 Claude Sonnet、零优化的客服工单 Agent,单任务成本 \$1.60。每月 1 万张工单就是 \$16,000/月,这还只是推理费,不含基础设施、监控、维护。企业 LLM 支出在 2025 上半年已经摸到 \$84 亿,近 40% 的企业年烧 \$25 万以上。你迟早会撞上这个墙。
但别急着去搞模型路由和 Batch——那些已经被讲烂了,而且解决的是"单次调用怎么变便宜"。Agent 的账单黑洞是另一种病:同一个任务,token 在四个地方被静悄悄地乘以 N。下面这四个倍增器,每一个都躲开了常规省钱法。
这是最隐蔽的一个。Agent 是多轮的,每一轮它都要把整段历史重新喂给模型——因为模型本身没记忆。第 1 轮喂 800 token,第 2 轮喂 1600,第 10 轮喂 8000,第 50 轮……成本不是线性涨,是滚雪球。
很多人第一反应是上原生 prompt 缓存(Anthropic cached input 只要 \$0.30/M,比 fresh input \$3/M 便宜 10 倍)。这是对的,但只对了一半——缓存让重复的 prefix 变便宜,却解决不了"历史在无限膨胀"这件事。缓存命中率再高,第 50 轮的 8000 token 也照样要原价处理增长出来的那部分,而且长上下文推理是非线性变贵的(翻倍 context 经常要花两倍以上的钱)。
真正的解法是物理截断,而且要聪明地截。别用最笨的"只保留最近 N 条"——那会丢掉开头的关键上下文。用这个结构:
[系统提示] + [第1条消息] + [被丢弃中间部分的摘要] + [最近 N 轮]
中间部分用最便宜的小模型(Gemini 2.5 Flash-Lite \$0.10/M,或 GPT-5 nano \$0.05/M)摘要一次,然后按 content hash 缓存这份摘要——同一段对话前缀只算一次。实测在 50 轮对话上,输入成本能砍 60%–70%,而且质量比粗暴截断更高(因为早期上下文被压缩保留,不是直接扔掉)。
信息差点:原生缓存让"重发的 prefix"变便宜,但只有截断才能阻止历史本身无限增长。缓存和截断是两件事,多数人只做了前者。
Agent 会自己修自己——这听起来很酷,直到你看到账单。当一个工具调用失败、一个 JSON 解析报错、一次搜索返回空,Agent 会重新提示自己再试一遍。原文里有一句很扎心的数据:"遇到失败的 Agent 会重新提示模型,有时让单个任务的 token 消耗直接翻倍。"
问题在于:失败的重试往往带着几乎相同的输入反复打同一个模型。一个搜索不到结果的查询,Agent 换个措辞重试 3 次,3 次都是几百 token 的重复计算。模型它没有"我刚才试过了"的记忆,你也不告诉它。
解法分两层。第一层是失败中间结果的精确缓存(注意,这是 content hash 的精确缓存,不是语义缓存):把"这个查询搜过了、结果是空"这种确定性输入,用 sha256(input) 做 key 缓进 Redis,30 天 TTL。分类、抽取、格式化这类"相同输入必然相同输出"的活,生产环境命中率 30%–50%,直接消灭整个 API 调用——比任何缓存折扣都狠。第二层是给 Agent 加重试预算上限:同一子任务最多重试 2 次,超过就降级或上报人工,别让它在死循环里烧钱。
缓存 key 一定要带版本号(classify:v3:hash),换 prompt 或换模型时 bump 版本,否则会喂出旧版本的陈旧答案。
很多人给 Agent 配了"持续监控"——每 30 秒轮询一次邮箱、每分钟扫一次工单队列、24 小时挂着等异常。Anthropic 团队点名的就是这条:Agent 跑连续后台检查,在低活跃期也在 24/7 地烧算力。
这种"常驻 Agent"的成本模型是最坑的:它和业务量脱钩。你的客服工单白天多、半夜少,但常驻 Agent 半夜的 token 消耗和白天几乎一样,因为它在空转轮询、确认"没事发生"。
解法是把轮询(polling)改成事件驱动(event-driven)。别让 Agent 定时问"有新工单吗",让工单系统在新增时通过 webhook 唤醒 Agent;别让 Agent 定时扫数据库,用消息队列(SQS、Redis Stream)把"有活干"的事件推给它。理想状态下,Agent 没事就完全不启动、零 token。把"持续监控"压成"按需处理",这是常驻 Agent 省钱的唯一正解。
如果某些轮询无法避免,至少把轮询交给一个 \$0.10/M 的小模型做"要不要叫醒主力"的预判,主力 Agent 只在预判为"是"时才被唤醒。
第四个倍增器藏在检索环节。很多人信奉"上下文越多越好",默认 top 10 chunks × 500 token = 5000 token 无脑塞进去。问题是:向量检索经常返回"分数高但相关度低"的文档,这些文档把 token 预算填满,却对答案毫无贡献,还让长上下文变得更贵更不准。
原文给了一个被反复验证的解法:先取 30 个候选,用一个小的 cross-encoder 重排序,再只把 top 3–5 喂给 LLM。重排序这一步几乎不花钱(Cohere Rerank 或一个本地小模型,几分之一分钱),却能把"塞进 prompt 的 chunk 数"砍掉 50%,而且答案质量通常更好——因为你喂的是更少的"对的上下文",而不是更多的"错的上下文"。某团队实测,重排序 + 调 chunk size,输入 token 直接降 62%,质量反而提升。
配套动作:给检索设固定 token 预算(比如检索上下文严格不超过 4000 token),强制按相关度排序,而不是无脑塞满。
四个倍增器都在"输入端"放大账单。输出端还有两个被忽略的点:
1. max_tokens 封顶。 输出 token 比输入贵 4–8 倍——GPT-5 是 \$1.25 in / \$10 out(输出贵 8 倍),Claude Sonnet 4.6 是 \$3 in / \$15 out。一个失控的 8K 输出,等于 64K 输入的钱。给每个任务设合理上限:分类 20、JSON 工具调用 200、聊天回复 400、文档摘要 800、代码片段 1500。有人给现有调用加上 cap,总成本当场降 25%。监控 finish_reason,如果超过 5% 是 length(被截断),说明 cap 太紧。
2. 流式 + 早停(early-stop)。 流式不只是 UX,更是成本工具。JSON 工具调用收到结尾的 } 就立刻 controller.abort(),别让它生成完多余的"如果您还需要其他帮助……"。每个调用省 50–150 token,乘以日 20 万次调用就是真金白银。
| 模型 | 输入 \$/M | 输出 \$/M | 输出/输入倍数 |
|---|---|---|---|
| GPT-5 | \$1.25 | \$10.00 | 8× |
| Claude Opus 4.7 | \$5.00 | \$25.00 | 5× |
| Claude Sonnet 4.6 | \$3.00 | \$15.00 | 5× |
| Claude Haiku 4.5 | \$1.00 | \$5.00 | 5× |
| GPT-5 nano | \$0.05 | \$0.40 | 8× |
| Gemini 2.5 Flash-Lite | \$0.10 | \$0.40 | 4× |
看出信息差了吗?所有模型的输出都比输入贵 4–8 倍,但 90% 的人只盯着怎么砍输入 prompt,没人管输出端。
把上面这些组合起来,一个客服 Agent(每月 5 万次交互,单任务 \$1.60,未优化月烧 \$80,000)的账单会变成什么样:
flowchart TD
A["未优化客服 Agent<br/>\$1.60/任务 · 月烧 \$80,000"] --> B["倍增器一截断<br/>滑动窗口+中间摘要<br/>省 60-70%"]
A --> C["倍增器二去重<br/>失败结果精确缓存+重试上限<br/>省 20-30%"]
A --> D["倍增器三事件驱动<br/>轮询改 webhook 唤醒<br/>夜间空转归零"]
A --> E["倍增器四重排序<br/>top30 重排送 top5<br/>输入 token -62%"]
B --> F["叠加输出端<br/>max_tokens 封顶 + 流式早停<br/>输出成本 -25%"]
C --> F
D --> F
E --> F
F --> G["优化后<br/>\$0.28-0.44/任务<br/>月烧 \$14,000-22,000<br/>降 72-83%"]
四倍增器 + 输出端两刀叠在一起,72%–83% 的降幅,质量不降反升。有人把单个 Agent 会话从 \$100+ 压到 \$10 以下,靠的就是这一套组合拳,而不是换模型或换厂商。
| 你以为的 | 实际上 |
|---|---|
| 省 token = 砍系统 prompt | Agent 账单来自四个隐性倍增器,prompt 只是零头 |
| 上原生缓存就够了 | 缓存只让重复 prefix 变便宜,截断才能阻止历史无限膨胀 |
| Agent 失败重试是"自我修复" | 重试让 token 翻倍,需要精确缓存 + 重试预算 |
| 常驻监控 = 更可靠 | 轮询在 7×24 空转,和业务量脱钩,改事件驱动才能归零 |
| RAG 上下文越多越好 | top 30 重排后只送 top 3–5,token -62% 且更准 |
| 省钱要砍输入 | 输出 token 贵输入 4–8 倍,没人管输出端 |
max_tokens 上限 + 监控 finish_reason;流式响应加 early-stop。最后记住一个新指标:别只盯着"花了多少 token",去看单任务完成成本(Cost per Resolved Task)——LLM 花费 ÷ 成功完成的任务数。这个比率在下降,你才真的在赢;它上升,说明你的 Agent 正在四个倍增器里慢慢失血。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。
参考来源: - AgentMarketCap — Agent Token Cost Optimization in 2026 - Toolsana — Cut AI API Bill in Half: 12 Token Optimization Tactics for 2026 - Klymentiev — LLM Router 2026: RouteLLM Benchmarks & Cost Cuts - Braintrust — Best LLM Routers and Model Routing Platforms in 2026 完成摘要(What was done)
下一步建议
注意事项
.ai_tmp_agent.txt、.ai_tmp_tactics.txt 已写入工作目录 /home/gprshome,如需清理可删除(非交付物)。[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
