深色模式
22 · 成本与延迟优化
让单位任务成本降一个量级
📚 系列导航:这是《Agent 开发进阶》的第 22 篇(共 24 篇)。上一篇你把安全锁上了,这一篇砍账单——路由、缓存、并行三板斧,补齐生产化的最后一块。下一篇:23 · 综合实战。
账单超预期的那个月,多数人第一反应是"换小模型""砍上下文"——刀落得快,但多半砍错地方。我干过:为省钱把上下文砍到丢关键信息,重试率一升,总成本不降反增。优化的正确顺序是先量化再动刀。这一篇只干一件事:先算清 token 花在哪,再按数据下两刀,让成本降一个量级、延迟体感减半。
看完这一篇,你会拿到:
- 一张按轮次×工具聚合的成本审计表模板
- 一段模型路由伪代码,含路由器自身成本的算法
- prompt cache 的适用判据与命中率排布原则
- 延迟三招和一条防止负优化的总账检查法
01 成本结构:先量化再优化
没有数据的优化是玄学。拿第 20 篇的 trace 聚合一周,回答三问:输入还是输出占大头(agent 几乎都是输入)、输入里谁最肥(重发的 system?滚存历史?工具返回?)、哪类轮次最多(规划轮少而贵,简单轮次多而密)。审计表多半会告诉你:大头不是"模型贵",是同样的内容被反复计费。刀要落在数据指的地方。
💡 一句话总结:先用 trace 聚合出成本审计表——大头通常是重复计费的输入,不是模型单价。
02 模型路由:分诊台原则
全任务旗舰模型是最贵的懒惰。就像医院分诊台——挂号、量血压不需要主任医师,先分诊再派医生。落地:按轮次类型路由:
python
def pick_model(turn):
if turn.kind in {"format", "confirm", "extract"}:
return SMALL # 简单轮次
if turn.kind == "plan" or turn.retry_count > 0:
return LARGE # 规划与重试,别省
return DEFAULT预期:简单轮次占比过半,账单降幅立竿见影。注意路由器自身成本:判断"用哪个模型"若也调一次中档模型,省的钱会被吃掉一截——路由器用规则或最便宜的模型。
💡 一句话总结:简单轮次走小模型、规划重试走大模型、路由器用最便宜的——分诊台不能比医生贵。
03 prompt cache:稳定前缀只算一次
适用判据两条:前缀长而稳定(长 system、大段工具 schema)且调用频繁。缓存按前缀匹配,排布原则一句话:稳定前置、可变后置——别在 system 开头放时间戳,一个字符变了整段失效。agent 天然适合:每轮重发的 system 和工具定义恰恰一字不变。缓存读取计价远低于常规输入(2026 上半年各家均如此,以官方为准),对 agent 是白捡的钱。
💡 一句话总结:稳定前置、可变后置,命中率自己就上来了——排布比技巧重要。
04 延迟三招:并行、流式、预取
成本管好了管体感。并行工具调用:一次要调多个无依赖工具时同时发,三个各 2 秒的调用 6 秒变 2 秒;流式输出:首字时间决定体感,让用户边看边等;预取:可预测的下一步提前跑,比如用户打字时先跑大概率的检索。三招都不省钱(预取甚至多花钱),但延迟是用户唯一直接感受的指标——该花的花。
💡 一句话总结:并行砍等待、流式砍首字、预取砍下一步——延迟优化花小钱买体感。
05 总账思维:防止负优化
任何优化上线前后同时对比三个数:单任务成本、评测成功率、重试率。只盯单价最容易翻车:上下文砍瘦了单次便宜,但关键信息丢了,重试率一升总成本反增。反过来也成立:多花点上下文换成功率上一截,总账更便宜。单价是虚荣指标,总账才是真账。
💡 一句话总结:验收看三个数——成本、成功率、重试率一起动才算数,单价降总账升叫负优化。
06 动手:成本审计 + 两项优化
任务:① 用一周 trace 出成本审计表(按轮次类型、工具、输入/输出聚合);② 挑贡献最大的两项动刀(多半落在路由 + cache);③ 改完重跑第 19 篇的评测集。
验收标准:前后对比表三列齐——单任务成本、P95 延迟、评测成功率,成本降且成功率不降才算过。
两种结果都正常:成本降、成功率稳——固化配置,三指标接进看板长期盯;成本降了但成功率掉了——典型负优化,先回滚路由(常见是该用大模型的轮次被分给小模型),细化判据再测——这轮修正比优化更值钱。
07 小结
你现在应该能:聚出成本审计表、上带成本意识的模型路由、按"稳定前置"吃缓存红利、用三招压延迟、用总账三指标防负优化。
评测、观测、安全、成本四件套集齐——下一篇 23 · 综合实战:把 22 篇零件拼成一次完整交付。
📎 实战案例
某开发者全任务无脑旗舰模型。成本审计发现简单轮次占六成以上,上模型路由 + prompt cache(长 system 前置)后账单降 70%、成功率没降——大多数轮次真的很简单,钱花在杀鸡用牛刀上。
踩坑
- 我全任务无脑旗舰模型,路由改造后账单降 70% 质量没降——先审计再动刀,数据会告诉你刀往哪落。
- 砍上下文砍掉关键信息,重试率上升总成本反增——三指标一起看,单价是虚荣指标。
- 早期我用中档模型当路由器,省下的钱被它吃掉近一半——分诊台要用规则或最便宜的模型。