Agent 成本由哪三个层次构成?
- 模型推理成本: 最直接的部分,由输入 token 和输出 token 的消耗决定;
- 工具调用成本: 外部 API 费用(搜索引擎按次计费、数据库查询消耗计算资源)与代码执行的沙盒资源;
- 基础设施成本: 向量数据库(用于 RAG 检索)、消息队列、关系型数据库、日志与追踪存储等运维开销;
两个被忽视的成本放大因素是什么?
- 上下文累积效应: Agent 每轮调用 LLM 时都会把之前所有对话历史与工具返回一起发送,未利用 KV Cache 时成本增长很快;
- 累积示例: 第 1 轮发送 1000 token、第 2 轮 2000、第 3 轮 3000,总量是 6000 而非 3000,轮次越多差距越大;
- 思考 token 成本: 支持思考的模型会生成大量思考 token,虽然不展示给用户,但同样计入费用;
- 工具返回的间接成本: 工具结果注入上下文后产生 token 费用,一次网页搜索返回的内容可能占用 2000–5000 个 token,并在后续每轮推理中作为输入被反复计费;
八轮 Agent 任务的成本对照说明了什么?
| 方案 | 输入 token | 缓存 token | 总成本 | 比基线节省 |
|---|
| 无缓存、无压缩 | 20,700 | 0 | $0.003776 | — |
| 仅稳定前缀 | 20,386 | 13,568 | $0.002707 | 28.3% |
| 仅压缩历史 | 16,177 | 0 | $0.003115 | 17.5% |
| 稳定前缀 + 压缩 | 16,035 | 6,144 | $0.002643 | 30.0% |
- 任务: 固定的八轮客服退款任务——查询订单、物流、退款政策和知识库,随后完成风控、退款、通知与关单,调用 gpt-4o-mini;
- 基线现象: 每轮输入从 1,113 token 一路涨到 3,668 token,工具返回跟着历史反复进入后续请求,八轮累计占了 9,544 个输入 token;
- 优化效果: 两项优化同时开启后该数字降到 5,248,总费用下降 30%;
- 非线性结论: “仅稳定前缀” 已节省 28.3%、“仅压缩历史” 又节省 17.5%,两者一起却只节省 30% 而非相加,因为压缩历史的同时也缩短了可以命中缓存的前缀;
- 方法论: 几项上下文优化同时使用时,必须在完整任务中一起实测,不能把各自的节省比例直接相加;
输入侧成本优化策略有哪些?
- 复用 KV Cache: 尽量保持前缀不变;
- 压缩上下文: 减少旧轨迹和冗长工具返回;
- 分层选择模型: 让轻量模型处理简单请求、强模型处理复杂推理;
- 开关化: 这些能力最好都能独立开关,既能看清每一项的作用,也能检查它们合用时会不会互相抵消;
- 异步批处理: 将非实时任务积攒起来批量处理,利用 API 提供商在波谷时段的批量定价折扣;本地部署场景下也能提高波谷时段的 GPU 利用率;
生产环境如何做成本监控与预算控制?
- 维度追踪: 按任务类型、模型、用户等维度追踪 token 消耗和 API 费用;
- 成本上限: 为每个任务设置成本上限,当 Agent 陷入循环或探索过深时自动终止,防止单次任务产生异常高额费用;
- 评估口径: 计算每类任务的平均成本、成本分布(p50/p95/p99)与成本构成比例,识别主要成本驱动因素;
- 记录粒度: 用追踪系统记录每次 LLM 调用的输入/输出 token 数、思考 token 数、工具调用次数与返回大小、端到端延迟,见 可观测性与评估资产回流;