API成本与性能
1. 今日主题与一句话结论
主题:API 成本与性能
一句话结论: AI API 上线后最容易失控的不是模型不会回答,而是延迟、并发、Token、重试、缓存、模型路由和降级策略没有被产品化管理;成本和性能不是研发上线后的优化项,而是 AI 产品方案一开始就必须写进 PRD、架构和指标体系的核心约束。
之前我们已经把大模型调用从“直接调接口”推进到了“API 产品化”:业务系统不应该散乱地调用模型,而应该通过 AI 编排层统一管理鉴权、日志、限流、Prompt 版本、错误码、重试和风控。
今天继续往下走:当这个 API 真正被业务使用后,两个问题会立刻出现。
第一,慢。用户点了智能客服、商品文案生成、合同摘要或经营分析,页面一直转圈。如果首字延迟超过几秒,用户会怀疑系统卡死;如果完整响应太慢,业务人员会回到原来的手工流程。
第二,贵。一次调用看起来只花几分钱,但当调用量进入每天几十万次、每次上下文几千 Token、还有失败重试和并发峰值时,月成本会迅速超过预算。更麻烦的是,很多团队不知道钱花在了哪里:是 Prompt 太长,还是模型选得太强,还是重复问题没有缓存,还是高峰期被无效请求打爆。
所以,AI API 的成本与性能要从一开始就按产品能力设计,而不是等账单爆了再让研发“优化一下”。
2. 学习目标
-
解释首字延迟、完整响应时间、吞吐量、并发、Token 成本和重试成本的含义。
-
判断一个 AI API 场景中,哪些请求必须实时生成,哪些可以缓存、预生成或异步处理。
-
设计客服场景中的语义缓存、精确缓存、规则兜底和人工接管策略。
-
设计小模型路由、大模型兜底、流式输出、批处理和降级方案。
-
写出 AI API 成本预算表,能把成本拆到业务线、功能、用户、调用类型和模型版本。
-
在 PRD 中明确性能 SLO、成本上限、异常策略和增长实验边界。
3. 深度阅读:AI API 为什么会又慢又贵
3.1 AI API 的性能不是一个指标,而是一组体验约束
传统 API 的性能通常用平均响应时间、P95 响应时间、QPS、错误率来衡量。AI API 也需要这些指标,但不够。因为大模型生成不是简单查库,它有一个逐步生成 Token 的过程,用户感受到的速度通常分成两个阶段:
用户发起请求-> API 鉴权和参数校验-> AI 编排层组装上下文和 Prompt-> 调用模型-> 模型开始生成第一个 Token-> 模型持续生成完整答案-> 后处理、风控、格式校验-> 返回前端或业务系统这里至少有两个关键时间:
| 指标 | 含义 | 业务影响 |
|---|---|---|
| 首字延迟 TTFT | 从用户提交到第一个字符返回的时间 | 决定用户是否觉得系统“有反应” |
| 完整响应时间 TTR | 从提交到完整答案生成结束的时间 | 决定流程是否能被业务接受 |
| P95 / P99 延迟 | 95% 或 99% 请求的响应时间 | 决定高峰期和长尾体验 |
| 吞吐量 | 单位时间可处理的请求量 | 决定活动、客服高峰、批量任务能否撑住 |
| 并发容量 | 同时处理多少请求 | 决定系统是否排队、超时或限流 |
| 可用性 | 成功返回可用结果的比例 | 决定业务是否敢依赖 AI |
对产品经理来说,不能只问“接口平均多久返回”。平均值经常掩盖问题。客服场景中,平均 2 秒但 P99 20 秒,用户依然会投诉;经营分析场景中,平均 20 秒可能可以接受,因为用户愿意等一份完整报告;输入法联想或搜索改写场景中,500 毫秒都可能太慢。
所以性能指标必须和场景绑定。
实时交互类:首字延迟优先,例如客服、导购、写作助手。后台生成类:吞吐和成本优先,例如批量商品文案、合同摘要。决策辅助类:正确性和可解释优先,例如经营分析、风险审核。高风险动作类:安全和审计优先,例如自动发券、自动改价、自动发邮件。这会直接影响产品设计。实时交互场景要优先支持流式输出,让用户尽早看到内容;后台生成场景可以排队、批处理、异步通知;决策辅助场景可以允许更长延迟,但必须保留引用、日志和复核入口。
3.2 成本的本质是“请求数 × Token 数 × 模型单价 × 失败放大系数”
很多团队低估 AI API 成本,是因为只看一次调用的价格。真实成本通常来自四个乘法项:
总成本 =有效请求数× 单次平均输入 Token× 单次平均输出 Token× 模型单价× 重试和失败放大系数× 高峰冗余系数如果一个客服机器人每天 10 万次请求,每次输入上下文 3000 Token,输出 500 Token,使用较强模型,且失败重试率 8%,成本会比“每次只问一句话”的估算高很多。更现实的是,很多上下文并不是用户真正需要的,而是系统为了保险把一大段知识库、用户历史、订单信息、政策文档都塞进 Prompt。
成本浪费常见于 8 个地方:
| 浪费来源 | 表现 | 产品侧应对 |
|---|---|---|
| Prompt 过长 | 每次都带大量固定说明 | 抽象成短规则,减少重复上下文 |
| 上下文过度拼接 | 不管问题是否相关都塞资料 | 先检索再拼接,只带必要片段 |
| 模型过强 | 简单分类也用旗舰模型 | 小模型路由,大模型兜底 |
| 重复问题不缓存 | 同类问题反复生成 | 精确缓存和语义缓存 |
| 输出过长 | 用户只需要结论,却生成长文 | 设定输出长度和分层展示 |
| 失败重试无上限 | 格式错误反复调用 | 限制重试次数,增加本地修复 |
| 无效请求 | 空输入、重复点击、恶意调用 | 前置校验、限流、防抖 |
| 缺少成本归因 | 不知道哪个业务花钱 | 按业务线、功能、用户、模型记账 |
这里有一个重要判断:成本优化不是单纯压低模型单价,而是减少不必要的智能调用,把强模型留给真正需要强推理的任务。
一个成熟的 AI API 应该像运营预算一样被管理。你需要知道每个业务线消耗多少、每个功能消耗多少、每类用户消耗多少、每个模型版本消耗多少,以及这些消耗换来了什么业务指标提升。否则增长团队一做活动,客服入口流量上来,API 成本可能比转化收益增长更快。
3.3 流式输出解决的是体验,不一定解决总耗时
流式输出是 AI 产品中非常重要的交互能力。它让模型边生成边返回,用户可以很快看到第一个字。
非流式:用户提交 -> 等待完整生成 -> 一次性显示答案
流式:用户提交 -> 很快显示第一段 -> 持续追加内容 -> 结束流式输出对聊天、客服、写作助手、报告生成尤其有效,因为用户会觉得系统正在工作。但产品负责人要清楚:流式输出主要改善“感知速度”,不一定缩短完整响应时间。模型仍然要生成同样多 Token,甚至因为用户看到了生成过程,更容易容忍长答案,反而增加输出长度。
因此,流式输出要和输出控制一起设计:
-
首屏先给结论,再展开理由。
-
对长回答提供“继续展开”按钮,而不是默认生成全部。
-
客服场景先返回可执行建议,再补充政策解释。
-
报告场景先展示目录和关键结论,再异步补全文档。
-
对移动端限制默认字数,避免用户在小屏幕等待长文本。
产品上要避免一种错误:把流式输出当作性能优化的全部。它解决的是用户感知,但成本、吞吐、并发和失败率仍然要靠缓存、路由、限流、降级和架构优化。
3.4 缓存不是“偷懒”,而是 AI API 的必要产品能力
很多 AI 场景有大量重复或近似重复问题。客服就是典型例子:
-
“怎么退货?”
-
“七天无理由怎么退?”
-
“收到货不满意能不能退?”
-
“退货运费谁出?”
-
“我买的衣服可以退吗?”
这些问题不应该每次都完整调用大模型生成。合理做法是建立缓存层。
缓存可以分成三类:
| 类型 | 适用场景 | 优点 | 风险 |
|---|---|---|---|
| 精确缓存 | 输入完全相同,如固定 FAQ | 命中稳定,成本低 | 覆盖有限 |
| 语义缓存 | 问法不同但意图相同 | 覆盖高,适合客服和导购 | 可能错把相似问题当同一问题 |
| 结果缓存 | 某个对象的生成结果,如商品卖点 | 适合批量内容生产 | 数据更新后可能过期 |
客服场景中,一个实用缓存链路可以这样设计:
用户问题-> 输入清洗和意图识别-> 精确缓存命中? -> 是:返回标准答案 -> 否:进入语义检索-> 语义缓存命中且置信度高? -> 是:返回缓存答案,并记录命中 -> 否:调用 RAG 或模型生成-> 生成结果通过质检? -> 是:返回,并按策略写入缓存 -> 否:规则兜底或人工接管缓存的产品难点不在技术实现,而在边界。什么答案可以缓存?缓存多久?政策变化后如何失效?哪些问题不能用缓存?命中后是否需要显示“根据最新政策”?不同用户的订单状态不同,能不能共用答案?
一般原则是:
-
政策类、流程类、解释类问题适合缓存。
-
涉及个人订单、价格、库存、账户、风控的问题必须谨慎缓存。
-
高风险问题即使命中缓存,也要检查知识版本和权限。
-
缓存答案必须有来源、版本、过期时间和命中日志。
对增长负责人来说,缓存还有一个现实价值:它让 AI 功能可以支撑活动流量。如果大促期间每个用户都实时调用大模型,高峰成本和延迟会双双上升;如果常见问题可以缓存命中,系统能把模型资源留给复杂问题。
3.5 小模型路由:不是所有任务都需要最强模型
很多 AI API 的成本问题来自“所有任务都用同一个强模型”。这是最简单的接法,但不是合理的产品架构。
不同任务对模型能力的要求不同:
| 任务 | 推荐策略 |
|---|---|
| 判断用户是否在问售后政策 | 小模型或规则分类 |
| 提取订单号、手机号、商品名 | 规则或小模型 |
| 判断情绪是否强烈不满 | 小模型优先 |
| 生成复杂赔付解释 | 中强模型 |
| 多轮复杂投诉协调 | 强模型加人工接管 |
| 总结长工单历史 | 长上下文模型或分段摘要 |
| 判断是否可自动退款 | 不应只由模型决定,必须规则和权限校验 |
小模型路由的基本思路是:先判断任务难度,再决定使用哪个模型。
请求进入-> 场景识别-> 难度评估-> 风险评估-> 成本预算检查-> 选择模型: - 规则 / 缓存 - 小模型 - 中等模型 - 强模型 - 人工接管产品上要定义清楚路由标准,而不是让研发随意配置。例如:
-
意图分类置信度大于 0.9:走缓存或标准答案。
-
问题涉及个人订单:必须查询订单系统,不能只依赖通用回答。
-
用户情绪等级高:回答前先触发人工关注标签。
-
涉及退款金额、处罚、法律、医疗、金融:禁止自动决策。
-
连续两次模型回答不合格:停止重试,转人工或返回兜底说明。
小模型路由会带来一个项目管理挑战:评估复杂度上升。你不再评估一个模型,而是评估一套路由策略。指标也要拆开看:
-
路由准确率:简单问题是否真的走了低成本路径?
-
升级率:多少请求从小模型升级到强模型?
-
误降级率:复杂问题被低能力路径处理导致错误的比例。
-
成本节省率:与全量强模型相比节省多少。
-
用户满意度:节省成本是否伤害体验。
3.6 降级不是失败,而是稳定性设计
传统互联网产品很早就有降级机制。AI 产品更需要降级,因为模型供应商可能限流,网络可能抖动,模型输出可能格式错误,高峰期可能排队,敏感内容可能被安全策略拦截。
AI API 常见降级层级:
L0 正常路径:缓存 / 小模型 / 强模型按策略工作L1 体验降级:流式输出关闭、缩短回答、减少引用片段L2 能力降级:强模型不可用时切到备用模型L3 功能降级:复杂生成改为标准答案或表单引导L4 人工接管:高风险或连续失败转人工L5 暂停入口:极端情况下关闭高成本功能入口产品上必须提前写清楚:降级时用户看到什么。不能让前端只显示“系统错误”。例如客服场景可以这样设计:
| 场景 | 用户提示 | 后台动作 |
|---|---|---|
| 模型超时 | “正在为你查询,稍后给出结果” | 异步重试或转人工 |
| 知识库不可用 | “当前无法确认最新政策,已为你转接人工” | 标记知识库故障 |
| 置信度低 | “这个问题需要人工确认” | 创建工单 |
| 高峰限流 | “当前咨询较多,先为你展示常见处理方式” | 返回标准流程 |
| 格式错误 | 用户无感,系统本地修复一次 | 记录模型输出异常 |
这里的关键不是让 AI 看起来永远正确,而是让系统在不确定时仍然可控。真正成熟的 AI 产品不是“永不失败”,而是“失败时不造成更大损失”。
3.7 成本和性能要进入 PRD,而不是只留在技术方案
很多 PRD 写 AI 功能时只写“用户输入问题,系统返回答案”。这不够。AI API 的 PRD 至少要补上这些约束:
| PRD 字段 | 应写内容 |
|---|---|
| 性能目标 | 首字延迟、完整响应、P95、超时阈值 |
| 成本目标 | 单次平均成本、日预算、月预算、异常告警 |
| 模型策略 | 默认模型、备用模型、小模型路由规则 |
| 缓存策略 | 哪些问题可缓存、缓存时间、失效条件 |
| 降级策略 | 超时、限流、模型异常、低置信度如何处理 |
| 监控指标 | 调用量、Token、错误率、命中率、满意度 |
| 增长边界 | 活动流量上限、免费额度、滥用防护 |
| 风险边界 | 哪些问题必须人工确认,哪些动作禁止自动执行 |
这类内容对产品负责人非常关键,因为它决定了 AI 功能能不能持续运营。没有成本上限的 AI 功能不适合大规模增长;没有性能 SLO 的 AI 功能不适合进入核心链路;没有降级策略的 AI 功能不适合承接高风险用户场景。
4. 案例一:中国电商智能客服高峰期如何降低 API 成本
4.1 业务背景
某国内综合电商平台在大促期间上线智能客服助手,目标是减少人工客服压力,提高售后问题的首响速度。接入初期采用统一大模型回答用户问题,所有咨询都走同一个模型接口。
大促前日均咨询 8 万次,大促当天峰值预计超过 40 万次。上线测试发现两个问题:第一,晚 8 点活动开始后接口延迟明显上升,P95 完整响应超过 18 秒;第二,按峰值估算,单日模型调用成本可能超过原预算 4 倍。
4.2 相关角色
| 角色 | 关注点 |
|---|---|
| 客服业务负责人 | 降低排队时间,减少人工压力 |
| 产品经理 | 用户体验、转人工策略、答案准确性 |
| 算法工程师 | 意图识别、语义缓存、模型路由 |
| 后端工程师 | API 编排、限流、重试、监控 |
| 运营负责人 | 大促流量、活动规则、用户情绪 |
| 财务 / 经营分析 | 成本预算和 ROI |
| 法务 / 风控 | 退款、赔付、承诺类话术风险 |
4.3 原始流程
用户进入客服-> 输入问题-> 后端拼接用户问题、订单信息、售后政策-> 调用统一大模型-> 返回完整答案-> 用户继续追问或转人工原流程的问题很明显:
-
所有问题都调用强模型,包括“怎么退货”“物流到哪了”这类简单问题。
-
每次 Prompt 都带入完整政策片段,Token 成本高。
-
没有缓存,重复 FAQ 每次重新生成。
-
模型超时后自动重试,重试成本进一步放大。
-
转人工策略滞后,用户多轮不满意后才转人工。
-
业务无法看出哪些问题消耗最多成本。
4.4 AI 改造流程
改造后,平台将客服 AI API 拆成“前置判断、缓存、模型路由、生成、质检、降级”六层。
用户问题-> 输入清洗:去除无效字符、识别重复点击-> 场景识别:物流、退款、退货、发票、活动、投诉-> 权限和订单校验:判断是否需要读取个人订单-> 缓存层: - 精确 FAQ 缓存 - 语义缓存 - 政策版本缓存-> 模型路由: - 规则答案 - 小模型分类 - 中模型生成 - 强模型复杂处理-> 输出质检:格式、敏感承诺、政策引用、置信度-> 返回答案 / 转人工 / 标准流程兜底具体策略:
| 问题类型 | 处理方式 |
|---|---|
| 通用 FAQ | 精确缓存或标准答案 |
| 政策解释 | RAG 检索后中模型回答 |
| 订单状态 | 查询订单系统后模板化回答 |
| 情绪投诉 | 强模型生成安抚话术,并打人工关注标签 |
| 赔付争议 | 不自动承诺,转人工 |
| 活动规则 | 绑定活动知识版本,过期后强制失效 |
4.5 数据 / 系统依赖
| 依赖 | 用途 |
|---|---|
| 订单系统 | 查询订单状态、发货、退款进度 |
| 售后政策知识库 | 提供退换货、运费、赔付规则 |
| 活动规则库 | 大促期间活动权益和限制 |
| 用户画像系统 | 判断会员等级、历史投诉、风险标签 |
| 工单系统 | 人工接管、质检、复盘 |
| 向量库 | 语义缓存和政策片段召回 |
| API 网关 | 鉴权、限流、日志、成本归因 |
| 监控系统 | 延迟、错误、Token、命中率、转人工率 |
4.6 方案架构
客服前端 |客服业务后端 |AI API 网关 |-- 鉴权 / 限流 / 成本归因 |-- 输入校验 / 防重复点击 |AI 编排层 |-- 意图识别 |-- 精确缓存 |-- 语义缓存 |-- 订单查询工具 |-- 知识库检索 |-- 模型路由 |-- 输出质检 |-- 降级和转人工 |模型层 |-- 小模型:分类、提取、情绪识别 |-- 中模型:政策解释、常规回复 |-- 强模型:复杂投诉、多轮总结 |工单与监控4.7 关键指标
| 指标 | 改造前 | 目标 |
|---|---|---|
| 首字延迟 P95 | 6.5 秒 | 小于 2 秒 |
| 完整响应 P95 | 18 秒 | 小于 8 秒 |
| 单次平均 Token | 3800 | 小于 1600 |
| 缓存命中率 | 0% | 大促高峰大于 45% |
| 强模型调用占比 | 100% | 小于 25% |
| 单次平均成本 | 1.00 基准 | 降至 0.35 以下 |
| 转人工率 | 32% | 控制在 24% 左右 |
| 错误承诺率 | 未统计 | 小于 0.3% |
| 用户满意度 | 78% | 大于 83% |
4.8 主要风险
| 风险 | 说明 | 应对 |
|---|---|---|
| 语义缓存误命中 | 相似问题实际政策不同 | 设置信心阈值,绑定知识版本 |
| 过度降本伤害体验 | 简单地减少模型调用导致答案僵硬 | 跟踪满意度和追问率 |
| 活动规则过期 | 缓存答案引用旧活动政策 | 活动结束后强制失效 |
| 强模型兜底不足 | 复杂投诉被低能力路径处理 | 情绪和争议类问题提高路由等级 |
| 成本归因不清 | 业务线之间互相甩锅 | API 网关强制记录业务标识 |
4.9 复盘结论
这类项目的关键不是“让 AI 尽量回答所有问题”,而是把问题分层。FAQ、订单状态、政策解释、复杂投诉、赔付争议本来就不该走同一条链路。通过缓存、路由和降级,平台把强模型资源留给真正复杂的问题,同时让高峰期服务稳定。
从产品角度看,成本优化不是削弱用户体验,而是让体验更可持续。一个每次都用强模型但高峰期排队的客服系统,不如一个能快速处理 70% 标准问题、稳妥接管 20% 复杂问题、明确拒绝 10% 高风险问题的系统。
5. 案例二:海外 SaaS 公司将 AI 报告生成从同步接口改为异步任务
5.1 业务背景
一家 B2B SaaS 公司为销售团队提供客户健康度分析。原功能是用户点击“生成客户分析报告”,系统把 CRM 记录、邮件摘要、会议纪要、工单历史全部拼进 Prompt,调用大模型生成一份完整报告。
Demo 阶段效果很好,但上线后出现三个问题:
-
报告生成平均需要 35 秒,用户经常关闭页面。
-
长上下文调用成本高,销售团队频繁重复生成同一客户报告。
-
高峰时段多个销售经理批量生成报告,接口排队严重。
5.2 相关角色
| 角色 | 关注点 |
|---|---|
| 销售经理 | 快速看到客户风险和下一步动作 |
| 客户成功团队 | 判断续约风险和扩容机会 |
| 产品经理 | 报告体验、异步流程、权限 |
| 数据工程师 | CRM、工单、会议数据整合 |
| AI 工程师 | 摘要链路、模型选择、成本控制 |
| 增长团队 | 用 AI 报告提升活跃和付费转化 |
| 安全负责人 | 客户数据权限和日志合规 |
5.3 原始流程
用户点击生成报告-> 后端读取 CRM、邮件、会议、工单-> 拼接长上下文 Prompt-> 调用强模型-> 等待完整生成-> 页面展示报告主要问题:
-
所有数据都在点击时实时读取和生成,用户等待时间长。
-
每次报告都重新总结历史数据,即使数据没有变化。
-
长上下文模型成本高,但很多报告只需要更新最近一周变化。
-
报告生成失败后用户只看到错误,没有可用替代内容。
5.4 AI 改造流程
改造方案把报告生成拆成“预计算摘要 + 异步任务 + 增量更新 + 前台快速预览”。
后台定时任务-> 每日汇总客户数据变化-> 生成分模块摘要:CRM、会议、工单、风险、机会-> 写入客户分析缓存
用户点击报告-> 立即展示上次可用报告和更新时间-> 判断数据是否有新增-> 如需更新,创建异步生成任务-> 前端展示任务进度-> 完成后推送通知并刷新报告具体策略:
| 模块 | 处理方式 |
|---|---|
| 客户基础信息 | 直接查库,不调用模型 |
| 历史会议纪要 | 每日增量摘要 |
| 工单风险 | 规则打分 + 小模型分类 |
| 续约建议 | 中模型生成 |
| 高价值客户战略建议 | 强模型生成 |
| 报告全文 | 异步任务,支持邮件通知 |
5.5 数据 / 系统依赖
| 系统 | 用途 |
|---|---|
| CRM | 客户阶段、金额、负责人、续约时间 |
| 邮件系统 | 客户互动频率和主题 |
| 会议纪要系统 | 决策人、异议、承诺事项 |
| 工单系统 | 问题数量、严重程度、响应时间 |
| 数据仓库 | 聚合客户健康指标 |
| 任务队列 | 异步生成和重试 |
| 通知系统 | 报告完成提醒 |
| 权限系统 | 控制销售只能看自己客户 |
| 成本看板 | 按团队和客户维度统计成本 |
5.6 方案架构
数据源 |-- CRM |-- 邮件 |-- 会议 |-- 工单 |数据聚合层 |-- 清洗 |-- 权限过滤 |-- 增量检测 |AI 摘要层 |-- 每日模块摘要 |-- 风险分类 |-- 机会识别 |报告服务 |-- 上次报告缓存 |-- 异步生成任务 |-- 版本管理 |-- 通知 |前端 |-- 快速预览 |-- 生成进度 |-- 报告更新提醒5.7 关键指标
| 指标 | 改造前 | 目标 |
|---|---|---|
| 页面可见内容时间 | 35 秒 | 小于 2 秒 |
| 完整报告生成时间 | 35 秒同步等待 | 60 秒内异步完成 |
| 重复生成率 | 42% | 小于 12% |
| 单份报告成本 | 1.00 基准 | 降至 0.45 以下 |
| 报告打开率 | 31% | 大于 45% |
| 销售采纳建议率 | 18% | 大于 28% |
| 报告失败可恢复率 | 低 | 大于 95% |
| 权限违规事件 | 0 容忍 | 0 |
5.8 主要风险
| 风险 | 说明 | 应对 |
|---|---|---|
| 预计算内容过期 | 用户看到的报告不是最新 | 明确更新时间和增量提示 |
| 异步任务被忽略 | 用户不再回来查看 | 完成通知和首页待办提醒 |
| 摘要链路错误累积 | 每日摘要失真影响最终报告 | 定期用原始记录回归抽检 |
| 权限穿透 | 模型上下文混入无权限客户数据 | 数据聚合层先做权限过滤 |
| 增长滥用 | 免费用户批量生成高成本报告 | 额度、套餐、队列优先级 |
5.9 复盘结论
这个案例说明:不是所有 AI 能力都应该设计成同步聊天接口。报告、分析、总结、批量生成更适合异步任务和预计算。用户真正需要的不是“看着模型实时写完整报告”,而是快速看到已有结论,并在必要时得到更新。
对项目负责人来说,这类改造往往比换更快的模型更有效。因为瓶颈不是模型速度本身,而是产品流程把所有工作都压到了用户点击后的几十秒里。通过预计算、缓存、异步和增量更新,可以同时降低延迟和成本。
6. 动手实操任务
任务:为智能客服设计缓存与降级策略
选择一个你熟悉的客服场景,例如电商售后、在线教育课程咨询、本地生活退款、SaaS 产品支持、企业内部 IT 服务台。为它设计一份 AI API 成本与性能方案。
必须包含:
-
场景说明:用户是谁,什么时候发起咨询,业务目标是什么。
-
问题分类:至少列出 8 类用户问题。
-
成本分层:哪些问题走规则,哪些走缓存,哪些走小模型,哪些走强模型,哪些转人工。
-
缓存策略:精确缓存、语义缓存、结果缓存分别用在哪里。
-
降级策略:模型超时、知识库不可用、低置信度、高峰限流时如何处理。
-
指标设计:至少 12 个指标,覆盖体验、成本、准确性、风险和增长。
-
PRD 片段:写出性能目标、成本上限、异常处理和监控需求。
验收标准
| 验收项 | 标准 |
|---|---|
| 问题分类 | 至少 8 类,且能区分简单、复杂、高风险问题 |
| 缓存策略 | 明确什么能缓存、缓存多久、何时失效 |
| 模型路由 | 不少于 4 条路由规则 |
| 降级策略 | 覆盖超时、限流、低置信度、知识缺失 |
| 成本指标 | 包含单次成本、日预算、Token、强模型占比 |
| 体验指标 | 包含首字延迟、完整响应、满意度、转人工率 |
| 风险指标 | 包含错误承诺率、人工接管率、投诉升级率 |
| 可落地性 | 方案能交给研发、算法、客服运营共同评审 |
7. 测试题与参考答案
7.1 理解题
题 1:首字延迟和完整响应时间有什么区别?为什么 AI 产品要分别看这两个指标?
参考答案: 首字延迟是用户提交请求到看到第一个返回字符的时间,影响用户是否感觉系统有反应。完整响应时间是用户拿到完整答案的时间,影响业务流程是否能完成。流式输出可以降低用户感知等待,但不一定缩短完整生成时间,所以两者都要看。
题 2:为什么缓存是 AI API 成本优化的重要手段?
参考答案: 很多 AI 请求是重复或近似重复的,尤其是客服、导购、政策问答。缓存可以避免对相同或相似问题反复调用模型,降低 Token 消耗和模型费用,也能提高响应速度。但缓存必须管理版本、权限、过期时间和误命中风险。
题 3:小模型路由的核心价值是什么?
参考答案: 小模型路由的价值是把不同难度、不同风险、不同成本敏感度的任务分配给合适能力的处理路径。简单分类、字段提取、FAQ 可以用规则、小模型或缓存,复杂推理再使用强模型。这样可以降低成本,提高吞吐,同时保留复杂场景的质量。
题 4:降级策略为什么不能只写“接口失败提示重试”?
参考答案: AI API 失败可能来自超时、限流、模型格式错误、知识库不可用、置信度低或安全拦截。不同失败原因需要不同处理。简单提示重试会造成体验差、重复调用和成本放大。成熟方案应包括备用模型、标准答案、异步处理、人工接管和入口限流。
7.2 应用题
题 5:一个商品文案生成 API 成本过高,你会从哪些方向排查?
参考答案: 先看调用量是否异常,再看平均输入和输出 Token 是否过高;检查 Prompt 是否包含不必要字段;检查是否重复生成同一商品;检查是否所有任务都用了强模型;检查失败重试率;检查是否支持批处理和结果缓存;最后按业务线、用户类型、商品类目拆分成本,判断成本是否带来点击率、转化率或运营效率提升。
题 6:客服机器人在大促期间 P95 响应时间从 5 秒升到 20 秒,你会如何处理?
参考答案: 短期先开启高峰限流、流式输出、FAQ 缓存、标准答案兜底和人工接管;降低默认输出长度,关闭非必要长解释;复杂问题进入队列或转人工。中期建立意图识别、语义缓存、小模型路由、备用模型和成本监控。复盘时要分析流量来源、缓存命中率、强模型占比、重试率、知识库延迟和供应商限流情况。
8. 当日产出模板
8.1 AI API 成本优化方案模板
项目名称:业务场景:目标用户:核心目标:
一、当前问题1. 当前日调用量:2. 峰值 QPS:3. 平均输入 Token:4. 平均输出 Token:5. 当前使用模型:6. 单次平均成本:7. 主要性能问题:8. 主要成本问题:
二、请求分类| 请求类型 | 占比 | 风险等级 | 当前处理 | 优化后处理 ||---|---:|---|---|---|| FAQ | | 低 | 强模型 | 精确缓存 || 政策解释 | | 中 | 强模型 | RAG + 中模型 || 订单状态 | | 中 | 强模型 | 查库 + 模板 || 投诉争议 | | 高 | 强模型 | 强模型 + 人工关注 |
三、缓存策略1. 精确缓存: - 适用问题: - 缓存时间: - 失效条件:2. 语义缓存: - 相似度阈值: - 人审策略: - 风险限制:3. 结果缓存: - 适用对象: - 更新规则:
四、模型路由策略| 条件 | 处理路径 | 说明 ||---|---|---|| 意图明确且命中 FAQ | 标准答案 | 不调用模型 || 置信度高的简单分类 | 小模型 | 控制成本 || 涉及政策解释 | RAG + 中模型 | 保证引用 || 涉及赔付争议 | 人工接管 | 避免错误承诺 |
五、降级策略| 异常 | 用户体验 | 系统动作 ||---|---|---|| 模型超时 | 展示查询中或转人工 | 异步重试 || 供应商限流 | 返回标准流程 | 切备用模型 || 知识库不可用 | 提示人工确认 | 创建工单 || 置信度低 | 不直接回答 | 转人工 |
六、指标目标| 指标 | 当前值 | 目标值 ||---|---:|---:|| 首字延迟 P95 | | || 完整响应 P95 | | || 缓存命中率 | | || 强模型调用占比 | | || 单次平均成本 | | || 日预算消耗 | | || 用户满意度 | | || 错误承诺率 | | |
七、上线计划1. 灰度范围:2. 回滚条件:3. 监控看板:4. 复盘节奏:8.2 客服场景缓存与降级流程图
用户提问 |输入校验与防重复点击 |意图识别 |是否命中精确 FAQ? |-- 是 -> 返回标准答案 -> 记录命中 |是否命中语义缓存? |-- 是,且置信度高 -> 返回缓存答案 -> 记录版本 |是否涉及个人订单? |-- 是 -> 查询订单系统 -> 模板化回答或模型补充解释 |是否高风险问题? |-- 是 -> 人工接管 / 只给流程说明 |调用模型生成 |输出质检 |-- 通过 -> 返回答案 -> 可选写入缓存 |-- 不通过 -> 降级或人工接管8.3 PRD 片段:性能与成本约束
功能名称:智能客服 AI 回复 API
性能目标:- 首字延迟 P95 小于 2 秒。- 完整响应 P95 小于 8 秒。- 模型调用超时阈值 12 秒。- 高峰期可支撑目标 QPS:____。
成本目标:- 单次平均模型成本不超过 ____ 元。- 日预算不超过 ____ 元。- 强模型调用占比不超过 ____%。- 缓存命中率目标不低于 ____%。
缓存规则:- 通用 FAQ、政策解释、流程说明可缓存。- 个人订单、价格、库存、账号、赔付决策不可跨用户缓存。- 活动政策缓存必须绑定活动版本和失效时间。
降级规则:- 模型超时:返回标准流程或转人工。- 知识库不可用:不输出确定性政策承诺。- 置信度低:提示人工确认。- 连续失败两次:停止模型重试,创建工单。
监控需求:- 按业务线、入口、用户等级、模型版本统计调用量和成本。- 记录输入 Token、输出 Token、首字延迟、完整响应时间、错误码。- 建立日预算 70%、90%、100% 告警。9. 延伸阅读资料
-
OpenAI API 文档中关于 streaming、rate limits、latency optimization 的说明。
-
Anthropic、Google、阿里云、火山引擎等模型服务的计费、限流和上下文窗口文档。
-
向量数据库和语义缓存相关资料:相似度阈值、Embedding 模型、缓存失效策略。
-
SRE 基础:SLO、错误预算、限流、熔断、降级、排队和重试。
-
FinOps 基础:云成本归因、预算告警、资源利用率和业务 ROI 评估。
-
客服系统设计资料:意图识别、工单分流、人工接管、质检和满意度评估。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!












