客服聊天机器人的 Token 预算,应该从一个“已解决工单”开始,而不是从一次模型回答开始。真实客服流程可能包含意图路由、知识库检索、多轮排查、安全检查、人工升级摘要和失败重试。如果这些步骤没有进入预算,上线后的第一张账单就会很难解释。
这篇文章面向准备上线 AI 客服机器人的团队:你已经确定要做客服自动化,现在需要在上线前估算每月 API 成本。本文不做客服 SaaS 工具排名,也不比较某个厂商套餐;SaaS 订阅成本和自建 API Token 成本是两套模型,这里只讨论可以放进 AICostNest 计算的 Token 预算。
从每个已解决工单成本开始
最适合的预算单位是 每个已解决工单成本。单条消息太小,月活用户又太粗。一个工单才能覆盖完整流程:用户问题、上下文检索、回答、追问、人工交接和失败重试。
基础公式可以写成:
月度客服机器人成本 = 每个已解决工单成本 × 月工单量 × 安全余量
再把每个工单拆成模型调用:
每个已解决工单成本 = 路由调用 + 回答调用 + 检索上下文 + 安全检查 + 升级摘要 + 重试
这更接近客服团队的真实工作方式。一个简单 FAQ 和一个复杂账单排查,不应该共用同一个 token 假设。
按客服场景拆预算行
至少把客服工单拆成四类:
| 工单类型 | 典型流程 | 主要 token 风险 | 预算动作 |
|---|---|---|---|
| FAQ 自动回复 | 识别意图,从短政策或帮助文档回答 | 量大 | 限制答案长度和上下文长度 |
| 故障排查 | 追问、读取错误信息、给排查步骤 | 历史对话增长 | 设置升级前最大轮次 |
| 账号或计费问题 | 使用账号状态、套餐规则、退款政策 | 敏感上下文和安全检查 | 把政策上下文和历史对话分开 |
| 人工升级 | 给人工客服生成交接摘要 | 额外总结调用 | 明确计算 handoff 摘要 |
很多客服机器人预算的质量问题,就出在把所有工单平均在一起。FAQ 单次便宜但量大;故障排查量少但历史和检索上下文容易膨胀。两者混在一起,预算看起来干净,实际上不可用。
做一个已解决工单示例
假设一个客服机器人处理产品故障排查:
| 步骤 | 发生了什么 | Token 预算项 |
|---|---|---|
| 1. 路由 | 判断问题类型,选择帮助文档集合 | 小输入、小输出 |
| 2. 检索 | 拉取 3 段相关帮助文档 | 检索输入 token |
| 3. 回答 | 生成第一轮排查建议 | 输出 token |
| 4. 追问 | 用户补充错误信息 | 历史对话 + 新输入 |
| 5. 安全或政策检查 | 确认回答不违反支持规则 | 可选额外调用或过滤步骤 |
| 6. 升级 | 未解决时生成给人工的摘要 | 最终总结输出 |
这样预算才有形状。主回答部分可以放入 文本模型计算器;路由、安全检查、升级摘要则在预算表里作为额外调用记录。
检索内容和历史对话是隐藏成本
客服机器人经常要带上产品文档、内部政策、账号状态或前几轮对话。这些上下文很有用,但也是最容易让成本失控的部分。
每类工单都应该记录:
- 平均检索片段数量
- 平均片段长度
- 保留几轮原始对话
- 较早对话是否摘要
- 固定系统提示词和政策提示词长度
- 预期输出长度
如果你的客服机器人是 RAG 架构,请把这篇和 RAG 聊天机器人成本估算 一起看。很多时候,检索片段比用户问题本身更消耗输入 token。
更实用的做法是建立三个上下文档位:
- 短上下文:FAQ 回答,只带一两段短文档。
- 常规上下文:普通故障排查,带几段文档和最近历史。
- 长上下文:复杂问题,需要更多历史,可能还要人工升级摘要。
按月度比例计算这三类,而不是假装所有工单都是平均值。
安全检查和人工交接也要进预算
客服机器人必须有边界。Microsoft 的 Azure OpenAI 内容过滤文档提到 input filters、output filters、prompt shields、blocklist 和可配置过滤等概念。即使过滤本身不一定表现为单独的模型账单,它也会影响系统设计、日志、兜底逻辑,有时还会增加重新生成或改写的次数。
预算时要明确这些步骤是否存在:
- 回答前的意图识别
- 内容或政策过滤
- 账号规则检查
- 结构化输出校验
- 人工升级摘要
- 解决后的质量抽检
不要把这些统称为“杂项”。如果一个客服流程需要额外生成 handoff 摘要,它就应该进入已解决工单成本。
区分 SaaS 客服机器人费用和 API Token 成本
很多客服机器人文章讲的是供应商订阅、坐席、自动化次数或月会话包。这些信息对买软件有用,但和 API Token 预算不是一回事。
自建或半自建 API 机器人更接近这个公式:
已解决工单数 × 每个工单调用次数 × 输入/输出 token × 模型价格 × 重试系数
SaaS 客服机器人则可能包含:
- 坐席数
- 会话包
- 自动化等级
- AI 增值包
- 知识库限制
- 帮助台集成
如果你同时使用 SaaS 帮助台和自建模型调用,就分成两行:订阅费用一行,API Token 成本一行。
上线前加入重试率和升级率
客服流量很不稳定。用户会粘贴日志、追问、重复问题,也可能离开后再回来。工具会失败,检索会命中不准,政策检查可能阻止回答。
建议加入两个乘数:
有效模型调用次数 = 计划模型调用次数 × (1 + 重试率)
已解决工单成本 = 普通工单成本 + 升级摘要成本 × 升级率
上线前先保守估算。上线后用真实日志替换假设:
- 每个已解决工单平均轮次
- 每类工单平均输入 token
- 每类工单平均输出 token
- 每次回答检索片段数量
- 重试率
- 升级率
- no-answer 比例
如果账单和预算差距明显,可以用 AI API 账单核对指南 逐项排查。
客服机器人 Token 预算表
建议每个工单类型一行:
| 字段 | 应填写内容 |
|---|---|
| 工单类型 | FAQ、故障排查、计费、升级 |
| 月工单量 | 预计每月已解决工单数 |
| 每个工单调用次数 | 路由、回答、追问、安全、摘要 |
| 每次输入 token | prompt、历史、用户消息、检索上下文 |
| 每次输出 token | 回答、结构化结果、摘要 |
| 检索片段 | 数量和平均长度 |
| 历史对话 | 原始保留轮次或摘要策略 |
| 重试率 | 失败、被拦截、重复尝试 |
| 升级率 | 需要人工交接摘要的比例 |
| 安全余量 | 上线波动和未知行为缓冲 |
填完后,用 文本模型计算器 测每一行,再用 Token 预算模板 加月度安全余量。
上线前质量检查清单
上线前至少确认:
- FAQ 和故障排查分开预算。
- 检索片段有最大数量和最大长度。
- 历史对话有截断或摘要策略。
- 达到固定轮次或低置信度后升级人工。
- 安全检查和政策检查进入流程估算。
- 免费用户和付费用户可以有不同上下文预算。
- 日志记录 input tokens、output tokens、模型、重试和升级状态。
目标不是让所有客服回答都变短,而是把 token 花在真正提高解决率、降低人工压力的环节。
FAQ
客服机器人应该按消息还是按工单估算?
按已解决工单估算。它能覆盖多轮对话、检索、安全检查、重试和人工交接摘要。单条消息适合做日志,不适合做预算。
客服机器人最容易贵在哪里?
通常是历史对话、检索文档、长回答、失败重试和未解决工单升级。模型单价只是其中一部分。
内容过滤会增加 API 成本吗?
不一定表现为单独账单项。但过滤、prompt shield、校验和被拦截后的重试会改变工作流。即使不是单独计费,也要把这个操作步骤放进预算。
预算多久更新一次?
上线第一个月建议每周更新一次。用真实工单类型、平均轮次、检索长度、重试率和升级率替换上线前假设。