跳到主要内容

861 篇博文 含有标签「insider」

查看所有标签

评估悖论:古德哈特定律如何破坏 AI 基准测试

· 阅读需 12 分钟
Tian Pan
Software Engineer

在 2024 年底,OpenAI 的 o3 系统在 ARC-AGI 基准测试中获得了 75.7% 的分数——这是一个专门为抵抗优化而设计的测试。AI 研究界欢欣鼓舞。但从业者仔细观察后发现:o3 使用了该基准测试 75% 的公开训练集进行训练,且最高算力配置使用的资源是基准线的 172 倍。这并不是伪装成分数的能力突破,而是伪装成能力突破的分数。

这就是评估悖论(Evaluation Paradox)。一旦某个基准测试成为团队优化的目标,它就不再能衡量其最初设计的目的。古德哈特定律(Goodhart's Law)——“当一个衡量指标变成目标时,它就不再是一个好的指标了”——虽然是在 20 世纪 70 年代的经济政策中提出的,但它却极其精准地描述了 AI 基准测试的现状。

幻觉并非根本原因:生产环境 AI 的调试方法论

· 阅读需 12 分钟
Tian Pan
Software Engineer

当一名律师在联邦备案文件中引用不存在的法庭案例时,这一事件被广泛报道为“ChatGPT 产生了幻觉”。当一家咨询公司的政府报告中包含虚假脚注时,复盘报告写道“AI 伪造引文”。当一个医疗转录工具在医疗笔记中插入暴力语言时,解释仅仅是“模型产生了幻觉”。在每一个案例中,代价昂贵的失败都被归结为一个由三个词组成的根本原因,这使得修复变得不可能。

“模型产生了幻觉”在 AI 领域等同于在堆栈跟踪中写下“未知错误”。它描述了发生了什么,却没告诉你为什么发生或如何修复。每一次幻觉都有一个可诊断的原因——通常属于四个类别之一——且每个类别都需要不同的工程响应。理解这种区别的团队能够交付可以优雅降级的 AI 系统。而不理解的团队则在不断地通过提示词玩“打地鼠”游戏。

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

· 阅读需 12 分钟
Tian Pan
Software Engineer

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

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

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

· 阅读需 11 分钟
Tian Pan
Software Engineer

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

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

隐形模型漂移:供应商静默更新如何破坏生产 AI

· 阅读需 11 分钟
Tian Pan
Software Engineer

周一你的提示词还运行正常。周三,用户开始抱怨响应感觉不对劲——答案变短了,下游的 JSON 解析时不时崩溃,原本准确率 94% 的分类器现在徘徊在 79% 左右。你没有部署任何新代码,配置文件里调用的模型名称还是那个。但某些东西变了。

这就是隐形模型漂移:LLM 供应商在不作任何公告的情况下推送静默的、未记录的行为变更。这是 AI 工程中讨论最少的运营风险之一,它会打击那些"做了所有正确事情"的团队——有评估集、有监控、有稳定的提示词工程。模型就在他们脚下悄悄地变了。

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

· 阅读需 12 分钟
Tian Pan
Software Engineer

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

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

LLM 驱动的数据流水线:那个没人做基准测试的 ETL 层

· 阅读需 11 分钟
Tian Pan
Software Engineer

关于生产环境中的 LLM,大多数讨论都围绕着聊天界面、Copilot 和自主代理。但如果你审计企业 LLM Token 的实际消耗去向,你会发现一个完全不同的景象:绝大多数的使用都发生在批处理数据管道(batch data pipelines)中 —— 从文档中提取字段、对支持工单进行分类、规范化混乱的供应商记录、为原始事件添加语义标签。没有人为这个层级编写会议演讲,也没有人认真地对其进行基准测试。而这种沉默正让团队付出真金白银和准确性的代价。

这是从业者最先构建、最后辩护、且监控最少的 ETL 层级。对于大多数组织来说,这也是 LLM 支出杠杆率最高的一层,同时也是产生隐形失败潜力最高的一层。

LLM 供应商锁定是一个光谱,而非非黑即白

· 阅读需 12 分钟
Tian Pan
Software Engineer

一个团队在 GPT-4 上构建了一个生产环境功能。几个月后,出于成本考虑,他们决定评估 Claude。他们花了两周时间进行“迁移”——但核心的 API 替换只花了一个下午。剩下的十天都花在了修复损坏的系统提示词(system prompts)、重新测试拒绝服务的边缘情况、调试由于意外文本而崩溃的 JSON 解析器,以及重新调整在不同供应商之间表现迥异的工具调用模式(tool-calling schemas)。原本以为只是简单的连接器更换,结果迁移预算膨胀成了多层重构。

这就是现实中的 LLM 供应商锁定问题。那些受挫的团队并不是因为选错了供应商——而是因为他们没有意识到锁定存在于多个维度,且每个维度都有不同的风险画像。

生产环境中的LoRA适配器组合:无冲突运行多个微调技能

· 阅读需 11 分钟
Tian Pan
Software Engineer

这个方案听起来简洁明了:为每种专项技能分别微调轻量级LoRA适配器——一个处理专业语气,一个处理JSON格式化,一个处理医学术语,一个负责安全护栏——然后在推理时将它们组合起来。团队上线了这套设计,开发阶段运行良好,但到了生产环境却频频崩溃:两个适配器开始争夺同一权重区域,输出质量骤降,最终与未经训练的基础模型毫无二致。不是略有下降,而是彻底退化。

本文探讨适配器组合在实际应用中的表现、朴素合并为何屡屡失败,以及哪些策略在生产规模下真正有效。

随机系统的值班响应:为何你的 AI 运行手册需要重写

· 阅读需 12 分钟
Tian Pan
Software Engineer

凌晨两点,你被告警叫醒。延迟上升,错误率飙升。你 SSH 进去,查看日志——什么都没有。没有指向错误部署的堆栈跟踪,没有第 247 行的空指针异常。只有一串模型输出,这些输出在细微之处、以不可预测的方式出了问题——只有当你连续读了 50 条之后,才能意识到这一点。

这就是 LLM 驱动系统中故障的样子。而传统的"告警-分类-修复"循环根本不是为此而生的。

标准值班手册有三个前提假设:故障是确定性的(相同输入,相同的错误输出)、根因是可定位的(某段代码改了,某项资源耗尽了)、回滚是直接的(还原部署,搞定)。这三点在随机 AI 系统中都不成立。同一个提示词会产生不同的输出。根因通常是一个概率分布,而不是某行代码。而且,你根本无法"回滚"一个第三方提供商昨晚悄悄更新的模型。

没人讨论的端侧 LLM 问题:模型更新传播

· 阅读需 13 分钟
Tian Pan
Software Engineer

大多数构建端侧 LLM 功能的工程师,将时间花在解决那些显而易见的问题上:量化、延迟、内存限制。模型能装进手机,推理速度够快,演示效果也很好看。然后他们向数百万台设备发布,才发现一个更难的问题——从来没人提前告诉他们:你现在有数百万个独立的计算节点,运行着你 AI 模型的不同版本,而你根本没有可靠的方式知道任何一个用户运行的是哪个版本。

云端推理在最好的意义上是无聊的。你更新模型,重新部署服务器,几分钟内整个用户群就都在运行新版本了。端侧推理则彻底打破了这个假设。一个三个月前最后一次打开你应用的用户,仍在运行那时当前的模型——而且没有干净的方法强制更新,没有服务器端回滚,也没有简单的方法在没有你从一开始就构建的监控埋点的情况下检测到版本不匹配。

这种版本碎片化是端侧 AI 的核心运营挑战,其后果远不止缓慢的发布。它造成无声的能力漂移,使事故响应复杂化,并将你的"AI 功能"变成一个由独立运行的异构系统组成的庞大集群——你对其负责,却无法直接控制。

Embedding的隐私架构:你的向量数据库对用户了解多少

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数工程师认为embedding是安全抽象的——一堆无法被逆向工程的浮点数。这个假设是错误的,而感知与现实之间的鸿沟正是用户数据泄露的地方。

最新研究仅凭文本embedding就实现了超过92%的精确token序列重建准确率——包括完整姓名、健康诊断和电子邮件地址——而无需访问原始编码器模型。这些不是理论攻击。可迁移的逆向技术在黑盒场景下同样有效:攻击者构建一个模仿你的embedding API的代理模型,就可以发动攻击。无论你使用的是专有模型还是开源模型,攻击面都存在。

本文涵盖embedding隐私风险的三个层面:逆向攻击的实际能力、检索管道中访问控制悄然失效的位置,以及能为用户提供适当控制权的架构模式——按用户命名空间、检索时权限过滤、审计日志和删除安全设计。