一个视觉测试系统把大模型调用成本从14.24美元压到3.08美元,降幅78.3%。这不是 prompt 工程(提示词工程)的功劳,而是架构层的事前拦截。

多数团队把 token 开销当成"用多了自然会优化"的后置问题。等账单来了才发现,AI 功能跑得比整个数据库集群还贵。这种结局不是意外,是默认设置。

第一层:架构决策,60-80%的削减在这里发生

第一层:架构决策,60-80%的削减在这里发生

设计阶段的一个判断,决定八成的请求能否被挡在 API 之外。三类模式贡献了主要收益。

确定性前置过滤:让便宜代码干便宜的活

在组装 prompt 之前,先用低成本规则检查输入。生产环境中,60-80%的输入根本不需要碰大模型——完全相同的代码 diff、纯空格改动、缓存命中结果,这些都能被提前识别。

模型路由:别用法拉利送外卖

用 GPT-4(OpenAI 的旗舰模型)处理 GPT-4o-mini(轻量版)就能胜任的路由任务,成本差出 200 倍。按任务复杂度分配模型,是多数团队能做出的最高杠杆改动。

输入上下文极简主义

每个送出去的 token 都是钱。三招压缩:只裁剪变更区域(50KB 页面缩到约 400 token 的 diff);用任务专属系统 prompt 替代全量指令(5000 token 压到约 200);把对话历史压缩成元数据摘要(200KB 变 50KB)。

第二层:运行时,再省20-40%

第二层:运行时,再省20-40%

架构干净之后,缓存和批量化让收益继续叠加。

双层缓存机制

精确匹配缓存——对每个输入做哈希,命中则零 token 成本。语义缓存——输入不完全相同但语义等价(余弦相似度>0.95)时复用结果。一次 1000 组对比的生产测试中,340 对命中语义缓存,单轮执行省下约 140 万 token 和 2.14 美元。

批量化处理

把 10 个独立请求合并为一次调用,摊薄固定开销。视觉测试场景下,批量比对组件差异比逐条调用效率高出一个数量级。

「最好的 token 是从未发送的那些。框架级优化是在写 prompt 之前重新思考架构。」

这句话来自该视觉测试系统的技术负责人。他们的实践数据支撑了一个反直觉结论:成本优化的主战场不在模型层,而在工程层的拦截设计。

第三层:Prompt 工程,最后 5-10%

第三层:Prompt 工程,最后 5-10%

当架构和运行时把大头砍掉,prompt 层面的微调才进入视野。这时候的优化空间已经收窄,但仍有可操作的细节。

结构化输出比自由文本节省解析成本。明确指定返回 JSON 格式,减少模型"犹豫"产生的额外 token。少样本示例(few-shot)控制在 3 个以内,示例过多反而稀释指令权重。

温度参数(temperature,控制输出随机性的数值)调到 0 或接近 0,降低重复采样带来的开销。对确定性任务,创意性波动是纯粹的浪费。

第四层:反馈闭环,持续压缩

第四层:反馈闭环,持续压缩

成本优化不是一次性项目。建立三个监控维度:按功能模块拆解 token 消耗,识别异常增长点;追踪缓存命中率,低于 60% 说明过滤规则需要调整;对比模型路由决策与实际输出质量,防止过度降级。

该视觉测试系统的做法是,每次迭代后重新跑 1000 组基准对比,验证成本-质量曲线是否偏移。78.3% 的降幅不是理论值,是持续迭代后的稳定结果。

第五层:供应商策略,结构性议价

第五层:供应商策略,结构性议价

单一供应商锁定会丧失定价主动权。预留模型抽象层,让 GPT-4、Claude、Gemini 可互换。部分场景下,开源模型(如 Llama 3)的私有化部署成本低于 API 调用。

但迁移本身有成本。抽象层的设计要在早期完成,等系统臃肿后再解耦,工程代价呈指数级上升。

第六层:组织习惯,最难的部分

第六层:组织习惯,最难的部分

技术方案再完善,执行靠人。两个阻力常见:产品经理追求"先用最好的模型保证效果",不理解成本结构;工程师习惯逐条调试,抵触批量化和缓存带来的复杂度。

该团队的解法是,把 token 成本实时展示在开发环境。每次调用后显示"本次消耗 $0.003,累计本月 $127",视觉刺激比事后账单有效得多。

另一个细节:代码评审时强制检查新增的大模型调用路径,要求备注拦截策略和模型选择理由。把成本意识嵌入流程,而非依赖个人自觉。

六层优化叠加的效果,在 1000 组组件对比场景下得到验证。原始成本 14.24 美元,优化后 3.08 美元。架构层贡献约 11 美元的削减,运行时层再砍 0.5 美元,其余层级瓜分剩余部分。

这个比例分布说明,多数团队的优化顺序搞反了。他们先在 prompt 层面精雕细琢,却发现总成本纹丝不动。因为 80% 的浪费发生在更早的阶段——不该发出的请求,被架构缺陷放行了。

「我们最初也以为要换更便宜的模型,后来发现 70% 的调用根本不该发生。」

这是该系统工程师的复盘。他们的经验是,先画一张完整的调用链路图,标出每个节点"是否必须用大模型"。这张图本身就能暴露大量冗余。

一个具体案例:视觉回归测试中的"无变化"场景。旧流程里,每个组件截图都要过一遍多模态模型判断差异。新流程先用像素级比对做初筛,只有真正变更的才进入大模型分析。这一步就把 60% 的请求挡在门外。

另一个案例是系统 prompt 的加载方式。旧实现每次调用都附加完整的产品规范文档,5000+ token。新实现按测试类型动态加载子模块,200 token 以内。乘以日均数千次的调用量,月度节省四位数美元。

这些改动不涉及模型能力的取舍,纯粹是工程层的流量管控。但效果比换用更便宜的模型显著得多。

缓存策略的设计也有讲究。精确匹配适合结构化输入,比如代码 diff 的哈希值。语义缓存适合自然语言描述,用向量数据库存储历史输入的嵌入向量(embedding,文本的数值化表示),新请求计算相似度后决定是否复用。

该系统的语义缓存阈值设在 0.95,这个数值来自 A/B 测试:0.90 时误报率上升,0.98 时命中率骤降。没有通用最优解,必须结合业务容错空间调整。

批量化处理的难点在于延迟容忍度。用户实时交互的场景无法批量,但后台分析任务可以。该视觉测试系统把批量窗口设为 5 秒,攒够 10 个请求或超时即触发,平衡了吞吐和时效。

模型路由的决策逻辑同样依赖业务判断。他们把任务分为三类:纯文本分类用轻量模型,多模态理解用中等模型,复杂推理才调用旗舰模型。分类器本身也是一个轻量模型,形成层级过滤。

这套机制的维护成本不低。每当 OpenAI 发布新模型,路由表需要重新评估。但该团队发现,过去 18 个月里,这种重新评估只发生了 4 次,投入产出比可以接受。

成本优化的最终状态是什么?该团队的目标不是无限压低数字,而是建立"成本-质量"的可控权衡。每个功能模块都有明确的预算上限和质量下限,超出任意一边都触发告警。

这种机制让产品经理和工程师能用共同语言对话。不再是"这个功能太贵了"对抗"不用最好的模型效果不行",而是"当前方案消耗 120% 预算,质量分 85,有没有 100% 预算内达到 82 分的替代路径?"

量化带来了谈判空间。

回到最初的 78.3% 降幅。这个数字的可持续性如何?该团队运行 6 个月后的追踪显示,成本稳定在优化后水平的 ±5% 区间,没有反弹。关键原因是架构层的改动是一次性的——拦截规则、路由策略、缓存机制一旦建立,后续只需微调。

相比之下,单纯依赖换用更便宜模型的团队,往往在供应商涨价或模型迭代后被迫重新计算。架构层的优势在于抗波动性。

一个未被充分讨论的副作用:成本优化倒逼了系统清晰性。为了实施拦截规则,团队必须精确理解每个调用的业务目的。这种理解在"先用起来"的阶段通常是模糊的。

该视觉测试系统的工程师提到,优化过程中发现了 12% 的"幽灵调用"——历史代码遗留、功能已下线但请求仍在发送。这些在成本压力下才浮出水面。

对于正在规划 AI 功能的团队,该案例的启示或许是:把成本优化前置到架构设计阶段,而非作为上线后的补救。第一行调用大模型的代码提交前,先回答三个问题——这个调用能被 cheaper 的替代方案拦截吗?输入上下文已经极简了吗?失败或缓存命中的降级路径是什么?

这三个问题的答案,决定了 6 个月后的账单形态。

该团队现在面临的新问题是:当 token 成本压到足够低,是否还有动力继续优化?他们的下一步实验是把部分视觉理解任务迁移到开源多模态模型,目标再降 40%。但前提是质量监控体系能跟上——省钱的边界,由业务容错度划定。

如果你的系统今天把大模型当成默认选项,而不是最后手段,账单数字会替你说话。问题是,你想让它说多久?