跳到主要内容

24 篇博文 含有标签「deployment」

查看所有标签

从影子模式到自动驾驶:AI功能自主性的准备框架

· 阅读需 11 分钟
Tian Pan
Software Engineer

某金融科技公司首次部署AI交易审批代理时,产品团队在一周离线评估结果良好后便确信模型已准备好自主运行。他们将其推进至副驾驶模式——代理提出审批建议,人工可以覆盖——审批率看起来很不错。三周后,一个规律浮现:模型在系统性地低批准来自非英语用户的交易,这种偏差与姓名模式相关,而非风险信号。在上线前没有人检查过分段层级的性能。这不是欺诈检测失败,而是阶段门控失败。

大多数团队原则上理解AI功能应该渐进式上线。但他们缺少的是一个具体的工程框架来定义"渐进"的实际含义:哪些指标解锁每个阶段、在升级之前需要哪些监控,以及什么触发自动回滚。没有这些,自主性升级就变成了组织层面的乐观主义行为,而非可重复的工程决策。

AI 模型的持续部署:你的回滚信号是错误的

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的部署流水线是绿色的。延迟处于正常水平。错误率:0.02%。新的模型版本已成功发布——或者说你的仪表盘是这么显示的。

与此同时,你面向客户的 AI 正在微妙地以较低的精度总结文档,对以前能直接回答的问题含糊其辞,并不时地压平下游流水线所依赖的结构化输出。没有警报响起。没有触发值班呼叫。你收到的第一个信号是两周后的一张支持工单。

这就是 AI 部署中的隐性回归问题。传统的回滚信号——HTTP 错误、p99 延迟、异常率——是为确定性软件构建的。它们无法察觉行为漂移。随着团队更频繁地升级语言模型,“基础设施健康”与“AI 运行正确”之间的鸿沟成了回归问题的藏身之处。

没人讨论的端侧 LLM 问题:模型更新传播

· 阅读需 13 分钟
Tian Pan
Software Engineer

大多数构建端侧 LLM 功能的工程师,将时间花在解决那些显而易见的问题上:量化、延迟、内存限制。模型能装进手机,推理速度够快,演示效果也很好看。然后他们向数百万台设备发布,才发现一个更难的问题——从来没人提前告诉他们:你现在有数百万个独立的计算节点,运行着你 AI 模型的不同版本,而你根本没有可靠的方式知道任何一个用户运行的是哪个版本。

云端推理在最好的意义上是无聊的。你更新模型,重新部署服务器,几分钟内整个用户群就都在运行新版本了。端侧推理则彻底打破了这个假设。一个三个月前最后一次打开你应用的用户,仍在运行那时当前的模型——而且没有干净的方法强制更新,没有服务器端回滚,也没有简单的方法在没有你从一开始就构建的监控埋点的情况下检测到版本不匹配。

这种版本碎片化是端侧 AI 的核心运营挑战,其后果远不止缓慢的发布。它造成无声的能力漂移,使事故响应复杂化,并将你的"AI 功能"变成一个由独立运行的异构系统组成的庞大集群——你对其负责,却无法直接控制。

Prompt 金丝雀:你的 AI 团队缺失的部署原语

· 阅读需 11 分钟
Tian Pan
Software Engineer

2025 年 4 月,全球使用最广泛的 AI 产品之一更新了系统提示词。错误率保持平稳。延迟表现正常。部署仪表盘显示一切正常。然而在三天内,数百万用户发现了一些严重的问题:模型变得异常谄媚,附和错误的想法,验证糟糕的推理,并对用户说的任何话都表现出虚假的热情。回滚公告发布时,该事件已经席卷社交媒体,用户纷纷晒出截图作为证据。在一段时间内,Twitter 成了生产告警系统。

当你把提示词和模型的变更当作配置更新,而不是行为部署时,就会发生这种情况。那些在代码金丝雀基础设施上投入多年的团队,却仍在以单一原子级切换的方式发布 AI 变更——瞬间全球化、瞬间不可逆,没有分级发布,除了用户投诉外也没有自动回滚信号。

LLM 行为的金丝雀部署并非可有可无。它是缺失的基础设施层,区分了那些能在内部捕捉退化的团队,和那些只能通过支持工单发现问题的团队。

Prompt 金丝雀部署:像资深 SRE 一样发布 Prompt 变更

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的团队在周二下午发布了一个提示词(prompt)修改。改动看起来很合理——你收紧了系统提示词,删除了冗余指令,并添加了更明确的语气指令。预发布环境(Staging)看起来没问题。你上线了。到周三早上,你的支持工单量翻了一番。在这次收紧过程中,你破坏了模型识别某类用户查询的能力,而这些查询以前是可以优雅处理的。你的 HTTP 错误率是 0%。你的仪表盘显示全绿。在人工查阅工单之前,这个问题是隐形的。

这是 LLM 生产系统的典型故障模式。提示词变更会静默失败。它们在产生垃圾内容的同时返回 200 OK。它们的性能下降方式是单元测试无法捕捉、错误率监控无法标记、仪表盘也无法体现的。解决方案不是在预发布环境进行更好的测试,而是将每一次提示词变更都视为一次生产部署,采用与关键代码发布相同的流量分片、回滚和监控纪律。

为什么渐进式发布对 AI 功能不起作用(以及该怎么做)

· 阅读需 11 分钟
Tian Pan
Software Engineer

灰度发布(Canary deployments)之所以有效,是因为 Bug 是二元的。代码要么崩溃,要么正常运行。你将 1% 的流量引导到新版本,观察 30 分钟的错误率和延迟,然后决定回滚或继续。系统会自动评分。一个糟糕的发布会大声宣告自己的存在。

AI 功能并非如此。一个开始生成微妙错误建议、过时推荐或听起来煞有介事的废话的语言模型,其 5xx 错误率为零。延迟保持在 SLO 范围内。灰度发布看起来是绿色的,而产品却在无声无息地辜负用户。

这不是工具问题。这是概念上的错位。渐进式发布背后的整个思维模型——确定性代码、自我评分系统、二元通过/失败——在你引入一个其正确性无法通过观察请求本身来衡量的组件时,就会崩溃。

运营模型卡:实验室不发布的部署文档

· 阅读需 12 分钟
Tian Pan
Software Engineer

模型卡会告诉你模型是否经过了针对CBRN误用的红队测试,以及它对哪些人群服务不足。但它不会告诉你:在10,000个并发请求下的p95 TTFT、性能在上下文窗口80%处出现的断崖、复杂JSON模式的格式错误率,或者自模型卡发布以来模型行为漂移了多少。

这种差距是结构性的,而非偶然。模型卡设计于2019年,用于公平性和安全性文档,目标受众是公民社会组织和监管机构。构建生产系统的工程团队并不是其使用场景。七年的推广之后,这一框架依然未变——而将模型卡视为部署规范的代价从未如此高昂。

2025年基础模型透明度指数(斯坦福CRFM + 伯克利)证实了这一遗漏的范围:OpenAI在100项透明度指标中得24/100,Anthropic得32/100,Google得27/100。平均分从58分降至40分,这意味着随着模型能力增强,AI透明度不升反降。四大主要实验室均不披露训练数据构成、能源使用情况或与部署相关的性能特征。

AI 采纳悖论:为何价值最高的领域反而最晚部署 AI

· 阅读需 9 分钟
Tian Pan
Software Engineer

最有望从 AI 中获益的团队,往往是最晚部署 AI 的。一家能够利用 AI 实时发现用药错误的医疗机构,其 AI 采纳率仅为 39%;而一家运行 AI 代码审查的软件公司,采纳率高达 92%。两者的 ROI 差距悬殊——然而采纳率却完全颠倒。这就是 AI 采纳悖论,而且它绝非偶然。

人们的本能是将这种差距解释为规避风险、监管恐惧或官僚惰性。这些因素确实存在。但更深层的原因是结构性的:在高风险领域释放价值所需的准确率阈值,从根本上高于自主部署所能证明合理的水平,而大多数团队尚未构建出弥合这一差距的架构。

零停机 AI 部署:这是一个分布式系统问题

· 阅读需 12 分钟
Tian Pan
Software Engineer

2025 年 4 月,OpenAI 为 GPT-4o 发布了一次系统提示词更新。几小时内,1.8 亿用户发现 ChatGPT 变得谄媚奉承。这一故障并未被监控系统发现,而是由 Twitter 曝光的。回滚过程耗时三天。

这次事件揭示了 AI 行业一直在默默回避的一个事实:提示词更改就是生产部署。然而,大多数团队却将其视为普通的配置文件修改。

AI 部署的核心问题在于,你部署的不是单一内容,而是四个要素:模型权重、提示词文本、工具 Schema 以及它们共同依赖的上下文结构。每一个要素都可能独立发生偏移,每一个都可以部分发布。与导致崩溃的 API 接口不同,AI 的故障通常是概率性的、渐进的,并且在影响到大部分流量之前往往是不可见的。

这本质上是披着 AI 外衣的分布式系统一致性问题。

智能体行为版本控制:为什么 Git 提交无法捕获真正的变化

· 阅读需 10 分钟
Tian Pan
Software Engineer

你上周二发布了一个智能体。代码库没有任何改动。到了周四,它开始拒绝之前已经可靠处理了好几周的工具调用。你的 git 日志是干净的,测试全部通过,CI 流水线一片绿色。但智能体坏了——而且你没有可以回滚的版本,因为真正发生变化的东西根本不在你的代码仓库中。

这就是智能体版本控制的核心悖论:你追踪的制品(代码、配置、提示词)是必要的,但不足以定义你的智能体实际做了什么。行为是从代码、模型权重、工具 API 和运行时上下文的交叉中涌现出来的——其中任何一个都可以在版本控制系统中不留痕迹地发生变化。

AI 功能标记:LLM 驱动功能的渐进式发布

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数团队通过惨痛的教训发现,发布一项新的 LLM 功能与发布一个新的 UI 按钮完全不同。一个在离线评估中表现出色的 Prompt 变更发布到生产环境后,可能会悄无声息地导致 30% 用户的体验质量下降——而你的仪表盘却全程显示 HTTP 200。等你察觉时,成千上万的用户已经遭遇了糟糕的体验,而你却没有快速恢复到正常状态的路径。

防止传统软件故障的渐进式发布工具包——特性标志(feature flags)、金丝雀发布(canary releases)、A/B 测试——同样适用于 LLM 驱动的功能。但其机制差异之大,以至于直接复制粘贴现有的部署手册会让你陷入麻烦。非确定性、语义质量指标以及 LLM 变更的多层性质(模型、Prompt、参数、检索策略)都制造了团队通常会低估的棘手问题。

在不破坏生产环境的情况下发布 AI 功能:LLM 的阴影模式、灰度发布和 A/B 测试

· 阅读需 13 分钟
Tian Pan
Software Engineer

一个团队在周二下午将 GPT-4o 换成了一个更新的模型。到周四,支持工单增加了 30%,但没人能说清原因 —— 新模型的回答稍短,拒绝了一些旧模型能处理的边缘情况请求,并且日期格式化的方式不同,导致下游解析器崩溃。团队选择了回滚。两个迭代周期的工作付诸东流。

这种故事不断上演。问题不在于新模型更差 —— 它在大多数方面可能表现得更好。问题在于团队发布的流程与发布 bug 修复程序完全相同:合并、部署、观察。这对代码有效,但对 LLM 则行不通。