每个程序员都需要的AI编程时代的软件工程范式
摘要:AI 编程真正的分水岭,不是提示词,也不是工具数量,而是从 Vibe Coding 走向以 Context、Intent、Specification 为核心的软件工程范式。
我自己 AI 编程实践了几个月的时间之后,之前每天都在追赶最新的各种概念、技术、模型、工具 等等,从一开始的轻微 FOMO (Fear of Missing Out),到逐步的去芜存真,透过各种纷杂的表面去看本质。
-
• 最早是:智能提示、补全,最早使用 Github Copilot,感觉能猜到我的意思一样,自动补全的不仅仅是某个函数名称,而是一段代码块,就觉得比自己写要快一些,节省了不少手写的时间,但是也没那么经验,也就那么回事而已。 -
• 到了 YOLO / Vibe Coding ,有种当下真好的感觉,无与伦比的正反馈,以前感觉很复杂的事情,只有一个团队的配置,多角色多工种协作的方式,按照传统软件工程的方式,才能完成的项目,现在真的是可以一个人搞定: -
• UI 设计,我用 pencil、google stitch,还能自动生成各种变种设计,要啥设计师啊 -
• 终端,感觉巨复杂的开发环境和工具配置,在 AI 的帮助下,1 个小时搞定了 -
• 各种工具、命令脚本,一句话搞定了,再也不用担心记不住命令、查参数或者用 man 命令了 -
• 代码生成的速度,不用自己搬砖了,几天的代码量,1 小时不到搞定 -
• 直到,发现 AI 搞了各种屎山代码,缺乏结构,各种漂移的发生,也逐步认识到 AI 的短板和不足 -
• 到现在的基于Agentic ,提示词已经没那么重要了,Context 和 Harness,当行其道
因此,最近也越来越觉得完美驾驭 AI编程 不是一件容易的事,我预测有些团队今年早晚会遭到 AI 编程的反噬,甚至我听说有些公司,都是运动式的全面拥抱 AI,各种认证,总感觉嗅到了几年前熟悉的味道,那么结果也是必然的。
其实去年就发现了这个斯坦福的课程,最近又重新看了看,越来越觉得工程在 AI 时代的重要性,最强大的大模型,也是经常各种故障,一旦 ChatGPT、Claude Code、Google Gemini 有故障,基本上全球的程序员都无法干活了。工程,本质上就是通过系统性的方法,去消除风险、不确定性,进而提升确定性。
那么斯坦福的这个 cs146s 课程,我觉得也是堪称AI 时代软件工程范式的最新教科书了。
我用 AI 生成了这个课程的大纲,也建了一个公共的 NotebookLM 笔记,汇总了 90 个资源,包括课内课件和相关资料,你可以在 NoteboolLM 中自己问答、提问、学习,或者生成自己想要的 PPT、视频/音频等等。 可以关注这个公众号,输入“课程”,发你 NotebookLM 的共享笔记本链接。包括 AI 编程的方方面面,以及课程本身的 Slides 和各种参考。
斯坦福 CS146S 课程完整幻灯片总结:The Modern Software Developer
Summary
目标受众:掌握 AI 工具并向“AI Agent 管理者”转型的现代软件工程师核心理念:良好的代码只是良好上下文的副产品(Good context leads to good code)
🚀 Slide 1: 课程总览与软件开发的演进
The Modern Software Developer
-
• 在过去几年中,Large Language Models (LLM) 引入了软件开发的全新范式。 -
• 软件工程正在从从头编写代码,转变为“计划、AI 生成、修改并重复”的迭代工作流。
团队演进史
-
• 过去:单人开发者 -> 专业化软件团队 -> AI 辅助的开发团队(如使用 Copilot) -
• 2025 及未来:单名开发者管理众多 AI Agents 产出的多 Agent 协作系统(Agent manager)
开发者的新定位
-
• 你不会被 AI 取代,而是会被一个懂得如何使用 AI 的胜任工程师所取代。
🧠 Slide 2: 第 1 周 – LLM 基础与提示工程 (Prompt Engineering)
LLM 是如何炼成的 (Training Process)
Pre-training(预训练)
-
• 通过海量互联网数据(语言和代码)训练模型的“下一个 Token 预测”能力。 -
• 构建世界知识的基础模型。
SFT(监督微调)
-
• 通过高质量的提示-响应对(Prompt-response pairs)教导模型遵循指令。 -
• 塑造助手人格。
RLHF(基于人类反馈的强化学习)
-
• 通过对推理步骤进行偏好调整,让模型学会如何评估逻辑、自我反思和纠错。
核心 Prompting 技巧
Zero-shot / K-shot
-
• 直接请求或提供少量示例(In-context learning)。
Chain-of-Thought (CoT)
-
• 通过 <think>标签或“一步步思考”强制展示逻辑链。 -
• 非常适合编程和数学任务。
Self-consistency
-
• 多次采样并聚合最常见结果。 -
• 通过模型集成(Model ensembling)减少幻觉。
Retrieval Augmented Generation (RAG)
-
• 将动态的上下文数据注入 LLM。 -
• 在不重新训练的情况下保持信息最新并减少幻觉。
Reflexion
-
• 让模型对输出进行批判和自我修正的多轮提示技术。
⚙️ Slide 3: 第 2 周 – 编码 Agent 的剖析与 MCP
Agent 的核心架构
-
• LLM 本身只是一个没有手的“大脑”。 -
• AI Agent 则是将 LLM 作为一个组件,结合 Orchestrator(编排器)、Tools(工具)、Memory(记忆)和 Policies(策略)的外部软件系统。
Model Context Protocol (MCP)
定义
-
• MCP 是一个开放标准协议,旨在为 AI 模型提供上下文和工具,使其能够与现实世界进行交互。
运作流程 (Flow)
-
• MCP Client 向 MCP Server 请求工具列表 -
• Server 返回包含工具模式的 JSON -
• Host 将其注入模型的上下文 -
• 模型生成结构化 Tool call -
• Server 执行并恢复对话
RAG 与 Tool-calling
-
• 鉴于 LLM 的世界知识是静态的,利用工具调用与外部 API 或 MCP 交互,是我们目前获取动态数据的最佳方式。 -
• 典型场景包括 Jira 看板、实时报错等。
💻 Slide 4: 第 3 周 – AI IDE 与上下文工程 (Context Engineering)
AI IDE 的底层原理
Tab-complete(内联补全)
-
• 围绕当前代码的小型加密上下文窗口。 -
• 由 Server 接收并运行填充 LLM,极速返回建议。
Chat(聊天)
-
• 将代码块作为 Embeddings 存储在语义索引中。 -
• 利用 Merkle 树进行高效更新。 -
• 通过检索(RAG)将最相关的代码块喂给 LLM 作为上下文。
最佳实践 (Best Practices)
Spec is the new source code
-
• 规格说明(Prompt)正在成为新的源代码。 -
• 生成的代码只是意图的“有损投影(lossy projection)”。
Repo Orientation
-
• 使用 claude.md、.cursorrules或AGENTS.md帮助 LLM 导航代码库。 -
• 记录常见的 Bash 命令、核心工具函数、代码风格和测试指令。
🕹️ Slide 5: 第 4 周 – 编码 Agent 模式 (Coding Agent Patterns)
指挥 Agent 的核心技术
Hooks
-
• 在特定事件(如 PreToolUse或PostToolUse)触发时运行的确定性脚本。
Commands
-
• 自定义指令体系。
Subagents
-
• 在运行时进行任务委托(Runtime delegation)。 -
• 为前端、后端等不同类型的工作创建独立的开发者 Persona。 -
• 干净地隔离各自的工作流上下文。
工作流模式
Human-in-the-loop
-
• 人类负责制定高层次架构和验证。 -
• 将执行层面的繁重工作异步委托给 Agent。 -
• 通过测试(Test suites)作为边界护栏。
⌨️ Slide 6: 第 5 周 – 现代 AI 终端 (The Modern Terminal)
UX/UI 范式转变
-
• 随着自动化工具的进化,Chat 已经成为开发者环境中的 First-class citizen。 -
• 交流意图(Intent)比编写语法更加重要。
Vibe Coding vs Strategic Agent
YOLO / Vibe coding Agent
-
• 不受约束,速度极快。 -
• 用于快速生成原型和试验。 -
• 但缺乏结构。
Strategic Agent
-
• 步步为营,高准确率。 -
• 适合需要审计的核心生产代码开发。
工具与配置整合
-
• 工具必须提供极低门槛的入门体验(Ergonomics)。 -
• 同时具备让高级用户(Power users)定制提示词、专有规则和灵活切换大模型的能力。
🛡️ Slide 7: 第 6 周 – AI 测试与安全 (AI Testing and Security)
新的安全防线
Good
-
• 利用 AI Agent 的能力改进传统的 SAST(静态分析)、DAST(动态分析)和 SCA 测试流程。
Bad
-
• 必须警惕针对 Agent 的新攻击向量。 -
• 包括 Prompt Injection、系统侦察、过度授权(Excessive Agency)和工具代理利用。
防御机制
-
• 通过在流水线中结合人类安全审查机制(Human diligence)。 -
• 防止 AI 引入关键的安全漏洞或产生回归。
👀 Slide 8: 第 7 周 – 现代软件支持与 AI 代码审查 (Code Review)
代码审查的核心目的
-
• Alignment confirmation(确认对齐) -
• Knowledge diffusion(知识扩散) -
• Proofreading(校对)
AI vs 人类 (Limits of AI)
AI 的优势
-
• 极其擅长捕捉逻辑错误、性能瓶颈、可读性问题。 -
• 能够应用项目级标准(如 Graphite Agent)。
AI 的局限
-
• 难以理解深度的组织历史(Institutional memory)。 -
• 难以处理高度模糊的业务逻辑。 -
• 人类必须保留对架构和关键路径的最终合并决定权(Human in the loop)。
In the Limit 的演进
-
• AI 正在让 Inner loop(代码编写与调试)快上 10 倍。 -
• 接下来 Outer loop(代码审查与协作部署)也将被 AI 彻底改变。
三种演进路径
-
• Cyborg:AI 增强人类审查 -
• EM:人类管理 AI 的架构 -
• Agency:AI 作为全职第三方承包商
🎨 Slide 9: 第 8 周 – 自动化 UI 与应用构建 (Automated UI & App Building)
从 Vibe Coding 到可靠部署
-
• 使用诸如 Vercel v0、Lovable 和 Replit 等工具。 -
• 只需通过 Prompt 就能在数小时内生成完整的、基于 React/Next.js 的全栈应用程序雏形。
核心质量控制系统 (Autofixers)
Stream manipulation
-
• 拦截过时或不存在的 API 调用。 -
• 替换为有效代码。
Real-time error detection
-
• 在后台运行小而快且便宜的 LLM。 -
• 捕捉语法缺失等“愚蠢的错误 (silly mistakes)”。
Data-driven finetuning
-
• 利用生产环境中的真实错误历史对开源模型进行强化学习微调。 -
• 防止重复犯错。
🚨 Slide 10: 第 9-10 周 – 部署后的 Agent 与未来系统运维
SRE 的演进
-
• 从传统的 Sysadmin(手动管理运维)。 -
• 到 Site Reliability Engineering (SRE)(用写代码的方式解决运维问题)。 -
• 如今正在迈向 AI SRE(如 Resolve AI、Datadog Bits AI Agent)。
Multi-agent Systems 的必要性
问题
-
• 现代微服务和多云架构极其复杂。 -
• 单体 LLM 无法应对这种“不可简化的相互依赖性 (Irreducible interdependence)”。
解决方案
-
• 部署多个具备专业能力的 Multi-agent systems。 -
• 例如数据库 Agent、日志 Agent、警报 Agent。 -
• 并行测试排障假设,快速锁定根本原因(Root Cause Analysis)。
🔮 Slide 11: 总结与 AI 软件工程的未来 (Future Paradigms)
三大工程学科演进
Context Engineering(上下文工程)
-
• 不仅仅是 Prompt 调优,而是设计 AI Agent 决策的完整信息环境。 -
• 包括提取、压缩、过滤。 -
• 防止长对话导致的“上下文腐烂 (Context Rot)”。
Intent Engineering(意图工程)
-
• 将组织的目标、价值观和权衡优先级编码到 Agent 的基础设施中。 -
• 确保 Agent 不仅“知情”,更“有方向”。
Specification Engineering(规范工程)
-
• 将企业的隐性知识转化为机器可读的基础设施。 -
• 彻底淘汰模糊的开发流程。
终极启示
-
• 未来的软件工程师将转型为 Agentic AI 的管理者。 -
• 通过专注于最高杠杆的高层系统架构验证和业务定义,实现超越以往几个数量级的生产力。
关注我,输入“课程”,发你 NotebookLM 笔记本的链接,一共90 个资源,包括 AI 编程的方方面面,以及课程本身的 Slides 和各种参考。
夜雨聆风