跳到主要内容

10 篇博文 含有标签「developer-productivity」

查看所有标签

评审 Agent PR 是一项不同的工作,而不是更快捷的工作

· 阅读需 11 分钟
Tian Pan
Software Engineer

一位资深工程师打开了一个由 Agent 编写的 PR。Diff 非常整洁。测试通过了。命名规范一致。他们大致扫了一眼,点了个赞,然后合并。两个月后,另一位资深工程师正在重写那个模块,因为该模块引入的抽象在三个调用点悄悄泄露了状态,而测试套件从未发现这一点,因为它只断言了代码在做什么,而不是规范(Spec)的要求。

这种模式是 2026 年代码审查(Code Review)中占主导地位的失败模式。那些适用于人类编写 PR 的审查直觉——探究作者的意图、寻找他们没想到的 Bug、检查测试是否反映了设计——在 Agent PR 上失效了,因为 Bug 聚集在不同的地方,且审查者看到的产物不再是真正重要的产物。

数据支持这一直觉。CodeRabbit 在 2025 年 12 月对 470 个 GitHub PR 的分析发现,AI 协作编写的代码产生的问题大约是人类编写代码的 1.7 倍,其中逻辑和正确性错误是 1.75 倍,安全发现是 1.57 倍,算法和业务逻辑错误是人类的 2.25 倍。严重问题增加了 1.4 倍,重大问题增加了 1.7 倍。Diff 读起来很流畅,而这种流畅性恰恰就是问题所在。

采纳率是一个虚荣指标:你的 Copilot ROI 隐藏在敲击键盘后的 90 秒里

· 阅读需 12 分钟
Tian Pan
Software Engineer

仪表板显示,你的工程师在上个季度采纳了 45% 的 AI 建议。管理层将其解读为“节省了开发人员 45% 的时间”,并签署了续约合同。与此同时,工程师们正在悄悄重写他们采纳内容的一半,调试另一半,并纳闷为什么他们的 Sprint 看起来还是和以前一样长。双方都在看同一个数字,但只有其中一方看对了数字。

2025 年引用次数最多的这项研究,本应单枪匹马地终结“厂商仪表板时代”。METR 衡量了经验丰富的开源维护者在有无 AI 的情况下,处理自己代码库中真实问题的表现。开发者预测 AI 会让他们提速 24%。实验结束后,他们仍然认为 AI 让他们提速了 20%。但秒表显示他们慢了 19%。故事与数据之间存在 39 个百分点的差距——而季度评审中采用的正是那个“故事”。

认知外包陷阱:当你的团队离开 AI 就无法工作

· 阅读需 10 分钟
Tian Pan
Software Engineer

某公司在向整个工程团队全面推广 AI 编程助手三个月后,发现了一个令人不安的现象:代码审查通过率下降了 18%,迭代速度有所提升,但生产故障数量却在攀升。当他们在一次事后复盘中要求开发者解释最近一个由 AI 生成的模块时,在场的所有人都说不清楚——就连提交合并的那位工程师也不例外。

这就是认知外包陷阱。问题的根源不是 AI 工具本身,而是团队整合它们的方式。

衡量真实的 AI 编程生产力:能在 90 天滞后期中幸存的指标

· 阅读需 10 分钟
Tian Pan
Software Engineer

大多数采用 AI 编程工具的团队都会遇到同样的瓶颈。第一个月看起来像是成功案例:PR 吞吐量上升,Sprint 速率在攀升,工程经理正在制作幻灯片准备向领导层汇报。到了第三个月,事情悄然发生了变化。事故率开始回升。资深工程师在代码审查上花费了更多时间。一个简单的 Bug 修复现在需要理解一段团队中根本没人写过的代码。生产力的提升已经消失殆尽 —— 但衡量体系从未捕捉到这一点。

问题在于,大多数团队最先关注的指标 —— 生成的代码行数、合并的 PR 数量、消耗的故事点数 —— 对于 AI 辅助开发来说是错误的衡量单位。它们衡量的是产出代码的成本,而不是持有代码的成本。AI 让产出几乎变得免费,却让持有成本保持不变。

AI委托悖论:你无法评估自己不会做的工作

· 阅读需 10 分钟
Tian Pan
Software Engineer

每个曾将模块委托给外包的工程师都知道那种感觉:代码交回来了,测试通过了,演示也能跑——但你完全不知道它到底好不好。你没有写它,你不完全理解其中蕴含的决策,而你即将进行的审查更像是走过场而非真正的实践。现在把这种动态乘以你代码库中每一个AI辅助的提交。

AI委托悖论很容易表述,却很难逃脱:你最需要用来评估AI生成工作的技能,恰恰是你停止亲自动手后退化最快的技能。这不是未来的风险,而是正在发生的事实,在那些拥抱AI编码工具的工程组织中已经可以量化测量。

AI 技能倒置:当初级工程师在错误的指标上超越资深工程师时

· 阅读需 10 分钟
Tian Pan
Software Engineer

你团队中的一名初级工程师刚刚在一周内交付了三个功能。而你的资深工程师只完成了半个。仪表板显示初级工程师的效率是资深工程师的 6 倍。仪表板在撒谎。

这就是 AI 技能反转 —— 一种度量错觉。AI 编程助手让初级工程师在表面指标上看起来生产力惊人,却掩盖了更深层次的问题。功能交付得更快了,但架构却在退化。PR 成倍增加,但系统的连贯性却在瓦解。那些比起判断力更相信仪表板的组织,正在助长错误的行为,并流失掉正确的人才。

AI 可读代码库:为什么你的代码的机器可读性现在至关重要

· 阅读需 9 分钟
Tian Pan
Software Engineer

每个工程团队都有这样的故事:AI 编码代理在全新项目中能产出完美代码,但在你的生产代码库中却像没有地图的游客一样跌跌撞撞。代理没有坏。你的代码库是不可读的——不是对人类,而是对机器。

几十年来,"可读性"只意味着一件事:人类开发者能否浏览这个文件并理解其意图?我们通过命名、文件大小、文档和抽象深度等约定来为这个读者做优化。但你代码库增长最快的消费者不再是入职第一周的初级工程师。它是一个 LLM 驱动的代理,每天阅读、推理和修改你的代码数千次。

越来越多的证据表明,代码库结构是 AI 辅助开发速度的最大杠杆——比模型选择更重要,比提示工程更重要,比你使用哪个 IDE 插件更重要。拥有良好结构代码库的团队在使用 AI 助手时报告迭代周期减少了 60-70%。问题不再是是否要为机器可读性优化,而是如何优化。

氛围编程有害论:当 AI 辅助的速度扼杀软件质量

· 阅读需 9 分钟
Tian Pan
Software Engineer

Andrej Karpathy 在 2025 年初创造了"氛围编程"(vibe coding)一词,描述一种编程风格:"完全沉浸在氛围中,拥抱指数级增长,忘记代码的存在。"你用自然语言描述需求,AI 生成代码,然后直接发布。这感觉像是一种超能力。然而不到一年,数据开始讲述一个不同的故事。

METR 的一项随机对照试验发现,有经验的开源开发者在使用 AI 编码工具时效率降低了 19%——尽管他们预测自己会快 24%,事后仍然认为自己快了 20%。CodeRabbit 对 470 个 GitHub Pull Request 的分析发现,AI 协作编写的代码包含的重大问题是人工编写代码的 1.7 倍。Anthropic 对 52 名工程师的研究显示,AI 辅助的开发者在自己代码库的理解测试中得分低了 17%。

上下文窗口即 IDE:AI 编程智能体成败的关键在于它能看到什么

· 阅读需 10 分钟
Tian Pan
Software Engineer

METR 针对 246 个任务的研究发现,使用 AI 编程工具的有经验开发者比不借助辅助的开发者慢了 19%。与此同时,各厂商宣称提速 24%——营销数字与实测数据之间存在 43 个百分点的差距。瓶颈不在于模型智能,而在于上下文:智能体能看到什么,以及看不到什么。

上下文窗口才是 AI 编程智能体真正的 IDE。模型、温度参数、系统提示词——这些都远不如智能体从你 1 万个文件的代码库中检索到的那 20 个文件重要。把这 20 个文件选对,一个中等水平的模型也能生成正确且高度契合项目的代码。选错了,地球上能力最强的模型也只会产出貌似合理的废话,调试起来比自己从头写还费时间。

生产环境中的 Agentic Coding:SWE-bench 分数没有告诉你的真相

· 阅读需 14 分钟
Tian Pan
Software Engineer

当最尖端的模型在 SWE-bench Verified 上获得 80% 的评分时,这听起来像是问题已经解决了。五分之四的真实 GitHub issue 都能被自动处理。直接交付给你的团队吧。但事实是:同一个模型在 SWE-bench Pro(一个专门设计用于防止数据污染、包含来自私有代码库的长程任务的基准测试)上的得分仅为 23%。此外,一项针对经验丰富开发者的严谨对照研究发现,使用 AI 编程工具反而让他们慢了 19%,而不是变快了。

这些数字并不矛盾。它们反映了基准测试衡量的内容与生产环境软件工程实际需求之间的差距。如果你正在构建或打算采用智能体编程(agentic coding)工具,那么这个差距就是最值得关注的事情。