Agent 成本与性能工程 · 文章导航(篇目、依赖与阅读路线)
这是「单 Agent 生产化」大系列里的 SA-C 子系列:成本与性能工程。
本系列只回答一条主线上的问题:一个 Agent 的一次任务花多少钱、等多久,这个数怎么测、怎么算、怎么省、怎么预测、怎么拦、怎么分摊。
相邻系列各自的领地不在本系列展开:上下文怎么压缩(SA-M / 上下文管理)、稳定性限流与容量(SA-O)、评测与门禁(SA-E / SA-R)、交互呈现(SA-X)。需要划边界时各用一小节交代。
小提一句: 由于平台每日发布笔记数量限制,目前系列笔记还没全部上传。后续内容会持续更新,大家可以先点个关注、收藏,以免错过。~
一、Agent 的成本结构和传统服务有什么不同
多数团队第一次做 Agent 预算时,会直接套用「QPS × 单次成本」这套熟悉的算法。它失效的原因不是精度不够,是形状不对:
| 维度 | 传统服务 | Agent | 后果 |
|---|---|---|---|
| 成本的自变量 | 请求数 | 请求数 × 轨迹步数 × 上下文体积 | 单个请求的成本可以差出几个数量级 |
| 分布形状 | 集中在均值附近 | 长尾,最贵的一小撮占大头 | 平均值没有任何预测力 |
| 失败的成本 | 失败请求通常提前返回,花钱少 | 失败的任务往往跑满预算才被砍掉,花得比成功的还多 | 成功率指标和账单指标会反向 |
| 可优化项的位置 | 主要在代码与数据库 | 主要在提示结构、工具返回形状、停止条件 | 传统性能优化经验基本用不上 |
这张表最要紧的是第三行:在 Agent 这里,「提升成功率」和「降低成本」通常是同一个动作,而不是两个互相打架的 KPI。这也是本簇的立场——成本不是一个发薪日才看的账单,它是一个可以建模、可以预测、可以在运行时闸门里拦住的量。
二、文章树
十二个条目之间的依赖关系(箭头表示「读它需要用到前面的结论」)。C02A/C02B 是 C02 拆的上下两篇:
各篇的定位、核心问题与状态:
| 编号 | 标题 | 核心问题 |
|---|---|---|
| C01 | 别再按平均步数估成本:Agent 的轨迹成本模型与长尾归因 | 成本为什么总比预估高,且高得没有规律? |
| C02A | 前缀缓存为什么没省钱:提示装配顺序的四档方案与命中率测法 | 同样的内容换个装配顺序,账单能差多少? |
| C02B | 命中率掉了先查什么:前缀缓存的六类失效、检测信号与看板阈值 | 命中率掉了,怎么定位是哪处改动引起的? |
| C03 | 语义缓存:命中率与误命中的那道阈值 | 语义缓存省钱的代价是「可能答错」,这道阈值该怎么定? |
| C04 | 延迟预算怎么分:TTFT、单步与总时长的分配与分层超时 | 用户等 40 秒就走,这 40 秒该怎么在各环节之间分配? |
| C05 | 成本归因与分摊:按功能 / 部门 / 用户的一本账 | 一笔账单怎么拆给三个部门? |
| C06 | 下个月烧多少 Token:预测模型与容量规划 | 预测总是不准,是哪个因子在捣乱? |
| C07 | 成本突刺怎么拦:三级闸门、阈值标定与误拦代价 | 闸门拦得住烧钱也拦得住正常长任务,阈值怎么定? |
| C08 | 改一行提示词,成本涨多少:成本回归测试与 CI 门禁 | 质量有回归测试,成本为什么没有? |
| C09 | 换模型到底省不省钱:模型选型的成本账与切换成本 | 换模型只看单价就够了吗? |
| C10 | 上下文压缩的成本账:省下的钱与丢掉的质量 | 上下文压缩到底省多少、丢多少? |
| C11 | 不是所有任务都要实时:批处理、离峰调度与降级队列 | 同样的任务换个时间跑能便宜多少?代价是什么? |
演进主线是「钱花在哪 → 怎么省 → 怎么预测 → 怎么拦 → 怎么分摊 → 换个时间跑」。C01–C02 属于第一段,C04–C07 属于中段,C09–C11 属于后段。
三、三条阅读路线
| 你想解决什么 | 路线 | 读完能得到 |
|---|---|---|
| 账单超了,要立刻省钱 | C01 → C02A → C02B → C10 | 一个能定位「钱花在哪」的归因脚本,以及不动模型、只改装配顺序就能拿到的 3 倍价差 |
| 老板要一份能交差的账 | C01 → C05 → C06 → C09 | 一套分摊口径、一个预测模型、一张选型账本 |
| 怕半夜被突刺叫醒 | C01 → C05 → C07 → C08 → C04 | 三级闸门与阈值标定方法、CI 门禁、以及延迟预算的分层超时表 |
如果只有二十分钟:读 C01 的第二、三节(低估量的解析表达式与四类长尾信号),再读 C02A 的第三节(四档装配方案对比)。前者告诉你钱为什么算不准,后者告诉你最省钱的那个动作是什么。
四、统一约定
1. 术语表
| 术语 | 本簇中的含义 |
|---|---|
F | 每步都要重发的固定区 token(系统提示 + 工具定义 + 任务描述) |
d | 单步增量 token(一步「思考-行动-观察」新增的部分) |
n | 轨迹步数。随机变量,不是常数 |
h / ρ | 前缀缓存命中率 / 命中部分的折扣系数(厂商常见 0.1~0.5) |
r | 有效单价系数,r = 1 − h·(1−ρ) |
C(n) | 一条 n 步轨迹的成本,C(n) = n·F·r_F + d·n(n−1)/2·r_d |
| 作用域 | 前缀比较的对象:全局(跨任务)/ 会话(同用户)/ 步间(同轨迹上一步) |
| 段健康度 | 某段哈希的取值基数 ÷ 记录数,用来判定「这段能不能当前缀」 |
stop_reason | 轨迹结束原因,固定四值:finish / max_steps / budget / error |
2. 统计口径
本系列所有示例数字都来自参数化模型,并在出现处标注参数(F=3000 / d=1000 / 步数~LogNormal(median=12, σ=1) 等)。要拿到自己的数,跑各篇给出的脚本。
五、边界声明
以下内容会在相邻系列详细说明,故不在本系列展开(可以关注、收藏,以免错过):
- Agent 的成本分摊
- 平台 FinOps 体系
- 上下文压缩
- 预算闸门
- 通用性能优化
- 缓存的注意力
六、收尾
本系列的十二篇文章:钱花在哪(C01–C02)→ 怎么省(C03–C04)→ 怎么预测(C06)→ 怎么拦(C07–C08)→ 怎么分摊(C05)→ 换个时间跑(C09–C11)。
地基是 C01 与 C02 两篇——先把成本写成一个能测、能算、能对账的量,再谈怎么省。后面九篇各自的杠杆不同,但都建立在同一条纪律上:数字要么来自可运行脚本,要么显式标注为估算值。
各篇都配了独立可跑的核验脚本(可以关注、私信我获取):
| 篇目 | 脚本 | 它算什么 |
|---|---|---|
| C01 | costmodel.py / verify_c01.py / verify_c01b.py | 轨迹成本四参数公式、Jensen 低估量、长尾分位 |
| C02A/B | prefix.py / prefix_probe.py | 四档装配顺序的有效单价、段健康度与失效定位 |
| C03 | semcache.py | 相似度阈值的净收益 G(τ) 与误命中代价 |
| C04 | latency.py | 四段延迟预算、P95/P50 方差倍数、分层超时 |
| C05 | attrib.py | 五维分摊、按次数 vs 按 token 的口径差 |
| C06 | forecast.py | 四因子预测、MAPE、容量换算 |
| C07 | budgetgate.py | 三级闸门阈值、误拦 / 漏拦代价曲线 |
| C08 | cost_ci.py | 配对重跑消噪、阈值 k×σ 与门禁裁决 |
| C09 | modelbook.py | 混合单价、切换成本四项、回本周期、帕累托前沿 |
| C10 | compress_cost.py | 四档压缩 × 三档轨迹的净收益、开销拆分、阈值敏感性 |
| C11 | batch_sched.py | 批量 / 离峰 / 削峰三机制、窗口敏感性与降级队列对照 |
要拿到自己的数,把参数换成你的口径重跑一遍——本系列正文里没有一个数字是可以不经复算直接引用的。
本系列收官后,会更新相邻系列(SA-O 可观测与运维、SA-E 评测与验证、SA-M 记忆与上下文)接着处理这里没展开的部分:稳定性限流、评测门禁的统计推导、以及上下文压缩的机制的原理与工程设计。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/u010902120/article/details/167702427



