作业被 agent 一键做完之后,斯坦福把作业改成给开源维护者提 PR|Latent Space × Mihail Eric
- 原始标题
- [One Million AI Engineer Special] How Stanford Teaches AI-Native Engineering — Mihail Eric, Monaco
- 节目 / 来源
- Latent Space
- 嘉宾
- Mihail Eric
- 原始发布日期
- 2026-11-09
- 时长
- 约 121 分钟
- 内容类型
- 播客长访 / AI 原生工程教育与团队实践
- 原始内容
- 前往原始来源 ↗
AI Engineer 的 YouTube 频道这期在庆贺订阅过一百万。嘉宾 Mihail Eric 同时做两件事:斯坦福 CS146S《The Modern Software Developer》的兼任教授,以及销售软件公司 Monaco 的 AI 负责人。Monaco 不是那个国家。转录里他说买下 monaco.com 之后和对方有过公开争议,并说官司他们赢了。
主持人以为课在刷第三轮。他纠正:这是第二次开课。第一次在 2025 年秋,还在他口中的 4.5、4.6 之前。课大约从 2024 年 11 月起意,过委员会花了九到十个月。去年有一篇 Business Insider 写过这门课。今年自主编程智能体起来,大纲大改。录的时候是第一周的末尾。
周二他问过上课的学生。来的多是斯坦福大二、大三。他说没有一个人还在用手打代码。各家工具的份额他还没调查。去年是九个教学作业,再加一个开放的结课项目。作业是他设计的练习,比如用一个 AI 代码评审工具发一条评审,再看它好在哪、不好在哪。他说不少人一次提示就能做完。这轮改成进真实开源仓库,向维护者提补丁,由维护者审。
原始来源:[One Million AI Engineer Special] How Stanford Teaches AI-Native Engineering — Mihail Eric, Monaco。中文深度整理,非逐字翻译。YouTube 侧字幕关闭。本文依据 Latent Space 官方单集页上的自动转录,不是现场听记。专有名词和数字可能有识别误差。Claude Code 在转录里多次写成 Cloud Code,下文按 Claude Code。模型名按转录字面保留,不改成另一款已发布型号。
维护者愿不愿意合并,比智能体会不会写更稀缺
去年的课更像巡览。代码评审、规格、SRE,各有人做一个智能体,学生的任务是见世面。今年他想留下的原则更窄:仔细的上下文工程,以及用设计和架构对付复杂任务。课不替代算法。传统计算机科学是先修。他后来说,斯坦福入门算法课 CS106B 的程度,就够写出编程智能体的主循环。
第一周他对学生说,公司需要你们,地板比一个入门职级高。他借用谷歌的说法:不能停在 L3,判断力要更接近更高一级。人留下的是系统怎么建、取舍是什么。实现细节可以更经常交给工具。
他担心的缺口在导师。已经在业界的人先用上编程智能体,会变得更强。刚进门的人面对的是「然后呢」。他夏天谈下来一批开源伙伴,挑的是他认为偏 AI 原生的仓库:自己就是编程智能体,或是给智能体做工具的项目。学生在里面贡献代码,维护者审补丁,把好软件的心智模型传下去。做得出色的人,他预期会被挖。这是课程设计,转录里没有录用名单,也没有选课人数。
工具额度他另外攒了一批。Factory、Cognition、OpenAI 都参与。他不想让学生卡在每月 20 美元的订阅上。想把用量顶满、看看边界的,应该用得到。Factory 的 Eno 还留了口子:固定额度之外,愿意做一次性实验,规模放到一千个以上的智能体。转录后段把 credits 听成信用卡,下文按前面已经说清的用量额度理解。
大纲事先公开了几周。没兴趣的人可以不来。来的除了计算机学生,还有别的系的博士后、病理和医学方向、其他工科,以及商学院里不想只靠一位技术联合创始人的人。他不声称自己握着全部答案。客座课留下,是因为前沿的人看见的比他多。Boris 会知道一些他不知道的事。
十周从两百行循环讲到工厂
他先按周扫了一遍,并说这些题成熟程度不一样。开放问题知道,答案未必知道。对话里说到,做工厂、卖工厂的前沿团队,自己也只声称大约百分之三十多是完全由智能体驱动的。谁把这句说完整,转录没有切开。有人走到黑暗工厂的深处,又出来说自己错了。主持人说这在 AIE 上聊过,并转述 Boris 最近公开说过自己经常错。下面的十周是这门课此刻的骨架。百分之八十到九十的代码由智能体写出,是他放到最后一周的极限问题,转录没有把它说成现状。
第一周拆 harness。Harness 是包住模型、让它能改文件并维持运行的那一层。他今年早些时候写过一篇:入门算法的程度,就能做出一个会改文件的智能体循环,大约两百行。没有子智能体,也没有 MCP。MCP 是模型去调用外部工具的接口。课上先写这两百行,再用 mitmproxy 截下真实 Claude Code 的请求和响应,看系统提示、计划提示和压缩提示。他当场用的模型,转录写成 Opus 5.5,并说是两天前的模型。主持人说 Claude Code 的系统提示在各家编程智能体里最长,大约两万 token,砍过大约八成,然后又长回来。Mihail 看到的变化是:大约两个月前还在系统提示里的 Git 用法和任务设置,现在更期望写进模型权重。弱模型要给好坏例子。模型强了,这些例子会变成过度约束。他不背书某一家工具。去年开课时 Claude Code 还没有今天的位置。Pi 是这门课的开源赞助,课也不等于推荐 Pi。Boris 去年在他记忆里大约四千 Twitter 关注。主持人记得产品大约两个月大时,一次查询要五毛钱;去年十月的一张幻灯片写着,按六个月后的模型来做。
第二周是规模上的上下文工程,加上工具设计和 MCP。他仍然站在 MCP 这边,把它当成已经存在、还会继续存在的标准。他讲的 Rapid,功能上接近 Dex 的 RPI:进陌生大仓库时先做研究,再给出几种做法让人来选,然后才是计划或规格、实现和测试。他说这套能铺到数百万行的仓库。一句「把事情做了」能走一段,走不完。主持人认为更没定论的是多智能体:子智能体要不要继承主线程的全部上下文,做完怎么压回去。给少了会做错,给多了会把一句随口的话当成法律。Dex 把上下文胀掉的那段叫 dumb zone。Mihail 把这截称为手艺多于科学。
第三周是 skills。从单次工具调用走到可以反复跑的流程,写成 skill 文件。他会用到 Matt Peckock 的 grill me,转录后文又听成 Matt Polcock,下文不改成另一个拼写。还有 Jeffrey Litz 的 explain diff:先给 diff 一个能扫读的形状,再在结尾用小测验确认你是否看懂。主持人的写法经验是,默认的技能生成器经常又臭又长,要再砍一轮;触发条件写宽了,会在另一个项目里突然跑起来。Eugene Yan 会定期删掉不用的。Mihail 更想留下的用法是组织知识:他们用 Devin 时,把接口和服务边界该怎么定写进技能,交给代码评审去执行。这比「省得每次重打提示」活得更长。
第四周是定制智能体的机关:配置文件,他点了 AgentsMD 和 CloudMD,还有 hooks、子智能体。这一周是机制清单。第五周才落到一个真仓库上。
第五周是 agent-ready 的仓库:服务边界、文档、可验证性。他把它当成后面四周到五周的地基。大家热衷十个智能体并行,前提是仓库能被验证、结构清楚、智能体读得懂。他把 Factory 的 readiness report 当作这一课要看的东西。Eno 在这题上早,AIE 欧洲那场演讲他觉得超前。主持人说,Factory 在别人还在形成意见的那一周就把产品发出去了。它是一块仪表盘。原则可以自己跑,也有开源版本。转录没有念任何一家的就绪分数。
第六周是智能体代码评审。生成速度上来之后,理论上一天可以挂出三十个以上的 PR。人如果仍按老办法逐个挡在中间,人就变成速度的瓶颈,大规模生成就没有意义。他要的中间地带是:仓库的可验证性如果事先设计过,有一类改动可以在一部分时间里自动通过;另一类你仍要插入。插入之后,也不一定还是逐行看。Latent Space 的客座作者 Ankit,来自 Aviator,写过如何干掉代码评审。Mihail 读过,没跟他本人谈过,认为大体是对的。卡住的地方有两个:评审,以及更上游的意图。主持人的观察是,合并在变多,评审次数没有跟着上去。转录没有给出样本和百分比。他点名写过这件事的有 Amplitude、Cloudflare、Augment,说帖子值得读,现场没有摘数字。
Monaco 自己把 PR 描述写成这一刻代码库的规格,不是一段话。里面有文件级的指针,标明动了哪些服务边界。主持人反问的是整条功能的规格:它是所有 PR 的总和,模型不擅长维持它,人还记得五周前做过相反的决定。Mihail 提到会计公司 Basis 的做法:用 Git 跟踪一批文件,一部分是规格和意图,一部分是他们称为代码的规范状态,把隐含约束写出来。他说这对 Basis 有效。转录没有使用另一个专名来称呼这套图。
第七周才是安全。去年也有。Isaac 去讲过,公司名转录写成 Semgrup,按 Semgrep 来听:开源仓库比智能体更早,原来做的是传统的静态扫描,现在把产品和这个局面接上。Mihail 想钉住的是依赖和供应链。版本要钉死,不要随意 npm install 然后信任整条链。极端说法是依赖为零、全部自己写,因为代码变便宜了。他承认这在「你看见一切」的意义上最安全。主持人立刻把话扳回来:自己写的错误只有自己的用户会撞上;一个用户面很大的开源项目,会有人先发现问题。两边都不能说绝。主持人还补了一句:模型平均而言缺陷可以更少,麻烦是你不知道自己发出去的是什么。两人都同意,数据存储、账单和认证不要拿来即兴生成。authN 和 authZ 的差别、AWS IAM,这些词要先会。有了词,才提示得出来。转录把 authN、authZ 听成 off N、off Z。
同一段里他还说,企业里挡住脚步的经常不是再加一个智能体。合并队列堵着,应用拉起太慢,CI/CD 这些更底层的东西没理顺。CI/CD 是持续集成和持续交付。再丢一个 SRE 机器人进去,回答不了系统性问题。
第八周是后台智能体:不在传统 IDE 里,而由仓库和 CI/CD 里的事件触发,也包括 SRE 风格的机器人。他点了 Ramp Inspect 和 Stripe Minions。Spotify 那套的名字他当场没想起来,后文有几处听不清,本文不挑一个当成产品名。Cloudflare 的 Rajesh 讲他们的基础设施。主持人说,所谓触发,底下常常是定时任务或 webhook。
AI SRE 他单独说了几句。Resolve 在企业里做得好,卖点是依赖图已经乱到要靠人去理:大量 Kubernetes 和 Helm。他描述这种卖法时点了福特和沃尔玛。这是 Resolve 的市场,不是 Monaco 的客户名单。Night Shift 做后台智能体,他说对方有 Greylock 的支持。规模小的时候,自己做通常还应付得了。主持人给那个企业量级的口播是:仓库数量到数以万计,比开发者还多,写代码的人已经不在,值班手册过期,你在 on-call。去年 Resolve 给这门课做过一份沙箱作业:里面有多份服务和埋好的故障,学生用 Resolve 的智能体,扮演 on-call 的人去探。
第九周是团队基础设施:LM gateway,以及规模化之后的 MCP portal。Portal 要解决的是单一入口上的治理、安全、审计和成本。主持人认为 portal 和 gateway 是同一层平台,和权限、账单是同一类「中间那个盒子」的问题;公司买回来的架构往往就是组织架构。Mihail 同意底层可以是一个盒子。企业里拆开,经常是政治和人员问题,不是纯软件设计。他点了一个会更重要的角色:平台工程师。云、开发者体验和安全都在这里,这是能让公司出事的那一层。第九周的客座时间对不齐。他说自己大概整周不讲,题目回到第十周。下文不把某位嘉宾锁死在某一周。
第十周是软件工厂。人还留在环里的位置,他现在的答案是意图和评审:规格和要建什么,以及对系统做一定的核对。他认为评审这个瓶颈会比意图更早松开。开源伙伴里的 Warp 会跑一份工厂形态的 Warp,学生去建、去维持它运转,再把有意思的部分拉回去。他觉得整套工厂很难一次卖出去。不会第一天就把整台机器放到福特的桌上。路径是先成为对方选用的编程智能体,再做后台智能体,再接住一部分 SRE,最后如果生命周期写在代码或配置里,才织到一起。OpenAI 的 Ryan 有一篇他们播客也聊过的帖子:用五个月做内部工具,手写代码零行。帖子叫 Harness Engineering,转录说是二月的。先慢,再把活卸出去,再做 PR 评审。原则上他认为这是未来的一个版本。生意上怎么卖,他仍然存疑。
主持人说,录制前一位是 Anthropic 的产品负责人和平台工程负责人。问他们的工作什么时候被取代,回答是还没有,因此不必觉得这件事迫在眉睫。Mihail 应了一声。主持人算过大二还有两三年。Boris 写过一份给团队用的阶梯。转录是从零起算的五级:gated、assisted、parallel,然后是 supervised autonomy 和 AI native。Boris 写的时候 Anthropic 在第三级,还在争取第四级。转录没有把每一级的名字和数字逐项对齐。主持人点了一个叫 dynamic workflows 的子智能体模式:按手头的任务现写一个 harness,而不是复制父智能体。他说这是 Anthropic 那边的叫法。Monaco 在销售场景里也做了一版,按需要现搭。
买来学边界,要留下的自己建
转录说公司在 Basin SF,按落在旧金山来听,轮次是 Series B。产品是一体化的销售平台,智能体做销售不愿意做的那部分,人去成交。他们没有从企业客户做起。还在用电子表格管管道的团队,比从 Salesforce 里把人拉走容易。做法是跟着客户长大。他说客户是早期创业公司,主场在种子轮到 A 轮,现在才往更大的市场走。一体化他们做了大约一年半。藏了大约一年里的大半,再加几个月,是因为从第一天就想做全套,而不是先切一个窄点再扩张。他说在面向初创公司的销售平台里,他们属于最好的,甚至就是最好的。这是他的判断。转录没有客户名单,也没有融资金额。广告牌上含糊带过的数字,本文不写成一轮融资。
销售用的 harness 是他们自己的,从 Codex、Claude 这一类系统借结构,工具和流程按市场销售来做。它给平台上几乎所有流程供能:市场总量和理想客户的打分与定义、管道的演进、会前笔记和纪要。有长程的,也有短程的,建在基础模型上。成本开始重要之后,他在看开源权重的模型能不能更快,以及用强化学习一类的方法做后训练、搭相应的环境。那一周外面在谈模型生意正负百分之五十的毛利。他说先不论这些数字。下文不把它写成 Monaco 的毛利。
充实数据是硬问题。他们用 Parallel 做一般搜索,也用 Exa。两家都是朋友,他拒绝排名。自己建的那套公司、账户和联系人数据库,是他认为最有价值的系统之一:此刻该联系哪家公司的谁。他举的时机是,卖给销售副总裁,对方在同一职位上待了五年,不如刚换工作的那一刻;领英上的变动就是信号。他说公司强在需求侧,帮客户把约到的会做多。
一体化本身有价值,销售软件里很多公司从单点做起。他觉得真正的差别还在人。卖 Monaco 的市场销售团队,同时是他们称为 FDAE 的人:forward deployed account executive,像顾问一样帮客户装上智能体流程,走完对方自己的销售周期。转录里说,其中有 Brex 等地做出色的市场销售,打法写进平台。后文的 Sam Blond 是广告打法的人,本文不把「Sam 的旧部」扩成一份名单。
工程侧从第一天就在用编程智能体,也留下过伤。原则他在口播里先说反了,随即改过来:buy to learn, build to keep。买来是为了学边界,要留下的基础设施自己建。
代码评审是买的例子。一年多以前他们扫过一圈。主持人回忆的名字里有 CodeRabbit、被收购前的 Graphite,以及 YC 背景的 Ellipsis。Mihail 确认试过一批,当时没有一家跨过「立刻有用」的线。他做过统计,不是凭感觉:把自己的 PR 摊开,看啰嗦程度、发帖频率和用处是否划算。第一轮没有选定供应商。后来 Devin 明显变好。去年 Silas 在这门课上讲过。第二轮他没有再推,同事主动要求开通。今天他们仍用 Devin,他仍然觉得值。Silas 现在更多在模型侧。他还提到跟 Walden 谈过。转录没有给 Walden 的职务。代码评审之外,他觉得成熟度不够,所以自己做。不教条,有成熟产品会再看。后台智能体尤其如此:他们自己的云平台怎么搭的,决定了外部平台不如内部合适。
Monocoder 是他们版的 Ramp Inspect,建在 Coder.com 上,按自己的场景改过。用处是隔离开发环境、把智能体扩到多个、跑长程的编程任务。他点名 John Tracy 一伙。Hal 是 Slack 里的机器人,一部分是 AI SRE,一部分是客户成功,一部分是 QA:帮人排障,坏了就提 PR,销售也可以用它搞清产品怎么工作。对销售和对工程师,人格不一样。Hal 他归给 Yunja 和 John Tracy。
Agent readiness 他们有自己的一套。Eno 和 Factory 在这题上早,他让对方来讲,是因为那次 AIE 演讲把原则说清了。
规模大了,SRE 的价值他另有一个判断。依赖极多、Kubernetes 极大的时候,企业产品才显出用处。小规模通常还管得住,可以自己做。这和「代码评审继续买、后台运行自己建」是同一条线,不是两套哲学。
对人的要求是看懂 diff,设定意图和护栏
explain diff 把这件事做成练习:生成变容易之后,看懂改动没有借口。主持人说,没有一种局面是关掉脑子会更好。一行提示换来几万行代码,那个记分牌是错的。技能里有一类就是强迫你把脑子打开,多问,而不是替你把脑子关掉。
野心的地板也抬高了。主持人说,拍照变成一个应用,今天不够野心;写一个浏览器才算,例子是 Cursor 的 Wilson。Mihail 同意今年会期待更多,去年的学生仍然该被记一笔。去年他的课还在讲 K-shot 提示。去年的结课里,一位设计背景的学生拍下笔记本就生成应用,他相信这和对方后来去 Vercel 有关,可能在做 Eve。Eve 也是开源伙伴,学生用它来做东西。另一位电子工程的学生,做的是把带 C 语言内存地址的手册翻成可解释、可可视化的代码。结课项目他用 YC 的创业征集当种子:出去做一点真东西,近乎做一家公司。
对还在找工作的人,包括业界早期岗位,主持人加了一条课表之外的建议,他称为第十一周:做基准和评测。这能敲开前沿实验室和头部智能体实验室的门。有严谨度的工程博客,把一件事做深,也同样有效。转录里 C-Bench 被说成普林斯顿的本科项目,Mihail 应了一声。本文不改成另一个基准名。
跟上变化的办法,他说可以小到每天实验十分钟。用一个没试过的工具,去做你已经会做的题。客座、大纲年年改,都是因为这门课本来就没凝固。原则是实验,不是把某个人的话当成教条。
Steve Yegge 那份从 IDE 到多智能体、再到自己写编排器的阶梯,他认为方向是对的,不能按字面执行。Gastown 的术语和宣言传得比系统远。对话里记得一个说法:Gastown 里唯一有用的建造,是 Gastown 自己。主持人作为雇主的说法是,他不想雇一个还没从这种狂热里走出来的人,因为他正在为某人的狂热付钱:工资和 token,反馈进不去。学生版是把个人系统优化了一大圈,什么也没交付。该经历,然后问自己当时错在哪。
山谷外面,很多公司仍是一次调用的 ChatGPT,或者刚发下 Cursor 的许可证、正在让人上手。这句他用了百分之百的把握,并说比这间屋子里的人以为的更常见。学生知道前沿,价值会落在那些还没到前沿的地方。
第一周结束。他要看的是开源伙伴这一轮:学生钻进复杂仓库,真的做出东西。明年会不会再开一版,转录里没有一句确定的承诺。开放源码的维护者如果想加入额度合作,可以找他。