跳到主要内容

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

查看所有标签

为什么你的 AI 模型总是滞后 6 个月:缩短反馈循环

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的模型是基于去年的数据训练的。它在两个月前进行了内部评估,并在一个月后正式发布。当你得知用户遇到故障时,你已经落后于模型运行所需的现实世界六个月了。这种差距并非部署问题,而是反馈循环的问题。大多数团队不仅没有闭合这个循环,甚至根本没有对其进行衡量。

当模型表现不佳时,本能反应往往是归咎于模型架构或训练数据。但更深层次的问题通常在于反馈系统的延迟。从用户经历故障到该故障影响你的模型,这中间需要多长时间?大多数团队如果说实话,其实并不知情。行业分析表明,如果模型在六个月或更长时间内没有获得针对性更新,其在面对新数据分布时的错误率会上升 35%。原因并非模型本身在衰减——而是世界在前行,而模型却停滞不前。

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

· 阅读需 12 分钟
Tian Pan
Software Engineer

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

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

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

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

真正能训练模型的反馈界面

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数 AI 产品上线时都带着一个点赞/踩组件,并将其称为反馈基础设施。但它并不是。实际上,它是一份调查问卷——只有不满意或格外认真的用户才会去填。而且这份问卷无法告诉你正确的输出应该是什么样的。

其结果是:数据集的形状不由用户想要什么决定,而是由哪些用户愿意点按钮决定。这种选择偏差会渗透到微调、奖励模型和 DPO 流水线中,悄悄地将模型导向极少数且缺乏代表性的少数人的偏好。而隐式信号——编辑率、重试率、会话放弃——则覆盖了所有接触产品的用户,无需任何点击,只是使用软件这一行为本身就能产生这些信号。

以下是如何设计反馈界面,将高保真训练信号作为产品使用的自然副产品生成,以及如何将这些信号接入训练流水线。

AI 智能体的集群健康监控:单智能体可观测性在规模化场景下的盲区

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数团队能把单智能体的可观测性做得足够好——加上链路追踪、统计 Token 用量、设置错误率告警。然后他们把并发智能体扩展到一百个,才发现整个监控体系一直在盯错方向。

摧毁集群的问题,并不是摧毁单个智能体的那些问题。一个陷入递归推理循环的智能体可以在一小时内烧光一个月的 API 预算。模型服务商悄无声息的质量降级,会让集群里的每一个智能体同时以满满的自信给出错误答案——而你的基础设施仪表盘依然一片绿灯。这些故障不会出现在延迟图表或 HTTP 错误率中,因为它们根本不是基础设施故障,而是语义层面的失效。

GraphRAG vs. Vector RAG:知识图谱何时优于向量嵌入

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数团队在构建 RAG 流水线时都会选择向量嵌入(vector embeddings)。这是一个显而易见的默认选择:嵌入文档、嵌入查询、寻找最近邻,然后将结果输入给 LLM。在演示(demo)中它的表现还不错。但当部署到合规团队或科学文献语料库时,准确率就会断崖式下跌。不是逐渐下降,而是突然暴跌。在涉及五个或更多实体的查询中,向量 RAG 在企业分析基准测试中的准确率降至零。不是 50%,也不是 20%,而是零。

这不仅是一个配置问题,而是架构上的不匹配。向量检索将文档视为语义空间中的点。知识图谱(knowledge graphs)则将它们视为关系结构中的节点。当你的查询需要遍历关系——而不仅仅是寻找相似内容时,检索架构的拓扑结构(topology)决定了你是否能得到正确答案。

人类放在哪里:AI 审批关卡的放置理论

· 阅读需 13 分钟
Tian Pan
Software Engineer

大多数团队将人机协作审核作为事后补充:智能体完成其工作链,结果落入审核队列,然后人工点击批准或拒绝。这看起来像是安全保障,但实际上大多只是一种表演。

当一个多步骤智能体到达链尾审核时,它已经发送了 API 请求、修改了数据库行、起草了客户邮件并安排了后续跟进。所谓的"审核"不过是在批准一件已经完成的事。拒绝它意味着向智能体——通常也向用户——解释为什么过去 10 分钟发生的一切都不作数。

错误放置审批关卡造成的危害并不总是戏剧性的。更多时候,危害更加隐蔽:审核者批准一切,因为真正的决策已经做出;工程师在事故发生后增加更多检查点,却眼睁睁看着产品信任度崩溃;组织在"太多摩擦"和"监督不足"之间摇摆,却从未解决根本的放置问题。

参差不齐的边界:为什么 AI 在简单任务上会失败,以及这对你的产品意味着什么

· 阅读需 11 分钟
Tian Pan
Software Engineer

在 AI 产品开发中,有一个常见的假设:如果一个模型能处理难题,它就一定能处理附近的简单任务。这个假设是错误的,它导致了一类生产环境下的失败,而无论你读多少基准测试报告都无法为此做好准备。

这一潜在现象的研究术语是“破碎边界”(jagged frontier)——AI 的能力边界并不是一条平滑的线,并非难题在界外、简单任务在界内。它是一个参差不齐、不可预测的形状。AI 系统可以编写生产级别的数据库查询优化器,却仍然会算错图中两条线段是否相交。它们可以通过博士级别的科学考试,却在涉及空间关系的儿童谜题上失败。它们可以综合 50 页的文档,然后对自己刚刚读过的一段文字产生充满自信的幻觉。

为什么 LLM 在分析你的产品数据时会犯自信的错误

· 阅读需 12 分钟
Tian Pan
Software Engineer

产品团队已经开始直接将分析问题路由给 LLM:“是什么导致了流失率激增?”“为什么重新设计后转化率下降了?”“我们应该把留存预算重点花在哪个群体上?”输出结果出现在高管汇报幻灯片中,驱动着路线图决策,并向投资者展示。模型以优雅的文字和具体的数字自信地作答。然而,这些答案中有很大一部分是以一种不易察觉的方式出错的。

这并不是对用 LLM 处理数据工作的全面批评。在某些任务中,它们确实很有帮助。问题在于其失败模式是隐形的——模型不会留有余地,不会说明局限性,也不会区分“我是根据你的数据计算出来的”和“我生成了一个听起来像这个数字应该是多少的东西”。了解故障发生位置的从业者可以捕捉到真正的价值并避开雷区。

压缩决策:延迟敏感型 AI 功能的量化、蒸馏与端侧推理

· 阅读需 11 分钟
Tian Pan
Software Engineer

模型路由是大多数团队首先采用的优化手段:将简单查询路由到小型廉价模型,复杂查询路由到大型强力模型。它在控制成本和吞吐量方面效果良好。但当云端推理的物理限制与 100ms 以内的延迟需求发生碰撞时,路由便无能为力了。从中间层数据中心发出的一次网络往返,在生成第一个 token 之前就已消耗 30–80ms。此时路由毫无意义——你要么需要将模型运行得更靠近用户,要么需要运行一个规模大幅缩减的模型。这两条路都需要压缩决策,而大多数团队对此并没有清晰的框架。

本文是一份做出这些决策的指南。量化、知识蒸馏和端侧部署这三种技术解决的问题有所重叠,但它们的成本结构、质量表现和运营影响各不相同。

多轮对话会话状态坍缩问题

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的单次请求错误率看起来很正常。延迟在 SLO 范围内。LLM 裁判对输出的评分是 87%。接着,一位用户提交了支持工单:“我把账号告诉了机器人三次,它却一直重复问我。”另一位用户说:“它先是同意退款,两轮对话后又否认该政策的存在。”

单轮失败是显而易见的。请求进来,模型出现幻觉或拒绝回答,你的评估 (eval) 捕捉到了它,然后你修复提示词。反馈循环很紧密。多轮失败则完全不同:会话开始时表现良好,随后逐轮恶化,而你的监控从未报警,因为每个单独的回复在技术上都是连贯的。问题出在整个会话上——而几乎没有团队为此建立观测机制。

对主要前沿模型(Claude 3.7 Sonnet、GPT-4.1、Gemini 2.5 Pro)的研究显示,从单轮转向多轮对话时,平均性能会下降 39%。这个数字掩盖了真相:只有大约 16% 的下降是由于能力损失。另外 23 个百分点则是一场可靠性危机——随着对话长度增加,模型在同一任务上的最佳表现与最差表现之间的差距翻了一番。你得到的不仅是质量更差的输出,还有极不稳定的输出。

多用户共享 AI 会话:尚无人解决的并发难题

· 阅读需 14 分钟
Tian Pan
Software Engineer

大多数 AI 产品都是为单一用户、单一意图、单一对话线程和单一身份构建的。当产品是个人生产力工具(如写作助手、代码补全引擎、摘要生成器)时,这运作得足够好。但当团队开始协作使用 AI 时,情况发生了变化:产品会以难以诊断且更难修复的方式悄然失效。两个用户同时向 AI 提问,其中一个输入消失了。五个工程师共享的上下文窗口充满了重复的历史记录。AI 使用用户 B 的权限回答用户 A 的问题。没有人为这些情况做过设计,因为交付多用户共享上下文意味着要面对现代 AI 基础设施中最难的分布式系统问题之一。

本篇文章将探讨为什么同步多用户 AI 会话如此困难、生产团队尝试了哪些方案,以及新兴的架构模式是什么。如果你正在构建协作 AI 功能并疑惑为何它感觉复杂得离谱,这就是原因。

AI 系统值班:当 Bug 是模型时的事故响应手册

· 阅读需 13 分钟
Tian Pan
Software Engineer

你的监控显示一切正常。延迟处于正常水平。错误率平稳。然而,你的客服 AI 刚刚告诉 10,000 名用户退货是免费的——且是永久免费——而这根本不是公司的政策。没有触发任何报警。没有进行任何部署。模型只是自己决定这么做了。

这就是 AI 系统轮值(on-call)的现状:这类生产环境故障不会触发你构建的报警,无法追溯到某行代码,也无法通过回滚上一次部署来修复。标准的事件响应手册——检查日志、确定提交(commit)、回滚更改、验证恢复——是为确定性系统设计的。应用到 LLM 时,它们完全无法捕捉到真正的失败模式。

以下是真正有效的方法。