# 欢迎来到未来 [01-Raw/26生成式软件工程/NJU]｜AI 自动转写稿

> 来源：[https://www.bilibili.com/video/BV1pb8o6yE8f](https://www.bilibili.com/video/BV1pb8o6yE8f)
> 说明：本稿由 AI 自动转写，未经人工逐句校对；专有名词、英文术语、断句和说话人换行可能有误。

## 转写 00:00:00–00:20:00

我干了什么呢
我在我这是我的 neo vim 对吧 这是 neo vim
我按了F
然后打开了一个浏览器 我们就可以正式的开始上课了
那我们今天站在一个非常重要的呃交叉路口 你们是 computer science 的呃同学 我们在历史上就从你们刚开始进入学校开始
呃讲计算机发展的历史 在计算机发展历史上其实经历了很多次非常重要的变革
呃我觉得最主要的是呃把昂
贵的能力变成了日用品
我们在一九七五年的时候有第一台 PC 机 Altair 八八零零 在图片的左边 这图片也是 AI 生成的对吧 你们可以看出有非常明显的呃 AIwhere 而且它还不是一个应该不是一个特别强的模型
但没关系啊 呃我说过我上课是跟大家一个比较松散的讨论和交流的过程 然后我会呃在之后再把这个课程要重新再切片再整理啊整理一次
从 PC 到互联网 互联网连接了我们的所有人 我至今都还记得你们没有经历过这个时代
呃我我那个时候可能是上小学小学快毕业的时候 然后我装了一个软件叫做 ICQ
呃你们没有听说过这个名字 哎 ICQ 就 I seek you 对吧 三个字母 I C Q
然后那个时候腾讯的山寨版还叫 O I C Q O I C Q 然后后来腾讯把它改成了呃 QQ
然后你你在那个时候可以随机的加一个世界上面另一端的人
然后那时候你加到就是 native speaker 就是他是跟你说英语的
然后你你让他一下子发很多的英语 打得非常快 然后你你完全无法理解这个
他在跟你说什么 因为因为那个时候可能我们刚学一点点英语 只会 hello good morning 对吧
呃从互联网然后再到移动互联网 一夜之间我我印象很深 就一夜之间
所有的菜场卖菜的人都有支付宝和微信的二维码 就在很短的呃时间里改变 就一直在改变我们生活的呃方式
然后到二零二二年的时候是 ChatGPT 和 AI 是人类历史上增长
最快的呃产品
啊我们在这样人类命运的交叉路口 我觉得呃我们上课的方式 我们该学什么 其实呃我们都需要思考呃思考思考一下
然后就在这样的一个背景下 呃我决定还是应该嗯开这样的一门 y coding 的呃呃课程
为什么呢 呃前两天的时候 不对 不是前两天 有有一段时间之前大家有一个说法叫 AI 替我上大学
诶我觉得这个说法很对 你想嘛呃老师用豆
包出题 大家用豆包做作业 然后在这个整个的闭环过程当中 只有学生没有受到训练 对吧
现在 y coding 很厉害呃所有的作业 直接对吧我的操系统曾曾经这个操系统的作业折磨大家 然后呃大家在痛苦的折磨中获得提升
现在不一样了 现在你直接把那个作业的链接丢到codex里对吧 你都不需要 你都不需要有复制粘贴的过程 你只要把那个链接在
甚至你都不需要告给他链接 你直接说那个蒋老师的操系统课
第八个实验能不能去帮我实现啊 好就就结束了
呃对所以在这样的时代 我们应该我们还怎么办对吧 还还到到底应不应该学学这些编程啊这样的东西 那答案肯定是既应该也不应该
呃有些能力你还是需要的 然后但应该怎么做我们我们不知道 所以我看到的其实大家都在一种啊非常焦虑的状态呃状态上
呃第一个 AI 帮我上大学了 那上完以后
我最后怎么什么都没学会对吧 我每门课都很好 如果假设每门课都开卷考试呃那都都是 AI 答题嗯我全都答对了 但我我出来以后我发现我被 AI 第一个就被 AI 取代了
对吧 这是第一种焦虑 然后第二种焦虑是呃我相信这边还有另外的同学呃可能延续了你中学的时候 呃很听老师话的这个状态
老师说什么你就做什么 老师上课每一堂课你都认真的去听 然后每一次作业你都认真的做 然后做完了以后你发
现四年毕业的时候 你被大学骗了
你你确实学会了一点什么 但是你学会的东西 AI 都会做
对吧 然后那你也很迷茫 然后这个时候呃当然你你我觉得同学们最切实的你们现在呃的最痛苦的事情就是保研
对吧 你们投了很多的简历 呃给海投很多的地方的简历 然后我其实也也收到了很多这样的呃简历
我我觉得
我觉得很糟糕啊 这个这是一个呃这这是一个简历 我我用首先所有这一切都是 AI 做的 我没有我没有干任何事 我我我我就告诉她有一份简历 然后我现在需要在上课的时候展示一下 那我需要把他个人信息给去掉
那么这这是这是他把它字符替换成 unicode 的方块 如果复制粘贴的话 你会看到这是一个黑色的方就是方块的呃字符
呃 OK 希望他希望他把
把这个隐私都都隐掉了 然后就这样的一份简历 嗯
这非常完美的简历啊 一个 CCF 期刊列列表上面的论文 然后 accept 然后有有有有这个当然大家都说在投就等于不存在 对吧 因为你你看不到
呃但这个简历对我来说是一个零分的简历 呃因为没有没有额外的信息 他甚至没有一个 github 的链接 没有一个个人的
主页 没有一天这个东西有 preprint 这是就这是一个呃我我我不知道这位同学发生了什么 但是呃对我来说这样的一份简历非常的呃非常的糟糕 然后
更糟糕的是我收到过无数份这样的简历 然后可能你们的简历多多少少也是长长这个样子的呃然后这个时候就你发现你和你的竞争者已经无法区分了 所有人都是我有一大
堆实习一大堆奖项一大堆论文一大堆在投 那是什么能让你从这些简历里面脱颖而出 对吧 就是如果刚才那份简历都被我认为是零分的简历 你你们你们应该怎么样向你的未来的导师去展示你自己
对吧 然后所以所以我我相信这个在座同学都非常的呃焦虑 但是好消息是我觉得我我希望用呃这一门课来缓解一下大家这样的焦虑的情绪 更多的是带大家觉得
还原一种快乐 y coding 的快乐 因为我觉得我在 y coding 中我得到了很多的呃快乐 然后在这个快乐当中你们又能呃一定程度上呃去理解比如说软件工程师怎么工作的 然后能做出呃做出一些有趣的东西 然后能让你的简历显得呃显得显得更好看
对呃对我来说其实我觉得你有一篇发表论文可能是一个减减分项 可能对对对很多其他人来说可能还还还不是的 OK 所以我讲了为什么我我要来上呃这门课
然后那我们来讲讲这门课呃到底打算讲什么
啊这门课的题目叫生成式软件工程 所以我其实是是一门软件工程课 软件工程做什么呢 软件工程做的事情很简单 怎么样让软件工程不失败 就怎么样造出一个呃一个软件来
呃那我们经常听说的说你你们作为人和 AI 比你的优势在哪里 你可以坐牢 AI 不能
对吧 呃实际上我觉得大学里面能能教你的呃有呃或者说能 OK 你你作为人吧 或者说你在大学毕业的时候 你能拥有的能力呃比较重要的第一个是信息差 这是一直人类这是人类社会比较呃也也不能说可悲吧 就人类社会要要进步 必须的呃必须有的事情 你你你你有信息差 你有别人不知道的信息 你才能做别人做不到的事
啊所以所以在学校里面多多少少你们也会有这种恶性竞争 对吧 假你假想一个情况 你拥有一个往年试卷 然后这个往年试卷别人都没有
然后对吧 那你真你你就可以在竞争当中胜出 这是一种种你们身边的信息差 呃当然还有很多其他的这个不能说的信息差呃在社会上面广泛的呃存在 除了信息差以外 你你作为一个人的优势是你可以坐牢
当然大学里面真正教你的是怎么样成为一个更好的人 就是你能够驾驭别人驾驭不了的东西 你在大学毕业的时候 你可以说哦 ok 我是一个更好的人 然后呃我有一个别人没有的能力
呃所以可能呃这门课试着试着去
帮大家呃建立驾驭人工智能的呃能力 OK 所以这门课怎么上呢 怎么上我希望呃用一个案例为主的一个比较松散的组织 所以如果你们有有有兴趣来比如说想跟我讨论一下的同学 就想想想 challenge 我说哎这个老师你你这样做不对呃那那就欢迎大家来线下
呃然后如果你是一个听课型的同学 就是你你希望从这门课里面呃获取知识呃那我我是完全建议大家就既不用到课
也不用看直播 因为我我我这呃我今年也想想做一个呃非常有趣的尝试 你已经看到了 这是我的呃 slides 对吧 这是这是我的 slides
呃然后我按 F 五的时候可以播放 然后你可以看到这个 F 五播放的 slides 和刚才那个 markdown 是有点不一样的
我把它关掉
左边是我上课之前写的讲义 就相当于我我我会先想好我我今
天上课时候我大概在在这个时间应该讲什么 举什么样的例子 相当于我要约约束好 AI 做什么 然后当你看到 F 五播放这个 slides 的时候 有这个紫色的部分紫色的部分就是 GPT 五点六 so 给我添油加醋加上去的 我有一个呃提示词 一会哎我现在应该就可以给大家看一下啊
呃呃对有有一个提示词大概是呃是这样的 就一个
呃一个 skill 叫叫 make slides 然后我就可以从一个呃我我的一个 markdown 就我写好的那个演讲稿里面 让它添油加醋的去去做点有趣的事情 比如说呃
比如说我有一个类似于我的 AI 梗同学的呃 skill 我会我会出让它生成三个 subagent 然后给他们赋予不同的 personality 这个这个这个非常有效果 他们就有有的 agent 会干这个有的 agent 会干那个 它在隔离的上下文里
然后最后我的主 agent 会回来汇总 这样我就可以通过算力来换智力 我付出更多的算力 我就有更多的智力 所以所以我我是其实经过对比了 我我我换了几个版本的提示词 然后每一个版本提示词我都会重新生成一次 然后我最终会有一个 review
另外一个别的模型呃在盲评到底哪一个生成的 slides 的质量比较高 然后我我基本上我就调到了一个可能相对来说呃质量比较高的这个
这个 slides 对所以你看到比如说图片都是全部都是生成的 所有的图片都是
生成的 对呃所以我希望的是探索一条能够真正杀死大学所有人的呃路径 我认为啊如果你是来学习的那更高效的方法 比如说我作为一个老师 我我应该思考的是怎么样把知识以更好的方式呈现给大家
而我的答案是我应该在上课的时候呃
上课是一种表演嘛 对吧 所以我说我是一个演员 要调动大家的情绪 然后我上课的时候跟大家交流然后根据我的预先设定好的剧本去做一场演出 然后在演出完了以后 我需要做一件很重要的事是我要 review 我今天的表演
因为我有的时候我今天举这个例子 可能不是特别的恰当 或者在我回回过头来的时候 我想到也许我讲另外一个案例 大家能够更加的感同身受 因为你看到我在上课的时候
有些部分是即兴的 但即兴就意味着其实不完美的 而我在课后我会把我的课程 因为我我录像了对吧 大家看到这边有录像 我可以把课程的录像切片重新整理成片段
因为我是从这样的 contents as code 来的 everything is code 对吧 everything is code 呃我就可以把我上课的那个录像 就这次的表演重新回到这个 code 上 把它变得更丰富 然后我
不就实现数字数字永生了吗 对吧 我就实现了一个课程的呃数字数字永生呃
对然后你看到就是我我的这套 slides 是怎么工作的 我的这个流程是怎么工作的 everything is code 呃你能看到这个世界里面的一切都可以用代码来来生成 包括这个桌子对吧 computer Aided Design CAD 这个
桌子椅子电脑 那这个 slides 是怎么工作的呢 刚才你看那个 mark down 是是 source of truth 然后你看到的所有的其他东西 图片幻灯片全部都是呃 AIGC
然后我我会我会把这个选中的 snippet 由 agent 去扩写变成 markdown slides 再到浏览器里面啊渲渲染出来 然后呃我希望的是能够切片的方式得到一个完美的比如说我我今天要讲生成式软件工程 它的呃要点是什么 逻辑是什么 第一节课应该怎么上
沉淀成一个程序 然后这个程序也许也许现在只有我维护的 也许比如说有一天我不维护了 我操系统课我现在不上了 我会把操系统课我的 B 站的录像整理成这样的切片 然后可以由全世界的人来维护它
对吧 你想要定制一个什么样的我的操系统课 你就可以把它定制成成什么样子 然后这不就把所有的这个大学教课的方式给颠覆了吗 我觉得这是一个可能实现的路线 所以我会在这门课上做一个比较轻的尝试 也欢迎大家
在随时可以给到我呃反馈
OK 好呃所以我这门课
的 policy 是呃我希望重新找回同学们心中在大学的时候那种上课耽误学习的感觉 就虽然可能你们还是要上课 但是我推荐大家第一个你们可能可以不要上课 然后你们可以去在这门课上呃实践 我会带着大家实践 我后面有很多真正实践的案例
呃然后让你们知道在 AI 的时代 你们学习的方式变了 你们工作的方式也变了 你们可以尽快的适应这样的一个呃非常有趣的时代 然后我的要求是禁止古法编程
就是我我相信你们个个都是古法编程的好手 因为你们要考试 对吧 马上你们要保研要机试了 要机试的时候就把你们一关 小黑屋里一关 对吧 你们看过我以前出的题 然后就吓尿了 对吧 然后赶快再去 LeetCode 上再刷刷一下 但呃
我觉得总有一天这个这个事情会会会改变的 可能从上而下传导不会那么快 对吧 就是你要改变一个体系很难 但是呃我我非常想要撕开一个小的小的口子 对然后有几个 policy 第一个呃 token 自费
因为本来本来我是想去拉一些赞 token 的赞助的啊 想拉一些赞助 token 然后但但是我当我看到那个选课的学生呃的时候数量的时候 我就想哎还是算了 我对吧 我我也没有必要再去这个跟他们呃拉着
脸去要要好多好多的 token 也比较麻烦 呃首先我有个个人观点 就如果你们手上没有 token 没有付费的 token 同学应该立即退学对吧 因为你你可能确实不需要 token 埋进去 就就在硅谷 它有一种这个你要死命的烧 token 你你你你没有必要 我我的课上我所有的
我在课上做的演示 就除了我的这个 slides 的生成是用一个更聪明的模型 我觉得呃它能给我更好的质量以外 你看到的这个幻灯片 你看到的整个这个
这里的 lecture 的里面的东西 啊包括这些生成的这些 assets 全部都是 deepseek V 三 flash 也就是说我在这门课上会用一个足够便宜 但是智能相对有一些的模型
来带大家完成啊完成这些事情 然后我也知道大家喜大家都是夜猫子对吧 大家都是 computer science 的学生 你们喜欢在夜里工作然后在夜里工作 这个是比较便宜的对吧 我建议大家在梁文谷的时间这个因为你看白天你看懂这个梗了 这个这呃在白天你们要上课正好是梁文峰时间对吧 然后等你们回去回去做作业的时候 就是这个梁文谷的呃时间了 所以 token 非常重要 你们每一个同学就你们去 deepseek 充一百块 这个这个好像还还 OK 然后呃对还还 OK 啊 如果实在 token 有呃有困难的同学可能可以联系我来帮助大家呃想一点办法 对
OK 然后还有还有一个很重要的 policy 呃我希望用一个通过或者不通过来 evaluate 这个课程 所以我在我在申请这门课程的时候 呃我的考核方式就填的是通过和不通过 但根据教务的反馈是专业选修课大家不是不会做成这样 一般来说都是什么形势与政策这样的课是通过和和不通过呃 但因为我我们现在我觉得还不知道这个评判标准是什么 对吧 你你你你可能用更好的模型 你就可以有更好的质量 对吧 同一个任务
你让 Cloud Fare 来做就是比 Deepseek V 三 Flash 要做得好 这个做得又快又好 没办法 那我们没有办法限制大家用什么样的模型 对吧 那
怎么评判 尤其是这样的一个 y coding 我们是做 project 的呃课程 我我大概我会我会有一些建议的项目 就说呃我我我我我我回头会更新课程网站 上面会告诉大家 OK 我建议你们呃实现一个自己的 email 的管理系统 然后可以回我的 email 然后可能我会用一个指定邮箱给你发邮件 然后你可以把邮件回回来 对吧 你可以做一个尝试 y coding 的一个这样的服务跑在你宿舍的一个一直常开的小电脑上
OK 这这就是一个比较不错的实验 你们有的同学可能会做的复杂一点 有的同学做简单一点 我可能会用我的邮箱去发 跟大家呃发邮件通信 OK 呃但到底什么叫做的好 什么叫做的不好 到底该给多少分
我觉得在这个时代分数已经变得不那么重要了 而真正重要的就是在你最后
找工作或者在你保研的那一刻 投出那个简历上面有什么东西
然后其实对你们来说就只有那一个考试 当然我觉得呃比较糟糕的是 你为了能够走到那一刻 你还需要有一个比较好的 GPA 对吧 你还得去 reward hiking 还得去去去 overfit 那个考试的题目 但最终呃检验你呃你大学阶段的是你那个交出去的简历 它能不能带你到下一个更高的平台 对吧 你你你敢不敢给 deepseek 投简历 对吧 他们那个门槛还是比较呃比较高的 所以所以我最终希望这门课大家能够最后在简历里面写一个 我在生成式软件工程里面实现了这个 A B C D E 然后有很多链接 然后它是一个然后每一个东西都是都做得非常漂亮 它只然后你你你每一个都说你你完成了设计实现 然后它这里面了不起的地方啊地方是什么
啊我觉得最终有可能的是啊 如果每一个人的电脑上面都在安装一个监控那我就知道你大学四年干的所有的事情然后我的 AI 就可以评判

## 转写 00:20:00–00:40:00

你大学四年到底度过了一个怎么样大学四年当然这是一个非常恐怖的对吧这是一个非常非常恐怖的事情因为你每摸的每一个鱼你看的每一个不想让别人知道的小电影这个对吧他都都在你的电脑上发生所以都都都知道嗯我我们不知道什么时候人类社会会演进到那个程度但是啊保持 open 对这是我们的呃课程的 policy好大概是我课程开了一个啊开了一个头好接下来我就可以进入技术性的内容了首先讲一讲呃什么是大语言模型好我我今天不讲什么是大语言模型大语言模型就是一个概率分布跟你们在概率统计课上学的那个抛硬币对吧我知道这个我抛了六次硬币加起来是四十然后你问你第一次抛出一的概率是多少是吧你们在概率课上都做过类似的题目没有任何的区别它是一个学到的概率分布它给一个很长的文本是吧就给你给你一本书我带我带了带了一本书好它它随便就就好多好多文本呃给你一个一本书当然可以是文本也可能是可以是图像啊一本书然后这本书到最后就结束了但你可以在这个书的后面再写几个字比如说能不能帮我总结一下这本书啊然后接下来大语言模型就会不断的预测它的下一个 token 的概率每次输出你可以理解成输出一个字符一个字符一个字符一个字符然后这个模型很大它见过世界上所有的东西然后训练它很难呃所以这是为什么现在 Frontier Lab 这么牛逼呃但这门课是站在使用者的视角上也就是说你们只要知道存在一个东西叫大语言模型你可以打开 DeepSeek 的网页 API现在哦我要登录那我就不登录了打开网页 API什么是大语言模型我怎么样体验它然后它就会告诉你现在就在体验大语言模型对吧好所以你不需要任何大语言模型的知识呃然后大语言模型是怎么样进入我们的世界的我第一次被大语言模型按在地上打是给我五岁的孩子二零二三年的时候 GPT 四的时代 GPT 四是一个幻觉非常严重的模型给我五岁的孩子解释什么是呃扫描电子显微镜然后我大概有个这样的 prompt呃那个时候我们就玩 Prompt Engineering呃说我希望用朴素的语言打一个合适的比方帮助他理解这个事儿就有一天我给我的五岁的孩子讲一个什么故事的时候不知道为什么讲到了这个扫描电子显微镜我讲不下去了然后我讲不下去以后 GPT 四给了我一个比方它说它比这个打这个比方打的还好这个比方这是 GPT 五点六 so 给的我让它让它写了呃他说嗯你现在有一个山这个山的形状你看不到你你闭着眼睛看不到但你又想要知道那个山是什么形状的那怎么办呢你就对对那个山扔球扔石头闭着眼睛扔石头然后你你扔石头的时候有的时候你石头就扔你对着这个方向扔这个石头就穿过去了对着这个方向扔石头就弹回来了弹回来你能听到声音然后你就能通过这个哪些地方穿过去了哪些地方没有穿过去像 Ray Tracing 一样的你就可以推测出这个山的形状小朋友大概听懂了我我当然小朋友也不可能百分百听懂但是他打了一个就是让我觉得非常震震惊的比方就首先他有他有这个知识第二他我后来还特意去查了资料他他这个比方打的是打的是对的然后你看 GPT 五点六它给了更严谨的一个一个答案而且它它因为有 Reasoning 所以呃所以它还给了更好的这个对正更好的解解释 GPT 四的时代然后我们用 GPT 四这个模型就去生成奇怪的东西就一个 prompt 可以给 GCCLVM 找到一百五十个 bug然后在今天你你这个工作就完全就在 GPT 五点六的时代就是一句话的事情真的是一句话不需要再做任何的呃为 GPT 的特别的调整然后从 GPT 就从一个能预测下一个 token 的概率分布随着大家发现模型可以输出越来越长的文本也接受越来越长的上下文的时候呃 Agent 就就出现了对吧它有了推理的模型有了推理的模型然后有了了 Coding React 式的 Agent Agent 有了 Agent 就是刚才那个语言的模型语言的模型它可以输出下一个 token那我就可以让它输出一个特殊的 token 说能不能呃调用一个 Bash 程序对吧然后这个 Bash 程序会运行运行以后 Bash 程序的结果会重新送回到这个 Agent loop 里这样 Agent 就可以自主运行了对吧你就可以给他一个呃比较复杂的任务他可以不断的尝试尝试尝试尝试呃你们看到的比如说呃我我我还是做了一些配置的你们看到呃我配置了一个 Sway 的窗口管理器然后这个 Sway 窗口管理器为课堂展示做了优化对吧它的对比度比较高然后我的把什么顶栏什么全部都去掉了这样你们在上课的时候可以看得更清楚然后我还做了一些比如说呃你们你们都喜欢用 top 这个命令来查看系统里的进程如果你不做定制你看到的就是一个比较土的 top 对吧但是我但是我我显然我这有一个更更 fancy 的 top 然后你能看到我的 OBS 在OBS 还在吗在好 OBS 还在浪费我的呃算力然后我的内存还有还有还有多少多少这样然后我把它配置成了一个相对来说比较现代的终端对吧比如说你们看到你们看到我在 ls 的时候我调用的不是 ls对吧这个细节大家刚才有没有有没有注意到我在 ls 的时候自动把 ls 换成了呃 eza 这个命令然后当当我要 find 的时候它也自动帮我换成了 fd fd 的行为和 find 稍微有点呃有点不一样然后你看到我 ls 的这个输出里面又有而且还是很 fancy 的对吧每这是一个目录这是一个 Markdown这是一个 Makefile 还有这特殊显示的效果然后我所有的这些配置都是用 Agent呃都是用 Agent 配置的我只有一个 prompt 说你你能不能帮我把我现在的命令行终端帮我把我的系统 Sway 都配置成这个呃现代的样子比较好用的样子结束了DeepSeek V  Flash 没有更好的模型所以所以在今天就是有了 React 的这种类型的 Agent 以后它就不停地去 Convolution 里面去改改改改它也它错了以后它会去试试别的方法然后最后它把任务能啊能能完成所以就在大概去年的时候我我前就我去年的时候上呃操作系统的时候那个 Agent 还不怎么能用就各种各种出错然后任务完成不了它就停下来了但是到今年我上操作系统课的时候这个 Agent 就非常非常呃能用到到现在你看到 Agent 产品爆发到处铺天盖地都是 WorkBuddy 的广告对吧呃像 WorkBuddy 豆包儿的那个 Agent 就是呃这样的呃 React 类型的 Agent呃但这其实也就你们的当然这这个好像岔开了岔开了这个呃话题了这个故事其实远远没有结束今天你们已经感受到 Agent 非常强但是我认为 Agent 的能力还远远没有被释放出来我们Next Token Prediction 其实是一个我觉得是个效率很低的呃模型比如说这里有一个呃 Diffusion Model一个 Diffusion Model 我比如说我可以说我可以让他给我写一个什么样的 AI slogan你观看它的过程你看它是一个从一个随机的噪声开始就像就像 Diffuse 那个图片一样一点一点一点一点就生成了一个很长的东西它可以生成一个很长的就像人做梦一样你在你的梦境当中一点一点把一个东西想的看得越来越清楚越来越清楚越来越越来越清楚我们有很多呃我们有很多可未来的未来的可能性对吧这种 Diffusion 类型的语言模型然后甚至是我不是 predic 呃 predict next token我可以把上下文回过去改随时可以把一个很长的上下文裁短对吧这些都是今天呃很多很多人在研究的研究的东西呃现在的模型已经非常强了如果我们三个月以后又有一个新的突破模型变得更强了一年以后模型又突破了又变得更强了整个 AI 的 research 大家都在赌这件事情要发生摩尔定律还在那我我现在很难想就是未来会变成什么对吧我我我我不能预测未来到底哪一条路线会会胜出对吧是哪一种模型会胜出但是你可以预见的是这个世界肯定会变得非常的不一样那在这个世界上我们应该呃应该怎么办是每一个同学我觉得都都值得好好考虑一下的呃好好考虑下的问题好吓唬人的事情说完了我们可以吸一口气啊我可以真的告诉大家应该怎么样啊怎么样来实际操作我们的 Agent 对吧这还是这门课主要要要讲的所以我首先站在普通人的视角来给大家科普一下就我先假设大家其实不会用 Agent不太会用 Agent 就就除了什么帮我把这个作业做了以外从我我上个学期看改大家那个期末考试题的感觉好像就是因为我期末考试最后考了一个呃如果你要用 Agent 给给我的课出期末考试出一个卷子这个应该应该怎么办对吧然后我我发现大家用 Agent 的呃方式可能可能需要我来稍微解锁解锁一下也可以跟大家一起探讨如果大家有特别好的想法嗯就可以随时打断我来说嗯首先 Agent作为 ANA AIA Native 的一代人你们要知道就是给他一个合适的呃指令他就可以把这个指令完成OK 呃我我我在课上选的是呃Python对吧 Python你只要跟他说就可以了然后并且你可以写一些配置文件比如说 Agent Agent 点 md对吧你可以问他你是谁然后你看他他还说他是生成式软件工程的教学辅助Agent 那你可以问他你不就是个模型吗为什么还知道生成式软件工程对吧你可以你可以自由任意的呃他回答不啊对他回答了你看他现在看到的是之所以知道这门课这个仓仓库Agent 点 md 的配置这部分是临时的记忆所以使用 Agent 的第一个原则呃开现在就开始用第二个原则随时问他OK嗯这是最小的第一个原则好然后在这个意义上其实是你的想象力限制了你的 Agent 的呃上限所以呃正好一会儿课间的时候大家可以想一想你们用 Agent 做的最酷的一件事情啊是什么想象力是你们的上限我的第一个例子是我我今天上课的这个系统刚才我给大家展示了我也说了所有的配置安装都是由 AI 完成的我要在 U 盘上呃这一直以来是我上操作系统课的一个特色我会带一个 U 盘然后这个 U 盘里面装一个 Linux 操作系统然后这个 Linux 操作系统可以直接插在教室的电脑上就启动啊所以你看到我我现在我你可以看到我这是我的 U 盘然后这是呃电脑的硬盘我我在有一年的操作系统课上把这个硬盘给抹掉了然后抹掉以后下一个上课老师就教学事故了这个对对就教学事故然后为用为此我来展示这个操作系统的呃原理装机是个很痛苦的事情呃我我曾经是装机仙人对吧这里这里有个知乎链接这个是 PreLM 的时代你看二零二一年七月呃 PreLM 的时代我我各种各种定制各种定制系统装机装机仙人呃装机仙人现在已经呃彻底被呀不好意思我装机仙人已经彻底被 A AI 取代了因为我只用了一句话我说你去 Mirrors 点 nju 点 edu 点 cn 上找一个 Fedora 十三的镜像把它装到我的 U 盘上这时候 U 盘插在里面然后确保这个 U 盘可以启动然后用模拟器验证点睛之笔是这个用模拟器验证就我我我我当然我是有 knowledge 所以我知道它是怎么完成这个安装的它装完了装完了以后它真的在 QEMU 里面启动然后去去看到了那个登录界面告诉我确实可以登录了它登录成功了我我告诉它我要创建一个用户用户用户名是什么密码是什么呃它全部都做好验证完成给我然后然后然后完了以后我就就进我就启动了这个 USB 的镜像然后启启动了以后我说我要装一个这个 tile based window manager就说就就你看到我我现在操作是是很顺滑的比如说我按这个 Windows 加回车它就产生了一个新的窗口在在右边对吧和你们用窗口的方式不太一样当然我可以比如说 Windows 加空格把它把它把它给弄出来好不会用怎么办对吧你可能听说过在某一个呃 B 站的直播间里面看到有一个同学他用的很酷的东西不会用怎么办我直接让 DeepSeek V three flash 给我生成了一个呃文档说哎你能不能看一下我系统现在的设置里面我要做各种事情怎么办对吧他告诉我 Super 加 Enter 是打开 Terminal呃Super 加 D 是打开一个 App Launcher 所以比如说啊比如说我啊 Windows 加 D我就可以打开一个 OBS 或者 Chrome Browser所有的文档包括你看到的终端 Neovim 的现代配置我没有看过任何一眼配置文件所有的一切都是用自然语言完成的我只只是让它保交付我要什么你帮我再检查一下就全部都完成了所以我觉得我我毕生的修炼对吧我我作为一个呃教 Computer Science 的老师呃我我我记得我大四的时候就跟你可能跟你们一样大的时候就在去看那个英特尔的那个几千页的那个 CPU 的 specification然后去去看那个每一个 CPU 的 Feature 是干什么用的然后我就突然觉得在这个时间点有一个人他可以跟我沟通他把这些东西全看了都懂能做对而我现在需要的是解锁他的能力所以你看到我们在今天你学习知识的方式变了你更多的时候你需要知道它能做什么你感知到它能做什么能做到什么程度然后你带着它去做一件更大的它做不到的事情所以人现在唯一的功能就是带着 AI 做 AI 现在做不到的事情一旦如果你没有这个能力你就立即已经被淘汰了对吧所以你没有 Token 你就可以立即退学了这个这是我自己的呃自己的观点首先 Agent 彻底颠覆了计算机 Computer Science 里面学习曲线太陡不想用的瓶颈你想想你们都配置过那个漂亮的终端吧你们看那个终端花里胡哨的那个 B 站上面那些人用的花里胡哨的终端你就想搞一个搞一个以后你改一点点它就给你出错对吧改一个配置文件 ZSHRC 一改就出错一改就出错非常的痛苦有 Agent 了一点也不痛苦它不仅可以给你改还能事无巨细地解释为什么要这样改你有什么新的想法一起他就说好好好还可以给你提供情绪价值对吧我我我我前前几天在小红书上发一个解说为什么 Token 比学生好用是因为可以骂他对吧他不会还嘴这个我就就就因为我我肯定不能骂学生嘛对吧但是但是我可以骂这个呃这个 Agent所以谁掌握了 AI Agent 谁就掌握了暴增的学习效率你现在现在的学习方式是你先用好它先把东西搞出来再回头去复盘理解这个效率会比你从零开始一点一点搭积木要要高很多但这里面有个危险是你你你的理解可能和那个比较好的理解会有会有差距维永的我们不知道但是呃但是这是一个非常不一样的事情好呃第二个收发邮件写草稿呃我有一个自己的 skill 当然我我就我就不展示了呃他我的我的数据库里面有我历史上回过的所有的邮件所以每当我收到一封邮件的时候它会自动把它变成一个已读的状态然后自动自动帮我写好回复的草稿用我的口吻虽然我现在觉得它做的还不够好呃除了一些简单的 routine 性质的东西可以直接用它的回复以外大部分时候我还得呃呃还得还得去改但是我得到了一 AI 的 Bot然后它会把重要的就是比如说邮件里面呃的附件比如说呃如果我要我我我收到一张发票它就会把我的发票呃自动保存到一个指定的归档的位置当然这都是我写好了 instructions呃我我可以干件什么事呢我我可以像跟你们的那个 OpenCloud 或者 RM 是一样呃但我用的是我自己 Apple 的 Reminders我可以我可以找到我的手机在我的备忘录里加一个说帮我把今天的发票打印出来对吧我我觉得我现在就可以做这件事也就是打也就是浪费一张打印机的这个纸我在我在一个叫 Bot 的现你看现在是空的我在这个 Bot 的地方加一个把我收到的上一个发票打印出来好我我只要点勾它就 commit 我就多了一个 To Do 的事项就跟你们在 Telegram 里跟你的那个 Bot 聊天是是一样的然后只要等就行了它后在后台会会处理等到弄好了以后它会重新给我一个呃推送的通知然后这个通知会会通过我的手表送到我的就就通过 reminder 然后送到我的手机上然后我的手表会知道它会告诉我 OK 打印完了然后我所有的日常的事物都可以交给他来他来处理前提是我我我我放心的

## 转写 00:40:00–01:00:00

放放心的事情 yes呃我觉得是比 telegram 聊天框要好而且这个流程会不断的进步你就在 OpenClaw 之前我就这样了然后在 OpenClaw呃我觉得 OpenClaw 或者 Ermus 不是那个个人 Agent 产品的呃个人 Agent 产品的终极形态这个产品还可以做的更好所以未来还有很多的呃空间还有呃
你们还还在读书吗你们还看书吗看你们还看论文吗看看论文痛苦吗痛苦痛苦吗不痛苦大家在笑呃我我我是一个很喜欢看书的人我我我在我在你们这么大的时候每年都教科书就要看几十本还会看很多闲书那我今天已经呃不看书了我现在已经不看书了呃
但是我还是买了一本对吧因为我要上这个呃深层次软件工程的课所以我又买了一些我带了几本来这我我就这都是我读书的时候就仔细仔细看过甚至看过不止一遍的一遍的书这个是这个这个是那个这个 Fred Fred Brooks 的那个 The Mythical Man-Month 人月神话这个标题起的就非常 misleading首先什么是人月你们想到的是就你想到是那个人和月亮吗就是每每到月亮出来的时候就会变成狼的人吗这个哎
那这个这个呃Man-Month 对吧这这是一个 Man-Month 就很很很好理解了就是让人力对吧人力神话然后这神话也不对神话你们想到神话什么是什么盘古开天辟地对吧是有这种美好的这种意思这种这种神话这这个书应该叫人月鬼话对吧就是人月是一个对它它是一个是一个鬼话 Myth 呃 The Mythical Man-Month还有一些像这个呃呃对这个
John Ousterhout 的的这个 The Philosopher of Software Design 这个这个书非常的紧凑感觉比我当年看的英文版要要紧凑一些里面有很多软件工程的呃真正的软件工程的智慧非常好那个然后然后我就读了我又重温了一下当年读书的感觉读了第一章然后我读完了第一章以后 Agent 启动呃我我我我会怎么样读书呢对吧我我会怎么样读书呢呃
我比 GPT 五点六 SO 呃做的要更好一点大概在这个 skill 里的这个部分我当然我的呃我的那个 AI 耿同学会比会比它更强一点会比它更 harsh 一些呃我我在这里为了为了做每一页 slides 我都会让 GPT 五点六首先去回看人类的历史人类历史和我这些相关的这些案例里面有没有一些 lessons一些重要的案
例呃能够得到启发和印证的第二个根据我我我的这个讲的这这这个东西呃能不能找一些相关工作不仅是在 Computer Science然后我会让它 prefer 这些 very recognize high impact results 当然这是因为是我要上课所以我我我我会希望跟大家讲这个经典的东西那还有一个比如说 thinking first principle在我的 AI 耿同学里面我有更多的这样的 personality然后还有随机性会抽卡然后抽完
卡了以后他们会讨论他们会有分歧的观点讨论以后我的主 Agent 呢会再把这个分歧的观点再送给他们回来讨论直到收敛为止所以我我我我有一个算力换智力的路然后这样我就可以去审稿那些论文我会明确的要知道呃我大概是这样读的就是如果我要 review 一篇论文或者读一篇论文我会说你从人类已有的知识开始假设人类已有的所有的东西都已经是固定下来的都是 trivial 都都不能说 trivial 就是说都是已知的
然后我要把这篇论文里面新的东西最少的东西一给剥离出来然后这个时候一篇十二页的论文基本上就没有剩下多少就就会变得非常非常短所以我现在读论文的效率非常高呃我而且我会跟它 chat 我会拿着论文的原文拿着这个总结拿着分层次的总结我跟它 chat所以我现在读一篇论文的效率会比我以前呃高得多我我仍然是读论文的所以我不是那种呃只看微信公众号的老登啊我我现在 claim 我不是我
不是看微信公众号学习的那个人哎呃我的我的发票已经已经打印好了这个呃在看到我有一个收到一条通知对吧叫发票发票已已打印然后我只要回去到那个打印机上就就就就拿走就可以了所以它可以干任何事 literally 就我那台电脑能干的事情所有的都能干呃我我很想如果我有时间的话对对吧如果我就就大学倒闭了我就我就弄一个机械手让它能够做更多的事情我现在现在还还还还做不到但是它可以操纵我的
我的打印机 OK呃 AI AI 耿同学在这里然后我不仅用 AI 读书读论文我还用 AI 上 B 站那当然这个剥夺了你们娱乐的对吧如果你是要娱乐看一个什么华强买瓜的这个衍生视频那就不要用 AI 读了呃
我是怎么读的我我可以就一个 BV ID 给我一个 BV ID比如说这是我我上上学期的课程给一个 BV ID 一个小时二十七分钟一般来说我会读什么呢就读这个 Podcast 比如说这个 Matt Pocock 又又发了一个什么他的什么软件工程实践其实我觉得他也挺神棍的这个有有些有有些经验可能不太完不完全适合我们的呃我们的课程然后我会把它总结成一个自动的图文的时间轴
然后你看这是整理过的就是呃整理过的这个这个文本的质量还是可以的比字幕的比字幕的质量要要高一些这就是全文呃这个图文版的图片会稍微少一些实际上我的截图的密度会更大一些就是当我两帧图片之间的呃间隔大到一定程度的时候我就会截图我就得到了这个视频说的 ground truth这个时候 AI 耿同学就可以上线了
对吧 AI 耿同学会去消化会为我消化这个一一个多小时的视频把因为它有我的记忆把我认为不需要看就 trivial 的东西对吧比如说这里面所有东西都是我非常清楚的东西那么呃我我就我就不需要看它那么呃去掉我就可以在几分钟的时间里面看完一个两个小时的视频而且我基本上确信呃我我还是很好的知道了那里面不一样的呃东西所以这是一个非常可怕的事情在 AI Agent 的时代
在会用 Agent 学习的人和不会用 Agent 学习的人他学习的效率差距是十倍一百倍那么你你们你们坐在这儿你们怎么和一个十倍一百倍的怎么和一个十倍一百倍的人竞争对吧你你你就就就回到我一开始的那个问题那个简历如果所有人的简历都是一样的那你接下来会想那个没有给你看到的那个学习效率是你一百倍的人他的简历是长什么样对吧
这是一个呃非常可怕的呃事情而更可怕的还在下一节课所以我们课间休息一会你们你们可以想一想啊呃因为我我还没有公公开这个我我下面的内容还还要给大家留一点惊喜呃下一节课呃我再来讲更可怕的比刚才更可怕的所以为什么我要说这个大学完了这个人类完了对吧你们总觉得我神棍这个但我我我我我就是我就是这样想的而且我非常确信的是世界上肯定有人做的比我更好
对吧因为我我是一个上有老下有小的人我没办法我就是没办法我上有老下有小我比如说我我上学期我为了上操作系统课我就花去很多的时间那那些时间本来如果我我不上这课我就可以用来探索这个我应该怎么怎么更好的去呃
我们回来刚才有一个非常好的案例呃在直播的时候我的 USB 的摄像头卡了它教室里面大概是这样的它有一个采集卡然后那个视频的采集卡会可能是从网络或者什么因为这边还有好几台机器呃我不知道为什么学校里面用了一个成本那么大的方案我觉得我可能用五百到一千块应该就能解决解决整整个问题了这个呃一个成本很高的方案然后它有一个采集卡进来但是那个采集卡的 USB 断开了所以所以大家看到现在我用左边这个我挥挥手它是在在动的但是呃USB 就就就断断掉了不知道为什么断掉
了然后断掉了以后呃我刚才就立即让 Agent 呃修了一下对吧对刚才我是让 Agent 帮我修的
我直接一就就是一个 prompt 对吧在在这里呃呃它说我先看看系统的 USB 设备的情况找出设备呃呃对这这里说我
的呃 USB video 有问题能不能呃 reconnect 这是 DeepSeek V3 Flash 它用你们前所未见的 Linux 命令就有些其实我有概念但是我也不知道它具体是怎么工作的呃反正就是它呃用软件的方式把那个 U USB 的采集卡拔出来又插进去了因为我我是碰不到那个接口那个接口在机器的后面我我我碰不到然后它帮我拔了一下插了一
下然后就就好了呃OK 现在现在这个视频还是呃没有呃没有问题的如果如果视频再有问题的话就请大家打断我呃我我再来再来重置一下好我刚才说了还不是 AI 的真正的形态作为普通人刚才刚才我给大家展示的是一个白板的 Pie 什么也没有就是你你在那个 Pie 的那个那个官方网站上把它安装下来你配置一个 DeepSeek V3 Flash 的 API key
你立即就可以得到刚才所有的那些那些东西多么可怕的一件事儿对吧但是 Agent 远不止于此 Agent 拥有一个完整的生态系统所以当你有一个领域特定的任务的时候根据计算机科学的定律我上课的时候一直会说这个 computer science 的定律如果有一件事情它是合理的并且你想做那么百分之百一定也有别人会想做对吧那在这个 pre AI 的时代那么开
源社区呃多多少少就会呃来公开一些脚本对吧哎我今天又发布了一个新的脚本可以干这件事到 GitHub 上然后你把它拉下来可以做自己的事儿在 AI 时代做这件事情复用别人的能力变得前所未有的轻松我可以往 skill hub 上面发一个 skill然后你可以在 Pie 的插件生态上面找到一个呃插件生态所以你们想到应该下一步作为一个普通人
你应该做什么应该用插件把浏览器管控起来用应该用插件把电脑管控起来浏览器是一个非常好的工程产品我们我们用的是呃是是 Chrome 浏览器是一个非常好的呃工程产品它呃可以说是人类软件工程史上的奇迹之一非常的复杂看起来就是个浏览器显示网页的它的代码量甚至远
超操作系统内核因为它要和用户打交道它有大量的比如说图形栈对吧还有这个显示相关的东西性能优化等等呃而浏览器是为开发这就是一个软件工程奇迹所以它是有一个接口是专为开发者设计的叫 Chrome DevTools Chrome DevTools 你们应该是用过的对吧比如说呃你们打开 Chromium呃然后你们按那个呃 F 十二
OK 我把它全部对放大对吧你们都都都改过对吧你比如说你很讨厌这个东西对吧你很讨厌是是有点讨厌好讨厌就 delete 把它删了是它没有了啊好呃你你当然你你这里是可以调试它的对吧所以呃一般来说网站都会在这个 Console 上面嵌入招聘广告这个哈招聘广告啊呃这同学们应该也是也是也是发现过的吧比如说你们上 B 站然后 F 十二呃诶它它没有招聘广告的吗我记得 B 站也是也是有的 anyway在这里你可以你可以看到很多的信息比如说你可以找到这里面的 HTTP 的头啊呃等等呃然后你可以你可以把这个链接的比如说这个链接 copy 把可以把它的命令给 copy 出来这样你就可以在浏览器里呃
带着它的浏览器的带着这个 Cookie 带着所有的状态呃用用 Curl 这个命令去请求请求这样你就可以可以可以可以得到列表这都是以前就是在在 pre LM 时代开发者呃做做做的事情但是在 LM 开LM 时代变了普通人也可以享受到 Chrome DevTools 的所有的呃厉害的地方我记得我我记得我们在二零二零年的时候我们做过非常疯狂的 project就是我我大家都知道 Android 的是呃应
用是可以用 Java 写的我们假设是一个 Java 的应用然后Java 或者这个 Kotlin 都编译到 Java 虚拟机然后我们就可以在 OpenJDK 上运行一个 Android app然后这个运行 Android app 的时候会把所有的界面上面的按钮比如说这个按钮的 bound box 就是那个它的坐标都算出来然后上面的文本也知道但是我不走 Android 的那套渲染我直接在浏览器里面就你可以在那个 Chrome 里面你在 Chrome 里面可以看到一个计算器然后那个计算器里面每一个按钮都在上面的字也是对的然后你可以点点了
以后那个计算器的状态就变了我可以在在本机执行一个 Android app 所以这是一个非常非常 powerful 的呃工具但我今天不讲这个让我们来干干一件什么事呢你们都讨厌教务系统吧呃我也很讨厌这个我一会儿会讲到就我当我讲到软件工程的时候我还会特别讲讲到这个教务系统是一个软件工程的非常反面的例子呃
来啊哎我的手机好让我让我扫个码啊你们不要扫你们不要扫确认好呃应该不会暴露隐私啊希望不要暴露隐私我可以稍微稍微放大一点好呃比如说我现在的教学周历是是空的呃
现在啊你看啊其实我刚才在 Pie 里面说帮我打开浏览器这个浏览器是属于 Pie 的所以你们可以干什么呢比如说我很讨厌动不动叫我们填东西所以我说呃
这时候你看豆包输入法的含金量又提升了对吧我我我在我在做这些日常任务的时候我就会摁一个键然后打开豆包输入法和它对话当然当然在这里我的 Linux 没有没有豆包输入法而且我我好像没有配置这个语音输入因为输它的声音输入可能会会有点麻烦呃填写现在教学周历是空的帮我用随便什么 AI SloT 填写不要看任何东西对因为因为它会它会它如果它如果知道这门课就现在的目录是这门课的Repo 的话它其实会读我的什么 lecture notes 啊这些我不要不要不要啊你看它还在干这个事儿
对吧我我我我就是想让它去填 AISloT
你看它它就是不听指令这是 DeepSeek VFlash 的麻烦如果是 Claude它它它会知道
就这就是 DeepSeek V3 Flash 的问题
它不看翻车也是也是经常有的所以就是模型其实还在不断的能力增长中就是如果我用最最一线的模型呃它它就会遵循的遵循的更好呃我用 Flash 还有一个原因就是它在课上呃会更快在课上会更快所以呃
没关系它会能这就是 Agent 就你看到它的过程呃你看它会不断地反思它做的这件事情合不合理然后它能够找到应该怎么办对吧看起来翻车就它刚开始在尝试然后刚开始在尝试以后呃它找到正确的方式所以说 Chrome DevTools 是一个非常
强大的工具它最终发现它用那些呃比如说直接注入一个事件的方式不行的但是点鼠标是可以的然后这意味着什么呢你看它已经开始可以填写 AI SloT 我完全可以不需要值守对吧让它随便给我填点什么 AISloT Anyway doesn't matter 呃能力真正的边界在哪里当它走通过一
次以后这个 session 里面的东西会留下来我可以把它沉淀成确定性的脚本对吧它可以形成记忆就是说说这条路径应该怎么走什么能成功什么能失败它也可以把这个走过的这些网页全部变成脚本你就得到了一个自动选课抢课的系统所以所以这是多么恐怖的一件事儿对吧你不需要有任何的不需要有任何的知识对吧它就在这里帮我填写 AIAISloT如果我要对付对吧对付这个本科生

## 转写 01:00:00–01:20:00

一定要我填的话 我就用用这个方式来来来来处理 OK 嗯 对吧而这其实是一整个生态 它不是 就是说 你你们会觉得 OK 好 这是一个又是一个很 fancy 的案例 对吧 我今天讲了好多 哎我可以这样用这样用这样用这样 每一个都很厉害而因为我是教操作系统的嘛 操系统上面的应用程序 Unix 的 philosophy 它能成立的原因 就是那个管道能实现所有程序的自由组合和无限复用 一加一是可以大于二的而刚才我说的所有的东西 比如说从一个浏览 就是一个上下文里面提取这个记忆和脚本的能力 skill 和我刚才那个浏览器的 skill 和我 比如说我又有一个呃什么在网网网页上面怎么浏览的一个 skill 他们是可以加在一起 互相调用的所以呃现在这个 AI agent 的这个呃生态其实已经达到了一个临界点马上你就会看到呃这些东西的互相组合可以成百倍 成千倍地放大个人的能力真正对于一个一般人来说呃他可以做的他可以去找到世界上各种各样的信息源 对吧我不知道你们有没有订阅那个什么菊丫的 AI 早报 对吧然后每天早上起起来在刷牙的时候就就听一下 反正它也是 AI 生生成的 但它是有 RSS 的它是有这个推送源的然后你有这个 B 站的推送 你有 arXiv 的推送 你有 Hacker News 的推送然后这些东西都我都可以做一次沉淀成 skill 或者沉淀成脚本然后它就会进入 对吧 它 我就会我就可以做了一个这样的信息处理的系统 我有大量的这个信息源然后这个信息源会进入一个处理系统然后这个处理系统最终会产生有用的知识然后这里面就是由各种各样的 skill 构成的都是自然语言 所有东西你一行代码都不用写 但是它可以复用 你会不断的调整这个工作流 然后它就会不断的产生对你有用的知识 你的飞轮就转起来了然后你想象一个呃拥有这样飞飞轮的飞轮的人 你你在这个飞轮上和没有飞飞轮上 这是一个多么可怕的呃可怕的事情 对吧 所以这时候你可以理解为什么 OpenCloud 和 Emurs 是一个现象级的产品 对吧为什么他们能能给人这么惊喜对吧 比如说一个自我进化的能力 呃虽然啊虽然说我我作为一个 CS professional 我我其实不惊讶 而且尤其是我我其实挺讨厌 比如说 说它去组建一个 memory 的 因为它有它的提示词 然后它会把一些它我不想让它记住的东西记住 我想让它记住的东西不记记住所以我更多的时候是我调用我自己的流程把把我我我我说把这个东西写到我的数据库里 然后 AI 会会会做会做这些事儿呃但也许只这有一天 就因正是因为这个现在产品还不够成熟 模型可能还不够强当有一天模型过了那个临界点的时候 我就是我现在就比 AI 多一点点我比 AI 多的那一点点也被 AI 取代以后 我就消我我我就我也我也被消灭了 对吧呃我也被消灭了然后在这个意义上 你能想到很多很多呃更有趣的事儿 比如说我刚才说的录屏 对吧 你就录屏一天让 AI 自动改进你的流程 你就问 AI 我这一天干的这些事儿 你觉得我还有没有提升空间了很有可能就尤其是大家在初学者的阶段 就还有很大的提升空间 所以你们是 对吧 你们是这代人在 AI Native 下长大 你们这代人才是未来才有才有出路 像我现在已经被迫的 对吧被迫要处理很多事务性的事情 我已经没有这个没有这个机会了呃对所以呃虽然现在还没有完全的准备好 但我真的是很难理解为什么有些旧人类 尤其是老灯们 这个为什么还要心安理得的每天去做这个重复的事情 对吧 当他他为什么要我啊感觉出出了一些出了一些小问题 但是呃doesn't matter doesn't matter 呃我我我只要让它对吧 我我只要让它修修修就行了这个呃这个不重要呃显然显然这个这个我需要一个更更好的模型 但是就是我我我不理解 就是为什么 为什么这些人不意识到那可能公众号就公众号的消息和真正你第一手用过的人 他的感受呃是是是很不一样的但这个时代来了 所以我们需要呃认真的思考思考这个问题 好这是普通人的视角那那接下来是我的这个 CS 作为一个 Computer Science 的从业人员的呃的视角 就是 如果你们只是用 Agent 和 Codex 说来帮我把操作系统作业做了 那你们真的是太小看它了呃我我们是 Computer Science 的人我们非常知道编程的能力界限在哪里 其实这就是我们和和其他的一般人 对吧 一般人他很容易提出一个需求 然后这个需求 Agent 可能做不好做不了然后或者说他不知道应该怎么样 prompt 这个 agent 能够确定性快速的完成但我们有呃我们知道的是我们是怎么可以把需求编译成 就像刚才这个里面的东西编译成什么东西可以复用 什么东西应该以代码的形式复用 什么东西应该以 Skill 的形式复用 我们会呃我们会非常的呃清楚我举个例子呃这件事情如果是一般人和 AI 协作就会呃就会稍微呃可能现在 AI 还做不到我改卷子改完以后我要统分那一般来说这个呃任务就是给助教的 对吧 好助教你你去把这个分加了吧然后助教就掏出一个计算器 这个十二加十三加十四加十五加十六啊 然后再再仔仔细核一遍呃所以我觉得我对我的学生太好了 这个这个也也也不行呃我我今年尝试了这样的一个流水线呃我基本上就是我第一遍我先是 Y 就是 Y code 让它出脚本测试 然后测试留留完了以后我就一遍头把它跑完我的我的流程大概是这样的我在办公桌上有一个从顶向下的摄像头然后那个摄像头会拍到那个试卷的一个固定的位置 我把它先调好然后调好了以后我摁一个回车它就会拍一张照拍一张照以后 我呃它就会回头去 offline 去生成去去用千问去识别这个姓名学号小分 就每一个小分然后它会写一行到一个文本文件里 所以我就我就是一张卷子摁一个回车 一张卷子摁一个回车 我是两只手的我两只手都没都没写下 然后如果我这张卷子比如说没有摆好 我就可以哎调整一下 然后再再再来然后第一个阶段完了以后 第二个阶段按照反序 我还是以回车键这时候我左右手就换了 我左手摁回车 右手拿笔 我摁回车以后我的自然就是我会用语音来播报 谁谁谁学号是什么 二四一二二零几几几 然后它把每一个小分都报出来 十一加十二加十三加十四加十五 它一边报我一边要检查 因为 OCR 会有错我不信任它 我要对我的班上的每一个同学负责然后我检查过没问题以后 我就会把它报的那个最终的分数给抄写到卷面上 这个这个分数是用脚本算 就用用 eval 算出来的 所以它是不会错 它不会因为大语言模型的幻觉算错我没有让大模型做加法 所以我我我对所有同学是负责的 就是每一个分数我都呃我我都看过了 然后最后分数会自动汇总到教务处的那个 Excel 的呃模板上然后最后我可以用这个东西对吧 我可以用这个方式把那个 Excel 文件上传然后我再抽样检查 确保没有问题以后呃再再再来提交 所以你看到确实是配合一个豆包输入法更加 但因为我是一个 CS professional 所以我知道边界在哪里 对吧 我知道我的本地有一个二十七 B 的千问三点八然后 Ollama 可以用 然后我知道应该用这样的流程一个最舒服的流程 减轻我和 Agent 之间同步的代价 而这些东西都是呃如果一般人直接如果你可以试一下回头 比如说你哪怕是跟最好的模型说呃我现在我现在改了一百四十张卷子改好了 小分都已经写上去了呃我要统分 帮我实现它到不了一个这么快的收敛的呃方案 对这是所以有有些时候现在我还需要这个呃人和 AI 要共建但我也赌有一天 AI 的能力能够强到它能够感知我的一切 然后能帮我做一个完美的东西好那我们就可以回到软件工程的话题了毕竟这是生成式软件工程 我们来做一个小的软件工程的产品吧就这因为我选它正好是就是有一天 就前几天 大概一个星期左右的时间里 有一个我们在群里面突然闲聊说哎呀机器被管控了 很讨厌然后我们就想有没有可能你你假设啊假设你现在在一个金融公司里然后这个金融公司数据是可以带进去的 但是数据是出不来的就是你比如说你插一个 U 盘 然后你可以把一个 Word 或者 Excel 考进去 然后 Word Excel 考进去以后 它就进去了 但是没有任何文件可以考到外考出来好机器做了管控 然后它不能执行任何不信任的程序 不能显示任何不信任的网页 你唯一能做的就是在远处可以悄悄截屏但是你想把一个很大的文件给偷出来你怎么办对吧这就是 Computer Science 的人才能想到的这个呃想到的事情 我我我干了这样一件事啊我做了这样的一个程序 OK 我可以叫它程序吗 对可以叫它程序这是一个典型的软件工程任务这是一个二维码然后呢我可以把任何一个文件的内容文件内容 比如说我我现在文件内容就是 hello world 可以啊好好 hello world world 完了以后你看这个二维码就变了 你们可以扫扫一下 我也扫一下这这个二维码没有没有危害 应该不会封号吧对呃扫出来以后是一个 Base64 编码的字符串然后它是 0001Base64 编码的字符串 然后然后我这是可以是一个非常非常长的字符串 比如说我有一个很长的 hello world 啊 这个很长的 hello world 我就可以编码成一个二维码的动画 那这里有一个 这里有一个呃这里有个帧号 这时候我摁住 F 九刷新六七这就是一个二维码动画 也就是说你只要偷偷地截屏然后你把所有的每一帧它循环播放的 你把每一帧都拍到 你就把这里的数据给偷走了 所以我用完全合法的方式注意这是 Excel Excel 是合合法的 然后我用了所有的东西都是公式 大家可以看一下啊 公式在这里全部都是 Excel 的就是就是 Excel 的公式 那都是都是合法的 Excel 公式 而且是二零一九 Excel 之前的 Excel 都兼容的公式 然后把这个二维码投出来 这这个是是没没什么 就是一个就是一个例子 然后你作为这个 CS professional 你可以用这个方式偷数据出来 你也可以如果如果能在那个机器里面装 exe 的话 当然一般是不行的呃你可以用抖鼠标的方式 对吧你可以在上下维度抖鼠标 就是零 左右维度抖鼠标就是一然后你有一个远程桌面连进去 然后你就可以可以往里面传输数据 然后你用二维码的动画 就可以往外面送数据 这样你只要有一个远程桌面 你就可以在那里面做一个虚拟网卡 你可以把远程桌面变成虚拟网卡 然后你就可以和它和它连起来 然后你是 Computer Science 的学生 你知道你上过操系统 上过计算机网络 你知道这里面需要的组件是什么 你就可以把它 Y code 出来 对吧 这这是一个呃就 AI AI agent 呃可以可以可以可以做到可以做到 好所以呃对吧 当当这是一个有意思例子 我我我我刚才我这个 Excel 是用是用 AI 生成的 AI 生成生成的 你你的想象力限制了你能做什么 就这个 对吧 我我我们总结一下 我们作为一般人 一般人可以呃学习 对吧 看书呃可以做总结 然后可以实现一个这样的信息处理的闭环 还可以操作 对吧 用 Computer Use Browser Use 去做任何你平时日常里面做的做的事情 同时因为 Everything is Code 我可以用 AI 生成你能看到的所有的东西 视频论文东西我们在做 呃我我在和一个同学做一个叫 Y5 的项目 用一个自然语言 我三 D 打印机可以打印一个东西出来 真的东西也是 Code 也是 Python 代码 真的都是 Python 代码 所以能够实现这个从 Bit 到 Atoms 这个未来已经来了 我们看到它只会 AI 的能力只会变强 不会变弱 那么下一个问题就是它什么时候来 以及我们应该怎么面对它 好那关于面对 我们就可以进入这个生成式软件工程最重要的内容了 对吧 刚才我们就建建建建立了一个思路 哦我三观尽毁了 时代的车轮来了 我已经被压在车车底下了 不着急 AI 也不是完全完美的 在 LM 之前的时代就有一个老梗说 哎呀 idea 都有了 我们是商学院的这个 你不知道你们商学院同学有没有跟你们说过这个 idea 都有了 就差一个程序员了 我们去挣一个亿吧 对吧 然后 A B C D 轮也都有了 就差一个天使投资人了 没有人投资投资我们呃没有那么简单 就是 AI 首先 AI 很强 我我展示了 AI 可以做什么 但是产品是一个系统性的工程 你你你如果要做一个呃什么外卖 对吧 这你想做一个什么外卖网站 你要做前端后端交互运营 整个流程上面任何一个环节做不好 产品都是直接暴毙的 虽然 AI 都可以做 每一个对吧 AI 谁 AI 也能设计前端 也能做后端 也能交互 也能运营 它看过世界上所有的书 它什么都知道 但是如果你组织的不好 直接也是立即立即就暴毙 实际上 实际上这个呃我的 QR 阵点 Excel 我做了一个实验 让 AI 去做 AI 生成了完全不可维护的代码 我马上就会讲到这个软件工程内容 然后一号点 NGE 点 edu 点 CN 难用吗 难用吧 始终使 然后每年学校都会花巨额的钱 让这个公司维护这份代码 就因为它要添一个功能 打一个比方 呃我因为因为我在用这个 Browser Use 的时候 我还稍微 Hack 了一下这个呃系统 我发现有些隐藏的字段 比如说呃你能够看到一个学生的校区 在知在苏州校区建成之前 这个系统里面是不需要这个字段的 然后为了兼容这个苏州校区 你们写过软件的人都知道 你们对吧 你们在设计需求设计的时候 你没有想到学校竟然还有校区这个东西 数据库里就没有这个东西 然后突然有一天你的产品经理说 哎呀 我们两个校区选课要分开的时候呃对吧 当然你你你现在是没问题 就是因为你是产品经理 你就这个 AI 说好啊 哎呀 现在你你原来系统是可以用了 我现在多了一个校区 苏州校区 我要我要把校区分开 然后 AI 就开始写代码 对吧 但是但是呃还是很容易失败的 这就是非常典型的软件工程的失败 所以我可以讲一下刚才那个 QR 阵的暴毙 它是 AI 是怎么暴毙的 它这个非常明确的需求 我要一个 QR code 点 Excel 然后我只是使用这个 Excel 二零一九兼容的公式 把输入的任意一个字符串呃先用 Base64 编码 然后转成 QR code 动画 每一帧是什么什么什么什么什么 然后当然我为了呃我我我我开始让 AI 做的时候 还发现这个任务经常它做着就停下来问我 然后我说不要 你这个很容易失败 然后你就不要问我了 必须把它做成啊做成为止 但是很遗憾 AI 对这个需求的理解是不到位的 就我说清楚了 就确实我就是要做这个东西 但是这是 GPT 五点六啊 GPT 五点六依然误解了我到底要一个什么东西 GPT 五点六说说的对 就因为它看到了我的完整的 Slice 但我没有告诉它我是怎么做的 所以它认为 AI 哪里容易犯错呢 AI 容易在小 corner case 上犯错 GPT 五点六第一秒钟就被带歪了 它希望做一个对于任意的 S 都满足正确性的东西 这就已经错了 不是的 软件工程的第一步不要扩大 做最简单的东西 不会失败 它没有理解理解这一点 事实上是这样的呃我我后来做了一个受控的实验 因为第一个版本是我带着 AI 做的 Y Code 做的 所以做的还比较顺利 然后后来我就直接把这个 specification 就这个告诉 AI 然后 AI GEM 五点三第一次思考了二十五分钟 然后开始疯狂地输出 写了四超过三十二 K 的 Alpha  token 然后直接我的 Cloud Code 就干爆了 它说你你直接就说我已经你已经超过了我默认的 output 的限制了 然后被截断了 然后然后它在在跑 总共跑了我我没有监管 跑了六个小时才跑完 但是对的 所以质朴它一直说它它自己厉害的地方是它可以做 Long Horizon 的任务 是对的 它它就是后勤联系人 这个五点三 在这个 Long Horizon 任务上真的做的做的很好 然后 DeepSeek V three Pro 也是晚上放着跑的 它已经没有办法遵循指令了 我第二天早上因为我晚上在跑嘛 我第二天早上看的时候 它给了一个 Base64 是硬编码的 就是就是它用 Python 算了一个 Base64 这就明显就不符合这个指令嘛 对吧 把一个输入的任意字符串先用六十四编码 这肯定是对吧 正常人的理解应该是

## 转写 01:20:00–01:39:59

base64 秒是用 Excel 公式来来编码。
它已经不听指令了，它是用 Python 算了一个 base64 贴到那个公式框里。
如果我的那个字符串改了，它的 base64 是不会改的。
然后我然后我就骂它了。
我骂完以后它那个不管怎么样就是它们两个最终都完成了任务，所以 Agent 完成任务能力很强。
呃但它们生成的都是没有办法继续维护下面下来的 AI AI 丝了。
它和一号的点 N 九幺点 A 六 C N 的死法是完全一样的，就是软件工程里面最经典的死法。
上来我知道需求了。
我把这个需求实现了就就就好了。
直接就陷入了维护的泥潭。
它们没有想一个好的软件的架构，使得这个软件能够对吧有有有有一个比较。
呃，夸张的说法说我们能不能做一个软件生存一百年。
对吧一百年在一百年时间里面软件会发生很大的变化对吧你想过去的没有一百年五十年。
操作系统发生什么样的变化图形界面发生了什么样的变化。
叫用户界面对吧应用程序发生了什么样的变化，有没有一个软件能生存一百年还？呃还不知道。
但是你看这 GPT 五点六还都不知道。
还不知道。
其实，我们需要一个好的架构才能完成这个任务。
嗯我是怎么办到的呢，你们可以想一下如果你们要对吧一个 quick quiz 如果你们要实现这个 QR gen。
你们会怎么写？
怎么 prompt AI。
对吧我我我实际上是只用了少量的 prompt。
GM 五点三在两百 K 上下文里面就完成了第一个正确的版本，我我就当时是我升级的 GM 五点三我就想测试一下它的能力。
我干了这样的一件事。
我让它设计一个各种各样的 Python 类，就有点像编译器一样。
比如说我要设计一个 Python 的函数叫 XOR 一个符号系统。
比如说因为因为这里面是叫位运算，然后这个东西既可以翻译成 P 就既可以在 Python 里面直接执行。
又可以翻译成 Excel。
也就说我做了一个基础设施像编译器一样的基础设施。
然后。
我我有什么 XOR 什么 concat。
也就是说我我我做了一个中间语言有点像如果你们今天做这个 AI Infra 的话，你们会需要一个泰隆这样的中间的语言。
我让它先设计一个中间语言这个中间语言既对 Python 友好也对 Excel 友好。
然后我只需要验证的是我的每一个翻译都是正确到 Excel 到 Excel 正确翻译是正确的。
到 Python 的结果是正确的。
然后我可以在 Python 世界里面验证我的 base 六四编码算的对不对我的二维码的每个像素算的对不对。
然后我再单独验证每一个东西和 Excel 的翻译公式翻译的正确性兼兼容性。
最后一把头生成就直接正确。
代码非常地干净也不长。
可能长但是维护性远比你们大家可以看一下这个，呃看一下看一下 AI Slop 啊。
嗯。
GM 五点三的这个 build build Excel。
就我真的觉得 AI 还是很厉害的。
无穷多的硬编码。
这就这样啊就这么说。
呃我我我们可以看一下啊我我我没有我没有我没有没有把它的 Excel 呃 check 进来没事然后再看一下这个 Deep Deep Deepseek。
呃。
不同的方不同的 roadmap 但是。
嗯对反正不同的roadmap 但是呃一样的思路。
就就这么说这两份代码。
我让它们把那个工作区从一个位置移动到另外一个位置它都得修两个小时。
就是它不停地错不停地错不停地错它不是就它。
对吧因为它所有东西都是硬编码，它只要改错一点点地方它它的 verification 就通不过它得再再像 Agent 那样那样修，它确实可能能修完。
但是这个是软件工程。
所以在今天你还需要生成式软件工程需要需要这门课。
所以我基本上就是把我我作为一个软工人对吧我我其实是做软件工程的。
呃把我的毕生所学这个虽然我觉得 AI 应该也懂的但是我不知道为什么就是可能是因为后训练的原因使 AI 这个上手解决问题的这个欲欲望太强了导致了呃好像对我觉得可能做的还不是特别的好。
好那这里面核心的问题是什么呢是这个世界上有有三个就当我们要用 AI 解决问题的时候我们有三个空间。
第一个空间叫 Intention，是你的意图就你脑子里面想的是什么比如说老板说我要做一个国民级的应用。
对吧这这才 Intention 或者说我要我要做一个小程序给我挣一个亿对吧这是这是那个 Intention。
然后这个小程序它可能有些想法哎呀这个这个同学们点外卖不方便我要做一个点外卖的小程序对吧然后挣一个亿就可以挣一个亿了。
然后这个在 Intention Space 里面这这个这这个是是是是这已经很大了对吧你有有的人有的人想想做外卖有的人就想做这个 AI 读论文对吧 AI 耿同学。
然后在这个 Intention Space 里面每一个 Intention 都有很多种可能的实现。
对吧这这是 Specification。
就是呃呃 Specification 就是说这个这个程序的功能是什么选用什么样的架构选用呃呃甚至架构都都不是就它要满足什么样的要求对吧它有几个界面。
然后每个界面有什么功能就比如说这个就是 Specification。
对吧以这个例子那个 Intention。
那个 Intention 是我要造一个能够偷出二维码偷出数据的 Excel 这是一个 Intention 对吧相当于 Intention Space 每一个点我要造一个 Excel。
然后这个 Spec 就是刚才说的一句话。
然后你看到。
我的这个 Spec。
选用不同的架构选用不同的实现方式就像刚才那种实现方式就会带来巨大的差别。
而满同样都是满足 Spec 的还有不同的 Implementation。
对吧就哪怕是满足同一个 Spec 的都有大量的 Implementation 所以软件工程它真正的 Gap 就在于。
就说这这些东西之间是有 Gap 的都是有 Gap 的。
因为你的 Intention Space 里面提需求的可能是你的老板可能是你的甲方他没有任何计算机的经验他就说校校长说我们要一个教务系统。
然后公司说我可以搞定。
Intention 就在这我要教务系统要做学校里面所有同学相关事情的信息化没有了就这一句话。
然后在这个 Specification Space 里面又有好多好多的选择不同的方式对吧这个界面到底怎么呈现我觉得这个界面设计很糟糕。
然后到这个界面完了以后这个数据库的 Schema 应该怎么定对吧到底应该是分哪几张表每个表里面有哪些列我到底要选择 Key Value 型的数据库还是关系型的数据库每一个选择都会带来截然不同的呃结果。
所以这是一个这是一个还诶我看这个这个图片怎么打开啊。
嗯我看一下啊这个图片。
可以再开一个。
这是一个软件工程在很早的时候的一个梗图了大概是就是说你他讲的就是这个这个 Gap。
就在各个维度上比如说程序员所想的和这个产品经理所想的和客户所想的它是完全不一样的对吧呃这个客户是这样解释他的需求的。
然后这个 Project Leader 是这样理解它的然后分析的人又是这样想的然后这个宣传的人又是这样宣传的然后最后实际上这个 Customer 要的是这个。
但是最后造出来的是对吧造出来是这个就这个这个这个这个这这个梗图。
而造成这个的根本原因实际上就是这些 Space 之间的这个这个 Gap。
而当我们谈软件工程不管是软件工程还是生成式软件工程的时候我们要做的事情就是补上补上这些 Gap。
而今天这些 Gap 是怎么补的呢模型用的是猜。
对吧模型是猜模型就说好你你既然说了这句话那我猜应该是这个吧我就去实现为什么呢因为后训练的时候模型是有 Reward 的我们每个人都是 Reward Hacker。
对吧模型受到奖励它如果任务做对了做完了测试通过了就会得到奖励所以它就会形成一种倾向它会疯狂的立即上手去把这个任务尽可能快地完成。
因为做得慢了你要骂对吧然后它能够越来越多地做一些简单任务这当然是好事儿。
但是呃和人我们人解决问题的方式还是不一样的。
你看看我们作为计算机或者软件工程的学生你们你们是怎么学习的怎么弥补这个 Gap 的你到大一第一门课是什么 C 语言程序设计。
所以你先学的是这个东西里面有什么。
对你你跳出你你学习的框架你先学的是这个 Implementation Space 里面有什么东西把这里的东西都弄得非常熟练哦这个这个需求可以这样实现这个需求可以这样实现然后你再去上什么软件工程课这样一点一点地把你对这件事情的任务给补全。
但是在 AI 时代这件事情当然是发生了变化对吧你既要阻止这个 AI 去乱猜。
AI 去乱猜诶你又要尽可能地发挥 AI 能够从 A 到 B 的能力这个时候呃我想这就是我这个学期要讨论的呃讨论的问题。
讨论的问题就是呃我们的生成式软件工程想要想要告诉大家的我开个头对吧呃人月神话 The Mythical Man Month 大型动物一旦陷入这个胶油坑就很难逃脱对吧它像泥潭一样的进去以后而且濒死的动物又会引来各种掠食者。
然后它们也进了胶油坑它们也呃也也出不去也出不去这里面有一个很经典的呃论断是。
如果一个团队已经开始或者一个软件产品已经开始失败了你加进去更多的人只会让它变得更失败不会变得更成功。
也就是说就跟刚才那个 QR 阵一样当一个产品已经开始 AI 已经开始产生 Slop 的时候你投入更多的 Token。
你也只会让它变得更失败AI 会不断地在它那个失败的东西上面再往成再扶起来一点扶起来一点扶起来一点直到你再也付不起那个 Token 为止。
然后你看教务系统不就是这样的吗对吧随着供它不断的每我觉得每一年你打开那个教务系统这个你都发现它增加了功能。
你们也也发现了然后然后我的感受就是学校又花了很多这个纳税人的钱对吧这个呃Anyway 这也许不是坏事因为它促进了经济的呃发展对吧呃然后软件工程软件工程研究的就是怎么样在这个 Gap 实际存在的情况下把一件足够大的事儿就是一个真的对吧这刚才我们展示一个很小的事儿。
教务系统是一个相对来说比较大的就你真的去能够挣几百万几千万的上市公司对吧那是上市公司这个你是真的可以挣到很多钱的一个产业级的产品然后再到你真的要做一个国民级的新的新的东西它有一套方法论。
然后这个方法论就是这些人在投入了 Billions of Dollars 里面得到的教训对吧他管理了很多的人每一个人都很聪明结果陷入了呃交流软件工程是有技术的对吧因为打个比方。
呃我我们南大的有很多做软件工程老师比如说他做什么程序分析测试的那他就是说如果你生成了一个代已经在 Implementation Space 里面已经有一个代码了我能不能自动地为它生成更多的测试用例或者生成一个代码的审查的东西在这个代码不满足 Specification 的时候或者不满潜在的不满足 Intention 的时候我能够给你一个 Warning 对吧他就做了一件非常非常在这个 Big Picture 里面非常非常微小的事情。
然后我们有的时候比如说你们在科技组里面开始加入科技组做研究的时候你们就看到那个非常微小的事情忘记了这个 Big Picture 其实是这样的对吧软件工程是一个有技术也有人类学也有社会学也有管理学的部分然后恰好我觉得在生成式软件工程里面把它们变成了 AI。
对吧你你管一个一堆不会和你抬杠只会 You are absolutely right 对吧我的You are absolutely right 呃他会听你的话的呃人在软件工程里面他要研究这个人不听你话怎么办对吧你怎么样管管控这个团队的风险这个人离职了怎么办对吧呃跳槽了怎么办到竞争对手去怎么办这这都是软件工程要研究的。
然后如果你去看比如说一个软件工程研究领域的话它也是一个非常广的对吧 AI for SE SE for AI 架构设计可靠性演化这个软件能不能长期生存下去Human Social Aspects 需求这个特别特别重要因为越早的时候这 Gap 是放大的你在相当于这是一个杠杆你在这里微微小小的变一点你会在这里产生巨大的变化。
所以一般来说这些大型的软件系统都是在这个点上面出错了没有做好导致了整体全部的呃崩盘。
而这里面有一个呃我觉得是我们现今教育体系的一个呃很大的问题你们从高考过来到现在你们所有的考试题都是分钟级能解决的对吧假设你大模型可以用豆包摸鱼对吧那你所有上了考场的题目都是如果人五分钟解决不了那这个题它一般来说就不会出了。
所以你们长久以往你们训练的就是解决就和你们训练的那个 Reward 和 Agent 的训练那个 Reward 是一样的你能不能五分钟解决Agent 能不能五秒钟解决。
最后是 Agent 它有更多的数据它有更明确的反馈信号所以它做的比你好。
你没有如果你没有一种很强的去好奇心想要知道这个世界是怎么运行的对吧一个产品到底是怎么开发的你你很有可能你没有这种 Self Motivation 你就没有去训练自己去解决这种 Long Horizon 的问题最后就是你解决 Long Horizon 的问题还不如 Agent。
哦这是一个呃当然我觉得所以软件工程挺好它它有些课你你我我知道有些软件工程的同学在抱怨他们的课程对吧说说我上了文科然后怎么怎么怎么然后你回回过头来在就如果你能把技术映射回这些文科的东西的时候你会发现哦其实软件工程还是就是就是这这就是一个文科吧就是一个管理学这是一本管理学的书呃在它里面确实有很多呃真实的呃有趣的有趣的东西。
实际上啊在大语言模型的时代软件工程失败的定义没有变就是从 Intention 到 Specification 到这个 Implementation 的翻译错了。
对吧要么就是 Intention 和 Spec 之间不满足我我我做了一个东西其实不是我要的然后我又我做了一个实现但是不满足我的 Specification 比如说正确性或者性能。
诶呃但是今天模型模型因为它有这种这个 Reinforcement Learning 它对于这种真正的长程信号的 Reward 还是做得不够好的它更多还是在怎么样机械地完成任务所以你会发现不管是 GPT Claude Opus 还是这个我们现在用的比如 GM 或者 Deepseek 它在面对这个 Excel 问题的时候它都不会去想像我一样先去设计一个 DSL。
对吧虽然这个模型有足够的智能可以设计一个非常好的中间语言来把这个问题非常干净漂亮可维护地解决但是 AI 的这个第一反应就像大家一样就是它已经被训练成做题家了我们现在还没有就现在现在我觉得还没有把这个呃 AI 怎么样变成一个好的设计者就大家都说 AI 现在最缺失品味嘛呃这个好的工程品味给训练出来但同时我也觉得既然它能做做题家它为什么不能有好的品味呢我觉得可能是有的。
所以我还是有危机感的虽然就是说我觉得这这门课我现在这么教可能三个月以后或者我这个这门课还没有结束的时候我讲的所有东西都已经没用了这都是有可能发生的就是我在上着上着上着上着这门课所有东西就就不存在了呃因为我我我其实非常确信对吧它既然能解决数学问题它既然能解决这种编程里面很细碎的逻辑它为什么不能因为它都知道这些好的设计它都见过它为什么不能从它的记忆库里面找到那个好的设计然后来解决这个问题我觉得是可以的甚至甚至我有一些 Skills 就能够朝这个方向来做。
所以我觉得这是一个都值得我们深思的呃问题你们可以回去想一想对吧怎么阻止主导 QR 的开发然后怎么设计一号点 N 九幺但是可以告诉大家的是 GPT 五点六 So 给我的答案非常糟糕就是这两个设计都是一定会失败就它给了一定会失败的软件工程呃设计然后我们可能会对我们的做一切的方式可能都会都会发生变化我不知道就如果 AI 连品味也学会以后呃会发生什么会发生什么。
所以最后一页首先古法编程已经死了对吧呃Agent 在完成一个单个任务上已经无人能敌了这个软件工程暂时还没有死但我希望每一个同学呃经过这一门课的这个呃可以说是探讨吧我也不能说我我我做的对或者怎么样呃试图回答一个问题在保研的时候你的导师问你为什么我要招你而不是买一个两百刀的 Claude Max 对吧呃怎么接住这个这个问题我觉得这个这个问题上 GPT 五点六回答得还挺好的虽然虽然它做不到对吧它说它能找到能替实在解决的问题把未知拆成便宜的实验用证据让坏方向及时停下并对长期结果负责这这是一个好的回答呃但是我发现 GPT 五点六它做不到呃很有意思好我今天课就到这儿然后我会把这个今天的课程的那个内容重新切片重新整理但可能不会马上呃我应该会有一个这个生肉版就是我我剪剪辑就把我今天上课的流程剪一下会会会发布一个版本大家可以对比那个我我可能是精修过的版本好今天下课。
