跳到主要内容

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

查看所有标签

AI 应用的开发与生产环境一致性:预发布环境欺骗你的七种方式

· 阅读需 13 分钟
Tian Pan
Software Engineer

12 要素应用(12-Factor App)准则让开发/生产环境一致性(dev/prod parity)变得家喻户晓:尽可能保持开发、预发布和生产环境的相似。对于传统的 Web 服务,这基本是可以实现的。但对于 LLM 应用,这在结构上是不可能的 —— 且其中的差距远比大多数团队意识到的要大。

问题不在于开发者粗心大意。而是在于 LLM 应用依赖于一类特殊的基础设施(缓存计算、实时模型权重、不断演进的向量索引以及随机性生成),在这些设施中,预发布环境(staging)与生产环境之间的差异不仅是令人不便,而是本质上完全不同。一个看起来正确的预发布环境至少会在七个具体方面对你撒谎。

欧盟 AI 法案现已成为你的工程待办事项

· 阅读需 14 分钟
Tian Pan
Software Engineer

大多数工程团队是通过在截止日期前三周收到的一封法律邮件才了解到 GDPR 的。欧盟 AI 法案(EU AI Act)正在重演这一模式,而 2026 年 8 月 2 日针对高风险 AI 系统的强制执行日期已经非常临近,“以后再处理合规问题”已不再是一个可选项。GDPR 与 AI 法案的区别在于,GDPR 的合规大多是关于数据处理政策的。而 AI 法案的合规要求构建新的系统组件——这些组件在大多数生产环境中的 AI 系统中尚不存在。

法规中所谓的“人类监督义务”和“审计追踪要求”,转化为工程语言,就是一个仪表盘、一个事件日志和一个数据血缘系统。本文将欧盟 AI 法案视为一份工程规范而非法律文件,并逐步介绍你实际需要构建的内容。

哪些 EU AI 法案功能会悄然触发高风险合规——以及你必须在 2026 年 8 月前交付的内容

· 阅读需 10 分钟
Tian Pan
Software Engineer

一项针对 106 个企业 AI 系统的 appliedAI 研究发现,40% 的系统风险分类不明确。这一数字并不反映监管的复杂性——它反映的是有多少工程团队在交付 AI 功能时,从未追问该功能是否改变了合规层级。欧盟 AI 法案对高风险系统的强制执法日期定为 2026 年 8 月 2 日。届时,处于那 40% 之列不再是管理问题,而是一个架构问题——你将在监管机构注视之下,以四倍于原始成本的代价、在截止日期的压力下修复它。

本文不是法律概述,而是面向工程师的深度解读:哪些产品决策会悄然触发高风险分类,这些分类对应哪些具体交付物,以及为什么事后改造的成本远高于一开始就内置合规的成本。

除了大模型供应商:如何评估 AI 服务供应商

· 阅读需 13 分钟
Tian Pan
Software Engineer

大多数工程团队会花费数周时间来评估 LLM 提供商——对延迟进行基准测试、测试准确性、洽谈价格。然后,他们会在一个下午,仅仅根据一个设计精美的落地页和一篇好评博文,就选定了一个观测工具、一个护栏供应商和一个嵌入提供商。这种不对称性是本末倒置的。你的 LLM 提供商可能是一家资本充足且拥有稳定 API 的公司,但其周围的小众供应商通常并非如此。

AI 服务生态系统已经爆发式地增长到了几十个类别:护栏供应商、嵌入提供商、观测与追踪工具、微调平台、评估框架。每个类别都有十家初创公司在争夺同样的企业预算。其中一些会被收购,更多的会倒闭。少数公司会转型,并在发出 90 天通知邮件后弃用你的关键工作流。在没有经过严格评估的情况下基于这个生态系统进行构建,是一种直到演变成生产事故才会出现在你的待办事项中的技术债务。

基础模型供应商策略:企业SLA究竟保障什么

· 阅读需 13 分钟
Tian Pan
Software Engineer

企业团队基于基准测试和演示选择LLM供应商,然后在生产环境中才发现SLA实际保障的内容——通常远低于预期。你费力谈下来的99.9%可用性保证并不涵盖延迟。法务团队签署的数据处理协议,除非明确添加了相关条款,否则并不禁止供应商用你的输入数据进行训练。而没有人量化的供应商集中风险,在某次遥测部署级联影响Kubernetes控制平面导致核心产品中断四小时后,会以最惨烈的方式暴露出来。

这不是采购问题,而是采购单独无法解决的工程问题。构建AI系统的工程师需要理解这些合同实际说了什么——以及没说什么。

智能体工具调用中的幂等性问题

· 阅读需 12 分钟
Tian Pan
Software Engineer

这种场景每次都如出一辙。你的智能体正在预订酒店房间,支付API调用返回200后、确认信息存储之前发生了网络超时。智能体框架发起重试,支付再次执行,客户被扣了两次款。支持团队升级处理,某位高管说AI"幻觉出了重复扣款"——这种说法是错的,但听起来有道理,因为没人愿意承认他们的重试逻辑从一开始就是坏的。

这不是AI问题,而是分布式系统问题——被AI层全盘照搬,却没有带来分布式系统工程师几十年苦心钻研出的应对之道。标准的智能体重试逻辑假设操作是幂等的,而大多数工具调用并非如此。

推理优化陷阱:为什么提升单个模型的速度反而会拖慢你的系统

· 阅读需 11 分钟
Tian Pan
Software Engineer

你将昂贵的 LLM 换成了更快、更便宜的蒸馏模型。延迟增加了,成本上升了,质量下降了。你感到困惑并回滚了版本,因为你刚刚花了三周时间做的优化工作反而让一切变得更糟。

这并非假设。这是生产环境 AI 系统中最常见的失败模式之一,它源于一个诱人但错误的心理模型:优化某个组件就能优化整个系统。

生产环境中的知识蒸馏:让小模型完成大模型的任务

· 阅读需 9 分钟
Tian Pan
Software Engineer

一家医疗公司每天用 GPT-4 处理 10,000 份文档,年度账单高达 5 万美元。在用前沿模型的输出对一个 270 亿参数的开源模型进行微调后,相同的工作量仅需 5,000 美元——节省了 90%。这个小模型在他们的特定任务上还比前沿模型高出 60%,因为它已经见过数千个完全正确行为的示例。

这就是现代形式的知识蒸馏:你一次性支付前沿模型 API 费用来生成训练数据,然后永远运行一个小型专用模型。这个算法之所以成立,是因为当你拥有权重时推理成本很低,而且在有足够示例的情况下,特定任务的模型能在窄任务上胜过通用模型。

但"收集输出、微调、上线"并不是完整的方案。大多数尝试蒸馏的团队都会遇到三堵隐形墙之一:劣质的合成数据导致学生学到错误行为,缺乏可靠信号来判断学生何时真正就绪,或者生产环境中出现无声的质量崩溃,直到用户抱怨才被发现。本文涵盖决定蒸馏是否成功的流程决策。

无需微调的知识蒸馏:将前沿模型的能力提取到更廉价的推理路径中

· 阅读需 13 分钟
Tian Pan
Software Engineer

一个拥有 7.7 亿参数的模型在它擅长的任务上击败了一个拥有 5400 亿参数的模型,这听起来似乎是不可能的。但这正是经过蒸馏的 T5 模型在对抗 few-shot PaLM 时所取得的成就——仅使用了 80% 的训练样本,模型尺寸缩小了 700 倍,且每次推理成本仅为几分之一美分,而不再是数美元。这其中的秘诀并非更好的架构或更巧妙的训练方案。而是利用大模型生成标注数据,并用这些数据来训练小模型。

这就是知识蒸馏(Knowledge Distillation)。而且,你并不需要通过微调教师模型来使其生效。

幂等性危机:LLM 智能体作为事件流消费者

· 阅读需 12 分钟
Tian Pan
Software Engineer

每个事件流系统最终都会将同一条消息投递两次。网络抖动、Broker 重启、偏移量提交失败——至少一次投递不是 Bug,而是契约。传统消费者能够优雅地处理这种情况,因为它们是确定性的:处理同一事件两次,得到相同的结果,写入相同的记录。第二次写入是一个空操作(no-op)。

LLM 不是确定性处理器。相同的提示词加上相同的输入,每次运行都会产生不同的输出。即使设置了 temperature=0,浮点运算、批次组合效应以及硬件调度的差异也会引入方差。针对"确定性" LLM 设置的研究发现,在自然发生的多次运行中,准确率差异高达 15%,最优与最差性能之间的差距甚至达到 70%。至少一次投递加上非确定性处理器,并不会给你带来至多一次的行为,只会带来不可预测的行为——这是一场蓄势待发的生产环境危机。

区分优秀AI工程师与普通工程师的思维模型转变

· 阅读需 11 分钟
Tian Pan
Software Engineer

在AI工作中遇到困难的工程师,最常见的问题不是缺乏技术知识,而是他们一直在问错误的问题。他们想知道的是:"这能用吗?"但他们真正应该问的是:"这个系统的失败率是多少,这个失败率对于这个使用场景来说是否可以接受?"

这一转变——从二元正确性转向可接受的失败率——是有经验的AI工程师思考问题的核心差异。听起来简单,其实不然。由此延伸的一切都是不同的:你如何调试、如何测试、如何部署、监控什么、以什么为信心基础。没有完成这一转变的工程师会一直在与工具对抗并且不断失败。

模型弃用是一场等待发生的生产事故

· 阅读需 10 分钟
Tian Pan
Software Engineer

你六个月前部署的模型在日历上已有一个日落日期。你可能没有标注它。你的值班轮换也不知道这件事。积压工作中没有对应的工单。当提供商最终拔掉插头时,你会在最糟糕的时刻收到生产环境中的 404 Model not found 错误,而且没有准备好的回滚方案。

这是大多数使用托管LLM的工程团队的标准故事。模型弃用被归类为供应商问题,而非运营问题——直到它变成一场事故的那一刻。