Agent 上下文成本怎么监控?每一轮对话到底花在哪
2026/9/12 19:30:09 网站建设 项目流程

摘要:Agent 每跑一轮,账单都在涨——但钱具体花在哪?系统提示、工具定义、历史消息、检索注入、模型输出,每一部分都占多少?本文给出上下文成本的拆分口径、监控指标与优化手段(缓存、压缩、裁剪),并说明怎么用"每轮对话成本"看板让成本可见、可控。

做过 Agent 的人都有体会:模型输出可能只占账单的一小部分,真正的大头是"每次请求都要重算的上下文"。多轮对话里历史消息不断累积,工具调用把一堆返回结果塞回上下文,检索系统再注入几段文档——一轮比一轮贵。而很多团队直到月底看账单,才发现成本翻了几倍。

结论:上下文成本 = 输入令牌(系统提示 + 工具定义 + 历史消息 + 检索注入)+ 输出令牌 + 缓存读写。其中历史消息累积是最容易被忽视、增长最快的部分。监控闭环四步:记录每轮令牌消耗 → 拆分成本构成 → 缓存复用 → 压缩裁剪。官方数据表明,提示缓存命中后缓存读取价格仅为正常输入价的 0.1 倍(省约 90%),是立竿见影的降本手段。

一、成本构成:钱到底花在哪

上下文成本构成
构成特点成本趋势
系统提示与工具定义每次请求都带,几乎不变固定,但占比随轮次稀释
历史消息累积每轮新增,全部回传随对话轮次线性膨胀,占比最大
检索注入文档按需注入,可能重复与检索策略强相关
模型输出唯一"产生价值"的部分通常占比最小

为什么历史消息是膨胀元凶:大多数实现把每轮对话的完整消息数组原样回传,10 轮对话后历史可能占输入令牌的 80% 以上,其中大量是已过时、已总结、已无用的内容。

二、监控指标:先让成本可见

在请求日志里为每次调用记录以下字段,成本即可量化:

指标口径关注点
输入令牌数每次请求的输入总量按会话轮次画曲线,看膨胀速率
输出令牌数模型生成量异常高输出排查循环生成
构成拆分提示/历史/检索/工具各占多少定位增长源头
缓存命中率命中缓存前缀的比例命中率低说明前缀不稳定
单轮成本令牌 × 单价折算按用户/会话维度聚合,找成本大户

三、优化三板斧:缓存、压缩、裁剪

1. 缓存复用(见效最快)。Anthropic 官方 Prompt Caching 文档与公告显示:缓存命中时,缓存读取价格仅为正常输入价格的 0.1 倍,即省约 90%;长提示的延迟可降低约 85%。代价是写入缓存更贵(5 分钟 TTL 为 1.25 倍、1 小时 TTL 为 2.0 倍输入价),因此适合"前缀稳定、复用频繁"的场景——系统提示、工具定义、固定知识库正是典型。

2. 历史压缩。对话超过 N 轮后,把早期消息用"摘要 + 关键事实"替换,保留最近 M 轮原文;检索结果做去重与截断,只保留相关段落。

3. 裁剪与分层。工具返回结果按需截断;不活跃会话过期清理;按"是否影响下一轮决策"决定哪些历史必须保留。

四、监控闭环:让成本持续可控

成本监控闭环
  1. 记录:每次调用落日志,带会话 ID、令牌构成、模型与单价;
  2. 拆分:按构成维度聚合,生成"每轮对话花在哪"报表;
  3. 优化:缓存命中率低的先做前缀固化;历史膨胀快的做压缩;
  4. 看板与告警:单会话成本、单用户成本、日均成本超阈值告警;
  5. 复盘:周度看成本趋势,与功能迭代挂钩,避免"功能上线、成本失控"。

踩坑记录:现象——上线缓存后账单不降反升。根因——缓存写入费(1.25 倍)被反复支付:对话前缀每次都在变(动态日期、随机指令),缓存几乎不命中,却每次都按写入价计费。排查证据——缓存命中率日志显示不足 10%,而前缀内容对比发现 80% 的请求前缀不一致。修复方式——把动态内容(时间、随机参数)移到缓存断点之后,固定前缀(系统提示、工具定义、固定知识)保持在断点之前,命中率提升到 60% 以上,成本下降约 50%。经验:缓存省钱的前提是"前缀稳定",先做前缀固化再做缓存,顺序不能反。

FAQ

Q1:上下文成本占 Agent 总成本多少?

A:视场景而定,多轮对话型 Agent 的输入令牌通常占 70% 以上,其中历史消息是最大头;单次问答型 Agent 输入占比低,输出占比高。

Q2:缓存命中率多少算健康?

A:前缀稳定的场景(固定系统提示 + 知识库)应做到 50% 以上;低于 30% 说明前缀不稳定,先固化前缀再谈缓存。

Q3:历史压缩会不会掉效果?

A:会有一点点,但有研究支持"关键信息放在上下文开头/结尾"更利于模型利用;压缩时把关键事实放开头,通常损失可控、收益显著。

Q4:工具返回结果要不要全量回传?

A:不要。工具返回往往冗余,只回传后续决策需要的字段并截断长度,可大幅降低注入令牌。

Q5:小团队有必要做成本监控吗?

A:有必要且成本很低——在日志里加三个字段(会话 ID、输入/输出令牌、构成标记)即可起步,先跑一个月看账单结构,再决定优化优先级。

总结

上下文成本不是"模型贵",而是"重复计算贵":同一份系统提示、工具定义、历史消息,每轮都被完整重算。监控的第一步是拆分——记录每轮令牌构成,让"花在哪"可见;优化的第一步是缓存——把稳定前缀固化,命中后省约 90%;再配合压缩与裁剪控制历史膨胀。四步闭环走通,Agent 的成本就从"月底惊吓"变成"周度可控"。

参考资料:Anthropic 官方公告《Prompt caching with Claude》(2024-08)与官方文档《Prompt caching》;
36 氪关于 Claude Code 提示缓存的报道(2026-08);
社区关于提示缓存命中率与成本折算的实践资料。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询