面向零基础同学的中文讲义
生成式软件工程
从「电脑里的文件是什么」讲到「怎样组织一个能持续交付的系统」。
不需要先会命令行、Linux 或 Git,第 0 部分把这些补上。
这份讲义从哪来
内容整理自两门 2026 年秋季学期的公开课程,把它们合并重写成一条从零开始的主线:
- 《生成式软件工程》,蒋炎岩,南京大学。课程主页,原文遵循 CC BY-NC 4.0 协议。这部分提供了软件工程的原理与历史:意图与规格的缺口、版本管理、需求与架构、Agent 时代的工程判断。
- CS146S: The Modern Software Developer,Mihail Eric,斯坦福大学。课程主页。这部分提供了工程接口与实践:编码 Agent 的内部构造、上下文工程、MCP、技能与配置、常驻助手、持续集成。
两门课各有缺口:一门讲透了为什么,但默认你会用工具;一门讲清了怎么用,却很少解释这些做法背后的软件工程理由。 这份讲义把两者打散重编,按「先补地基、再讲原理、再讲接口、最后做作品」的顺序重排,并补上了两门课都默认已会的基础操作。 正文不再区分出处,每一处观点、案例与数字仍以两门课的原始材料为准;具体出处与版权说明见结课页。
六个部分,二十三篇
按顺序读,或按下面的说明跳到你需要的地方。
第 0 部分 · 打地基(七篇)
零基础同学必须过的第一关。全部操作在 Windows 上完成,不需要重装系统。
第 0 篇怎么用这份讲义三条阅读路线、页面结构、判断自己学会了没有。
第 1 篇电脑里的东西文件、目录、路径、程序,以及输入输出状态。
第 2 篇命令行终端、提示符、当前目录、六个够用的命令。
第 3 篇装软件与看报错PATH 是什么、报错怎么读、卡住时怎么问。
第 4 篇Linux 与远程机器Linux 是什么、SSH 怎么连、命令对照表。
第 5 篇Git:给项目存档从想撤销推出快照,五个命令走一遍。
第 6 篇AI 助手:从聊天到干活聊天与干活的区别,怎么把愿望写成任务。
第 1 部分 · 机器开始会干活(四章)
先建立整体认识:AI 会写代码之后剩下什么,一个 Agent 由哪些零件组成,怎样把任务说清楚,怎样组织上下文。
第 1 章当机器会写代码作品不再证明能力;意图、规格、实现的缺口;垃圾产物的判断标准。
第 2 章Agent 由什么组成一个模型加一个循环加八层外壳,每层解决什么麻烦。
第 3 章把任务说清楚写清「完成」是什么,多约束任务为什么难,验收怎么做。
第 4 章上下文工程上下文是有限资源,放什么、怎么压、怎么评估。
第 2 部分 · 把工具用起来(两章)
第 3 部分 · 管住变化(两章)
第 4 部分 · 工程判断(五章)
第 9 章软件工程从哪来软件危机、阿波罗、被读反的瀑布模型、契约式设计。
第 10 章需求:从愿望到规格教务系统的需求泥潭,一个特殊值如何让系统瘫痪。
第 11 章换一种表示:架构第一课汉诺塔三种写法、中间表示、解空间。
第 12 章分层与分工UNIX 哲学、数据库、网络分层、MVC 与事件溯源。
第 13 章状态、历史与一致性只存当前状态的局限,把事实与计算分开。
第 5 部分 · 系统与运行(三章)
第 14 章让检查持续发生持续集成、有检查与检查有约束力的区别、失败案例。
第 15 章运行环境:Harness150 行循环的第一次翻车、幂等性、插件与冲突。
第 16 章常驻助手与自动化长期在线带来的状态、排队、重试与费用问题。
收尾
一条主线
整份讲义围绕一件事展开:把想法变成能用的软件,这件事的成本正在剧烈下降,而把它做对的难度没有下降,只是换了位置。
换到了哪里?换到了判断上。能写代码的人越来越多,能说清楚「要做什么」「做到什么程度算完成」「出错时怎么发现」的人依然很少。 这份讲义把这件事拆成一条链:先把工具备好,再理解机器能做什么,然后学会描述任务、组织上下文、管住变化,最后建立工程判断与运行系统。
flowchart LR A["第 0 部分
备好工具"] --> B["第 1-2 部分
理解机器
学会描述任务"] B --> C["第 3 部分
管住变化"] C --> D["第 4 部分
建立判断"] D --> E["第 5 部分
组织系统"] E --> F["做出作品"]
开始之前
- 一台普通笔记本。Windows 10 以上即可,不需要高配置,不需要 Mac,不需要服务器。
- 一个能用的 AI 助手。网页版也行,能读文件、能执行命令的更好。
- 学过一门编程入门课。知道变量、循环、函数是什么就够,不要求写过项目。
- 大约四十小时。完整读完并做完练习的时间;只读不做大约十小时。
现在就做
打开第 0 篇,读完三条阅读路线,选一条,然后直接开始。
不需要先看完整个目录,也不需要等准备好。