Andrew Ng · AI Engineering Skills Map · Part 2

Agentic Coding 时代的软件工程基础

基于 Andrew Ng 2026-08-28 发布的《AI Engineering Skills Map: Software engineering fundamentals》整理,并扩展为一份可学习、可实践、可用于项目 Review 的中文技术手册。

Agentic Coding Full Stack Data System Design Security Production
原始 X:2026-08-28 主题:Software Engineering Fundamentals 目标:从“会让 AI 写代码”升级到“会让 AI 做正确工程决策”
01

结论先行:AI 淘汰的是语法负担,不是工程判断

一句话:当 Coding Agent 可以快速生成大量代码时,工程师的核心价值从“亲手实现多少代码”迁移到“能否给出正确上下文、识别工程取舍、验证系统行为并持续演进架构”。
更不重要死记 API、语法、模板代码、重复 CRUD。
更重要架构、数据、安全、可靠性、性能、成本之间的权衡。
最关键知道 Agent 做错了什么,以及应该给它什么约束才能做对。

Andrew Ng 的核心判断

即使代码全部由 Coding Agent 编写,开发者仍需要理解软件底层工作方式。否则 Agent 会替你做出大量你甚至不知道已经发生的决策:延迟、可用性、一致性、可靠性、可维护性、复杂度和成本都可能被错误权衡。

因此,Vibe Coding 可以帮助初学者快速做出 Demo,但不能自动得到生产级工程质量。

02

原文背景:AI Engineering Skills Map 的第二个分支

AI Engineering Skills Map
├─ 1. Building & Deploying AI Applications
│ └─ LLM / Grounding / Agent / Evals / Production / ML
├─ 2. Software Engineering Fundamentals ← 本文重点
│ └─ Full Stack / Data / Architecture / Security / Production
├─ 3. Using Coding Agents
└─ 4. Shaping the Build

Andrew Ng 在 2026-08-14 首次发布整体技能图,2026-08-21 细化“构建与部署 AI 应用”,2026-08-28 继续细化“软件工程基础”。

03

软件工程基础:5 个必须掌握的能力块

能力你要真正理解什么Agent 能帮什么人必须负责什么
全栈应用前后端边界、API、认证、状态、异步、测试、可访问性快速实现陌生层代码定义组件边界与交互契约
数据管理模型、访问模式、事务、并发、一致性、生命周期Schema、迁移、查询优化建议决定数据语义和长期结构
系统架构分解、状态放置、单体/微服务、技术栈、演进路线生成方案、POC、基准测试做业务上下文驱动的 Trade-off
安全可靠测试策略、故障模式、降级、Blast Radius、威胁模型扫描漏洞、补测试、审依赖确定风险边界和安全目标
生产扩展CI/CD、发布、可观测性、告警、事故、容量、扩容配置、脚本、Runbook 草稿判断真实负载和运维策略
04

全栈应用:Agent 让“跨栈”更容易,但理解边界更重要

为什么全栈能力重新变得重要?

过去一个工程师可能只负责前端、移动端或后端。Agent 可以补足陌生技术栈的实现细节,因此个人能覆盖更大的系统范围。但覆盖范围扩大后,你更需要知道每一层究竟承担什么职责。

前端必须理解

  • 组件边界与状态管理
  • CSR / SSR / Streaming / Hydration
  • 缓存、性能、可访问性
  • 客户端安全边界

后端必须理解

  • API 设计与版本化
  • 认证、授权、Session
  • 同步 vs 异步任务
  • 事务、幂等、错误处理
学习目标:不要追求“每个框架都熟”,而要做到看到 Agent 生成的实现时,能够判断它把状态放错层、把鉴权放错位置、把同步任务写成阻塞流程等问题。
05

数据管理:Agent 时代最容易被低估、最难返工的一层

Andrew Ng 特别强调数据,因为数据结构一旦进入生产环境,改变成本通常比代码更高。AI 应用又更依赖数据提供上下文,所以错误的数据架构会直接限制 Agent“能够知道什么”。

问题你应该思考常见错误
存什么?访问模式、业务语义、保留周期看到 JSON 就直接塞 Document DB
怎么建模?关系、文档、KV、图各自适用场景让 Agent 根据“方便写代码”选数据库
一致性?事务、并发、幂等、最终一致性只验证单用户 happy path
数据质量?完整、准确、新鲜、可追溯RAG 出错后只改 Prompt
生命周期?创建→访问→归档→删除→审计无限保存所有 Agent Memory

Agent 系统新增的数据问题

传统系统:数据主要服务人和业务逻辑。
Agent 系统:数据还要服务检索、上下文构造、Memory、工具调用与可验证性。

因此需要额外关注:数据切片粒度、语义索引、元数据、权限过滤、时间新鲜度、来源引用、Agent Memory 的写入与过期策略。

06

系统架构:真正难的是“选择”,不是“生成”

传统编码瓶颈

方案知道怎么做,但实现时间长。

Implementation Cost
→

Agentic Coding 瓶颈

实现很快,但错误架构也能被很快地实现出来。

Decision Quality

架构决策至少要回答 6 个问题

  1. 用户规模和峰值流量是多少?
  2. 延迟目标是什么?哪些路径必须实时?
  3. 成本约束是什么?按请求还是按任务计费?
  4. 系统失败时可以损失什么、不能损失什么?
  5. 状态放在哪里?谁是 Source of Truth?
  6. 当前阶段是 Demo、MVP、生产初期还是规模化?
重要:架构不是一次性答案。Prototype 的最佳架构、第一版生产架构、规模化架构可能完全不同。成熟工程能力包括“知道什么时候该升级架构”,而不是一开始就上微服务。
07

安全与可靠性:AI 可以扫描,但风险模型仍需人定义

可靠性

  • 单元测试 / 集成测试 / E2E 的合理组合
  • Rate limit、超时、重试、熔断
  • Graceful Degradation
  • 幂等与重复执行保护
  • 限制故障 Blast Radius

安全

  • 认证与授权
  • 输入验证和输出编码
  • Secret / Token 管理
  • 供应链与依赖风险
  • 云配置和最小权限

Agent 系统还需要额外关注

  • Prompt Injection 与不可信外部内容
  • 工具调用权限与高风险操作审批
  • 数据外泄与跨租户上下文污染
  • 长程任务中的权限漂移
  • Agent 错误循环导致成本或副作用放大
08

生产与扩展:能跑 ≠ 能上线,能上线 ≠ 能长期运营

STEP 1 · BUILD
构建与测试

本地验证、自动化测试、静态检查、依赖检查。

STEP 2 · RELEASE
发布策略

CI/CD、环境配置、灰度、Canary、Rollback。

STEP 3 · OBSERVE
可观测性

日志、指标、Trace、业务 KPI、Agent trajectory。

STEP 4 · OPERATE
告警与事故处理

阈值、异常检测、Runbook、复盘。

STEP 5 · SCALE
容量与扩展

负载均衡、缓存、索引、复制、分片、架构演进。

09

Agentic Coding 到底改变了什么?

以前现在新的核心能力
记住语法并手写实现Agent 生成大部分实现规格、上下文、约束
实现速度是瓶颈验证速度变成瓶颈测试、Review、Evals
跨栈成本高个人可以覆盖更完整系统全局系统理解
重构成本高修改代码更便宜仍需管理数据与兼容性
写错代码慢慢积累Agent 可高速制造技术债架构守门与自动化验证
工具主要辅助人Agent 可以直接操作工具权限、审计、执行边界
最值得记住的迁移:
Code Generation → Context Engineering → Engineering Judgment → Verification → Operation
10

推荐工作流:不要让 Agent“直接开始写”

需求 / Problem
    ↓
约束:用户量、延迟、成本、安全、数据
    ↓
Architecture Decision / ADR
    ↓
让 Agent 先探索代码库与现状
    ↓
Implementation Plan
    ↓
Agent 分阶段实现
    ↓
Tests + Static Checks + Security Checks
    ↓
人工 Review:Trade-off / Boundaries / Failure Modes
    ↓
Deploy / Observe / Feedback
    ↺

给 Coding Agent 的工程上下文模板

Goal:
  要解决什么业务问题?

Current Architecture:
  现有系统边界、依赖、Source of Truth。

Constraints:
  Latency / Cost / Scale / Reliability / Security / Compliance。

Non-goals:
  本次明确不做什么。

Data:
  数据模型、访问模式、一致性要求。

Failure Modes:
  外部 API 失败、重复执行、超时、权限不足时怎么办?

Verification:
  必须通过哪些测试、指标或人工验收?
11

Trade-off 决策框架:Agent 给方案,人决定取舍

维度关键问题验证方式
LatencyP50/P95/P99 目标?实时还是异步?Benchmark / Trace
Availability允许多少停机?依赖挂了怎么办?SLO / Chaos Test
Consistency是否必须读到最新状态?并发/事务测试
Reliability失败后能否重试?是否幂等?Failure Injection
Maintainability半年后别人能否修改?Code Review / Complexity
Simplicity能否先用更简单架构?依赖数 / 服务数 / 运维面
Cost每用户、每请求、每 Agent Task 成本?Cost Model
Security最坏情况下会暴露/破坏什么?Threat Model
12

6 周学习路线:用 Agent 学工程,而不是绕过工程

WEEK 1
全栈请求链路

完成一个前端 → API → DB → 返回 UI 的完整应用;重点解释每层职责、认证、状态和错误传播。

验收:能画出请求链路,并解释任意一步失败时系统如何表现。
WEEK 2
数据建模与并发

关系库建模、索引、事务、幂等;让 Agent 生成三种 Schema,再自己做 Trade-off。

验收:能解释为什么选择此模型,而不是“Agent 推荐的”。
WEEK 3
系统设计

同一个产品分别设计 Prototype / Production / Scale 三个阶段架构。

验收:每次增加复杂度都必须有明确触发条件。
WEEK 4
安全与可靠性

加入鉴权、Rate Limit、Retry、Timeout、Circuit Breaker、审计日志和核心测试。

验收:主动制造 5 种故障,系统不能静默失败。
WEEK 5
生产工程

容器化、CI/CD、环境隔离、日志、Metrics、Trace、告警和回滚。

验收:一次错误发布可以快速发现并回滚。
WEEK 6
Agentic Engineering

让 Coding Agent 承担大部分实现,但要求每次先读架构约束、输出计划、执行测试和提交 Review 证据。

验收:你能指出 Agent 至少 3 个“代码正确但工程决策不佳”的问题。
13

实战项目:构建一个生产级 Agent Task Service

项目目标

做一个“用户提交任务 → Agent 异步执行 → 调用工具 → 保存 trajectory → 返回结果”的服务。重点不是模型效果,而是把 Andrew Ng 提到的 5 个软件工程能力全部串起来。

必须实现

  • Web UI + REST/Streaming API
  • 用户认证与权限
  • Task / Step / ToolCall 数据模型
  • 异步队列与任务状态机
  • 重试、超时、幂等
  • 日志、Trace、Token/Cost 统计

必须 Review

  • 为什么不是同步执行?
  • 为什么用当前数据库?
  • Agent 重复调用工具怎么办?
  • 任务执行一半进程挂了怎么办?
  • 如何限制高风险工具?
  • 如何从 10 QPS 扩到 1,000 QPS?
14

面试 / 自测:是否真正掌握,而不是“会 Vibe Coding”

10 个关键问题

  1. 什么时候应该用队列而不是同步 API?
  2. 如何保证支付或 Agent Tool Call 不被重复执行?
  3. Redis、Postgres、Document DB 分别适合什么访问模式?
  4. 什么时候单体架构优于微服务?
  5. 如何设计一个可回滚的数据库 Schema 变更?
  6. 外部 LLM API 连续超时,你的系统如何降级?
  7. 你会监控哪些指标来判断 Agent 服务“健康”?
  8. Prompt Injection 为什么不仅仅是 Prompt 问题?
  9. Agent 生成了通过测试的代码,为什么仍可能不能上线?
  10. 如何让 Coding Agent 证明它完成了任务,而不是只说“已完成”?
能力标准:如果回答主要是“用某某框架/工具”,说明还停留在工具层;如果能说清约束、失败模式、Trade-off、验证证据,才进入真正的软件工程层。
15

来源与延伸阅读

说明:本文把 Andrew Ng 原文的 5 个软件工程能力块作为骨架;“Agent 系统新增问题、工作流模板、Trade-off 表、6 周路线和实战项目”为便于学习和落地而做的扩展分析。

页面格式严格遵循《html_UI 设计规范.md》:240px 固定侧边栏、900px 内容区、白底/米白背景、蓝紫单一强调色、Card / Callout / Chip / Hierarchy / Timeline / 对比表格 / IntersectionObserver。

← 返回内容索引