最近这几个月,使用AI和vibe coding越来越多,我感受到工作方式有了显著的变化
最开始的时候,AI给我的第一印象是强大的code completion代码补齐能力。我写一些脚手架程序,或者打log,很少自己手写,一直按tab键就可以了(我用Github Copilot)。它提示的几乎就是我想要的。接着我用它来讲解我接手的新项目的代码结构,我发现已经不再需要原来的owner来做交接。当时还戏称“内事不决问Copilot,外事不决问ChatGPT”。再然后我让它帮我处理棘手的bug,好几个bug都是这样搞定的。我觉得没有它的话我怎么着也得多花三到五倍的时间。这些经历已经足以让我震惊了,直到前阵子用了Github Copilot CLI,我才发现真正的王炸还在后面。当时一个同事给我们做演示,写一个新的功能,写完了prompt之后,代码全部由Copilot生成,包括测试。整个过程没有再手写一行代码。
当然很多情况下它也会犯错,写的代码需要仔细检查,但这个进化速度太让人震惊了。
我现在的工作,越来越多地用Copilot,写越来越多的prompt,管理越来越多的对话session,很多时候是在它写的初稿上修修改改,有些时候甚至不用改,自己写完整的代码的机会越来越少了。甚至有的时候,它想到的情况比我还要全面。有些地方我看得不太明白,还以为是它什么地方错了,仔细检查,发现打脸的是我自己。码农一思考,Copilot就发笑。
我觉得我们的地位转换了。它不再是我的copilot(副驾驶),它成了主导,它主导代码的风格,细节的实现。诸葛亮变成了司马懿。而我沦为了辅助,检查和验证它写的对不对,换个人也能做,最后在它发布的pull request里按下自己的橡皮图章–Looks Good to me
我并不特别适应这样的转变。以前自己写代码,每一处细节都想得很清楚,现在review AI写的代码,得花很多时间精力弄明白它的想法,光看是不行的,有些地方必须运行起来debug才能了解。为了弄明白它半小时写的代码,我得折腾大半天。这种情况下感觉自己就像在用长矛大刀对抗钢铁洪流,手工纺织对抗织布机,特别能体会到个体的渺小,智力上的被碾压。历史书上描述的工业革命对生产力的提升没想到这辈子还能亲身感受到。当然如果不求甚解,你完全可以不写代码也不review,如果出了错就再写prompt让它继续改
如果你坚持不用AI,别人都用,那你就很容易block别人。每天就在这样纠结的心态中连滚带爬。
现在我工作中的心境,很难再像AI出现之前一样,沉静下来思考问题。遇到一个困难点的bug,我就会想:现在花时间研究这个还有意义吗?直接问AI啊,难道肉眼看出来的bug,手写的代码就比机器写的更高贵吗?
程序员真的是一门非常特殊非常伟大的职业,非常的开放,没有什么准入门槛,你有各种各样的方式可以证明自己的水平和能力,拿到不错的offer。不像有的行业,非得考个什么证,屁大点东西还要藏着掖着。程序员这个群体是世界上最乐于分享的一群人,创造了开源的文化,分享自己踩过的坑,写很详细的文档,公开发布软件和源代码,能帮到别人就觉得很开心。后一代程序员站在前一代程序员的肩膀上,快速的迭代,整个行业在这样的氛围下飞速发展,只有这样,才进步得这么快,快到只用了几十年的时间,自己把自己玩死了。每个程序员在AI的加持下都成了超级个体,但这个行业是不是已经进入了历史垃圾时间?不知道自己还能干多久,也许到了仔细想一下今后可以做什么的时候了?