跳到主要内容

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

查看所有标签

选择性弃权问题:为何总给答案的 AI 系统是有缺陷的

· 阅读需 10 分钟
Tian Pan
Software Engineer

这是一个几乎出现在每个生产 AI 部署中的模式:团队发布了一个能够处理 90% 查询的功能。然后开始收到投诉。某用户提了一个超出训练分布的问题,模型自信地给出了错误答案。RAG 流水线检索到一份过时文档,模型却将其当作最新信息来回答。一个法律查询触及了提示没有覆盖的边缘情况,模型靠猜测蒙混过关。在每一种情况下,修复方案都不是换一个更好的模型,而是让系统学会说"我不知道"。

弃权——有原则地决定不回答——是 AI 系统设计中最难、最被低估的能力之一。几乎所有产品工作都致力于让答案更好,几乎没有任何工作致力于让系统可靠地知道何时该拒绝作答。这种不对称是一种在生产环境中不断累积的设计债务。

AI 工程团队的人员配置:每个功能都有 AI 组件时,谁负责什么

· 阅读需 12 分钟
Tian Pan
Software Engineer

三年前,"AI 团队"意味着一群藏在组织架构角落里的专家,对产品工程师基本不可见。如今,一位金融科技公司的高级软件工程师,周一用微调模型上线欺诈评分功能,周三为客户支持搭建 RAG 管道,周五调试 LLM 延迟问题。专家并没有消失——但"AI 工作"与"产品工程"之间的边界,消失得比几乎所有人预想的都快。

大多数团队的应对方式是把新头衔贴在旧职位描述上,然后宣告完事。这是错误的答案,功能失调很快就会显现:所有权不清、工具重复,以及一个 ML 平台团队把半数时间花在解释"为什么产品团队不能直接调 OpenAI API"上。

本文探讨如何把结构搭对——不是抽象地谈,而是针对大多数工程组织实际经历的 AI 采用阶段。

你的 LLM 评估在欺骗你:统计功效问题

· 阅读需 10 分钟
Tian Pan
Software Engineer

你的团队花了三天时间迭代系统提示词。评估分数从 82% 提升到了 85%。你上线了。三周后,生产指标毫无变化。发生了什么?

简短的答案是:你的评估欺骗了你。不是恶意为之,而是样本量不足加上忽视了方差。在 100 个样本的测试集上提升 3 个百分点,完全在大多数 LLM 系统的噪声底线以内。在这个规模下,你无法区分信号与随机性——但几乎没有人会在采取行动之前做这个数学验证。

这就是 LLM 评估中的统计功效问题,它正在悄无声息地腐蚀大多数 AI 产品团队的迭代循环。

课程陷阱:为什么针对最佳示例进行微调会产生平庸的模型

· 阅读需 12 分钟
Tian Pan
Software Engineer

每一项微调工作最终都会达成同样的直觉:更好的数据意味着更好的模型,而更好的数据意味着更高质量的样本。因此,团队会构建复杂的标注流水线,以过滤掉平庸的输出,只保留金标准回复,并基于让他们引以为傲的数据集进行训练。然而,由此产生的模型在那些最初推动项目启动的具体用例中表现不佳。这种失败如此普遍,以至于值得拥有一个专属名称:课程陷阱(curriculum trap)。

这个陷阱在于 —— 仅策划你最好、最自信、最权威的输出并不能教会模型变得更好。它教会模型的是无论是否合理都要表现出自信。你创造出的东西在演示中看起来令人印象深刻,但在生产环境中却漏洞百出,因为生产环境充满了你的策划过程系统性排除掉的混乱边缘情况。

集成测试的幻象:为什么模拟工具输出会隐藏智能体的真实失败模式

· 阅读需 13 分钟
Tian Pan
Software Engineer

你的智能体通过了每一项测试。CI 流水线显示绿色。你发布了它。

一周后,一位用户报告说他们的批量导出任务悄无声息地只返回了 200 条记录,而不是 14,000 条。智能体访问了分页 API 的第一页,得到了一个干净的响应,以为没有更多内容了,然后就继续下一步了。你的模拟(Mock)一次性返回了全部 200 个条目。而真实的 API 从未告诉智能体还有另外 70 页。

这不是模型的失败。模型的推理是正确的。这是测试基础设施的失败 —— 这种现象在团队构建和测试智能体系统(agentic systems)时非常普遍。

过度宣称陷阱:当“歪打正着”摧毁 AI 产品信任

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数 AI 产品复盘都聚焦于同一个故事:模型错了,用户发现了,信任瓦解了。修复方法显而易见——提高准确率。但有一种更隐蔽的失败模式,复盘很少能捕捉到,因为标准的准确率指标无法反映它:模型是正确的,但原因却是错误的,而那些检查了推理逻辑的高级用户再也没有回来。

称之为“过度声明陷阱”(overclaiming trap)。在这种失败模式下,正确的最终答案是由捏造的、事后修补的或结构不合理的推理链支撑的。它比普通的错误更危险,因为它看起来像是成功,直到你最专业的用户开始悄悄离开。

!["https://opengraph-image.blockeden.xyz/api/og-tianpan-co?title=%E8%BF%87%E5%BA%A6%E5%A3%B0%E6%98%8E%E9%99%B7%E9%98%B1%EF%BC%9A%E5%BD%93%E2%80%9C%E5%9B%A0%E9%94%99%E7%9A%84%E5%8E%9F%E5%9B%A0%E8%80%8C%E6%AD%A3%E7%A1%AE%E2%80%9D%E6%91%AC%E6%AF%81%20AI%20%E4%BA%A7%E5%93%81%E4%BF%A1%E4%BB%BB"]"

Tokenizer 算术:生产环境中悄然作祟的隐藏层

· 阅读需 12 分钟
Tian Pan
Software Engineer

一个团队上线了一条 JSON 提取流水线。在开发环境中运行完美:98% 的准确率、干净的结构化输出、可预测的 token 数量。他们推送到生产环境后,模型开始产生多余的空白字符,JSON 解析器开始报错,API 账单是原型阶段估算的 2.3 倍。模型没变。提示词没变。

是 tokenizer 变了——更准确地说,他们对它的假设从一开始就是错的。

分词(Tokenization)是你的输入经历的第一次转换,却是工程师在调试时最后才想到要检查的地方。大多数团队把它当作已解决的问题:文本进去,token 出来,模型完成其工作。但字节对编码(BPE,Byte Pair Encoding)——大多数生产级 LLM 背后的分词算法——在结构化输出生成、前缀缓存、成本估算和多语言部署中做出的决策,会产生连锁影响。一旦你知道该往哪里看,这些影响完全是可以预测的。

信任校准差距:为什么 AI 功能要么被忽视,要么被盲目服从

· 阅读需 10 分钟
Tian Pan
Software Engineer

你上线了一个 AI 功能。模型表现良好——你量化过它。精确率达 91%,召回率扎实,P99 延迟低于 400ms。三个月后,产品分析给出了一个令人沮丧的数字:高级用户已将其完全关闭,而另一批用户则不加修改地接受每一条建议,包括那些明显错误的。

这就是信任校准差距。它不是模型问题,而是设计问题——而且比大多数 AI 产品团队愿意承认的更为普遍。

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

· 阅读需 12 分钟
Tian Pan
Software Engineer

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

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

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

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

智能体记忆垃圾回收:大规模工程化的策略性遗忘

· 阅读需 11 分钟
Tian Pan
Software Engineer

每个生产环境的智能体团队最终都会构建同一个东西:一个无限增长的记忆存储、悄然退化的检索性能,以及在用户报告智能体引用了他们的旧工作、已弃用的 API 或三个月前取消的项目后,一场疯狂的冲刺来添加遗忘功能。业界已经在赋予智能体记忆上投入了巨大的努力。更困难的工程问题——对记忆进行垃圾回收——才是真正的生产可靠性所在。

与软件垃圾回收的类比不仅仅是隐喻。智能体记忆系统面临着同样的根本张力:你需要回收资源(上下文预算、检索相关性),同时不能销毁仍然可达(语义上与未来查询相关)的数据。解决这个问题的算法与你的运行时已经使用的算法惊人地相似。

你的代码审查流程正在针对错误的失败模式进行优化

· 阅读需 9 分钟
Tian Pan
Software Engineer

你的代码审查清单是为一个以分号放错位置或忘记空值检查为主要缺陷的世界而设计的。那个世界已经不存在了。AI 生成的代码很少有拼写错误,几乎总能编译通过。但它正在以你的审查流程从未设计来捕获的方式,悄悄地侵蚀你的代码库。

对数十万个 GitHub Pull Request 的分析表明,AI 生成的代码产生的问题是人类编写代码的 1.7 倍——每个 PR 大约 10.8 个问题,而人类为 6.5 个。但缺陷的分布发生了根本性转变:逻辑错误增加了 75%,性能问题出现的频率几乎是之前的 8 倍,安全漏洞多了 1.5 到 2 倍。最重要的缺陷恰恰是你传统审查机制最容易遗漏的。

AI 系统的数据溯源:追踪答案来源已成为工程必修课

· 阅读需 11 分钟
Tian Pan
Software Engineer

生产环境中的 LLM 给出了一个错误的答案。一张支持工单到来。你翻查日志,只看到提示词、补全内容和延迟指标——却没有任何信息说明检索系统到底拉取了哪些文档哪些块进入了上下文窗口,或者模型在综合答案时最依赖的是哪段内容。你只能像做考古一样:重新对一个已经更新过的语料库跑一次查询,祈祷结果还和之前一样,同时不知道问题究竟出在检索、分块、文档本身还是模型推理上。

这就是数据溯源的缺口,而大多数 AI 团队直到掉进去才意识到它的存在。