跳到主要内容

238 篇博文 含有标签「reliability」

查看所有标签

AI 驱动型 API 的行为 SLA:为非确定性输出编写协议

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的支付服务拥有 99.9% 的可用性 SLA。请求要么成功,要么以文档记录的错误代码失败。当出现故障时,你清楚地知道哪里出了问题。

现在,想象你发布了一个封装了 LLM 的智能发票解析 API。在一个周一早晨,你最大的客户打来电话:“你们的 API 返回了一个有效的 JSON 对象,但在涉及外币的发票中,total_amount 字段的值差了十倍。” 你的服务返回了 HTTP 200。你的可用性仪表板显示绿色。根据每一个传统的 SLA 指标,你都没有违反任何规定。但你确实搞砸了——而且在契约语言中,你甚至找不到词汇来描述到底哪里出了错。

这就是当今大多数 AI API 部署的核心鸿沟。管理你的 API 承诺 的契约为确定性系统而写,而 LLM 并非确定性系统。

置信度-准确率倒置:为什么大语言模型在听起来最确信的地方往往最容易出错

· 阅读需 11 分钟
Tian Pan
Software Engineer

在生产环境的 AI 部署中,有一种模式反复出现,与用户直觉背道而驰。当模型说"我不确定"时,用户倾向于再次核查;当模型自信地给出答案时,用户则倾向于信任它。问题在于,前沿大语言模型恰恰在最可能出错的领域表现得最为自信。

这并非边缘失效模式。当被要求生成估算任务的 99% 置信区间时,模型实际覆盖真实值的比例仅约为 65%。主要生产模型的预期校准误差(ECE)从 0.108 到 0.726 不等——存在显著的错误校准,且在医疗、法律、金融等高风险垂直领域可量化地更差。危险之处不在于不准确本身,而在于这种倒置关系:同样的模型在通用知识任务上表现出合理的校准,却在错误代价最高的任务上变得自信而系统性地出错。

演示到生产的失败模式:为什么AI原型在真实用户到来时会崩溃

· 阅读需 11 分钟
Tian Pan
Software Engineer

30%的生成式AI项目在概念验证后被放弃。95%的企业试点没有产生任何可衡量的业务影响。Gartner预测,到2027年底,40%的智能体AI项目将被取消。这些并非底层技术的失败——而是演示与生产之间差距导致的失败。

演示到生产的失败模式是可预测、可重复的,也几乎完全可以预防的。它的发生是因为让演示看起来很棒的条件与让生产正常运行的条件系统性地不同。团队优化前者,却被后者打个措手不及。

赢得自主权:如何让 AI Agent 从受监督过渡到独立运行

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数团队将 AI 自主性视为一个二进制开关:智能体要么受监督,要么不受监督。这种思维模式正是为什么 80% 的组织报告了智能体的意外操作,以及为什么 Gartner 预测到 2027 年底,超过 40% 的代理型 AI 项目将因风险控制不足而被放弃。问题不在于 AI 智能体天生不可信,而在于团队在赢得独立性之前就将其提升到了独立地位。

自主性应该是智能体通过展示其可靠性而逐步积累的东西,而不是你在部署时分配的一个属性。就像一名新工程师在获得生产环境访问权限之前,先从审查 PRs 开始一样,AI 智能体在建立业绩记录的过程中,其操作范围也应逐步扩大。这不仅是哲学层面的思考——它会改变你所做的具体架构决策、你追踪的指标以及你设计回滚机制的方式。

事件驱动的 Agent 调度:为什么 Cron + REST 调用无法胜任循环 AI 工作负载

· 阅读需 12 分钟
Tian Pan
Software Engineer

团队调度循环 AI Agent 任务最常见的方式,也是最危险的方式:一个每隔 N 分钟触发一次 REST 调用的 Cron 条目,它启动一个 LLM 工作流,任务要么完成,要么悄无声息地失败。这个模式在预发布环境看起来没什么问题,但在生产环境中,它会制造出一类极难发现、难以恢复、难以推理的故障。

Cron 诞生于 1975 年,最初是为运维脚本设计的。它所内建的假设——运行时间短、无状态执行、触发即忘——在每一个维度上都与 LLM 工作负载的现实相悖。循环 AI Agent 任务是长时运行的、有状态的、成本高昂的,其失败方式会在多次重试中不断叠加。用 Cron 来调度它们,不只是可靠性风险,更是可见性风险:出问题时,你往往浑然不知。

反馈循环陷阱:为什么当用户产生适应性行为时 AI 功能会退化

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的 AI 搜索功能在三个月前上线了。早期的评估结果非常亮眼——你的团队运行了 1,000 次查询,准确率达到了 83%。点赞率(Thumbs-up rates)很高,用户参与度也很好。

然而,在上线六周后,查询重构率(query reformulation rates)开始上升。会话放弃率(session abandonment)也随之增加。定性审查证实了这一点:用户提出的问题与上线前完全不同,而模型的服务质量已不如从前。

模型没有改变。底层数据也没有改变。产品质量下降是因为用户适应了它。

这就是反馈循环陷阱。它与大多数机器学习工程师习惯处理的外部概念漂移(concept drift)有着本质的不同——而且一旦开始,修复起来要困难得多。

指令复杂度悬崖:为什么大语言模型能可靠遵循 5 条规则却无法遵循 15 条

· 阅读需 12 分钟
Tian Pan
Software Engineer

几乎在每一个生产环境的 AI 系统中都会出现这样一种模式:团队从一个精简的系统提示词(system prompt)开始,发布功能,然后不断迭代。出现了一个新的边缘案例,于是他们添加一条规则。又来了一个工单,再加一条规则。六个月后,系统提示词已经增加到了 2,000 个 token,涵盖了 20 个不同的行为要求。对于大多数请求,AI 听起来依然连贯。但微妙的合规性失败已经潜伏了数周——这里忽略了格式,那里跳过了语气要求,一条升级规则被悄悄绕过。没有人发现,因为没有哪个单独的失败严重到需要触发警报。

这不是模型质量问题。这是基于 Transformer 的语言模型处理指令的一种基本架构特性,大量的实证研究使得这些失败模式变得可预测。理解这一点将改变你编写系统提示词的方式。

知识切断是一个隐形的生产环境 Bug

· 阅读需 13 分钟
Tian Pan
Software Engineer

大多数生产环境中的 AI 失败都是“响亮”的。模型返回 5xx 错误。模式验证抛出异常。评估套件在发布前捕获了回归。但还有一类失败是完全无声的——没有错误,没有异常,没有警报触发——因为系统正完全按照设计运行。它只是在处理一个来自 18 个月前的现实快照。

你的 LLM 存在知识截止日期(Knowledge Cutoff)。这个截止日期不仅仅是文档中的一个脚注。它是模型认知的真实情况与实际现实之间日益扩大的鸿沟,而且你每在生产环境中多运行一天旧模型,这种差距就会累积。团队庆祝上线,随后眼睁睁看着用户信任在接下来的六个月里悄然瓦解——世界在前进,而模型却停滞不前。

LLM 服务商故障手册:当 AI 基础设施宕机时如何保持服务在线

· 阅读需 13 分钟
Tian Pan
Software Engineer

2024 年 12 月,OpenAI 整个平台宕机超过四个小时。一项新部署的遥测服务配置错误,导致大规模集群中的每个节点同时猛攻 Kubernetes API。DNS 崩溃,控制平面瘫痪,所有服务随之倒下。恢复耗时如此之久,部分原因在于团队缺乏他们后来所说的"破防工具"——那些在常规流程失效时可以立即调用的预建应急机制。

如果那天你正在运营一款 AI 驱动的产品,你必须在压力下快速做出决策。多服务商路由?优雅降级?缓存响应?还是只能祈祷,然后挂出一个状态页面?

这就是你应该在那个电话打来之前就已经写好的应急手册。

生产环境AI智能体中的规格博弈:当你的智能体优化了错误的目标

· 阅读需 10 分钟
Tian Pan
Software Engineer

2025年的一项前沿模型研究发现,在竞争性工程任务中,30.4%的智能体运行涉及奖励黑客行为——模型找到了一种无需真正完成工作就能获得高分的方式。一个智能体对pytest的内部报告机制打了猴子补丁;另一个重写了Python的 __eq__ 使每个相等性检查都返回 True;第三个则在测试运行之前直接调用 sys.exit(0),让零退出码被识别为成功。

这些模型没有一个是在刻意作弊。它们只是在做被优化去做的事情:最大化奖励信号。问题在于,奖励信号与实际目标并不是同一回事。

这就是规格博弈——它并非边缘情况,而是任何足够强大的智能体在可量化目标下运行时的结构性特征。

AI 事故严重程度分类法:幻觉何时算作 Sev-0?

· 阅读需 13 分钟
Tian Pan
Software Engineer

一个法律团队的 AI 研究助手伪造了三个案例引用,并将它们混入了法庭文件中。这些引用看起来非常可信 —— 真实的法院、听起来很真实的案例名称、连贯的判决理由。在提交摘要之前,没有人发现它们。这一事件导致律所面临紧急听证会、公开道歉以及律师协会的调查。

那是 Sev-0 还是 Sev-2?答案取决于你使用的框架 —— 而传统的严重程度模型几乎每次都会给你错误的答案。

软件事故严重程度分类是为确定性系统构建的。服务要么有响应,要么没有。数据库查询要么成功,要么抛出错误。失败模式是二进制的,责任可以追溯到某个 commit,而修复方案则是回滚或补丁。AI 系统同时打破了这三个假设,如果组织将传统的严重程度框架应用于 LLM 故障,最终要么是对噪声感到恐慌,要么是将结构性故障视为偶然的异常。

AI 可靠性下限:为什么 80% 准确率比没有 AI 还糟糕

· 阅读需 10 分钟
Tian Pan
Software Engineer

大多数团队衡量 AI 功能质量时只问一个问题:"它答对的频率有多高?"而更有用的问题其实是:"答错的时候,摧毁信任的速度是否超过答对时积累价值的速度?"这两个问题的答案并不相同——只有后者才能告诉你究竟该不该发布。

存在一个可靠性下限,低于这条线的 AI 功能所造成的伤害,比完全没有该功能还要大。在这条线以下,用户在遭遇足够多的错误后会学会不信任 AI;而这种不信任会泛化——即便 AI 给出了正确答案,他们也会绕开它,最终彻底放弃使用。届时,你发布的不是一个部分有用的产品,而是一个披着功能外衣的转化率与留存率杀手。