跳到主要内容

164 篇博文 含有标签「production-ai」

查看所有标签

季度模型迁移:将其变成日程安排,而非消防演习

· 阅读需 13 分钟
Tian Pan
Software Engineer

弃用通知邮件在一个周二的下午寄达。你的计费流水线赖以生存了 14 个月的模型现在进入了 60 天的倒计时。提示词是由一名在 3 月离职的工程师调优的。评估套件自发布以来从未重新设定基准。客户成功团队正在询问为什么两个企业账户的“AI 感觉不一样了”。没有人把这件事列入路线图,也没有人能清爽地接手,因为在你组织的心理模型中,这是一个一次性项目 —— 尽管这已经是今年的第四次了。

每个在生产环境中运行 AI 功能的团队在 18 个月内都会得出同样的感悟:基础模型提供商正以团队未曾预料的频率弃用模型,而团队的迁移应对措施始终是由于收到通知邮件而触发的被动仓促应对。解决方法不是为下一次迁移准备一个更好的操作手册 —— 这类手册已经很多了,你的团队可能也写过一个。解决方法是停止将迁移视为一个项目,而是将其视为一个经常性的运营原语。把它排进日历。

推理模型套利:在处理难题时,慢速昂贵模型反而更省钱

· 阅读需 11 分钟
Tian Pan
Software Engineer

价格页面上最便宜的那一行很少是发票上最便宜的一行。团队选择主力模型(Workhorse model)——Sonnet、Haiku、Flash、GPT-mini——是因为每 token 的计算方式很友好。上线功能后,看着成本控制面板报告了一个季度的单位经济效益(unit-economics)好消息。然后长尾效应跟了上来:主力模型处理不了一部分请求,开始重试,接着是部分回答,最后升级到人工审核,每个功能的损益表(P&L)不再像每次调用的仪表盘那样好看了。

这里的套利在于,针对这些困难请求,团队永远不会作为默认选项的推理模型(Reasoning model)——Opus、o3,这类缓慢昂贵的模型——通常在第一次尝试时就能给出答案。一次 0.50 美元的推理调用总成本,胜过五次 0.05 美元的主力模型调用加上升级队列,以及周一调试失败的工程师成本。采购问题(哪个模型每 token 最便宜?)和架构问题(哪个模型解决每个请求最便宜?)是不同的问题,将两者混为一谈的团队正在支付这两者之间的差价。

为什么 AI 质量监控会将模型漂移、数据漂移和提示词漂移混为一谈 —— 以及针对每种情况的对策

· 阅读需 12 分钟
Tian Pan
Software Engineer

一个欺诈检测模型的准确率在三周内悄无声息地下降了一半。延迟正常,错误率为零,所有基础设施仪表盘都显示绿色。工程师们在第一周审计数据管道,第二周比较模型权重,第三周重新审视工单,直到有人发现欺诈者只是改变了他们的语言模式。修复工作——用最近的样本重新训练——只花了两天。而误诊却花了三周。

这种模式在生产环境中的 AI 团队里不断重复:性能下降触发了笼统的“模型问题”警报,团队开始基于直觉而不是根本原因来调整参数。原因并不是缺乏监控纪律,而是大多数可观测性技术栈将三个结构上截然不同的问题混为一谈。模型漂移(Model drift)、数据漂移(Data drift)和提示词漂移(Prompt drift)具有不同的检测特征、不同的警报拓扑结构和不同的修复路径。将它们混淆,就会在错误的修复方案上浪费数周时间。

AI 输出波动性是你可能定价不足的业务风险

· 阅读需 11 分钟
Tian Pan
Software Engineer

当公司谈论 AI 风险时,对话通常集中在那些显而易见的失败上:幻觉事实、偏见输出、以及生成内容带来的法律责任。而较少受到关注的是一个更隐蔽的结构性问题:你已经在其输出本质上是概率性的系统之上,做出了商业承诺——定价层级、SLA(服务等级协议)、面向客户的准确性声明。每次模型生成响应时,它都是在从分布中采样。而合同中从未提及“分布”。

这是一个大多数团队发现较晚的业务风险,通常是在客户抱怨同一个文档审查工作流在周一和周五给出了完全不同的结果时,或者当监管机构要求提供系统在架构上无法提供的可复现性保证时。

RAG 中的领域专家瓶颈:为什么知识策展会导致生产环境 AI 崩溃

· 阅读需 9 分钟
Tian Pan
Software Engineer

大多数构建 RAG 系统的团队在第一个月都花在流水线(pipeline)上——分块策略、嵌入模型选择、向量数据库配置、检索微调。他们让系统跑通了。演示顺利通过。利益相关者印象深刻。

六个月后,系统开始悄无声息地退化。支持工单提到了错误的流程。机器人引用了一个已经在第三季度停用的价格档位。客户得到了关于一个在他们注册前就已弃用的产品功能的肯定回答。流水线没问题,问题出在知识库上。

嵌入模型更迭:当你的提供商悄然导致整个向量索引失效

· 阅读需 10 分钟
Tian Pan
Software Engineer

你花了数周时间构建检索流水线。分块策略已调整,相似度阈值已校准,用户反馈看起来很积极。然后,在某个周一的早晨,在你没有任何部署的情况下,检索质量开始下降。以前能搜出正确文档的查询,现在返回的却是关联度极低的噪音。没有错误日志。没有异常。流水线运行顺畅。

发生变化的是你的嵌入(Embedding)提供商更新了模型。你的整个向量索引——那些费尽心力嵌入的数百万个文档——现在填充的是来自一套坐标系统的向量,而这套系统与你的查询编码器生成的向量已不再匹配。结果不是系统崩溃,而是不可见的垃圾数据。

解释债务:为什么用户有权知道你的AI做了什么

· 阅读需 9 分钟
Tian Pan
Software Engineer

贷款申请被拒。候选人在招聘流程中被过滤掉。医学影像工具将某张扫描标记为异常。在每一种情况下,AI系统都做出了一个至关重要的决定——而用户毫不知情其背后的原因。

构建这些系统的团队往往花费数月时间调整精确率、召回率和输出质量。他们进行A/B测试,迭代提示词,最终交付了一个94%准确率的模型。但他们从未构建那个告诉用户发生了什么的层。这就是解释债务:在没有归因、置信度信号和申诉机制的情况下发布AI决策所积累的代价——这些要素本可以让决策具有可解释性。

人工接管作为一等功能:设计能够优雅降级至人工控制的 AI 系统

· 阅读需 11 分钟
Tian Pan
Software Engineer

当一个 AI 驱动的客服智能体无法解决问题并将工单升级给人工时,接下来会发生什么?在大多数系统中:客户被冷转接,没有任何上下文,不得不从头开始重新解释所有情况。人工客服完全不知道 AI 尝试了什么、收集了哪些信息,以及为什么发生了交接。

这是人工接管失败最常见的形式——不是戏剧性的 AI 崩溃,而是自动化与人工处理衔接处悄然发生的 UX 崩塌。究其根本,是工程师精心设计了 AI 处理路径,却将人工接管作为事后补丁——一个出问题时的回退方案。结果是,接管体验像系统报错,而非经过设计的操作模式。

那些做得好的工程团队,从第一天起就将人工接管视为一等功能。以下是其在实践中的具体体现。

权重中的幽灵:预训练残留如何在生产环境中破坏你的微调模型

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的微调模型在评估套件上达到了 93% 的准确率。你将其上线。三周后,一位客户发来截图:模型以十足的自信回答了一个从未出现在训练数据中的问题——而且答错了。这并非通常意义上的幻觉,而是一段记忆。一种在预训练阶段烙入权重的模式,在微调从未覆盖的分布上死灰复燃。这就是预训练残留(pretraining residue),也是生产微调中最容易被忽视的故障模式之一。

微调调整的是权重,而不是从头重新训练模型。在万亿 token 规模预训练期间形成的模式——校准机制、置信度信号、世界模型先验——依然留存于权重之中。无论你的微调数据集多么精心策划,它都只是叠加在更深层先验之上的薄薄一层。当输入落在你的微调分布之外时,模型不会说"我不知道",而是回溯到预训练,自信地给出答案。

系统提示中的冲突指令:无人负责的隐性故障模式

· 阅读需 10 分钟
Tian Pan
Software Engineer

你的 AI 功能在上线时运行良好。六个月后,它有时给出简短的一两句话,有时写出五段长文,偶尔还会拒绝回答上个季度毫无障碍地处理过的问题。代码库中没有任何变化——至少你是这么认为的。实际上,系统提示在悄然改变,经过四名工程师跨两个团队提交的十一个拉取请求,逐步演变。每次改动单独来看都合情合理,但合在一起,却将你的提示变成了一台矛盾制造机。

这就是指令冲突问题。它不会抛出异常,不会出现在错误日志中,而是以行为漂移的形式表现出来——模型在细微不同的情境下做出细微不同的事,难以复现,更难溯源。等到用户提交 bug 报告时,提示可能已经被再次打过两个补丁了。

知识半衰期问题:为什么你的 RAG 系统现在就已经出错了

· 阅读需 10 分钟
Tian Pan
Software Engineer

你的 RAG 系统通过了所有检索基准测试。准确率看起来很稳健。LLM 评估器评分全部绿灯。然而,在你的索引某处,存在一份描述八个月前已废弃 API 端点的文档、一个已不复存在的定价层级,以及一项在第三季度被新法规取代的合规政策。检索器对此毫不知情。语义相似度没有时间概念。

这就是知识半衰期问题:一种隐蔽的失效模式——RAG 系统在你所有监控指标上看起来健康运行,却在向用户提供越来越陈旧的决策依据。73% 的组织报告称,RAG 部署在 90 天内出现准确率下滑——原因不是检索架构缺陷或 Embedding 模型质量问题,而是没有人将知识过期建模为可靠性关注点。

AI 流水线异常处理:幻觉、拒绝和格式违规是一等公民错误

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的 AI 流水线昨晚报告了零错误。但输出结果完全是错的。

这不是假设。一份近期的行业报告发现,大约每 20 个生产环境 LLM 请求中,就有 1 个以永远不会触发异常的方式失败——HTTP 200、格式正确的 JSON、流畅的散文,但内容却是错的。可观测性系统保持绿灯,而流水线却在悄悄地欺骗用户。

根本原因是一个从传统服务工程中借来的架构假设:HTTP 状态码和解析错误覆盖了所有故障空间。但事实并非如此。LLM 流水线至少有四种底层基础设施看不到的故障类型——幻觉、拒绝、格式违规和上下文溢出——把它们当作边缘情况而非一等公民错误类型来处理,正是生产 AI 系统如何大规模传播隐性 Bug 的根源。