ARTICLE · 983692
都用 AI 写代码了,为什么还要懂软件工程?吴恩达给出了最扎心的答案
懂底层没用了?
吴恩达:智能体时代
,更要懂软件工程
氛围编程 · 数据地基 · 系统架构 · 规模化
硅基社 · 工程
📦 7 Parts + Conclusion
👉 滑动
PART 01
新手的坑
THE TRAP
PART 02
构建全栈
FULL STACK
PART 03
管理数据
DATA
PART 04
系统架构
ARCHITECTURE
PART 05
安全可靠
SECURITY
PART 06
规模化运维
SCALE UP
PART ///
写在最后
THE END
当人人都能用智能体写代码,吴恩达说:真正拉开差距的,恰恰是那些你以为“AI 已经替你搞定”的软件工程基本功。
“我现在写代码都靠智能体,还有必要懂这些底层原理吗?“
这大概是过去一两年里,几乎每个开发者都问过自己的问题。
吴恩达最近在一篇探讨“智能体编码“的文章里,给出了一个挺扎心的答案:哪怕代码全部由AI来写,理解软件工程的基本原理依然重要。
因为这决定了你能不能引导智能体做出正确的权衡取舍——甚至决定了你是否知道“这里存在一个需要权衡的选择“。

01
PART
一个“氛围编程“新手最容易踩的坑
THE TRAP
一个对软件基础知识一知半解的新手,靠“氛围编程“确实也能做出一个简单能跑的应用。
但问题往往出在这里:这种做法很容易让编码智能体在延迟、可用性、一致性、可靠性、可维护性、简洁性、成本这几个维度上,悄悄做出糟糕的取舍。
更麻烦的是,开发者本人可能压根不知道这些权衡的存在。
换句话说,AI能帮你把代码写出来,但它不知道“对你这个具体场景而言,什么才是对的选择“——这部分判断,依然得靠人来提供。
吴恩达基于对“AI工程技能“的研究,归纳出了五个当下最值得掌握的软件工程核心能力。
02
PART
构建全栈应用:智能体把每个人都变成了全栈开发者
FULL STACK
智能体编码带来的一个直接变化,是让很多原本只专注某个细分领域的开发者,现在都能承担起更宽泛的全栈角色。
但真正理解全栈是怎么运转的,依然很重要。
你得知道UI组件、缓存机制、页面渲染方式、API的选择和设计、身份验证、状态和会话管理、异步处理、数据持久化、测试方法、安全性以及无障碍访问——这些概念不需要你亲手把每一行代码都写出来,但你得知道它们是什么、什么时候该用哪一个。
03
PART
管理数据:软件的地基,也是最难改的部分
DATA
数据这一块值得格外关注——因为它是整个软件系统的地基,而且相对来说很难更改,哪怕有AI智能体帮忙做数据迁移也是如此。
懂数据管理意味着什么?意味着你能想清楚数据的访问模式,据此判断该存哪些数据、存多久;能识别出合适的数据模型,选对存储类型和相应的基础设施。
文章里有一句话特别值得记住:决定怎么管理数据,需要大量由人来提供的背景信息。你的AI系统,最终是从你的数据源里获取自己的输入语境的——如果数据架构本身选得不好,AI压根不知道自己“不知道什么“。
04
PART
设计系统架构:把各个模块正确地拼在一起
ARCHITECTURE
好的系统设计,首先要搞清楚这个软件到底是用来干什么的——用户量有多大?延迟有多重要?成本有多敏感?
想清楚这些问题之后,才能决定应用平台、前后端之间的边界、系统怎么拆分、应用状态放在哪里,以及架构的颗粒度。
还有一个容易被忽视的点:合适的架构其实是一个动态变化的目标,取决于项目所处的阶段。为了快速搭一个原型选的简单架构,未必适合用来搭建第一版生产系统;等到应用规模扩大之后,架构可能又得跟着调整。
05
PART
确保系统安全可靠:安全正在变成每个开发者的“分内事“
SECURITY
要把系统做可靠,得知道怎么设计测试策略来验证系统的正确性。同时也得懂得怎么针对可能出现的故障去做设计——比如API触发限流该怎么处理、怎么构建优雅降级机制。
安全这块也在发生一个明显的变化——“左移“这个理念,正在把安全工作从“先写完软件、再回头考虑怎么加固“,提前挪到了整个开发周期更早的阶段。
虽然现在已经可以用AI工具去扫描代码漏洞、检查依赖项有没有供应链注入风险,但要真正把这些事情做好,仍然离不开一定的安全知识储备。
06
PART
生产环境的规模化与运维:把软件真正交付给用户
SCALE UP
要服务真实用户,就得知道怎么把软件部署到生产环境。理解完整的软件开发生命周期会很有帮助——除了写代码和测试之外,还包括配置部署环境、制定发布策略、搭建部署自动化,以及理解“基础设施即服务“这些概念。
真正在生产环境里运维,还需要搭好可观测性工具、设置好告警、管理好突发事件。
而版本控制、代码审查、依赖维护、技术债务管理这些编码最佳实践,是让系统能够持续演进下去的基本功。
///
LAST
写在最后
THE END
编码智能体已经改变了我们构建软件的方式。一部分编码知识——比如死记硬背某种语言的语法——确实正在变得不那么重要了。
但那些真正深入理解软件运作原理的开发者,表现依然远远超过那些只凭感觉写代码、却不理解背后原理的人。
理解软件基础知识,能帮你弄清楚软件到底能做什么、不能做什么——这恰恰是你该怎么使用编码智能体、怎么塑造最终产出的重要背景知识。
AI能帮你写代码,但它没法替你判断“什么才是对的选择“。
硅基社|探索 AI 前沿,记录智能进化
聚焦 LLM、大模型、AI Agent、具身智能与 AI+生物医药。
追踪前沿技术,拆解关键进展,观察产业落地。
不只报道 AI,更试图理解 AI 将如何改变世界。
参考资料 · REFERENCES
1. 原文作者:吴恩达(Andrew Ng),Coursera联合创始人、斯坦福大学计算机科学兼职教授、前百度AI团队负责人/Google Brain负责人
既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。
THANKS FOR READING