说来惭愧,我已经好几个月没有完全手写代码了,甚至像是把某个变量改一个名字这种活我都宁愿输入更多字符告诉 AI 来做而不是自己直接改了,因为我知道,哪怕是变量重命名这种简单的活,AI 也能做的比我仔细,它会检查所有用到这个变量的代码、相关的注释以及单元测试,然后一并都修改了,而我自己其实历史上就犯过不少忘记修改关联地方的错误。
过去一两年的时间,AI Coding 引来了飞速的发展,就我的个人体验而言,大概经历了三个阶段。AI Coding 1.0 时代,AI 只是简单给你提供代码补全,代码总体还是人在写。而在 AI Coding 2.0 时代,人更像是在指导 AI 写代码,一次 prompt 只能高质量地写一百来行代码,你需要仔细检查代码是否符合你的需求。而最近两个月的时间,AI Coding 3.0 来到了一个奇点时刻,你甚至都不需要精心设计你的 prompt,只要简单描述下需求,AI 自己会根据代码上下文,以极高质量生成成千上万行代码,而人无论是体力还是智力已经无法 review AI 的代码,只能粗浅把握一个编程方向。在两个月之前,我或许还会认为过去的编程工作还能继续苟活一两年的时间,而现在我认为此刻所有传统的编程工作已经在事实上被淘汰,我们这些传统程序员之所以还没有被开除的原因仅仅只是公司自己在制度流程上还没有完全适应 AI 作为员工的方式,而这个适应过程可能会持续几年之久。
在完全不手写代码的这几个月里,我时常在 AI reasoning 的间隙问自己到底在做什么。我似乎做着完全没有技术含量的『传话』工作,但与此同时,如果真要把我淘汰直接让 PM 和 Agent 对话,似乎也很难实现他们的需求,而且出事的风险极高。这意味着我依然在提供自己的价值,只是这个价值无法再被很好的「可视化」。我之所以比 PM 能让 AI 更好地干活是因为我具备一些专有的知识,这些知识的产出可能仅仅只是一个 Yes 或 No,但这不影响他们的价值。我之所以会觉得浑身难受的原因还是之前的日子过得太苦,觉得必须一定要自己手动干很多活才能体现自己的价值,没有真正把自己从一个「劳动者」换位到「管理者」。一个好的管理者肯定不是办公室里最忙碌的那一个人,那些做出对公司最有价值决定的管理者最终的产出也无非就是一个 Yes 或 No。能力强的员工往往希望老板管理的越少越好,AI Agent 也是如此。
我们已经近乎实现了 Coding 的自动化,但是在一个公司里,Coding 只是整个公司工作的很小一部分,甚至都只是程序员工作的一小部分。我们现在拥有了一个无限智能的机器,但是整个公司运行制度都是面向人类设计的,Agent 需要发挥能力必须建立一个正向的 Loop,现在的 Loop 仅仅只建立在 Agent 内部,公司的每个环节与 Agent 并没有建立起这个 Loop,甚至连 Input/Output 渠道都没有建立。未来 Agent 会进一步渗透进整个公司一切流程的方方面面,不仅改变软件工程师的工作内容,也会改变产品经理,HR等一切职能的工作内容。我觉得这些传统工作岗位的消失会成为必然事件,但并不意味着不会创造新的工作岗位。最可能发生的事情是工作岗位从过去的不断细化的趋势开始变得不断泛化。现在你还在那区分前后端工程师属实是一个笑话,各种软件工种现在都可以统称为工程师岗位,如果一个后端工程师现在还写不好前端需求只能说明你不是一个合格的工程师。而所有工程师的工作会变成编排管理成百上千 Agent 的编码任务,解决 Agent 运行过程中遇到的无法自我解决的问题,帮助公司完善流程让 Agent 干活干得更舒心。
在现在这个时刻,已经不需要怀疑这是一次工业革命级别的巨变,很高兴也很惶恐可以经历这场巨变。即便工作被淘汰了,至少也是被更高级的文明所淘汰,保持学习,保持好奇,毕竟是一个青壮年劳动力,世界总会出现新的工作留给我们这些人糊口的。Keep Calm and Carry On !