两周前和喵神onevcat录了这期节目: Vol. 150 喵神onevcat: Vibe Coding及日本工作与生活。除了喵神在日本的工作与生活,我们还聊了Claude Code与沉迷Vibe Coding。
2022年11月ChatGPT发布后,我就用它来帮我辅助写脚本,但它能做的东西比较有限,但到了Claude 3.5 Sonnet阶段(24年6月),AI编程有了非常大的进步。不过那时候AI能完成的任务相对较小,稍微辅助的任务就会产生幻觉,所以还是有很多代码高度依赖程序员自身编写。而现在(2025年8月25日)Claude Code搭配Sonnet 4已经能将一些中型任务完成得非常好了,相比GPT-3.5已不可同日而语。
1. 从代码提示到AI生成
最早我们程序员写代码是没有任何代码提示的,后来编辑器/IDE加入了code completion功能,能在程序员写代码的时候自动将一些常用的关键字补全,提高了大家的编码效率。2021年OpenAI发布了GPT-3,GitHub基于这个模型开发了GitHub Copilot,能做的事情已经超出了简单的代码补全,实现了从注释到函数级别的补全,已经是一大进步。
但是这个时期的Copilot我用得不算多,我记得当时让它补全Golang的GORM胶水代码,用于这类苦力活还不错。到了2024年,Cursor + Claude 3.5 Sonnet直接让AI写代码这事成为真正意义上的可能。虽然还是会有幻觉,还是会出问题,但已经很大程度上帮助程序员解决了机械重复的问题,只是我们依然需要把精力集中在“如何写好代码”,“如何确认AI没有瞎写代码”以及一旦遇到规模较大的项目,AI就会开始乱来。
我在24年8月这期节目(Vol. 125 AI终于能帮我们写代码了吗?)中提到AI对我来说很大的优点是让我从枯燥无味的体力活中解放出来,至少在心情上让我好不少。而Claude 3.5 Sonnet的缺点在今年Sonnet 4都得到了极大的改善,于是乎,真正沉迷Vibe Coding成为了可能。
2. 未来职业程序员与AI编程的关系会是怎样的?
昨天团队的小伙伴分享了他对Cursor和Claude的使用感受,正好我就和大家讨论了对AI编程的看法。
在更早一点的阶段,AI是辅助,人才是主力。虽然现在AI也不能离开人,但某种程度上它已经能离开职业程序员,取决于你最终想要的东西是什么,以及你的团队里的“职业程序员”都能做什么。
我有一个朋友,他的公司做编程教育相关的行业,利用LLM帮出题,学生批改作业,写公司代码。当时他很自豪地说已经把原本的10多个程序员砍到只剩2个就够了。
这两年AI取代程序员的焦虑已经散布得够够的了,但是之前我完全没有这种顾虑,因为在以人为本的时代,AI始终只是个辅助。我当时的想法是:最好的使用AI编程的方式,是先master the skill,然后再用AI。
但事实上我最近沉迷于Vibe的时候,已经大部分时间不会仔细Review AI写的代码了。而且Claude Opus根据我的Prompt已经能独立完成一个质量还不错的中型项目了,这个过程中,我很少需要关注代码细节,只有在陷入Debug难题的时候我会真的去看代码,改代码。所以如果有公司用2个程序员+AI取代10个程序员,我很能理解。
因为他们雇佣的程序员的定位已经出现了分化:经验丰富的高级程序员和可替代性很强的劳动力。高级程序员负责设计和引导方向(Prompt),劳动力程序员负责实施(AI写代码)。
所以未来的“职业程序员”应该是怎样的?
今天有小伙伴提到“可以让产品经理去用AI写代码实现他的需求”。这当然可以,虽然在一个大型复杂项目里现阶段还不现实,因为付出的代价太大,弊大于利,还需要让AI继续发展一段时间。但是这个想法有一个前提,即我们是在大公司的背景下讨论“产品经理”和“程序员”。
大公司用精细化分工加上规模效应使得他能用人海战术极大提高自己的产出,小团队完全没法跟他比。这在AI写代码成熟以前是大公司的优势,也是大公司职业细分的前提。如果未来“产品经理”也能用AI写出合适的代码,岗位边界重新洗牌,那么精细化分工可能也会做出变化。
比如无法适应AI辅助的程序员将变成古法纯手工编码的“非遗”,而能够适应AI辅助的程序员可能成为AI编程专家。因为岗位细分是基于大家投入资源的不同来实现的,理论上程序员岗位投入代码编写的时间比产品经理岗位更多(假设未来还是这样划分岗位),那么AI编程专家将成为程序员的普遍水平,于是产品经理写代码在大公司内又变为不太符合效率。均值回归。
在这个过程中,真正掌握AI编程的人就是新时代的程序员。
作为一个职业程序员,如果还没有深度使用AI编程的话,最好是深度体验一下。不是说AI代表未来,而是有很多道理如果不亲身体验无法真的领悟。Sonnet 3.5的时候我觉得AI不过如此,Sonnet 3.7的时候我还觉得AI能帮我省下不少力气,现在Claude Code搭配Sonnet 4,我感觉AI已经在很多方面比我做得好了。
技术的变革是快速的,相对而言人的变革是缓慢的。电报1837年发明,普及周期1850s-1890s,大概30-50年;电话1876年发明,普及周期1900s-1950s,大概也花了30-50年;互联网(TCP/IP)于1983年开始启用,普及周期1990s-2000s,只需要大约10年完成普及;移动互联网更快,2007-2015,只需不到10年。如果按照这个趋势,AI的普及很可能会超快,但大公司的组织架构很可能反应不过来,各个细分岗位之间即使有分工含糊之处,也将维持现状。
但是大公司以外呢?真正开放拥抱新技术的行业将迎来创意遍地开花的结果。在这个过程中,如果大公司反应不过来,就很可能被小公司弯道超车。当然也有可能出现所谓的“超级个体”,一个人就能完成一个中小型公司能干的事情,不屑于参与大公司之间的竞争。
无论何种情况出现,对于已经是职业程序员的朋友们来说,都应该接触AI编程,深度体验AI编程,好好体会下这个过程中思路的转变。每个人都有自己擅长的能力,生产工具发生巨变的时候,正是更好发掘我们能力的时候。这时候要想的是,什么是AI做不到的,只有我做得到的?
比如LLM的context理论上不会无限长,所以在做一个需要综合考虑多种情况的大型项目时,常年深耕的有经验者会更有优势。但我想这是未来技术能解决的问题。
比如LLM只管生成代码,不管真正意义上的代码质量(修改test case假装测试通过是常事),所以先master the skill再看他写的代码是否合理,在现阶段仍然有效。而且可预见的未来,应该比较长一段时间都是有效的。
比如LLM如果帮我们解决了枯燥的体力活之后,我们更应该把专注力放在创意与设计上。不仅是视觉设计与产品设计,即使是写代码的创意与设计也是同理。于是涉猎广泛者将具备优势。具有天马行空的想象力,不错的审美能力,良好的编码能力,综合在一起,将能更好驾驭AI生成的结果。现在AI编码已经很好用了,但AI出设计稿还是差点意思。假设二者能力趋近,则没有什么能阻止具有创意的人进行创造了。
苹果一直在努力耕耘它的开发者社区,其中帮助中小型开发者以更低的成本写出一个优秀的App就是他们很重要的一个目标。因为苹果生态中的大公司有资源可以自己解决问题,但中小型开发者们开发的App却占整个App Store数量的最大比例,是苹果生态非常重要的一环,解决了大量的长尾需求,也更需要苹果的支持。现在AI来了,AI的副作用也实现了类似的效果,让更多人以更低的门槛开始进入创造这个领域。
3. 沉迷Vibe Coding:像开了作弊器
我一开始使用的是Claude $20/mo的Plan,聪明的Anthropic(开发Claude的公司)开启了严格的“防沉迷限制”(我大概高强度Vibe 1个多小时就不能用了,必须等几个小时技能冷却时间)。在跟喵神聊完之后,我开了$125/mo的版本,自此完全沉迷,周末Vibe了两天Vibe出了贤者时间。为什么会在Vibe沦陷之后索然无味呢?我感觉跟玩游戏开作弊器有一点像。
之前我们一些关于AI的讨论是基于我们学写代码的经历来的。但是现在刚刚开始接触写代码的小朋友,可能上手就是AI辅助,他们很可能会发展出完全不同的路径。所以不用担心AI取代了初级程序员,而高级程序员都是从初级程序员成长来的,于是以后没有高级程序员了这样,因为以后可能学写代码的人路径跟我们就是不同的。
回想我小时候学写代码,并不是因为享受“解题”或者钻研算法,而是我很享受“创造”的过程。所以当时我学ASP,写HTML,因为在那个网站盛行的时代,做网站是最快能看到自己创造的产品的办法。所以以前写代码是在努力打怪升级之后,见到自己努力做出来的产品。现在打怪升级有点半自动化了,出产品的速度加快了,连$125的Claude都Vibe出了防沉迷限制。于是我开始思考,如果“写代码”已经不是瓶颈,那么更需要我投入关注的会是什么?其实我一直都很清楚,“写代码”本身并不是瓶颈。以前我经常跟刚入职我们团队的小伙伴们说:“不要做一个只会写代码的程序员。”
不要误会,我并不是说写代码本身不好玩了,我虽然不擅长算法题,但古法纯手工写代码还是很有意思的,尤其是能写出符合自己审美的优雅实现的时候。另外如果我们不在当前分工的语境下去聊,那么未来不一定是“产品经理”取代“程序员”,也有可能是“程序员”取代“产品经理”。
可以回想一下“产品经理”这个细分岗位是怎么来的。互联网早期创业的人,需要的是“会写代码的人”,后来发现软件不好用,所以还需要“会做UI的人”,再后来发现这两种人都没什么时间想需求(Features),于是我们需要专门“做需求定义和产品愿景”的人。
倒不是说那个年代的人每个都是全才,只是那是个曙光时代,大家做东西还没有那么精致,所以谁都能上手试一试。后来行业竞争激烈,东西越做越好,门槛就提高了,精细化分工出现之后,大家继续提高各个岗位的门槛,就很难再回到最初的原点了。现在AI提高了大家的下限,假如还能继续按这个速度发展,大家的下限继续提高,很快这个本来被精细化分工提高的“门槛”,相对地就又“降下去了”。于是又能回到那个“人人都能快速做出一个原型”,可以充分发挥大家想象力的时代。
我认为这是极大的好事。
4. 希望AI能促成新的百花齐放时代
互联网已经发展了几十年,现状是逐渐内卷,想象力逐渐难以展露,这几乎是所有自由竞争市场的常见情形。刚开始很少人进入这个领域,少数人凭借优秀的想法能获得用户的喜爱。接下来竞争逐渐激烈逐渐充分,直到最后剩下行业内卷。现在的AI如果只应用于“高效生产代码”,或者“高效生产设计稿”,那不过是加速原有的竞争罢了。但是如果能充分释放大家的想象力,则有可能开辟一种新的行业。这会是什么我就不晓得了。
1976年比尔·盖茨写这封信给Homebrew Computer Club的时候,“个人计算机”领域尚未真正出现,当时的“个人计算机”叫做"Hobby Computer"。但是随后几十年,比尔·盖茨的微软,乔布斯的苹果,还有蓝色巨人IBM,让个人计算机市场变成一个巨大的市场。1997年乔布斯回归苹果后,也在思考如何让更多人愿意使用Mac,后来基于这个念头做了iPod,让Mac成为家庭数据中心([1]《Build》 by Tony Fadell)。再后来做了iPhone,开辟了一个全新的硬件市场。他们在做这些事情的时候,也未必预料到产品一定能成功,一定能出现一个前所未有的新领域。但这些人的共同点都是:拥有澎湃的热情,天马行空的想象力,以及尽情释放创造力的条件。
也许是因为经历过BBS/Blog的自由分享,在移动互联网时代旁观过大佬们的激情迸发,我更希望AI的发展能促进所有创造者百花齐放,这样的世界才有活力,才更像当时有点混乱却又令人兴奋的互联网早期。
注
- “Most people don’t realize what the iPod was originally built for. Its purpose wasn’t just to play music—it was made to sell Macintosh computers. That’s what was in Steve Jobs’s head: We’re going to make something amazing that will only work with our Macs. People will love it so much that they’ll start buying Macs again.”- 《Build》by Tony Fadell