假设 AI 未来真的能在写代码和系统设计上超过人类,那还有必要学习编程和系统设计吗?

昨天我那篇写如何学习系统架构的文章下面有一条来自网友 richard 的留言:

richard: AI长于非精确计算,是类人协作者而非机械工具。架构设计是非精确计算域,因此AI在架构设计上能力应该比人强。比如框架使用、比如设计模式上AI都比单个架构师要强。我们直觉采用人类架构、AI实现的组合,深层原因是还没有掌握协同AI主导架构的最佳实践。未来AI软工发展,应该是全角色AI化。人类做全过程执行的mentor master以及交付客户代表。简单总结,如果人类将自己的定位为架构师,这个性价比时间窗会很短

这条留言很能代表一部分人的想法:未来无论是写代码还是系统设计, AI 都会比人强,未来的软件架构也是为 AI 设计的架构,很快就不需要架构师了。

我觉得这带来几个方面的思考:

  1. 程序员和架构师的时间窗口真的很短吗?大概多久会被全面取代?

  2. 假设 AI 未来真的能在写代码和系统设计上超过人类,那还有必要学习编程和系统设计吗?

这几个问题每个人都可以有自己的答案,我整理下自己对这两个问题的思考。

程序员的时间窗口不会太短,架构师的时间窗口会很长

首先程序员的时间窗口不会太短,架构师的时间窗口会很长

我从大学的时候就开始编程,热爱编程,无论我从事什么岗位,编程都没停过,现在已经有 20 多年的编程经验,不敢说编程多牛,但是至少对编程,对于软件工程还是了解的。

我现在每天大量使用 AI 编程,也舍得在 AI 上花钱,ClaudeCode 配合 Cursor pro、GitHub Copilot,还有 ChatGPT pro、Claude Max 和 Gemini 2.5 pro。写代码用的最多是最新的 Claude 4 Opus,无论是编码能力还是调用工具的能力,都非常强,用好了的话会极其高效。

但我的开发效率真的有很多倍提升吗?效率提升是肯定的,但并没有想象中成倍的上升,并不能一个人干几个人的活!

为什么 AI 编程效率没有想象中那么高?

AI 编程的自动化程度不够

现在的 AI 编程就相当于辅助驾驶,半自动都算不上,AI 的任何动作都离不开人的指挥,这就意味它是受使用者能力、精力的制约,团队中新手驾驭不好 AI,高手们忙于各种杂事,真正花在编程上的精力不会太多,就算是去指挥 AI 写代码,也意味着还是一样要花不少时间去理解需求、写提示词,审查结果,能节约一部分编码时间,但编码之外的时间并不能节约太多。

AI 编程能力非常强了,但仅限局部模块

现在 AI 的编程能力真的是很强,如果你是一个小模块,一个小 Bug,分分钟就给你把代码写好了,但可惜真实的软件开发中这样的任务占比太少了,大多数时候程序员们都在维护着屎山一样的代码,各种内部造的轮子 AI 都没训练过,也没文档全靠口口相传,在这样的代码中要跨模块添加新的功能或者修复问题就没有那么轻松了,毕竟 AI 很难全局的去看一个系统。

就算不是屎山代码,你的项目结构良好甚至类库都是用的最新的,一旦你的项目的代码量上去了,AI 一样无能为力,毕竟上下文窗口的制约还在,短期内还没看到大的突破,就算是上下文窗口支持最大的 Gemini,一样是内容一多能力就急剧下降。

AI 模型的能力可能到了一个瓶颈

现在的 AI 编程智能体 Devin 我没用过,但顶尖的 ClaudeCode 和 Codex 我是都大量使用过,虽然它们能在项目中像一个真正的工程师一样熟练的使用各种命令行工具检索、提取相关代码,也有记忆能力,但是代码一多一复杂,一样难以胜任。

现在的模型能力可能已经到了一个瓶颈,所以你看编程方面最优秀的模型代表 Claude,从 Claude 3.5 到 Claude 3.7 再到 Claude 4,编码能力是有提升,但是并没有质的飞跃,o3 和 Claude 4 最大的提升还是在工具的使用方面。

未来 AI 模型需要的突破还是在记忆能力还有自主完成任务的能力方面,目前有进步,但也没有看到技术上有大的突破。

所以短期不要太过于乐观,认为 AI 会突然进化无所不能了。当然也不能走另一个极端不用 AI,AI 作为工具提升效率是毋庸置疑的。

为什么不会很快有完全面向 AI 的软件架构?

在马车时代,普通人只会想到怎么发明更快的马车,而只有少数天才会想到汽车、火车;在飞机发明之前,人类只会想着模仿鸟类用翅膀飞行,普通人不会想到还可以借助其他方式来飞上天。

所以现在很多人都认为都 AI 时代了,为什么还需要传统的软件工程?为什么还需要人类用的编程语言?为什么不能像 AI 生成图片、视频一样,直接生成软件,开发软件就是抽卡就好了?

注:抽卡是指 AI 生成图片、视频时,随机生成,不满意重新生成,就像凭运气抽卡牌,抽到满意的为止。

这没想没有错的,但是这都是上帝视角往回看,而忽略了这其中的演变过程,马车到汽车的突破不是一年两年的,从 1886 第一辆汽车发明到全面替代马车(美国在 ≈ 1926 年实现),大概花了 40 年。你可以认为 AI 进化速度特别快,但这也不会是几年时间就可以完成的,更何况,现在这样神奇的能直接由 AI 生成软件的技术还没有被发明出来,否则在现在 AI 资讯天天炸裂的时候,你早就知道了!

假设乐观一点,今年有这样的技术出现,还需要时间让它稳定,再要去替代现有的软件系统,想想看要多少年?

既然 AI 编程让效率提升的没那么快,神奇的 AI 一次性生成可用软件的技术还没被发明,那么短期内程序员、软件架构师还是不会那么快被替代的,当然经济形势不好的时候,AI 成为裁员的借口那是一直在上演的。

就算未来 AI 会替代程序员和架构师,还是应该学习这方面的知识

我们家老大以前对编程没什么兴趣,所以上大学没有报计算机专业,学的是生物化学,不过大一选修了编程,另外他还在学校给一个研究植物的实验室帮忙,他发现实验室每个月要用 Excel 记录大量的植物数据,但是统计手段比较低效,每个月要手动将几十个表格的数据复制到模板中计算,就结合他学到的编程知识,借助 AI,写了一个 Python 脚本,自动就把几十个 Excel 中的数据统计好了。开头的时候我给他演示了如何如何借助 AI 写代码,后面就都是他自己和教授沟通自己完成后续的功能了。

其实现实中像他们实验室这样能借助编程和 AI 提升效率的地方很多,但专业的程序员接触不到这些地方,普通人不懂编程是想不到如何借助程序来自动化提升效率。一旦你学习了一些基础的编程知识,能把 AI 用起来,你会发现有很多可以提升效率的地方。

但这里面最核心的是编程技能吗?并不是,因为编程技能是可以让 AI 替代的。

这里重要的是你知道编程可以做什么,进而能想到用编程可以提升效率,至于怎么编程是次要的,要么你可以用 AI,要么你可以外包请专业的人帮忙。这里本质是一种跨界解决问题的能力。

但 AI 能让你拥有解决问题的能力吗?无论是现在还是未来,AI 都不能让你有解决问题的能力,只有你自己看的够多,通过学习专业知识锻炼了解决问题的能力,才可以自己具备这种能力。

就算 AI 替代了你的编程能力,但是这过程中你训练出来的解决问题的能力也是 AI 无法替代的。

系统设计知识、软件工程知识,并不是只能应用于软件开发,生活中很多复杂的事,去按照系统设计的思路分解一下,可能就不那么复杂了,一些生活中的任务,当作项目去跟踪管理也很有帮助。这些知识,当你真正掌握后,和其他领域的知识是有相通之处的。

比如比尔盖茨就分享过他高效学习和记忆的秘诀,就是构建自己的知识树,通过大量阅读,发现知识之间的联系,使新知识能轻松地融入已掌握的知识体系。

一个保持学习的人,当新的知识来的时候,是能很快掌握的,因为他们已经构建了自己的知识树。

没有人知道未来的 AI 时代需要什么样的知识和技能,但是保持学习的人总是能最快跟上未来的趋势的。

最后

现在很多人对于 AI 短期能做的事过于乐观或者过于焦虑,如果你真的积极使用,会发现它没有想象的那么神奇,更多的还是一个效率工具,但长远来看,也不要悲观或者轻视了 AI,未来 AI 的进化速度可能会超乎我们的想象,我们能做的最好的事,就是积极使用,保持学习,跟着未来发展的趋势一起积极的作出相应的变化。