Aftercasting

0:00 / --:--

【百万 AI 工程师特别节目】斯坦福大学如何教授 AI 原生工程——Mihail Eric,Monaco[One Million AI Engineer Special] How Stanford Teaches AI-Native Engineering — Mihail Eric, Monaco

Latent Space · 11 月 8 日

2:00:44
← Latent Space

这集讲什么

斯坦福 CS146S 把编程智能体从“会用的工具”变成“需要理解、验证和治理的工程系统”:学生既要拆解其内部机制,也要在真实开源项目中接受代码审查。

1-3要点

  • 工程教育要检验理解,而不只检验产出:能提交代码,不等于能说明改动为何正确、为何适合现有系统。
  • 最小实现是拆解复杂产品的方法:简化的智能体循环有教学价值,但与生产级可靠性之间仍有距离。
  • 仓库质量会影响智能体质量:清晰边界、有效文档与可运行的验证,比不断增加提示词更具有长期价值。
[One Million AI Engineer Special] How Stanford Teaches AI-Native Engineering — Mihail Eric, Monaco|深度中文详解

播出信息

  • 日期:2026-11-08
  • 时长:7244 秒(2 小时 0 分 44 秒)
  • 节目:Latent Space / The AI Engineer Podcast
  • 嘉宾:Mihail Eric,斯坦福 CS146S 授课教师、Monaco AI 负责人
  • 音频:收听本集
  • YouTube:观看本集
  • Episode:节目页面
  • 英文转写来源:youtube-captions

背景

本集以 AI Engineer YouTube 频道达到 100 万订阅者为引子,讨论软件工程教育怎样跟上编程智能体的变化。Mihail Eric 于 2025 年秋季首次教授斯坦福 CS146S「The Modern Software Developer」;本次访谈发生在课程第二轮开课初期。他同时在 Monaco 担任 AI 负责人,因此讨论横跨课堂设计、开源协作与企业工程实践。

课程并非零基础编程课。Eric 将传统计算机科学知识视为前提,试图回答更后一道问题:当智能体已经能够编写大量实现代码,初入职场的工程师该如何理解系统、提出约束、审查结果,并对上线后果负责?

总结分析

这集的主线不是“学生是否还要学写代码”,而是软件工程的训练对象正在上移。Eric 认为,算法、架构与系统取舍仍是基础,但只让学生完成容易被编程智能体一次生成的作业,已难以检验他们是否真正理解软件。因此,CS146S 一方面让学生从约 200 行的简化实现出发,拆解智能体的循环、工具与运行框架;另一方面把他们送进大型开源代码库,由维护者审查真实贡献。学习成果不再只是交出可运行代码,也包括解释改动、处理反馈、建立对系统的心智模型。

十周课程从上下文工程、工具设计和代码库准备度,逐步走向代码审查、安全、后台智能体与软件工厂。这个安排也揭示了新瓶颈:生成代码变快,不代表审查、授权、验证和部署风险同步消失。Monaco 的实践讨论将问题从个人效率推进到团队流程——哪些东西值得购买以加速学习,哪些能力必须留在自己手里;怎样让仓库对智能体可理解,也让故障与审查形成闭环。

节目保留了必要的不确定性。主持人与 Eric 都不把软件工厂、MCP 门户或未来岗位分工说成定论;甚至讨论了基础设施究竟会整合,还是因企业组织边界继续分拆。对学生和团队而言,更稳妥的结论是:持续实验,但用真实交付、可验证的结果和明确的安全边界约束实验,而不是把调用量或生成代码量当成进步。

节目结构 / 议程

  1. 为什么开设 CS146S — 00:00 🎧 · ▶️
  2. 初级工程师:起点提高了 — 05:26 🎧 · ▶️
  3. 把作业放进真实开源项目 — 10:02 🎧 · ▶️
  4. 十周课程:从内部机制到软件工厂 — 15:04 🎧 · ▶️
  5. 拆开编程智能体的“黑箱” — 24:04 🎧 · ▶️
  6. 大型代码库:先解决“让它看到什么” — 32:18 🎧 · ▶️
  7. Monaco.com 争议:传播与产品能力要分开看 — 46:42 🎧 · ▶️
  8. Monaco:把课程原则放回销售场景 — 50:23 🎧 · ▶️
  9. 让仓库适配智能体,而不是只换工具 — 1:05:24 🎧 · ▶️
  10. 安全边界:最危险的是不知道自己上线了什么 — 1:20:37 🎧 · ▶️
  11. 后台智能体、MCP 门户与软件工厂 — 1:41:22 🎧 · ▶️
  12. 开发者的新职责与团队采用阶段 — 1:52:16 🎧 · ▶️

分节详解

1) 为什么开设 CS146S — 00:00 🎧 · ▶️

💬 他们说了什么:开场庆祝频道达到 100 万订阅者,随后介绍 Eric 的双重身份。他说课程构想始于 2024 年末,经过约 9—10 个月设计与校内审批,在 2025 年秋季首次开课;这一轮是第二次教授。上次侧重展示 AI 如何改变软件开发生命周期,这次更重视上下文工程、设计与架构。

💡 为什么重要:课程更新的依据不只是新工具出现,而是编程智能体处理较长任务的能力改变了教学重点:从“哪里能用”转为“怎样在复杂系统里可靠地用”。

⚡ 争议点:Eric 明确说,CS146S 不替代算法等传统课程。若只看到课程主题中的 AI,却忽略其先修基础,就会误以为“会调用工具”足以胜任工程工作。

2) 初级工程师:起点提高了 — 05:26 🎧 · ▶️

💬 Eric 承认学生对就业感到焦虑,但认为训练良好的 AI 原生工程师仍会非常有价值,只是入职能力门槛提高了。人需要掌握软件系统如何构建及其取舍,部分实现细节则可以更多交给工具。面对课程内容快速过时的问题,他把一线实践者的讲座与相对稳定的工程原理结合起来。

💡 如果实现速度不再稀缺,初级岗位的培养就不能只围绕“完成分配的编码任务”,还需要让新人更早接触需求判断、架构与质量责任。

⚡ 主持人以尖锐措辞担忧大量学生会落后;这表达的是就业焦虑,不是劳动力市场预测。斯坦福学生的机会与资源,也未必能代表更广泛的学生群体。

3) 把作业放进真实开源项目 — 10:02 🎧 · ▶️

💬 上一轮课程有 9 项作业及一个开放式结课项目。Eric 认为部分教学练习太容易被智能体一次完成,于是为新课程联系开源项目:学生需要在大型代码库中贡献代码,接受维护者审查,并学习他们判断好软件设计的方式。他还争取额外工具额度,避免实验被每月约 20 美元的个人订阅成本卡住。

💡 真实维护者不会因为代码“能跑”就合并改动。沟通、解释设计、回应审查意见,构成了生成代码之外难以省略的工程训练。

⚡ 开源项目并非天然适合课堂规模。学生能否获得充分指导、维护者是否被额外审查工作压垮,以及额度或合作资源是否影响选题,都需要在实际执行中观察。

4) 十周课程:从内部机制到软件工厂 — 15:04 🎧 · ▶️

💬 十周依次覆盖智能体运行框架、上下文与工具设计、可复用技能、配置和子智能体、适配智能体的代码库、智能体式代码审查、安全、后台智能体、团队基础设施,以及软件工厂。Eric 举例提到 AGENTS.md、Claude.md、hooks、MCP 门户和模型网关。

💡 这不是工具清单,而是一条工程依赖链:先理解智能体如何行动,再改善它获取信息与验证结果的环境,最后讨论团队如何安全地扩大使用范围。

⚡ 嘉宾与主持人都提醒,课程包含尚未定型的模式。“软件工厂”尤其是探索方向,不能因其进入教学大纲,就把全面自治视为已经解决的问题。

5) 拆开编程智能体的“黑箱” — 24:04 🎧 · ▶️

💬 Eric 用约 200 行代码演示简化的智能体循环:接收目标、调用模型和工具、修改文件,再根据结果继续行动。课堂随后观察真实产品的请求与响应、系统提示及上下文压缩等机制;两者并列,是为了区分教学模型与生产系统。

💡 学生若只停留在产品使用者视角,很难判断失败究竟来自模型、工具设计、上下文还是运行框架。亲手实现最小版本,有助于建立可迁移的排障模型。

⚡ 200 行演示能说明核心循环,却不能代表成熟产品的权限、安全、多智能体协调与可靠性。节目也强调,借用具体产品做教学案例并不等于推荐该产品。

6) 大型代码库:先解决“让它看到什么” — 32:18 🎧 · ▶️

💬 课程把上下文工程放在简单提示词之后:面对大仓库,团队需要考虑服务边界、文档、工具入口,以及怎样让改动可以被验证。技能机制和配置文件,则用于把重复的操作方法交给智能体,同时帮助人理解最终产生的代码差异。

💡 真正的约束往往不是“模型一次能写多少代码”,而是它是否拿到了相关、可信、足够精确的上下文。仓库结构混乱会把信息搜寻和错误判断的成本转嫁给每次智能体运行。

⚡ 更多文档、技能和规则不一定更好;它们会过期,也可能彼此矛盾。团队需要确认这些材料是否改善任务结果,而非仅增加仓库中的说明文字。

7) Monaco.com 争议:传播与产品能力要分开看 — 46:42 🎧 · ▶️

💬 官方章节将这一段标为「Monaco.com 争议与飞机横幅」。它把对 Eric 的介绍从授课者转向创业公司实践者,也为后续 Monaco 产品和工程组织的讨论提供语境。

💡 一家 AI 公司的公众传播很容易与其技术能力被混为一谈。横幅或域名争议能够带来关注,却不能替代对产品效果、客户需求或工程质量的检验。

⚡ 仅凭本集提供的章节标题,不足以判定争议各方主张及事实经过;具体事件应以该段原始音视频及其他当事方材料核实。

8) Monaco:把课程原则放回销售场景 — 50:23 🎧 · ▶️

💬 官方议程在此先讨论 Monaco 面向销售团队的工作,随后进入其工程团队。Eric 在节目中反复强调自己也是实践者:课程涉及的大型代码库、智能体工具和团队流程,并非只在课堂上讨论。

💡 销售场景提醒听众,智能体式系统的评价不能停留在演示是否流畅,还要看它是否嵌入真实工作流程、是否能由团队维护,以及人能否发现和纠正错误。

⚡ 访谈中的公司实践可提供案例,却不能自动推广到所有企业。Monaco 具体产品能力、客户效果与适用范围,应另行依据产品资料和可核查案例判断。

9) 让仓库适配智能体,而不是只换工具 — 1:05:24 🎧 · ▶️

💬 相关章节围绕仓库的智能体准备度、值班响应闭环及审查瓶颈展开;此前还有“购买是为了学习,自建是为了保留”的讨论。两条线索指向同一问题:外部工具能帮助团队快速试出有效做法,但长期运转仍取决于自身仓库、流程和责任边界。

💡 对智能体友好的仓库需要让任务范围、依赖、测试与故障信息可被定位。若故障反馈无法回到代码和验证流程,更快生成改动只会加速积累未知风险。

⚡ “自建”不应被理解为凡事重造。什么属于必须掌握的核心能力,什么可交由供应商维护,仍需按成本、锁定风险与团队规模判断。

10) 安全边界:最危险的是不知道自己上线了什么 — 1:20:37 🎧 · ▶️

💬 讨论区分了“模型会不会写出缺陷”与“人是否了解自己发布的代码”。主持人特别点名数据存储、计费、身份认证与授权等高风险区域;Eric 赞同应加强审查与安全检查。谈到云权限时,嘉宾也强调工程师至少要理解认证和授权的区别,以及类似 AWS IAM 的基本概念。

💡 智能体提高代码产量后,未经充分理解的变更也更容易进入发布流程。风险分级比对所有改动采取相同审查强度更有操作性:牵涉资金、客户数据与权限的改动,需要更明确的人工责任和验证。

⚡ 不能由“模型平均缺陷可能更少”的个人判断推导出可以放松审查;也不能由“其他区域可大胆尝试”推导出低风险区域无需测试。具体放行标准仍取决于系统和数据后果。

11) 后台智能体、MCP 门户与软件工厂 — 1:41:22 🎧 · ▶️

💬 在此前讨论 Stripe Minions 等后台智能体,以及 MCP 门户、模型网关的团队级治理后,话题汇入软件工厂。Eric 将当前较明显的人类介入点概括为定义意图和审查结果;课程的开源合作方 Warp 还计划让学生参与构建、维护工厂式流程。

💡 从 IDE 内的一次调用,走向事件触发、持续运行的智能体系统,意味着工程问题转为调度、权限、可观测性和验证。平台工程也因此不只是给开发者提供工具,而是为大规模自动化设边界。

⚡ 主持人认为 MCP 门户与模型网关可能收敛为同一层基础设施;Eric 认可技术上的相似性,同时指出企业里的不同负责团队可能阻碍整合。软件工厂如何作为完整产品出售,也仍是开放问题。

12) 开发者的新职责与团队采用阶段 — 1:52:16 🎧 · ▶️

💬 嘉宾讨论当代码不断由智能体生成时,开发者如何负责产品要求、技术约束、方向修正与评价指标;但他们也提醒,许多公司实际上仍处在初步采用阶段。结尾建议学生不要只优化工具玩法,要交付真实产品,并提出可复现的基准测试和评测;主持人将此戏称为课程的“第 11 周”。

💡 个人会用智能体,与团队能够安全地给予智能体自主权,是两种成熟度。能写出严谨工程分析、设计评测并证明改进的人,比单纯展示生成速度更容易说明自己的贡献。

⚡ 节目借“沉迷智能体实验”警示空转,但个人或团队的成熟度阶段不是统一量表。是否进步,最终仍要回到交付、可靠性及用户问题,而非运行了多少智能体。

人物与机构

  • Mihail Eric:斯坦福 CS146S 授课教师、Monaco AI 负责人;从教学设计与实际工程两面讨论 AI 原生开发。
  • 斯坦福 CS146S:面向已有计算机科学基础的学生,教授现代软件开发中智能体相关的工程方法。
  • Monaco:Eric 任职的公司;访谈以其销售场景与工程团队作为实践讨论对象。
  • 开源项目维护者:本轮课程的重要参与者,负责审查学生对真实代码库的贡献。
  • Warp、Factory、Stripe:分别在课程合作、智能体工具或后台智能体案例中被提及;节目中的案例讨论不等于对其效果作独立验证。

金句

“You buy to learn, and you build to keep.” 购买是为了学习,自建是为了保留。——本集章节标题所引述的原则

“I don’t want to claim that I have all the answers today.” 我不想声称自己今天已经掌握所有答案。——Mihail Eric 谈课程为何邀请一线实践者

“Just experimenting for 10 minutes a day.” 每天花 10 分钟试一件过去没做过的事。——Mihail Eric 谈如何跟上变化

洞见与延伸背景

“适配智能体的仓库”也是适配人的仓库。 能让智能体找到服务边界、依赖关系与测试方法的资料,通常也能缩短新人熟悉系统的时间。区别在于,智能体可以更快地把错误理解转成大量改动,因此文档的准确性与验证入口尤其重要。

开源审查补上了工具使用与工程判断之间的一环。 课堂练习可以设计得很难,但真实维护者会提出课堂预设之外的问题:改动是否符合项目方向、是否增加维护负担、是否破坏已有约定。这种反馈比“生成成功”更接近工作现场。

平台工程的价值随自动化扩大而上升。 当更多任务在后台触发、跨仓库和服务运行,统一入口、权限与审计就不再只是大型企业的管理偏好,而是让自治能力可控的前提。不过,技术架构可能收敛,并不意味着企业组织或供应商市场必然同步收敛。

争议与需核实

  • Monaco.com 争议:本笔记不依据章节标题裁定事件经过;涉及当事方说法,应回看原始片段并交叉核实。
  • 就业门槛与岗位变化:节目给出的是嘉宾观察和判断,不是覆盖所有地区、学校及企业的就业统计。
  • 工具和公司案例:访谈中对具体产品的评价带有使用经验与合作背景;效果应以明确任务、可复现评测和实际部署结果判断。
  • 软件工厂成熟度:节目将其作为正在形成的方向,同时承认自主程度、人工审查方式和商业交付模式尚未定型。
  • 安全比较:“模型是否比人更少写出缺陷”不能脱离任务类型、审查方式和测量口径单独下结论。

行动建议

  1. 做一次最小实现:写出能调用工具、修改文件并读取反馈的简化智能体,再标出它缺少哪些生产级保护。
  2. 选一个真实仓库练习:完成小范围贡献,重点记录维护者如何评价设计、测试和可维护性,而不只记录合并结果。
  3. 给代码库做准备度检查:确认关键边界、运行说明、测试命令、权限约束和故障定位信息是否清晰且仍然有效。
  4. 按风险审查改动:为数据、计费、认证与授权相关变更设立更严格的验证和人工放行要求。
  5. 用交付约束实验:尝试新工具时,预先写下要改善的任务、评价方法与停止条件;有条件时将经验整理成可复现的评测或工程文章。

来源