定义真正有效的人机交接升级标准
大多数AI团队能告诉你他们的遏制率——AI在不转交给人工的情况下处理的交互比例。但很少有团队能告诉你这个数字是否合理。
升级标准是AI增强团队中最重要的设计文档,而大多数团队根本没有这份文档。他们有一个埋藏在YAML文件中的阈值,以及一个隐含的假设:AI知道自己什么时候卡住了。这个假设在两个方向上都是错误的:阈值过高,人工就要花时间返工AI的工作;阈值过低,用户在没有任何补救措施的情况下承受AI的错误。两种失败都是隐性的,直到它们积累成大问题。
大多数AI团队能告诉你他们的遏制率——AI在不转交给人工的情况下处理的交互比例。但很少有团队能告诉你这个数字是否合理。
升级标准是AI增强团队中最重要的设计文档,而大多数团队根本没有这份文档。他们有一个埋藏在YAML文件中的阈值,以及一个隐含的假设:AI知道自己什么时候卡住了。这个假设在两个方向上都是错误的:阈值过高,人工就要花时间返工AI的工作;阈值过低,用户在没有任何补救措施的情况下承受AI的错误。两种失败都是隐性的,直到它们积累成大问题。
一个批量推理任务在六分钟后完成。网络在返回响应时发生了抖动。你的重试逻辑开始介入。两分钟后,任务再次完成——而你的账单也翻了一倍。这只是将传统的幂等性思维应用于 LLM 流水线而不根据随机系统进行调整时,所发生的最温和的情况。
大多数生产团队都是通过惨痛的教训才发现这个问题的:本意是为了从瞬时错误中恢复的重试,却触发了第二次付款、发送了重复的电子邮件,或者在数据库中写入了相互矛盾的记录。解决方案不是更好的重试逻辑,而是一个全新的心智模型——当你的核心组件是概率性的时,幂等性究竟意味着什么。
你构建了一个 AI 功能。你跑了评估。你在测试集上看到了 95% 的准确率。你上线了。六周后,用户对它深恶痛绝,你的团队正在悄悄计划回滚。
这就是最后一公里可靠性问题,它很可能是当今生产环境中 AI 功能失败最常见的原因。这与你的模型不好无关,而与平均准确率指标如何掩盖失败分布有关——以及某些失败无论其统计频率如何都会带来高昂代价。
有一种故障模式会在团队解决了幻觉过滤、输出解析、重试逻辑等较容易的问题之后反复出现:模型给出听起来很自信的错误答案,基于置信度的路由逻辑信任了这些错误答案,系统在生产中悄无声息地出现异常,而评估仪表板看起来一切正常。
这不是提示词问题,而是校准问题,它根植于现代LLM的训练方式之中。
当你的团队决定从 Claude 3.5 Sonnet 升级到 Claude 3.7,或者从 OpenAI 迁移到自托管的 Llama 部署时,直觉通常是将其视为一次库升级:更改 API 密钥,更新模型名称字符串,进行快速的健全性检查,然后发布。这种直觉是错误的,那些遵循这一做法的团队会在第二周的凌晨 2 点发现原因——当时客服代理开始以完全不同的格式生成响应:技术上有效,语义上却是灾难性的。
切换 LLM 提供商或模型版本在结构上与数据库模式迁移(database schema migration)完全相同。两者都涉及更改系统中应用其余部分具有隐式契约的行为。两者可能在第一天看起来没问题,但在第十天发生灾难性的失败。两者都需要双重运行(dual-running)、金丝雀发布(canary deployment)、回滚标准和迁移方案(migration playbook)——而不是修改配置后发一条 Slack 消息。
一家电信公司发布了一款 AI 客服聊天机器人,拥有 99.99% 的可用性和低于 200ms 的响应时间 —— 每一个传统的 SLA 指标都显示为绿色。然而,在 35% 的账单查询中,它的回答都是错误的。没有任何合同条款涵盖这一点。没有任何警报触发。客户只是悄然流失。
这就是 AI 的“西瓜效应”:系统表面看起来很健康,内部却在悄悄腐烂。传统的可靠性 SLA —— 可用性、错误率、延迟 —— 是为确定性系统构建的。它们衡量的是你的服务是否回答了问题,而不是回答得好不好。在传统的 SLA 下发布 AI 功能,就像保证你的支持团队发送的每封邮件都能送达,却不对回复内容是否合理做任何承诺。