跳到主要内容

绩效评估衡量的是舰队,而不是工程师

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的下一次定级会(calibration meeting)存在一个没人愿意点破的衡量问题。委员会面前的材料显示,一名工程师在这半年提交了 340 个 PR,而另一名只提交了 90 个。五年前,这种差距意味着某些实质性的东西。而今天,它主要告诉你的是谁拥有更好的 Agent 工具链,谁的团队拥有更宽松的审查文化,以及谁对合并生成代码的容忍度更高。幻灯片上的数字衡量的是机群(fleet)。而委员会本应评估的是人。

这并非某种未来才会发生的虚构趋势。行业分析估计,在认真采用 Agent 的公司中,AI 编写的代码已占提交代码的 30% 左右;一项针对 300 名工程师的纵向研究发现,在采用 Agent 后,团队生成的 Pull Request 数量增加了 98%。你的评审流程从“前 Agent 时代”继承下来的每一项产出指标——代码行数变化、合并的 PR 数量、Story points、速率(velocity)——现在都是人类判断力和机器吞吐量的混合衡量,两者之间没有明确的归因界限。定级委员会正在比较这些混合数字,就好像他们仍在衡量人一样。

产出指标变成了工具采用指标

旧的指标从来都不完美,但它们至少与真实的情况相关。一名工程师合并的 PR 数量是同行的两倍,通常意味着他做了更多的工作,或者至少是更多可见的工作。而这种相关性被 Agent 切断了。

看看现在的各项经典信号实际上衡量的是什么:

  • 代码行数和 Diff 大小衡量的是工程师让 Agent 写了多少。GitClear 对 2.11 亿行变更代码的分析发现,随着 AI 采用率的增长,复制粘贴式的重复代码急剧增加——更大的 Diff 越来越预示着更少的筛选,而不是更多的努力。
  • PR 数量和合并速率衡量的是工具链(harness)的质量。一个在 Agent 脚手架(任务模板、评估循环、自动修复 CI)上投入较多的工程师,可以在一个季度内将 PR 数量提高 5 倍,而其判断力却没有任何提升。
  • 提交频率和活跃图衡量的是机群运行的频率,这只是一个预算项目,而不是绩效信号。

更深层次的问题在于,这些指标不仅变得嘈杂,而且变得具有对抗性噪音。一旦工程师知道吞吐量是可以通过 Agent 膨胀的,而评审仍然奖励吞吐量,那么理性的做法就是针对“量”来调整工具链。你衡量什么,就会得到什么:更多的 PR,更大的 Diff,以及在任务完成率仅增长 21% 的情况下,评审队列却增长了 91%——这就是那项针对 300 名工程师的研究观察到的结果。瓶颈转移到了评审这些代码洪流的人身上,而制造洪流的人则获得了晋升。

还有一个值得点名的二阶失真:自我评估也失效了。METR 对经验丰富的开源开发者的一项随机化研究发现,开发者认为 AI 让他们快了 20%,而实际上在这些任务上却慢了 19%。如果你的评审流程依赖于自我报告的影响力——大多数流程确实如此——你现在汇总的感知误差在错误的方向上偏差了 40 个百分点。无论是指标还是叙述,本身都不再值得信任。

还剩下什么能真正衡量“人”

剥离掉机群可以膨胀的一切,剩下的清单已经不多了。这是一份很好的清单,因为它一直是真正重要的东西——Agent 时代只是迫使你停止假装那些代指指标(proxies)就是实质内容。

问题选择。 工程师选择将机群的产能花在哪些问题上?Agent 让执行变得廉价,这使得方向成为了稀缺的输入。一个将 Agent 对准严重影响留存的延迟问题的工程师,比一个生成了 40 个没人要求的重构 PR 的工程师创造了更多的价值。这是可以观察到的:看他们选择了什么,而不是产出了多少。

对 Agent 产出物的评审判断。 工程师真实的指纹不再出现在 Diff 中,而是体现在他们拒绝了什么,发现了什么,以及在合并前坚持了什么。Qodo 对从业者的调查发现,AI 代码的首要痛点不是语法错误,而是那些在疏忽的评审中轻易过关的“看似合理但逻辑错误”逻辑。能发现这些问题的工程师正在承担核心的(load-bearing)工作。你的工具可以使之显现:对 Agent PR 的评论、拒绝率、以及他们批准的代码在合并后的缺陷率。

Spec 和 Eval 的质量。 Agent 是意图的编译器。垃圾的 Spec 会快速且大批量地编译成垃圾系统。如果一名工程师编写的任务定义足够严谨,使得 Agent 的第一次尝试通常就是正确的,并且构建了能在进入生产环境前捕获失败模式的评估(eval),那么他就是那个让整个团队效能倍增的人。这些产出物足迹——Spec、Eval 套件、工具链配置——是以往“写了大量代码”所无法比拟的可评审内容。

交付物的持久性。 变更失败率和合并后的代码动荡(churn)在 Agent 时代几乎完好地保留了下来,因为它们衡量的是结果而非活动。GitClear 发现,在代码落地两周内被修改的比例随着 AI 采用率的提高而稳步上升。一个合并后的工作能保持稳定不动的工程师,说明其判断关卡起到了作用。而一个产出物动荡率达到基准线 1.5 倍的工程师,只是在交付 Agent 的初稿。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates