与大语言模型(LLM)协同编程在提高效率的同时,也给开发者带来了前所未有的心理压力。这种新的工作模式用监督的疲劳感取代了传统编码带来的成就感,开发者需要不断审查、指导和修正大量由 AI 生成的代码,导致工作满意度下降和普遍的倦怠。这种转变并非技术倒退,而是暴露了人类的判断力、品味和架构能力才是软件工程中真正稀缺的资源,因此我们需要重新审视工作流程和心理回报机制。
新的疲劳:从创造到监督
尽管代码(在某种程度上)可以自我编写,但负责审查、指导和修正的人类开发者感觉更糟,而不是更好。这种体验催生了一种奇特的、新的监督疲劳:开发者需要在头脑中牢牢把握整体意图,而机器则生成大量看似正确但仍需人工审查的输出。
- 持续的审查: 一位开发者描述,他每天早上都要面对 AI 在夜间提交的三十多个拉取请求(PR),并对每一个都做出快速判断。
- 无意义的错误: AI 犯的错误并非能力不足,而是连贯性的缺失。它可能生成看似合理的代码,却无法在复杂的变更中维持一致的意图。
- 丧失成就感: 过去,与真人合作改进代码能带来“多巴胺冲击”,并帮助他人成长。现在,开发者感觉自己的反馈只是被投入到一个“AI 黑洞”,对面并没有一个真正在学习的人。
这种监督的疲劳感,源于你必须在脑中保持清晰的意图,而机器生成了大量基本正确但仍需你的眼光、判断和品味来把关的输出。
强度陷阱与破碎的奖励机制
AI 辅助编程极大地增加了可以同时开始的任务数量,但能够用心完成的任务数量并未改变,因为这仍然依赖于我们唯一无法并行的资源:你的大脑。
这背后是一个“人类奖励函数问题”。在机器学习中,奖励函数告诉智能体什么是好的。传统的手工编码充满了微小的奖励:解决难题、理解复杂逻辑、看到代码成功编译。而 LLM 辅助编程自动化了许多能带来这些即时满足感的工作,并用审查和监督的认知负荷取而代之。
- 令人满足的部分缩小了。
- 令人疲惫的部分增多了。
- 没有新的奖励来填补空白。
这种模式不仅让人疲惫,还非常孤独。与 LLM 编程是一种高度独立的活动,人与机器之间反复的提示和审查,悄然取代了与同事交流、讨论和分享成功喜悦的时刻。
如果你感觉自己的工作效率更高,但满意度却在下降,你没有出问题。是反馈循环出了问题。
历史的启示:响应式设计的阵痛
当前 LLM 带来的动荡,让人想起十多年前“响应式设计”出现时的不安。当时,设计师们习惯了像素级精确的固定宽度布局,突然被告知要为不确定的屏幕尺寸和设备进行设计,这让他们感到了生存危机。
然而,设计师的技艺并没有消亡,而是进化了。
- 对比例和层次的理解依然重要。
- 对手艺的追求从像素级控制转向了对系统、适应性和不确定性的理解。
在那个时代幸存下来的设计师,是那些重新定义了自身技能的人。他们的手艺没有死,而是进化了。
LLM 带来的转变也遵循类似的模式:核心技能变得更加重要,而不是更不重要。你仍然需要知道什么是好的代码,甚至比以往任何时候都更需要,因为你现在是更高产量输出的质量关守。
什么技能在当下更重要
当任何人都能生成看起来合理的代码时,真正能让你脱颖而出的是:
- 品味与细致
- 成熟的架构见解
- 源于真正专业知识而非模式匹配的逆向思维
开发者们也开始创造新的技能。例如,在执行复杂计划前进行“事前剖析”,让一个全新的 LLM 会话假设计划已失败并诊断原因,这能发现开发者因沉浸细节而忽略的规范漏洞。这并非专业知识的消亡,而是专业知识的提炼。
人类才是瓶颈
当前 AI 浪潮并不代表软件工程专业的终结,而是其工作的重塑。对技能过时和被甩在后面的恐惧是真实存在的。
然而,我们过去可能没注意到,真正的瓶颈从来不是编写代码的速度,而是人类的注意力、工程判断力以及维持系统连贯愿景的能力。当编码本身被自动化后,这些人类独有的能力才作为真正稀缺的资源凸显出来。而稀缺的资源是有价值的。
人类仍在环路中。我们只是累了。而这件事,值得被拿出来谈谈。