AI Engineering Skills Map: Software engineering fundamentals
AI 工程技能图谱:软件工程基础
阅读来源:Andrew Ng 原文(2026-08-28)。
这是一篇学习笔记:前半部分归纳原文,后半部分把它翻译成日常使用 Coding Agent 时可以执行的检查问题。
这张图最值得记住的,不是「AI 已经会写代码」,而是它把问题换了:当实现速度被 Agent 放大后,工程师更需要知道系统究竟在为什么做取舍。
Agent 可以生成一个看起来合理的方案,但它不会自动知道这次更在乎延迟还是成本、可以牺牲多少一致性、哪些数据不能丢、一次失败会影响谁。甚至在缺少工程基础时,人可能意识不到这些维度本来就需要被选择。
所以,软件工程基础没有被 AI 消掉;它从「亲手写出每行语法」更明显地转成了「定义约束、提供上下文、判断权衡、验证结果」的能力。
这张图在讲什么
Ng 的 AI Engineering Skills Map 有四个一级分支,并把持续学习放在共同底座上:
| 一级能力 | 它解决的问题 |
|---|---|
| 构建与部署 AI 应用 | 怎样把不确定的模型能力做成可用、可测、可运行的产品。 |
| 软件工程基础 | 怎样理解系统组成与工程权衡,并把正确的约束交给 Agent。 |
| 使用 Coding Agent | 怎样管理上下文、计划、验证、自主程度与多 Agent 协作。 |
| 塑造构建方向 | 怎样从用户、业务与项目所有权出发,决定值得构建什么。 |
本文展开的是第二项。它不是一张「所有人都要立刻精通」的课程清单,而是一张当 Agent 帮我们跨越专业边界时,用来发现盲区的地图。
五项软件工程基础
| 能力 | 真正要理解的,不是框架名,而是系统问题 | 交给 Agent 前要说清什么 |
|---|---|---|
| 全栈应用 | UI、渲染、缓存、API、认证、状态/会话、异步、持久化、测试、安全与可访问性怎样协同。 | 这次改动跨哪些层;接口、状态和验收边界是什么。 |
| 数据管理 | 访问模式、生命周期、事务、并发、一致性、新鲜度、隐私与迁移。数据往往是最难回头的基础。 | 存什么、存多久、谁能读写、迁移与回滚约束。 |
| 系统架构 | 用户规模、状态位置、边界划分、延迟、可用性、可靠性、可维护性、简单性与成本之间怎样取舍。 | 当前处于原型、首个生产版还是规模化;哪一个指标优先。 |
| 安全与可靠性 | 测试组合、故障模式、优雅降级、权限和爆炸半径。 | 不能越过的权限边界;失败时的预期行为与验证证据。 |
| 生产扩展与运行 | 发布策略、CI/CD、可观测性、告警、事故响应,以及基于真实负载的扩容。 | 部署环境、SLO、发布/回滚路径、容量和成本目标。 |
这五项的共同点是:它们都不是「让 Agent 代写一段代码」就会自然完成的事。Agent 可以帮我们查代码、生成候选方案、补测试、跑命令;但需要优化什么、可以牺牲什么、什么证据才能放行,仍需要人来定义。
Coding Agent 时代,工程师的工作重心如何变化
记忆语法、机械地拼接 API,这类能力的相对价值会下降。相对变得更重要的,是下面三件事:
-
把目标翻译成约束。 不只说「做一个导出功能」,还要说明数据范围、权限、可接受延迟、失败体验与不做什么。
-
把隐性权衡显式化。 例如「先上原型」可能优先速度和简单性;进入生产后,认证、审计、回滚与可观测性就不再是可选项。
-
把完成翻译成证据。 不以「Agent 说做完了」为验收,而以测试、真实环境操作、日志/指标、评审和回滚方案为依据。
换句话说:AI 让实现吞吐更大,也让错误的默认选择更容易被放大。工程基础的作用,是让我们有能力指出这些默认选择不适合当前场景。
把技能图谱变成一次开工前检查
我会把五项基础压缩成四个问题,放在让 Agent 开始改动之前:
1. 现在处于原型、生产,还是规模化阶段?
2. 这次最优先的质量属性是什么:速度、可靠性、安全、成本,还是可维护性?
3. 哪些数据、权限、接口或运行约束绝不能被默认改变?
4. 什么测试、真实操作或运行证据足以证明这次可以放行?这不是一份万能 Prompt。它的价值在于:先迫使人做出自己该做的判断,再把判断交给 Agent 扩大执行能力。
对于前端,它可以落到状态边界、渲染和可访问性;对于后端,落到 API、数据、并发与认证;对于测试,落到失败模式与可复验证据;对于产品,落到用户价值、风险与可接受的权衡。每个人不必先掌握所有细节,但需要逐步建立一张能跨栈提问的地图。
不应该怎样理解它
- 不是「Vibe Coding 没有价值」。 原型和低风险探索依然可以快速试错;只是当任务进入共享数据、权限、生产运行或不可逆操作时,必须增加工程约束与验证。
- 不是「每个人都必须立刻成为五项专家」。 这张图更适合指导学习顺序:先能看见跨栈依赖,再逐步补上关键环节的判断力。
- 不是「Agent 可以承担结果责任」。 Agent 可以参与分析、实现和验证;对场景、权衡和最终放行负责的,仍是使用它的人和团队。
本站关于 Vibe Coding 与 AI Pair Programming 的分类,是对这张图的实践性应用:前者更适合用真实体验快速发现方向;后者更强调用意图、约束与证据守住工程边界。它不是 Ng 在原文中定义的一套二分法。
我的当前结论
AI Native 全栈,不是要求一个人背下所有技术栈的语法;而是当 Agent 帮你穿过陌生技术栈时,你仍然知道该问什么、该约束什么、该验证什么。
Agent 放大实现能力;软件工程基础决定这份能力会把系统带向哪里。
相关
参考来源
- Andrew Ng:The AI Engineering Skills Map(总图;四个一级分支与持续学习底座)
- Andrew Ng:AI Engineering Skills Map: Software engineering fundamentals(本文主要来源;五项软件工程基础)
- Andrew Ng on AI Engineering — A Visual Guide to the Skills Map:便于浏览的二级解读。该页面自述为 AI 生成的重组与解释,不是 Andrew Ng 或 DeepLearning.AI 的官方逐字稿;本文不以它作为事实归因来源。