跳到主要内容

907 篇博文 含有标签「insider」

查看所有标签

AI 代码审查倒置:当作者是机器时应关注什么

· 阅读需 10 分钟
Tian Pan
Software Engineer

你的代码评审正在优化错误的目标。当 AI 智能体(agent)贡献了你大部分的代码提交(commits)时,评审局部正确性——这个函数的功能是否如其所述?——就像是通过检查笔迹来给数学考试评分一样。机器已经通过了你的代码检查工具(linter),运行了你的测试套件,并按照规范格式化了输出。它所引入的 Bug 并不是行内(line-by-line)评审所能捕捉到的那种 Bug。

一项针对 GitHub Pull Request 的大规模研究发现,AI 协同编写的 PR 包含的缺陷是纯人工 PR 的 1.7 倍——其中包含多出 75% 的逻辑和正确性问题、2.74 倍的安全漏洞以及 3 倍的可读性问题。这并不是因为代码看起来有问题,而是因为它在错误的地方做了错误的事情,且对系统的其他部分持有错误的假设。这些恰恰是为捕捉拼写错误和风格违规而优化的传统代码评审所无法发现的故障模式。

AI 副驾驶 vs. AI 飞行员:基于证据的产品决策框架

· 阅读需 10 分钟
Tian Pan
Software Engineer

每个构建 AI 产品的团队都面临同一个路口:AI 应该为人类提供建议,还是自主行动?这个问题听起来很有哲学意味,但答案实际上是可以量化的——而且弄错代价高昂,往往在上线六个月后才会显现,那时你的覆盖率指标看起来很好,但用户信任分数已经在悄悄崩溃。

Klarna 在 2024 年初用一套自主 AI 系统替换了 700 名客服人员。到 2025 年,CEO 承认他们"走得太远了",并悄悄开始为复杂案例重新招聘人工客服。该 AI 在一个月内处理了 230 万次对话,将问题解决时间从 11 分钟缩短到不到 2 分钟。数字看起来很漂亮。但根本问题——金融产品的客户服务需要同理心和判断力,而不仅仅是解决速度——在所有偏离常规路径的场景中,以下降的满意度形式滞后显现。

为什么 AI 质量监控会将模型漂移、数据漂移和提示词漂移混为一谈 —— 以及针对每种情况的对策

· 阅读需 12 分钟
Tian Pan
Software Engineer

一个欺诈检测模型的准确率在三周内悄无声息地下降了一半。延迟正常,错误率为零,所有基础设施仪表盘都显示绿色。工程师们在第一周审计数据管道,第二周比较模型权重,第三周重新审视工单,直到有人发现欺诈者只是改变了他们的语言模式。修复工作——用最近的样本重新训练——只花了两天。而误诊却花了三周。

这种模式在生产环境中的 AI 团队里不断重复:性能下降触发了笼统的“模型问题”警报,团队开始基于直觉而不是根本原因来调整参数。原因并不是缺乏监控纪律,而是大多数可观测性技术栈将三个结构上截然不同的问题混为一谈。模型漂移(Model drift)、数据漂移(Data drift)和提示词漂移(Prompt drift)具有不同的检测特征、不同的警报拓扑结构和不同的修复路径。将它们混淆,就会在错误的修复方案上浪费数周时间。

故事点在与 LLM 的第一次接触中就会失效

· 阅读需 9 分钟
Tian Pan
Software Engineer

在每一家拥有成熟敏捷实践并决定增加 LLM 功能的公司,都悄然发生着这样一种失败模式:团队用故事点评估工作,将其分配到为期两周的冲刺(sprint)中,然后连续三个冲刺都报告“完成了 70%”,而工程经理则盯着那张拒绝下降的燃尽图发愁。没人撒谎。功能确实很难完成 —— 因为让故事点成为有用规划工具的条件,在 AI 功能中并不存在,而大家直到投入其中才察觉到这一点。

问题不在于工程师不擅长估算。问题在于故事点编码了关于软件工作本质的假设 —— 而 LLM 功能在结构上(而非偶然地)违反了这些假设。

没人愿意写的 AI 事故复盘:四层诊断框架

· 阅读需 12 分钟
Tian Pan
Software Engineer

上季度,某推荐引擎推送了冒犯性内容,随后召开的事故复盘会议以一种我们再熟悉不过的方式收场:两小时的会议里,ML 工程师把矛头指向检索语料库,数据工程师把矛头指向提示词,产品工程师把矛头指向监控,基础设施团队把矛头指向没人记得何时升级的模型版本。最终产出了三条行动项,却没有一条落实到具体负责人。事故就此关闭。六周后,同样的故障模式再次上线。

这不是某一个团队的故事,而是大多数组织处理 AI 事故时的默认结局。AI 功能在生产环境中造成的后果,由足够多的参与方共同承担,导致标准的事故复盘根本无法锁定因果关系。那套在排查数据库超时时行之有效的"5 Why"分析法,面对"模型给出了错误答案"时便彻底失灵——因为下一步该追问什么,从来都不显而易见。

AI 输出波动性是你可能定价不足的业务风险

· 阅读需 11 分钟
Tian Pan
Software Engineer

当公司谈论 AI 风险时,对话通常集中在那些显而易见的失败上:幻觉事实、偏见输出、以及生成内容带来的法律责任。而较少受到关注的是一个更隐蔽的结构性问题:你已经在其输出本质上是概率性的系统之上,做出了商业承诺——定价层级、SLA(服务等级协议)、面向客户的准确性声明。每次模型生成响应时,它都是在从分布中采样。而合同中从未提及“分布”。

这是一个大多数团队发现较晚的业务风险,通常是在客户抱怨同一个文档审查工作流在周一和周五给出了完全不同的结果时,或者当监管机构要求提供系统在架构上无法提供的可复现性保证时。

AI 功能的沉默退出者:如何检测用户的无声不信任

· 阅读需 11 分钟
Tian Pan
Software Engineer

麦当劳得来速 AI 的失败,并非因为用户抱怨。它失败,是因为用户停止使用得来速。三年来,这套系统一直记录着"健康"的接受率,而病毒式传播的视频却显示顾客在苦苦哀求它从订单中删除 260 块鸡块。当合作关系终止时,官方给出的理由是技术"尚未成熟"。真正的信号其实一直隐藏在客流量数据里——无人阅读,无人量化,无人汇报。

这就是大多数 AI 功能在生产环境中失败的样子。用户不会关闭你的功能。他们不会提交工单。他们不会留下一星评价。他们悄悄地绕开它,而你的仪表板依然一片绿色。

在不触发法律红线的前提下,用生产数据训练你的 AI

· 阅读需 13 分钟
Tian Pan
Software Engineer

你的 AI 功能上线了。用户正在使用它。每一次会话回放、每一次点踩、每一个返回错误答案的请求,都清晰地暴露出它现在的表现与它应有水平之间的差距。信号就在眼前。问题是:你是否可以合法地利用这些信号。

这就是团队撞上合规高墙的地方。这不是一堵理论上的墙——而是实实在在的。仅在 2024 年,欧洲监管机构就开出了逾 12 亿欧元的 GDPR 罚款,OpenAI、Meta 和 LinkedIn 均在被点名之列。大多数执法行动背后有一条共同主线:以原先收集目的之外的方式使用行为数据,或收集了超出运营功能所必要的数据。监管机构并不会因为你的意图是改进模型而非投放广告就网开一面——尽管工程师们往往这样以为。

API 文档即可靠性基础设施:文档如何决定智能体的成功率

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数工程团队将 API 文档视为开发者体验关注点——一种为了减少支持工单和入职时间而进行的改进。当你的主要消费者是在浏览器中阅读文档的人类时,这种思维方式是有道理的。但现在,这已经不再足够。

当 AI 智能体通过工具调用访问你的 API 时,你的文档就不再仅仅是指南,而是变成了运行时行为。模糊的参数描述不再是 UX 上的不便,而是对模型产生幻觉值的直接指令。缺失的错误代码不再是参考文档中的空白,而是一个模糊信号,可能导致智能体陷入没有退出条件的重试循环。你三年前为人类读者编写的文档,现在正被一个无状态的语言模型解析,无论它是否理解正确,都会自信地执行。

代码专用 RAG:为什么通用检索在代码库中会失败

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数构建 AI 编程助手的团队都会采用与文档检索相同的现成 RAG 流水线:根据 token 数量对源文件进行分块(chunking),对块进行嵌入(embedding),将其存储在向量数据库中,并通过语义相似性进行查询。这种流水线在处理散文(prose)时表现良好。但在处理代码时,它会悄无声息地失败——而且这些失败很难在聚合指标中显现,因为检索到的代码块看起来似乎合情合理,直到模型生成了错误返回类型的代码、调用了签名错误的函数,或者遗漏了调用图中三层之后才存在的依赖项。

问题不在于嵌入模型或向量数据库,而在于分块策略。代码不是散文。它具有结构属性——依赖图、调用链、类型签名、作用域层级——而基于 token 的分块在检索器看到它们之前就破坏了这些属性。修复这个问题需要重新思考在进入嵌入步骤之前如何分解代码。

跨用户一致性问题:当你的 AI 对同一问题给出不同答案时

· 阅读需 11 分钟
Tian Pan
Software Engineer

同一家公司的两位分析师都问了你的 AI 助手同一个问题:"我们 Q3 的客户流失率是多少?"一个人得到的是 4.2%,另一个人得到的是 4.8%。两个答案都没有错——他们只是在不同的时间、不同的会话上下文中进行了查询,检索索引对略有不同的数据块进行了排名。AI 自信地回答了两个问题,没有任何保留,没有标记任何差异。两位分析师带着不同的数字走进了同一个会议,而你的工具刚刚变成了一个负担。

这就是跨用户一致性问题,也是企业 AI 部署悄然失去信任最常见的原因之一。这种失败并非经典意义上的幻觉——没有编造任何事实。失败在于:你的系统在规模上是非确定性的,而这种非确定性在两个用户互相对比结果之前是不可见的。

从开发到生产的成本冲击:为什么你的 AI 功能在测试环境仅需几分钱,而在生产环境却要花费数美元

· 阅读需 10 分钟
Tian Pan
Software Engineer

一个概念验证(PoC)花费了你 200 美元的 API token。你获得了上线的许可。六周后,账单变成了 18,000 美元。这并非定价变动或计费错误——而是成本建模的失败,也是 AI 工程中最可预见的意外。

AI 功能在预发布(staging)环境和生产环境之间的成本差距并非偶然。它遵循一个一致的模式:预发布环境在结构设计上(通常是无意的)隐藏了生产环境中每一个关键的成本驱动因素。理解这些驱动因素是避免首份账单演变成危机的关键。