生成式软件工程
搜索
开始阅读/收尾/结课与内容来源

结课与内容来源

读到这里,你已经把一条从「文件是什么」到「怎样组织一个能持续交付的系统」的路走了一遍。

这一页讲什么
  • 整份讲义的主线回顾与六部分之间的关系;
  • 三样希望你能带走的东西;
  • 接下来往哪个方向继续学;
  • 本讲义与线上部署的内容来源、作者、协议与版权说明。

一、回看这条线

整份讲义围绕一句话展开:把想法变成能用的软件,成本正在剧烈下降,而把它做对的难度没有下降,只是换了位置。 换到了判断上。

第 0 部分打地基文件、命令行、装软件与看报错、Linux、Git、AI 助手。这一部分是后面所有内容的前提,做完之后你手上有一套能用的工具。
第 1 部分机器开始会干活作品不再自动证明能力;一个 Agent 由八层外壳组成;把任务说清楚;组织上下文。这一部分建立整体认识。
第 2 部分把工具用起来接上外部世界,把反复用到的做法存成文件。这一部分把认识变成可操作的配置。
第 3 部分管住变化给项目拍快照,让改动有身份,让并行协作可控。这一部分解决「改坏了怎么办」。
第 4 部分工程判断软件工程的历史、需求、表示、分层、状态与历史。这一部分是全部内容里最难替代的部分,也最不容易被工具取代。
第 5 部分系统与运行持续检查、运行环境、常驻自动化。这一部分把前面所有内容落到一个真实运行的系统上。

二、三样带走的东西

课程材料里有一组说法,把这件事讲得很直接:信息差、承担后果、组织协作。这份讲义希望你在三方面都往前走一步。

第一样:知道这件事可能在哪一层被解决

网页上的重复操作可以由浏览器调试接口解决,不必逐个猜像素;一个批量改名不必写程序,用命令行一行就够; 一个查询慢,可能是索引缺失、可能是算法不对、也可能是需求本身没必要这么做。 知道有哪些层,才能把任务交给合适的工具,也才能在 AI 给出方案时判断它停在了哪一层。

第二样:做了决定之后敢承担后果

这是 AI 时代最稀缺的部分。工具可以生成一百个方案,但选哪个、上线之后谁负责、出错时先回滚还是先修, 这些决定仍然要有人来做。第 9 到 13 章讨论的契约、需求、架构、状态,讲的都是同一件事:把决定的后果控制在可承受范围内。

第三样:能把人、工具和反馈组织起来做成一件事

第 14 到 16 章讲的就是这件事:让检查自动发生、让运行环境可依赖、让助手长期在线且不闯祸。 一个人加一套配置良好的工具,能完成的规模已经超过几年前的小团队,前提是你知道怎么把它们组织起来。

一句提醒 这份讲义里所有的判断标准,都需要你在真实项目上用过一次才算真正掌握。 读完不等于学会,做出作品才算。如果你还没有开始那个作品,现在去开个头比再读一遍更有用。

三、接下来往哪走

按你现在的状态,有三个方向可以继续。

方向适合谁怎么开始
把一个作品做深已经跟着作品页做出了第一版给它加上检查与自动化,让它从「能跑」变成「能用」;把踩过的坑写成技能文件。
补系统基础想弄清「为什么这样设计」背后的原理操作系统、计算机网络、数据库三门课的核心概念,在这份讲义第 12、13、15 章都出现过影子,系统学一遍会豁然开朗。
参与真实项目想验证自己的能力是否够用找一个开源项目,从修一个小 bug 开始。读懂别人的架构、遵守没写明的约定、接受代码评审,这三件事在真实项目里学得最快。

四、内容来源

这份讲义的全部知识内容整理自两门 2026 年秋季学期的公开课程。它们的原始材料是这份讲义的唯一依据, 本讲义做的是重组、翻译、补基础与面向零基础读者的改写。

《生成式软件工程》

CS146S: The Modern Software Developer

五、改编说明与版权

两门课程的原听众是计算机专业高年级学生或已经工作的工程师。本讲义做了三类改动:

  1. 补基础:新增第 0 部分七篇,覆盖两门课都默认已会但零基础读者不会的操作。
  2. 降门槛:术语首次出现给白话解释,每个原理配一个能亲手验证的最小操作,案例尽量换成校内场景。
  3. 去条件:删去依赖校内账号、特定机房、付费额度才能完成的环节,保留普通笔记本上可复现的部分。

正文中不再逐段标注出处,是为了让读者把注意力放在知识本身。所有观点、案例与数字均来自上述两门课程的公开材料, 如果与原始材料有出入,以原始材料为准。

引用与再使用请注意:南京大学课程材料遵循 CC BY-NC 4.0 协议,要求署名并禁止商业用途; 斯坦福课程的课件与作业版权归课程方及各自作者。转载本讲义前请先核对原始协议。

六、下一步

如果你还没有做完那个作品,回到作品页,挑一个方向,从第一步开始。做完之后, 用那里给出的评估办法跑一次对比,看看自己搭的框架是否真的比直接做一次更好。

如果你已经做完了,把它用起来。真正检验一个工具的标准,是你是否愿意在往后的日常里继续打开它。

现在就做 回到第 0 篇里你写下的那张纸,读一遍当初写的第三行:「我希望读完这份讲义能做出什么」。
对照现在的情况,写下三行:做到了什么、没做到什么、接下来一个月打算做什么。
把这张纸收好。半年后再看一次,会比任何成绩单都更清楚地告诉你学到了什么。

自测

1. 这份讲义的知识内容来自哪里?
整理自两门 2026 年秋季学期的公开课程:南京大学蒋炎岩的《生成式软件工程》与斯坦福大学 Mihail Eric 的 CS146S《The Modern Software Developer》。前者提供软件工程原理与历史,后者提供工程接口与实践,本讲义将两者打散重排并补上零基础内容。
2. 为什么要补第 0 部分?
两门原课默认听众已经会用命令行、装过 Linux、用过 Git,而零基础读者不具备这些操作能力。不补齐的话,后面每一章都会在「照着做」这一步卡住,原理讲得再清楚也用不上。
3. 如果只带走一样东西,应该是什么?
判断力,具体说是「能不能看出一个产出是真的做完了还是只是看起来做完了」。工具会换代,这个判断标准不会。它由三件事支撑:知道任务可能在哪一层被解决、知道决定的后果由谁承担、知道怎么把检查自动化。
4. 引用本讲义内容时要注意什么?
底层的原始课程材料有各自的协议:南京大学课程材料遵循 CC BY-NC 4.0,要求署名且禁止商业用途;斯坦福课程材料版权归课程方及作者。转载或再使用前应核对原始协议,标注作者与出处。