
斯坦福开设AI原生工程课,Mihail Eric谈教学实践
来源标题:How Stanford Teaches AI-Native Engineering — Mihail Eric, Monaco
斯坦福讲师Mihail Eric在CS146S课程中教授AI原生软件工程,并同时在Monaco带领AI团队实践。该课程首期包含9个作业和一个毕业项目,其中一个练习要求学生用AI代码审查工具评估仓库反馈。他强调课程内容经过其工程团队实际验证,以回答软件工程师当下该学什么的问题。
以下正文由 AI 翻译自 Latent Space(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
AI Engineer 的 YouTube 频道刚刚突破一百万订阅。感谢每一位看过演讲、把演讲转发给同事,或者把学到的东西投入生产的人。为了这次特别节目,我们想找一位能回答很多人在工作中都在问的问题的人:软件工程师现在到底该学什么?
Mihail Eric 有两个地方可以检验他的答案。他在 Stanford 教授《The Modern Software Developer》,同时在 Monaco 领导 AI 团队,他的同事们用 coding agent 交付软件、排查故障。我请他带我们过一遍课程大纲,然后告诉我们哪些部分在他自己的工程团队里经受住了实战检验。
这篇文章也算是对下周来旧金山参加 AIE Code 的各位的一个预告,作为你们即将与演讲嘉宾、赞助商和参会者展开的所有对话的必备背景知识。如果你是 LS 订阅者、能看到这篇文章但还没拿到票,可以用这个码享受 30% 折扣(抱歉,不退款)。
去年的作业,现在一个 prompt 就够了
CS146S 第一轮有九次作业和一个 capstone。其中有一个练习,学生在一个 repo 上运行 AI code reviewer,并评估它的反馈。到了下一轮,Mihail 觉得学生用一个 prompt 就能把很多练习一次性做完。当他问一屋子 Stanford 大二和大三学生平时怎么写代码时,他调查到的每个人都已经在用 agent 了。
所以这一次,作业的一部分是给一个开源项目做贡献。维护这个 repo 的人会 review 学生的 patch。我很喜欢这个设计对作业带来的改变。你可以让 agent 在一个下午实现一个功能。但你仍然要弄清楚维护者想不想要这个功能、代码为什么这样运行、你的 patch 还可能破坏什么。这种对话也是初级工程师向资深工程师学习的方式。
这一集里有一个练习,你可以借用到下一次 PR 上。Geoffrey Litt 的 explain-diff skill 会把一个改动变成可视化的逐步讲解,然后就这个改动向你提问。拿你 agent 刚写好的 patch 试一试。哪个问题是你必须重新打开代码才能回答的?去看看那段讨论。
Monaco 买什么,造什么
在 Monaco,团队评估过一些 code review 产品,最终继续用 Devin。Agent workspace 则走了另一条路。一个后台 agent 需要有地方运行产品、复现故障、测试 patch。具体细节取决于 Monaco 的云环境是怎么搭的,所以团队自己造了 workspace。Mihail 的经验法则是:“买是为了学,造是为了留。”
成果之一是 Hal。工程师可以让它调查某个出故障的东西并开一个 PR。销售人员也可以问同一个系统产品是怎么运作的。在一个场景里,有用的答案是别人可以 review 的改动。在另一个场景里,是可以直接讲给客户听的解释。如果给这两个人都塞一堵调试输出墙,你只服务了其中一个人。
我不断回到的一个问题是:PR 的另一端会发生什么。Agent 看到的是当前的代码。那它去哪里查找六个月前团队为什么拒绝过同样的改动?这就从 Basis 的 Authority Map 引到了 Mihail 的预测:开源 repo 会变成 agent 运营的软件工厂。这也是今天就应该把学生送去跟维护者打交道的好理由。总得有人决定哪个改动该进这个项目。
如果你在用 coding agent 做开发,来 AI Engineer CODE 找我们。如果你自己也在教这些东西,我很想知道你最先被迫重写的是哪次作业。
Show notes
- Stanford CS146S —— 十周课程大纲、作业和开源合作方。你也可以切换到去年的课程做对比。
- Build a coding agent and look inside Claude Code —— Mihail 对工具循环及其外围 harness 的讲解。
- Understanding is the new bottleneck —— Geoffrey Litt 关于如何理解 AI 写的 diff 里改了什么的方法。
- Monaco's agent-developer workspaces —— 团队为什么要造一个让 agent 能运行和测试应用的地方。
- How to Kill the Code Review 及背后的 Faros 研究 —— AI 采用率高的团队合并的 PR 多了 98%,但 PR review 时间长了 91%。
- Basis's Authority Map —— Agent 应该去哪里查找当前行为、过往决策和意图。
- Stripe's Minions —— 给后台 coding agent 提供环境、并让它产出经工程师 review 的 PR 的生产案例。
- Boris Cherny's Steps of AI Adoption —— 我们在节目接近尾声时放上屏幕的五个阶段。
- Mihail on The Thinking Mode —— EO Studio 的采访,我们在开头做了节选。
Timestamps
0:00 · AI Engineer 百万订阅与 CODE Summit 0:51 · Mihail Eric 与 Stanford CS146S 5:26 · 初级工程师现在需要学什么 10:02 · 开源维护者 review 学生的代码 15:04 · 十周课程大纲巡览 24:04 · Coding agent 内部的循环、工具和 harness 32:18 · 面向大型代码库的上下文工程 38:15 · 让你真正理解 diff 的技能 46:42 · Monaco.com 域名争议与飞机横幅 50:23 · Monaco 为销售团队做了什么 59:21 · 走进 Monaco 的工程团队 1:01:40 · “买是为了学,造是为了留” 1:05:24 · 让 repo 对 agent 友好,并闭合 on-call 循环 1:12:37 · 当 code review 成为瓶颈 1:20:37 · 安全、依赖与权限 1:30:13 · 后台 agent 与 Stripe 的 Minions 1:34:16 · MCP 门户与基础设施为何趋于收敛 1:41:22 · 构建软件工厂 1:45:24 · 留给开发者的工作还有什么? 1:52:16 · 从个人采用到团队自主
Transcript
在下方下载完整文本。在网页版中,你还可以阅读 transcript,并点击任意时间戳跳转到采访对应片段。
transcript.txt 153.06 KB • PLAIN File 自动生成的 transcript,已与最终节目对齐。时间戳会打开 YouTube 上对应的时刻。
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。