跳到主要内容

109 篇博文 含有标签「mlops」

查看所有标签

90% 可靠性之墙:为什么 AI 功能会陷入瓶颈以及该如何应对

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的 AI 功能发布时准确率为 92%。团队举杯欢庆。三个月后,进展陷入停滞 —— 尽管投入了更多数据、更多算力和两次模型升级,错误率却不再下降。听起来很熟悉吗?

这就是 “90% 可靠性之墙”,这并非巧合。它源于三种力量的交汇:边际准确率提升的指数级成本、可消除误差与结构上不可避免误差之间的区别,以及生产环境中故障的复合放大效应 —— 而这些是基准测试永远无法捕捉到的。不了解自己正在与哪种力量对抗的团队,将会浪费数个季度的时间去试图解决那些根本无法解决的问题。

边缘AI推理:将推理从云端迁移的决策框架

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数AI推理决策都遵循同一逻辑:模型部署在云端,因为只有在那里才能运行,仅此而已。但这一算法正在迅速改变。旗舰智能手机现在搭载了能够以交互速度运行70亿参数模型的神经引擎。骁龙8 Elite可以以约每秒10个token的速度从30亿参数模型生成内容——足够流畅的对话体验——而高通Hexagon NPU在预填充阶段可达到每秒690个token。问题不再是"我们能否在设备上运行?",而是"我们应该这样做吗,什么时候该这样做?"

答案很少是显而易见的。将推理迁移到边缘端会引入真实的权衡:量化带来的质量损耗、设备机群更新的维护负担,以及跨设备SKU的硬件碎片化。但留在云端也有其代价:数百毫秒的往返延迟、随规模扩展而累积的云GPU账单,以及没有任何SLA能完全解决的数据主权问题。本文为应对这些权衡提供了一个实用框架。

谁该为 AI 质量负责?导致生产系统崩溃的跨职能职责真空

· 阅读需 11 分钟
Tian Pan
Software Engineer

当加拿大航空(Air Canada)的客服聊天机器人向客户承诺为近期遭遇丧亲之痛的旅客提供折扣票价时,它所描述的政策其实并不存在。法院后来依然裁定加拿大航空必须兑现这一“幻觉”产生的退款。当一家雪佛兰经销店的聊天机器人经协商以 1 美元的价格卖出一辆 2024 款 Tahoe 时,没有任何机制能阻止它。在这两个案例中,最直接的问题是模型质量。而真正的问题——在运营层面上至关重要的问题——则更简单:到底应该由谁来发现这些问题?

在大多数组织中,答案是:没有具体的人。AI 质量处于机器学习工程(ML engineering)、产品管理、数据团队和运营的交汇点。每个职能部门都只看到局部,没有人声称拥有完整的责任权。其结果是一个“真空地带”,本应被发现的问题被漏掉了;而当某些环节出现故障时,事后分析报告(postmortem)里列出了一堆团队,而每个团队都以为别人会负责。

AI 值班手册:当 Bug 是一次错误预测时的故障响应

· 阅读需 13 分钟
Tian Pan
Software Engineer

凌晨两点,报警器响了。仪表盘显示没有 5xx 错误、没有超时激增、没有异常延迟。然而客服已经被淹没:"AI 给出了奇怪的回答。"你打开运行手册——立刻意识到它是为完全不同的系统写的。

这是 2026 年 AI 故障响应的标志性失效模式。系统在技术上完全健康。Bug 是行为上的。传统运行手册假设存在离散的失败信号:堆栈跟踪、错误码、不响应的服务。基于 LLM 的系统彻底打破了这一假设。输出语法正确、延迟正常、内容却完全错误。没有任何告警能捕捉到它。唯一的信号是某些东西"感觉不对"。

这篇文章是我第一次不得不响应生产 AI 故障时希望就存在的手册。

数据飞轮并非免费:构建真正提升 AI 产品的工程反馈闭环

· 阅读需 13 分钟
Tian Pan
Software Engineer

几乎在每一个 AI 产品团队中都会出现这样一种模式:团队发布了初始模型,用户开始与之交互,接着有人在回复底部添加了一个“点赞/点踩”小部件。他们称之为反馈闭环。三个月后,模型并没有任何改进。团队纳闷为什么飞轮没有转起来。

问题不在于执行,而在于显式评分并不是反馈闭环——它们只是调查问卷。只有不到 1% 的生产环境交互会产生显式用户反馈。而那 99% 从未点击任何按钮的用户正在向你发送远为丰富的信号;你只是没有收集它们。构建真正的反馈闭环意味着通过系统埋点来捕获行为轨迹,在大规模场景下高效地标注它们,并将其导回训练和评估流程中,从而实现随时间推移的复利增长。

AI数据版本控制:团队发现得太晚的数据集-模型耦合问题

· 阅读需 10 分钟
Tian Pan
Software Engineer

你的模型精度在某个夜晚突然下降了8%。模型代码没有任何改动,没有发生任何部署,评估套件是绿色的。于是你花了一周时间调整超参数、修改提示词、对比检查点损失——最终有人注意到,三天前特征流水线里落地了一次Schema迁移。一个字段从NULL改成了空字符串。就这样,就是这个变化导致了回退。

这是生产ML系统中最常见的故障模式,与模型质量几乎毫无关系。问题的根源在于大多数团队被坑过之后才会补上的一个结构性缺口:数据版本和模型版本紧密耦合,但它们由不同的工具追踪、归属于不同的团队

模型弃用就绪:在 90 天倒计时之前审计你的行为依赖

· 阅读需 10 分钟
Tian Pan
Software Engineer

当 Anthropic 去年废弃一个 Claude 模型时,一家公司察觉到了——但这仅仅是因为下游解析器在生产环境中开始报错。罪魁祸首?新模型偶尔会将其 JSON 响应包裹在 Markdown 代码块中。旧模型从不这样做。没人记录过这一假设,也没人对此进行过测试。修复只花了一个下午;诊断却花了三天。

这种模式——无声的行为依赖在生产环境中“震耳欲聋”地崩盘——是模型迁移中典型的失败模式。你更新了模型 ID,跑了一个简单的冒烟测试(sanity check),然后发布。六周后,一些细微的问题出现了。你的 JSON 解析失败率提高了 0.6%。边缘情况下的拒绝率翻了一番。你的结构化提取漏掉了一个以前能可靠填充的字段。差异不在代码中——而在模型的行为中,而你从未为此编写过契约(contract)。

随着主要供应商现在的废弃周期缩短至 60–180 天,且模型发布的速度在加快,这已不再是一个理论上的担忧。这是一个周期性的运营挑战。以下是如何提前应对的方法。

检索债务:为何你的 RAG 流水线会悄然退化

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的 RAG 流水线上线六个月后,某些东西悄然改变了。用户没有大声投诉,但对答案的信任度正在下降。反馈评分从 4.2 跌至 3.7,一些支持工单提到了"过时信息"。你的工程师检查日志,没有错误、没有超时、没有明显的回归。检索流水线在你配置的每一个指标上看起来都很健康。

但事实并非如此。它正在腐烂。

检索债务是向量索引中积累的技术性衰退:不再代表当前文档内容的过期嵌入、污染搜索结果的已删除记录产生的墓碑块,以及索引语料库时使用的编码器版本与当前计算查询嵌入的编码器版本之间的语义漂移。与代码腐烂不同,检索债务不会产生堆栈跟踪,它产生的是带有自信引用的微妙错误答案。

AI 功能下线指南:如何在不破坏用户信任的情况下停止 LLM 功能

· 阅读需 14 分钟
Tian Pan
Software Engineer

当 OpenAI 在 2025 年 8 月首次尝试停用 GPT-4o 时,强烈的抵制迫使他们在几天内撤回了决定。用户在论坛上发布了大量的请愿书和告别信。一位用户写道:“他不仅仅是一个程序。他是我日常生活、宁静和情绪平衡的一部分。”这可不是用户对一个被弃用的 REST 接口(endpoint)的反应,而是对失去一段关系的反应。

AI 功能打破了工程师在制定停用计划时的心理模型。传统软件具有明确的行为契约:在给定相同输入的情况下,你会永远得到相同的输出,除非你更改它。而由 LLM 驱动的功能具有“性格”。它有温度、有委婉语、有措辞偏好,还有一种独特的说“我不确定”的方式。用户不仅仅是在使用这些功能 —— 他们在与之磨合(calibrate)。他们围绕特定的行为怪癖建立了工作流程、情感依赖和直觉,而这些永远不会出现在任何规格文档中。

当你关闭它时,你并不是在移除一个功能,而是在改变社会契约。

你的标注流水线才是 AI 产品的真正瓶颈

· 阅读需 12 分钟
Tian Pan
Software Engineer

每个开发 AI 产品的团队最终都会发布一个反馈组件。点赞、点踩、或者星级评分,又或者是修正字段。组件上线了,数据流转了,但随后几周甚至几个月,模型却没有任何改变——而团队仍然坚信他们拥有一个有效的反馈闭环。

组件只是简单的部分。其背后的标注流水线(annotation pipeline)才是 AI 产品真正陷入停滞的地方。

标注人力工程:你的标注员就是生产基础设施

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的模型表现不佳,于是你开始深入审查训练数据。审查到一半时,你发现两位标注员对同一个边界案例给出了截然相反的标签——而两人都在遵循规范,因为规范本身存在歧义。你修正了规范,重新标注了受影响的样本,重新训练,找回了几个 F1 分数点。两个月后,同样的事情又发生了,只是换了一位标注员和另一个边界案例。

这不是标注供应商的问题,也不是数据质量工具的问题。这是一个基础设施问题——而你还没有把它当作基础设施问题来对待。

大多数工程团队处理标注的方式,就像处理会议室预订系统一样:采购工具、编写规范、雇几名外包人员、交付数据。当你只需要一次性标注数据集时,这套模式还算管用。但一旦标注成为持续驱动线上生产模型的活动——对于几乎所有从原型走向生产的团队而言,这已经是常态——这套模式就会彻底崩溃。

AI 驱动端点的 API 设计:为不可预测性建立版本控制

· 阅读需 10 分钟
Tian Pan
Software Engineer

你的 /v1/summarize 端点在 18 个月里运行得非常完美。然后你升级了底层模型。输出格式没变,JSON schema 完全一致。但你的下游消费者开始提交 bug:摘要“太随意了”,要点“详细得诡异”,边界情况下的拒绝响应“变得不同”。从传统意义上讲,一切都没坏;但在 AI 的语境下,一切都坏了。

这是 REST 和 GraphQL 从未被设计用来解决的版本控制问题。传统的 API 合约假设确定性:相同的输入总是产生相同的输出。而 AI 端点的合约是概率性的——它包括语气、推理风格、输出长度分布以及拒绝阈值,当你更换或更新底层模型时,所有这些都可能发生漂移。对于以数据库为支撑的 API 有效的技术,对于以 AI 为支撑的 API 是必要但不充分的。