跳到主要内容

单用户 AI 配额:成本看板无法察觉的 UX 层

· 阅读需 11 分钟
Tian Pan
Software Engineer

一个用户在周二下午 3 点打开了你的 AI 功能。他们已经轻度使用了三周。这次请求卡住了 8 秒钟,然后返回了一个红色的横幅:“出错了。请稍后再试。”他们又试了一次。还是同样的横幅。他们关闭了标签页,回去做之前在做的事情 —— 并在第二天早上的站会上告诉队友,“那个 AI 功能坏了。”

实际发生的情况是:他们触碰到了一个隐形的单用户配额,这是你的成本团队在六个月前为了防止单个重度用户刷爆 GPU 预算而设置的。配额起作用了。支出保持平稳。仪表盘显示绿色。按照你的工程组织追踪的每一个指标来看,这项功能都是健康的。但它也已经名存实亡了,因为看到那个横幅的用户再也不会回来了,而且他们在站会上告知的那三个队友也永远不会去尝试它。

这就是你的成本仪表盘看不见的鸿沟。单用户 AI 配额是一个产品界面(product surface)。那些将其隐藏在 HTTP 429 错误代码中的团队,正任由其成本控制系统默默地塑造用户对产品的认知,而且直到流失率在季度回顾中显现出来且没有明显原因时,他们才会发现这一点。

为什么成本仪表盘不是解决这个问题的正确地方

到目前为止,AI 成本的标准度量手段已经非常成熟。你会追踪每日总支出、按模型划分的支出、按租户划分的支出,也许还有按功能模块划分的支出。你会对月度环比增量设置警报。当数字飙升时,有人会去调查。当数字没有飙升时,大家就各忙各的。

这些遥测数据能告诉你公司是否在亏钱。但它无法告诉你某个特定用户是否正在经历一个糟糕的下午。周二下午 3 点的那个用户在你的支出图表中完全没有体现 —— 他们只是四舍五入误差中的一个微小波动,与该时段内刚好发送较少请求的其他一百个用户没有什么区别。你的仪表盘什么也没看到,因为仪表盘上的任何内容都不是关于他们的。

鸿沟的另一半原因在于,成本团队和用户体验(UX)团队很少一起开会。成本团队设置单用户上限是因为总支出快要触及预算警报了。而拥有该功能的生产团队并未被咨询,因为“速率限制(rate limiting)”听起来像是基础设施层面关心的问题。当带有红色横幅截图的工单开始出现时,客户支持团队才发现问题,但他们不知道触发原因是什么,因为错误消息在设计上就是通用的 —— 工程团队故意将其设计得很模糊,这样攻击者就无法反向推导出配额结构。

到 2026 年,具备算力感知能力的产品设计将成为一种永久性的 UX 模式,而不再是临时的护栏。因为新的 GPU 产能还需要 12 到 24 个月才能到位,而且单用户限制只会越来越紧,而不是越来越松。这意味着配额设计不再是基础设施团队可以默默搞定的配置文件细节。它将在未来至少两年内塑造用户对产品的认知,而那些将其视为细节的团队将会失去他们无法挽回的用户。

尊重用户的配额机制解析

行之有效的模式大致有四个步骤,它们描述起来容易,但在实际的组织中落地却很难。

在硬限制之前设置软限制。 在用户触碰上限之前,产品就应该开始提醒 —— 一个小的横幅(“你已经使用了每日额度的 70%”)、一种更简洁的回复风格,或者建议批量处理相关问题。当用户达到 95% 时,他们应该已经看到两次警告了。HTTP 429 硬限制应该是第三次“出局”,而不应该是第一次接触。意外触碰硬限制的用户会将其视为产品故障。而在看到三次明显警告后触碰限制的用户,则会将其视为一种已知的约束,是他们可以理解并围绕其进行规划的。同样的后端行为,完全不同的产品体验。

在 UI 中展示配额可见性。 用户无法节省他们看不见的资源。消费者 AI 工具之所以在限制问题上产生如此多的挫败感,是因为这些限制被刻意模糊化了 —— 公司隐藏精确的计算逻辑以防止用户钻空子,但副作用是用户最终还是会钻空子,而且表现得很糟糕,比如在思考中途切换工具,或者为了等待滚动窗口重置而积压问题。解决方法不是公开背后的数学逻辑,而是公开状态。向用户展示他们在相关窗口内已经使用了多少。展示重置时间。让他们可以据此规划。透明度税是真实存在的,而且是以信任为代价支付的。

为不同类型的操作设置独立的资源池。 一个运行了 200 个廉价分类调用的重度用户,不应该因此耗尽他们真正需要的那一次昂贵的生成调用。将所有模型调用塞进同一个配额池是最简单的实现方式,但对于几乎所有产品来说都是错误的。应该根据用户对操作的感知来划分资源池:“摘要”、“草稿”、“深度研究”、“后台索引”。用户不知道也不关心模型层级和 Token 计数;他们思考的是自己想要完成的任务。配额类别应该镜像这些心理范畴,而不是你的模型路由分类。

根据用户的心智模型而非计费周期选择恢复节奏。 你的计费系统按月计费,但你的重度重置节奏不必如此。每日配额和每日恢复对应的是“我明天再来” —— 这是用户对于任何稀缺资源已有的心智模型。而每月 1 号重置的月度配额对应的则是“我必须节省 23 天,然后疯狂使用 1 天”,这是不自然的,会导致囤积行为。选择与用户工作节奏相匹配的重置周期。

必须进行的谈判

如果你将上述所有内容写进设计文档并传阅,会发生两件事。成本团队会说 “我们需要对人均支出设定一个硬上限,否则下个季度的损益表(P&L)就会爆炸”。产品团队会说 “这个功能必须让用户感觉是无限使用的,否则没人会采用它”。双方都是对的。在各自的语境下,这两点也都是不可妥协的,这意味着这场对话不能通过任何一方的胜出来解决。

解决方案是一个感知层级的配额矩阵(tier-aware quota matrix),而不是配置文件中的一个死板数字。这个矩阵的行代表层级(免费版、专业版、团队版、企业版),列代表操作类别。每个单元格都有软限制、硬限制、重置频率以及超限后的行为(警告、降级到更便宜的模型、硬停止或自动扣费)。那份文档——而不是支出仪表盘——才是工程团队与产品团队之间的契约。它是当定价调整、新模型上线或成本结构变动时需要更新的产物。它应该与产品规格说明书一起放在版本控制系统中。

矩阵强制开启了被 “配置标志(config-flag)” 方法绕过的对话。每个人都必须就免费用户用完总结额度后的体验达成一致——是直接提供产品内付费升级入口,还是显示重置时间,亦或是静默降级到更便宜的模型?这些是具有成本影响的产品决策,而不是具有产品影响的成本决策。这种定调非常重要,因为它决定了组织中谁有权对某项变更说 “不”。

一旦你拥有多个操作类别,扁平配置文件的做法也会失效。MAX_REQUESTS_PER_USER_PER_DAY 中的单一数字无法表达 “你可以选择 3 次深度研究调用或 30 次草稿撰写”。但矩阵可以。

配额是产品界面,请像对待功能一样对待它

团队在构建人均 AI 配额时犯下的最深刻错误,就是将其视为 HTTP 层的问题。配额存在于中间件中,错误响应由网关生成,UI 收到 429 错误并渲染一个通用的横幅。这些界面都不属于负责该功能的人员,这就是为什么它从未随时间而改进。

将配额视为产品界面,意味着它拥有与功能本身相同的生命周期。会有设计师思考超额状态的样子;会有文案人员润色警告语;会有 PM 决定增购流程的具体逻辑;当用户达到软限制时会触发分析事件,该事件的指标会与功能的采用漏斗一起被追踪。当用户超过硬限制并选择不升级时,这是一个已知的状态并伴随已知的后续跟进——而不是消失在 429 错误中的无声流失信号。

这项工作中那些不那么光鲜的部分大多是文案。一条显示 “你今天已经用完了 3 次深度研究额度;这里是重置时间,以及专业版(Pro)能为你解锁的内容” 的错误信息,其发挥的作用远超通用的 “出错了”。它告诉用户限制是有意为之的,这意味着产品并没有坏。它告诉用户什么时候可以再回来。它告诉用户付费能得到什么。这些都不需要模型变更或成本结构调整,只需要有人对文字负责。

另一个不那么光鲜的部分是 “可见性组件”——即在产品内显示当前配额使用情况的小元素,最好出现在用户做出使用决策的地方。这就像是移动运营商在客户收到 400 美元超支账单之前学会显示的流量计。隐藏进度条并不会让客户用得更少;它只会让客户用得更 “有策略”,这意味着更差的效果和更低的留存率。

成本控制系统正在塑造你的产品,无论你是否察觉

将这一切串联起来的定调让许多工程组织感到不适:你发布的每一个成本控制机制都是一个产品决策,无论会议室里是否有人这么称呼它。人均上限塑造了用户对可能性的认知。重置频率塑造了他们的访问时机。错误信息塑造了他们是否信任这个系统。模型回退策略则塑造了在高峰日用户对功能质量的感知。尽管这些都在基础设施层实现,但它们都不是单纯的基础设施问题。

做得好的团队会做两件事。他们从一开始就为配额矩阵指派一名产品负责人(Product Owner),并赋予其对该矩阵的绝对权威,就像对其他功能规格一样。而且他们会测量触碰配额时的 “用户体验”,而不仅仅是 “成本结果”——软限制触发率、硬限制触发率、在收到配额错误后 60 秒内放弃会话的比例、产品内升级提示的转化率。这些指标与支出一起显示在同一个仪表盘上,因为它们是天平的两端。

做得不好的团队会继续发布在纸面上运行完美的成本控制系统。他们的支出曲线会很平顺,而他们的用户信任会悄无声息地瓦解。六个季度后,有人会问为什么那个在早期测试阶段备受喜爱的功能留存率如此低迷,而没人能指出到底是哪里出了问题。这就是将配额视为 “管道” 而非 “产品” 的代价。配额本身就是功能。请按此原则构建。

References:Let's stay in touch and Follow me for more thoughts and updates