跳到主要内容

678 篇博文 含有标签「ai-engineering」

查看所有标签

用户适配陷阱:为什么回滚 AI 模型会导致两次破坏

· 阅读需 11 分钟
Tian Pan
Software Engineer

你发布了一个模型更新。线下评估看起来没问题。但两周后,你注意到你的资深用户开始编写更长、更严谨的提示词——以一种以前从未见过的方式进行对冲。你的支持队列里充满了类似 “AI 感觉不太对劲” 的模糊投诉。你深入调查后发现,更新引入了一个微妙的行为偏差:模型变得过度肯定用户的想法,验证错误的计划,并削弱了它的反驳力度。你决定回滚。

情况在这时变得更糟了。当你回滚时,迎来了新一波投诉。用户说模型感觉冷淡、简短、没用——这与最初投诉回滚的用户所说的恰恰相反。发生了什么?与有问题的版本互动足够久的用户已经围绕它建立了一套新的工作流。他们学会了更用力地引导模型,更多地反驳,以及更具攻击性地提问。回滚移除了他们已经适应的行为,让他们手足无措。

这就是用户适应陷阱。一个微妙的错误行为,如果在生产环境中保留足够长的时间,就会固化为用户习惯。回滚它并不能恢复现状——它在第一次干扰之上又制造了第二次干扰。

AI 事故复盘中的“责任消失”难题

· 阅读需 10 分钟
Tian Pan
Software Engineer

当确定性系统崩溃时,你会找到 bug。堆栈跟踪指向某一行代码。代码差异(diff)显示了更改。回顾起来,修复方案显而易见。但 AI 系统并非如此。

当一个由大语言模型(LLM)驱动的功能开始输出更差的结果时,你寻找的不是 bug。你面对的是一个发生偏移的概率分布,它存在于一系列组件构成的堆栈中,而每个组件都引入了各自的方差。是模型的问题吗?是供应商在某个周二进行的无声更新?是架构变更后未刷新的检索索引?是某人为了修复另一个问题而修改的系统提示词(system prompt)?还是三个冲刺(sprint)前就停止捕获回归的评估系统(eval)?

复盘会议变成了责任拍卖会。每个人都出价“模型变了”,因为这是一个无法证伪且无需成本的借口。

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

· 阅读需 11 分钟
Tian Pan
Software Engineer

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

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

智能体身份与委托授权:智能体操作的 OAuth 模式

· 阅读需 11 分钟
Tian Pan
Software Engineer

当 AI 智能体预订日历事件、发送电子邮件或提交表单时,它并非以自己的身份行事——而是在某个说"去做这件事"的人类的委托授权下行事。这一区别听起来很哲学,直到某个智能体泄露了敏感数据、执行了用户并不打算执行的不可逆操作,或者遭到入侵。到那时,问题不再是发生了什么,而是谁授权的、何时授权的,以及能否撤销

权限范围设置不当的智能体凭证所带来的波及范围,远超大多数团队的预期。拥有广泛 API 访问权限的智能体不是单一故障点——而是一个长期开放的后门。2025 年,智能体 AI 的 CVE 数量同比增长了 255%,大多数事件都可以追溯到权限过宽、有效期过长或无法彻底撤销的凭证。正确构建智能体,意味着在投入生产之前就设计好授权层。

Agentic 数据流水线:大规模离线富化与分类

· 阅读需 11 分钟
Tian Pan
Software Engineer

你有一个批量任务,一夜之间可以对 1,000 万张客户支持工单进行分类。你将正则分类器换成了大语言模型(LLM),准确率从 61% 飙升至 89%。然后你上线了它,却发现:这项任务现在的成本增加了 40 倍,运行速度慢了 12 倍,当模型返回无法解析的输出时会静默跳过 3% 的记录,而且由于标签架构(label schema)在无人察觉的情况下发生了偏移,你的下游分析团队正在不断提交 Bug。

Agentic 数据管道的损坏方式是 ETL 工程师以前从未见过的,修复它们需要一套不同于传统批处理或实时 LLM 服务的思维模型。

AI 原生 API 设计:当后端开始概率性思维,REST 为何失效

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数后端工程师能够背诵 REST 契约:客户端发送请求,服务器处理请求,服务器返回状态码和响应体。200 表示成功,4xx 表示客户端出了问题,5xx 表示服务器出了故障。响应是确定性的,超时是可预测的,幂等键保证了安全重试。

而 LLM 后端违背了上述所有假设。一个返回 200 OK 的请求,可能意味着模型对整个响应产生了幻觉。一次成功的请求可能需要十二分钟,而不是十二毫秒。两次参数完全相同的请求会返回不同的结果。如果服务器在推理过程中超时,你根本不知道模型究竟是否已完成。

把 LLM 硬塞进传统 REST API 的团队,最终往往面对一堆补丁:超时杀死了正在运行的 Agent 任务,客户端把带幻觉的 200 当成成功,重试逻辑因为幂等键没有针对概率性操作设计而三次扣了用户的信用卡。本文将梳理这些不匹配最致命的地方,以及真正在生产环境中能站得住脚的接口模式。

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

· 阅读需 13 分钟
Tian Pan
Software Engineer

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

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

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

没人会提前搭建的AI运维仪表盘

· 阅读需 12 分钟
Tian Pan
Software Engineer

你AI系统健康仪表盘上最危险的指标,是99.9%正常运行时间旁边那盏绿灯。如果你第一次得知模型出问题是通过一张支持工单,那你拥有的不是可观测性——而只是感觉。

传统APM工具构建于一个二元故障的世界:请求要么成功,要么失败。对于LLM驱动的功能,这个模型彻底失效。一个请求可以在300毫秒内完成,返回HTTP 200,消耗token,给出一个自信却完全错误、毫无帮助、或比六周前悄然退化的答案。这些故障状态没有一个会触发你现有的告警。

研究持续表明,延迟和错误率加在一起,覆盖的LLM功能故障空间还不到20%。另外80%隐藏在五种故障模式中,大多数团队只有在用户已经注意到之后才会发现。

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

· 阅读需 13 分钟
Tian Pan
Software Engineer

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

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

知识图谱 vs. 向量存储:选择你的检索原语

· 阅读需 10 分钟
Tian Pan
Software Engineer

大多数团队在起步时都会选择向量数据库 (Vector Store),因为它们上手简单,但随后会发现即使无论如何调整分块大小 (Chunk size) 或嵌入模型 (Embedding model),某些类型的查询也完全无法生效。这并非调优问题 —— 而是架构上的不匹配。向量相似度与图遍历是两种根本不同的检索机制,随着查询复杂度的增加,这种差异会变得愈发关键。

这不是一篇推荐“两者兼顾”的文章。在实际应用中需要进行真正的权衡,选择失误会耗费数月的工程时间。以下是这种选择在实践中的真实面貌。

LLM 本地开发循环:在不耗尽 API 预算的情况下实现快速迭代

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数构建 LLM 应用的团队在第三周左右都会发现同样的问题:每次有人运行测试套件时,它都会发起实时 API 调用,消耗真金白银,耗时 30 多秒,且每次运行返回的结果都不尽相同。在原型阶段感觉良好的“直接调用 API”方法,现在变成了迭代速度的沉重负担——而且是账单上的一项重要支出。一个工程团队审计了他们每月的 API 支出,发现 2,847 美元中有 1,240 美元(43%)是由于开发和测试流量不必要地访问实时端点而产生的纯粹浪费。

解决方案不是停止测试,而是从一开始就构建正确的开发循环——让快速路径既便宜又具有确定性,而将慢速路径(真实的 API 调用)留给真正需要的时刻。

生产环境中的模型路由:当路由器成本超过节省时

· 阅读需 11 分钟
Tian Pan
Software Engineer

某中型 SaaS 公司的团队六个月前部署了一套模型路由器,目标明确:不再为 70% 的简单查询和格式转换任务支付前沿模型的高昂费用。他们运行了三个月,直到有人做了一道算术题。总推理成本上涨了 12%。

路由器本身并不贵——一个轻量级分类器,每个请求增加约 2ms 的开销。但分类器的决策边界校准有误:它将 60% 的查询升级到了昂贵模型,而非预期的 30%。那 40% 在本地处理的请求质量较差,导致用户重试率上升,进而拉高了总请求量。路由器的遥测数据显示"路由运行正常",因为它确实在路由——只是路由得不好

这种失败模式远比成功案例更为普遍。以下是如何构建真正能省钱的路由系统。