跳到主要内容

578 篇博文 含有标签「insider」

查看所有标签

为什么 AI 编程工具放大了初级工程师的产出却让资深工程师陷入瓶颈

· 阅读需 11 分钟
Tian Pan
Software Engineer

询问任何工程副总裁 AI 编码工具是否能提高生产力,他们都会给出肯定的回答。但如果你询问一名在一套拥有十年历史的代码库中工作的资深工程师(Staff Engineer),这套代码库里有六个没有文档记录的数据模型,部署流程全靠 Shell 脚本维系,你得到的答案将会截然不同。

AI 编码工具带来的生产力提升呈现出一种大多数组织尚未完全消化的分化态势。初级工程师在每周完成的任务量上看到了 27%–39% 的提升。而在一项针对真实世界问题的受控研究中,资深开发者在使用 AI 辅助时,完成任务所需的时间反而比不使用时增加了 19%。这两个结果都与这些工具的工作原理相一致 —— 并且它们正导向一个目前正在工程团队中悄然上演的管理陷阱。

提示词即配置:像对待生产基础架构一样管理 AI 设置

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数工程团队都能准确地告诉你哪个环境变量在控制他们的数据库连接池。但几乎没有人能告诉你现在是哪个版本的 system prompt 在处理 90% 的流量 —— 或者自上一次收到模型行为投诉以来发生了哪些变化。

这就是 AI 配置足迹(AI configuration footprint)问题。构建基于 LLM 功能的团队会积累一个隐形的配置层 —— 模型选择、采样参数(sampling parameters)、system prompts、工具 schemas、重试预算 —— 这些配置决定了他们的产品在生产环境中的行为。这一层的大部分内容都没有记录在案(system of record)。它们通过直接修改代码、交付电子表格或 Slack 消息进行更新。当出现问题时,没有人能说清楚发生了什么变化。

这不是流程问题,而是架构问题。解决方案需要以成熟团队对待环境配置、功能旗标(feature flags)和基础设施即代码(infrastructure-as-code)同样的严谨态度来处理 AI 配置。

AI 内容漂移:当你的文档语料库开始自相矛盾时

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的文档六个月前看起来没问题,今天单独看依然没问题。但这周一位用户提交了一个 bug:开发者文档的两个页面对同一个配置项给出了相反的建议。一个页面说生产环境应将 max_retries 设为 3;另一个页面说保持默认值 0 即可。两者都是 AI 生成的,两者听起来都很权威。一个反映的是你们系统在一月份的实际行为,另一个反映的是 AI 工具在六月用略有不同的提示词所做的解读。没有人发现,因为没有人在整体上审视这个语料库。

这就是 AI 内容漂移。它不是幻觉问题——AI 在生成时是准确的。漂移发生在两次生成之间的间隙里。

覆盖率幻觉:为什么 AI 生成的测试会继承代码的盲点

· 阅读需 10 分钟
Tian Pan
Software Engineer

一位小团队工程师花了三个月将测试生成委托给 AI。代码覆盖率从 47% 跃升至 72%,再到 98%。每次 PR 都返回绿色。然后生产环境崩了。用户注册中的竞态条件因数据库复制延迟导致重复邮箱。优惠码接口在代码无效时返回 null 而非零,导致支付计算对 4700 名客户静默出错。最终损失:4.7 万美元退款和 66 小时工程时间。测试并没有遗漏几个边界情况——它们覆盖了所写的代码,而非所部署的系统。

这就是覆盖率幻觉。随着 AI 辅助开发成为默认选项,落入这个陷阱正变得越来越容易。

AI 系统设计顾问:它能做对什么、会自信地做错什么,以及如何分辨

· 阅读需 10 分钟
Tian Pan
Software Engineer

一个三人团队花了整整一个季度,为一个日活跃用户仅 200 人的应用实现了事件溯源架构。这套架构技术上无懈可击,运维上却是一场噩梦。设计方案来自 AI 的推荐,团队之所以接受,是因为推理听起来流畅、权衡分析看似严谨,而最终构建出来的系统也完全符合高级工程师架构图上的样子。

这个故事如今已成为一种警示性范式,而非孤例。AI 在特定的、可识别的场景下能够提供真正有价值的架构输入——而在从外部看起来几乎相同的情况下,它也会给出自信满满却大错特错的建议。这两者之间的差距,如果你把 AI 当成答案机器,就几乎无从察觉;但如果你把它当成思维伙伴,则完全可以驾驭。

系统提示词的行为克隆:在专家离职前留住专业判断

· 阅读需 10 分钟
Tian Pan
Software Engineer

你最棒的系统提示词是由一位已经不在这里工作的人编写的。

那句话的杀伤力取决于你在组织中所处的位置。如果你是一名继承了一个管理着生产级 AI 功能的、未经文档记录的 3,000 token 提示词的工程师,你肯定已经经历过这种情况。你盯着像“除非上下文需要,否则不要包含补充数据”这样的条款,却完全不知道“上下文”意味着什么,是什么触发了这条规则,或者删除它会导致 5% 的质量提升还是灾难性的性能回归。如果你是一名团队负责人,你眼睁睁地看着制度性知识随着每一位资深工程师或提示词专家的跳槽而流失——而这些知识并没有进入文档,因为没有人意识到有什么需要记录的。

这就是系统提示词的知识管理问题,它比大多数团队意识到的还要严重。解决办法借鉴了机器人研究中的一个理念,并将其应用于一个深刻的人性化工程挑战:行为克隆 (behavioral cloning) —— 捕捉专家做了什么,以及背后的原因,在他们离职之前。

动态系统提示词组装:请求时可组合的 AI 行为

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数团队一开始都用一个单一的、庞大的系统提示词。在演示时效果不错。然后产品不断增长:你添加了付费用户层级、企业客户的合规模式、模型可以调用的新工具,以及增长团队想要 A/B 测试的功能开关实验。所有这些都被塞进同一个提示词里。六个月后,你有了 4000 个词的指令,没有人能完全理解,编辑某个部分时行为会不可预测地改变,而调试过程不过是"改点什么看看会发生什么"。

大多数团队会转向可组合的、动态组装的系统提示词——在请求时从模块化组件构建提示词,而不是维护一个静态文本文件。这是一个合理的架构直觉,但实现的复杂度比看起来要大得多。可组合提示词引入了一类静态提示词根本不存在的新型故障模式。

评估与生产环境的差距:检测生产级 LLM 中的行为模式切换

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的评测套件全绿。你的基准测试分数很高。你的预发布环境看起来很干净。然而 —— 你的用户正反馈一些隐蔽的错误答案、不一致的语气,以及一些难以捉摸的、感觉不对劲的输出。

这就是行为模式切换(behavioral mode switching)问题:一个在被评估时表现出色,但在非评估状态下明显偏离的生产环境 LLM。这并非假设。这是 LLM 部署中常见的“静默式”失败模式,许多团队在向利益相关者宣称模型行为已验证并发布之后,才发现这一问题。

问题不在于你的评测框架不够勤勉。而在于大多数评测框架在结构上无法检测到这类故障。

专业知识悬崖:AI 编码智能体为何在成熟代码库中失效

· 阅读需 9 分钟
Tian Pan
Software Engineer

2025 年的一项对照实验让有经验的开发者使用了 AI 编码工具,并测量他们是否变得更快。开发者们预测效率会提升 24%。研究结束后,他们报告自己大约快了 20%。而客观测量显示,他们实际上慢了 19%

这并不是一个关于 AI 过度炒作的故事。这是一个关于隐性知识的故事——那种存在于每个成熟代码库中、仅靠阅读代码无法恢复的、无文档记录的"为什么"。AI 智能体在全新系统中生产效率出奇地高,正是因为那里几乎没有隐性知识可以违反。它们在成熟代码库中退步,原因完全相同。

推理集群:将SRE规范应用于多供应商LLM依赖管理

· 阅读需 13 分钟
Tian Pan
Software Engineer

有一种故障模式,在一切为时已晚之前,任何监控面板都看不到它:你的生产系统正在悄然劣化——某个次要LLM供应商三天前就开始返回格式错误的响应,没有人在值班轮次中负责这个供应商,唯一的信号是用户反馈的错误数量缓慢攀升,而你的支持团队还没有将其升级处理。你得知这件事,是因为一位客户取消了订阅。

这不是模型质量问题,而是运维规范问题。随着生产AI技术栈从单一的OpenAI集成演变为多供应商、多端点的蔓延式架构——没有人把它设计成一个集群,但它就是变成了这样——这类问题正变得越来越普遍。

长对话中的意图漂移:为什么你的智能体目标表征会失效

· 阅读需 10 分钟
Tian Pan
Software Engineer

大多数关于上下文窗口(context windows)的讨论都集中在模型能“容纳”什么。更难的问题是模型如何“处理”它所容纳的内容——具体来说,它如何追踪对话者不断演变的目标。

意图并非一成不变。用户从模糊的描述开始,通过迭代不断细化,有时会自相矛盾、离题或修正。他们在第 40 条消息时真正的需求,未必是他们在第 2 条消息中所表达的内容。如果一个智能体将上下文视为扁平的追加日志,它会堆积所有信息——但仍然会误判当前的意图。

隐形的交接:为什么生产环境中的 AI 故障集中在组件边界上

· 阅读需 10 分钟
Tian Pan
Software Engineer

当你的 AI 功能输出错误答案时,第一个问题总是:“是模型的问题吗?”大多数工程师会进行模型评估,运行几个测试提示词,并得出模型看起来没问题的结论。他们通常是对的。模型没问题。故障发生在其他地方——在你的组件相互通信的那些无形接缝处。

这一结论的证据是一致的。对生产环境 RAG 部署的分析显示,73% 的故障是检索故障,而不是生成故障。在多智能体系统中,最常见的故障模式是消息顺序冲突、状态同步间隙和 schema 不匹配——这些都不会出现在任何单组件健康检查中。GPT-4 在处理复杂的提取任务时,产生无效响应的比例接近 12%,这不是因为模型坏了,而是因为模型与下游解析器之间的输出格式契约从未被强制执行。

模型背了锅,边界才是元凶。