标签

AI 时代编程学习必要性探讨

发布时间:2026-05-31 23:43来源:微信阅读:14

近期,一个话题被频繁提及。

几乎每隔数日,便有人在评论区或私信中询问:如今代码皆由 AI 完成,是否还有学习编程的必要?

不仅新人有此疑问。许多有数年经验的程序员也感焦虑,他们发现团队中已有人开始使用 Cursor、Copilot 快速生成代码,效率惊人,于是开始担忧。我这编码速度似已跟不上 AI,这饭碗还能端多久?

此问题,我也深思良久。

因我正是那个「用 AI 写代码但又不完全交给 AI」的人。我日常主要使用 IDEA,大部分时间并非在与 AI 聊天以生成整段代码,而是使用代码提示。写到一半,AI 猜测我欲写内容,助我补完下一行或下一方法。此感觉如同,你知欲言何物,旁坐一打字迅速但偶有错字之助理。

坦白而言,此体验甚佳。确实快了许多,尤其是一些重复性代码,如 getter setter,几乎刚想到,手未动,AI 已为你写就。

<

但问题即在此处。

一次我写微服务接口,需对接一已有内部框架,此框架有其注解规范、异常处理模式、日志打印格式,皆为团队数年沉淀之物。我将需求丢给 AI,其为我生成一整套代码,Controller、Service、Dao 俱全,看似有模有样。

然后我发现,糟糕。

注解用的是 Spring 原生,但我们团队自己封装了一套。异常捕获方式不对,日志格式与项目其他模块不一致。底层调用方法名为其自编,数据库根本无此字段。怎么说呢,其生成代码,与项目画风完全不合。。。= =

非说代码本身有语法错误。语法是对的,逻辑也能跑。但就是不符合规范。就像一刚入职新人,看了两天 Spring 教程就开始写代码,写的都对,但跟你团队的习惯完全对不上。

我当时就把那堆代码删了大半,只留了几个工具方法的骨架,剩下的全部自己重新写了一遍。

此事让我想明白了一件事。

AI 生成的代码,最大问题不是「不对」,而是「不对味」。

其能写代码,但不知你项目上下文。其不知你们团队约定俗成的写法是什么,不知你们用了哪个版本的内部依赖包,不知你们的架构演进到了哪个阶段,不知你们最近刚重构完哪部分不能乱动。

这些信息,不在其训练数据里。在人的脑子里。

故我越来越觉得,编程这件事的核心能力,正在发生一个很微妙但也很根本的转移。

以前我们说「会编程」,指能自己把需求翻译成代码,一行一行写出来,能调试、能优化。此能力当然还在,但它不再是唯一的入场券了。因 AI 确实帮我们分担了很大一部分「翻译」和「拼写」的工作。

现在真正值钱的能力是什么?

是能审 AI 的代码。

是 AI 给你生成了一段代码,你能在几分钟之内判断出来,这段能不能用,哪里需要改,改完之后对整个项目有没有副作用,跟已有的代码会不会打架。

此事,不懂编程的人做不了。

举个最简单的例子。AI 给你生成了一段数据库查询的代码,看着没问题,但你一眼就能看出来它用的是全表扫描,生产环境跑起来肯定炸。你不懂 SQL 执行的原理,不懂索引是怎么回事,这一段你就审不出来。代码上线了,某个深夜你被报警电话叫起来,发现数据库 CPU 飙到 100%。

那一刻你就会知道,会审代码,比会写代码重要得多。

我有时候觉得,「会审代码」这件事,有点像古代的校对官。书不是他写的,但他必须能看出来这本书哪里抄错了、哪里漏了一段、哪里的用词不符合当时的规范。这个权利和责任,比写书的那个人还大。

代码出了事,AI 不背锅。你背。

所以回到最开始的那个问题,代码都让 AI 写了,还要学编程吗?

我的答案是,当然要。

但学的东西变了。

你不需要把所有的 API 都背下来,不需要记住每一个框架的配置细节,这些东西 AI 比你知道得多。但你必须能一眼看出一段代码的架构对不对,能判断这个设计方案有没有坑,能理解你们项目的上下文并且确保 AI 生成的代码契合这个上下文。

这些能力,不是看几篇 Prompt 技巧文章就能掌握的。它是你在真实的项目里一行一行写过来、改过来、踩过坑之后,沉淀下来的东西。

是那种「我一看这段代码就觉得不太对劲」的直觉。

AI 给你不了这个直觉。这些年的积累,是你审 AI 代码的底气。

说到项目规范和上下文这件事,我其实特别想再展开聊聊。

很多人觉得 AI 写代码不行是因为模型不够强。不是的。Claude 很强,GPT-4o 也很强。但你让它去写你们公司内部那个维护了五年的微服务系统的新模块,它写出来就是会翻车。

为啥呢?

因为你那个项目里的很多东西,是「人传人」的隐性知识。

你想想看,你们的代码规范可能在 Confluence 上有一份文档,但那文档已经两年没更新了。真正有效的规范,是你们团队在做 Code Review 的时候口口相传的。「这块别用那个工具类,用我们自己封装的」「这个字段的命名要跟前端对齐」「这个接口的返回值格式参考一下 XX 模块的写法」。

这些东西,AI 看不到,它没办法。

所以你会发现一个很有意思的现象。越是标准化的、通用的代码,AI 写得越好。比如一个独立的工具函数、一个单纯的数据处理脚本,AI 写出来基本不用改。但越是跟具体项目耦合深的业务代码,AI 写得越离谱。

微服务代码尤其明显。

我之前试过让 AI 帮我生成一个微服务模块,它生成的调用链、熔断配置、消息队列的使用方式,跟我们项目里实际用的框架版本都对不上。不是说它不会写微服务,而是我们这个项目用的是一套两年前选型的方案,市面上最新的教程和文档讲的是另一套。

AI 学的是互联网上的通用知识,你项目里的是特定版本的特定方案,中间差了两年。这两年的差距,就是一堆编译错误和运行时的诡异 bug。

这时候谁能救?只有你自己。你懂这个项目的来龙去脉,你知道当初为什么选了这套方案而不是那套方案,你知道哪个服务是敏感的不敢随便动,你知道哪段代码是老张离职前写的那个坑。。。???

这些,都只有你知道。

说真的,我是真的觉得,AI 写代码这件事,看起来是在「降低编程的门槛」,但实际上它是在「提高编程的质量要求」。

以前你能写出来就行,代码丑点慢点都无所谓。现在不行了,因为 AI 能写得比你快还比你好看,你在「写」这个维度上已经没有竞争力了。你的竞争力转移到了「审」和「改」上面,而「审」和「改」需要的能力,比单纯的「写」要高。

你得懂架构,懂设计模式,懂性能优化,懂安全规范,懂项目的上下文。你不但要能看出 AI 写的代码哪里不对,还要能准确地告诉它怎么改,或者干脆自己动手改。

这不是入门级的能力。这是高级工程师的能力。

所以每次有人问我「AI 时代还要不要学编程」,我都想反问一句,你打算学到什么程度?

如果你想学到「能跑就行」的程度,那 AI 确实可以帮你省掉这一步。但如果你想要的是「能审、能改、能负责任」的程度,那你该学的东西一个都不能少,甚至要学得比以前更深。

因为你的对手,从一个不会写代码的自己,变成了一个写代码很快但经常出错的 AI。

你得比它更懂。

我觉得还是挺重要的,想明白这件事。

因为在未来很长一段时间里,编程都不会是「把需求丢给 AI,代码就出来了」这种魔法。至少在复杂的企业级项目里不是。它更像是一个协作的过程,AI 帮你完成 70% 的体力活,你用你的经验和判断力去审那 70%,补上剩下的 30%,确保最终产出的代码符合你项目的规范、满足你业务的场景、经得起生产的考验。

这 30%,才是你不可替代的价值。

而能补上这 30% 的能力,就是你现在去学编程的意义。

不是为了比 AI 写得快,是为了比 AI 懂得多。

不是为了替代 AI,是为了驾驭 AI。

这种事可能没法速成。但那个「一看到代码就觉得不太对劲」的直觉,那些在一个个项目里磨出来的判断力,那种对自己项目的上下文了如指掌的底气。

这些,才是 AI Coding 时代,一个程序员真正的护城河。

以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~

谢谢你看我的文章,我们,下次再见。