瑞典马工

和 AI 一起重塑软件工程

很多软件工程师面对AI非常焦虑,总在询问一个问题: AI会不会替换掉我们?

业界对此意见不一。英伟达的黄仁勋主张AI会替代程序员,小朋友们今天不用学习编程了;而谷歌CEO Picai则认为这是无稽之谈,程序员不可替代。

这种见仁见智的问题只能交给时间了。不过有两件事是确定的

1. 软件还会继续存在,并且进一步成为社会核心基础设施,和水电垃圾处理一样核心。

2. 现在的软件工程会经历一番彻底的变革。

第一点无需论述。滴滴,支付宝和微信已经成为社会基础设施了。如果微信一天不可用,全中国会有几亿人的生活节奏被打乱,销售联系不上客户,男女朋友发不了红包,奶奶视频不到宝贝孙女,媒体发不了稿件,县干部联系不了贫困户。在 AI 时代,软件会进一步深入生活。在不久的将来,你孩子晚上看电影的时候说一句”咦,这个青椒炒肉看起来挺好吃的”,你的家庭音箱听到了,你的家庭 AI 助理准备一个菜谱,自动寻找附近的商家 AI 助理,选最合适的下单,第二天早上,青椒和五花肉就放在你家冰箱了。

第二点是本文的重点。AI不仅会消费软件,也会重塑软件的生产方式。

目前软件生产的核心流程是编码。我最开始用github copilot,非常开心,但它仍然没有脱离一个IDE的定位,只是有一个比较聪明的自动补全。

切换成Cursor之后,感觉就升级了。它更像一个同事: 懂很多语言框架,很有耐心,但是水平一般般,无法独立的工作。它基本只能编码,不会主动的去测试和调试。

再切换成Claude code,感觉升级更进一步了。Claude Code能独立的完成大部分task。我把任务稍微细分一下,它就能独立的完成设计,编码,测试,调试一系列工作。它编写的文档,其质量和完整性远远高于人类编写的。

在编码之外,我们团队也引入了qodo和copilot做PR的code review。

这些工具的效果非常显著。我个人效率起码提升了五倍。今天和一些朋友交流,大家都表示,用了AI之后,一个人可以当一个团队用。

这就涉及到一个问题: 目前软件工程的流程都是以Developer为中心的,很多行业最佳实践都是为了克服人类的缺陷。DevOps存在的理由是dev和ops沟通成本极高。TDD存在的理由是开发者犯错极为频繁而且不可避免。代码审核有一个作用是防止员工辞职无人维护代码。不准硬编码是因为人类修改代码总是修不完全。

而AI很可能并没有人类这些毛病,那么用来预防/mitigate这些毛病的工程实践很可能就没价值了。比如软件工程师最喜欢谈模块化,是因为人类脑容量很小,代码太多的话,脑袋装不下,不得不分成较小的模块。但是大语言模型的context可以很大,你把一个系统直接一锅端给它,它也能很好的处理。那么模块化的必要性就很小了,甚至可能利小于弊了。

这类问题很多,大多数现在没有答案,具备非常高的研究价值。我和我的朋友们通过自身的实践,摸索新的软件工程方法,我们也开了一个微信群,欢迎各位有兴趣的朋友一起交流和挑战。

下面是加群二维码。如果超过人数限制了,可以留言在文章下面。

Image