资讯动态

斯坦福CS146S Week1:现代软件开发者与最小可用编程Agent(超详细中文解读+扩展学习+术语诠释)

发布时间:2026/10/5 11:56:35 来源:尧图企业网站定制
CS146S 第 01 节课学习文档 · 现代软件开发者The Modern Software Developer课程CS146S — The Modern Software Developer斯坦福大学2026 年秋季讲师Mihail Ericthemodernsoftware.dev上课时间2026 年 9 月 22 日周二本文定位把一节课的 PPT 骨架扩写成一份能自学的中文讲解稿。阅读方式先看第一节的「一分钟速览」建立全局印象再往下逐节精读带 的方框是刻意插入的概念补课写给第一次接触这些词的人。0. 一分钟速览这门课在回答一个问题当 AI 已经能写代码时软件开发者这个职业还剩下什么这节课给出的答案可以压缩成四句话行业已经AI 化公司需要的是AI 原生AI-native的工程师但门槛的地板被抬高了——因为大家的产出都变高了期望值也跟着涨。这门课讲原则不讲工具。工具每半年换一轮原则十年不变。核心能力是人—智能体工程Human-Agent Engineering把 AI 不擅长的部分业务理解、架构品味、沟通做到极强。LLM 的上限就是你的上限你给的上下文有多好它写的代码就有多好。最后一节 Demo 只用了 200 行代码就做出一个精简版 Claude Code目的是说明一件事智能体Agent的神秘感是假的工程复杂度是真的。1. 开场2026 年的世界是什么样1.1 幻灯片的原始信息State of the World: 2026What That Means For You全行业范围的 AI 采用意味着公司需要你成为AI 原生AI-native已经是新的目标但是……地板更高了软件开发者的生产力处于历史最高水平因此期望值也上涨了把重点放在整体性的系统级思考、架构与抽象与AI 优先AI-first的开发实践结合你将变得不可替代1.2 逐句拆解“公司需要你”幻灯片上这句话容易被读成鸡汤但它其实是个招聘逻辑AI 让写代码变便宜了于是需要写代码的地方变多了。过去一个小团队只敢维护 3 个服务现在敢维护 30 个。软件的总量在膨胀而不是收缩。“AI 原生AI-native”术语补课AI-nativeAI 原生字面意思是生来就有 AI。它和AI-enabledAI 增强是两回事AI 增强一个传统产品后来加了个 AI 按钮。比如老式 CRM 后面挂一个AI 总结客户记录。AI 原生产品从第一天起其核心工作流就是围绕 AI 能力设计的。比如一个 IDE代码不是人写、AI 补全而是人说意图、Agent 改代码、人审核。判断标准很简单把 AI 抽走这个产品还剩多少剩得越少越原生。幻灯片里说的成为 AI 原生的开发者也是同一个意思不是会用 ChatGPT而是你的工作方式本身围绕 Agent 重组。“地板更高了”the floor is higher这是本节课最重要的一句话值得单独解释。想象一个房间天花板是最优秀的工程师能做到什么地板是一个刚入行的工程师至少要能做到什么。以前地板很低。会写 for 循环、会调 API就能找到工作。现在AI 帮所有人把基础部分补齐了。一个新手 Claude Code产出可能接近三年前的中级工程师。于是**“能跑起来的代码不再是稀缺品**地板被抬到了能交付一个完整、可靠、可维护的系统”。推论如果你的能力刚好停在新地板下面你会被挤压如果你在地板之上你的价值反而被放大了因为整个房间的空间变大了。一句话记忆AI 提高的不是天花板而是地板。天花板要你自己去顶。“整体性的系统级思考、架构与抽象”这是说AI 擅长局部写一个函数、修一个 bug、加一个字段但全局这些模块该不该存在、边界画在哪里、数据怎么流仍然是人的活。原因见第 3 节。1.3 与本课程的衔接这段话奠定了一个基调这门课不教你怎么用 AI 工具而是教你在 AI 已经能写代码的世界里如何成为一个更好的工程师。后面所有内容——课程作业、开源贡献、最终项目——都是为了训练这个能力。2. 这门课的定位讲原则不讲工具2.1 幻灯片This class is about principles not tools.2.2 为什么这句话值得停下来想工具的半衰期极短。回顾一下节奏时间当时必须掌握的工具现在还有人用吗2021Copilot 早期补全、Jupyter Notebook 工作流部分2023ChatGPT 网页版 复制粘贴代码基本被 IDE 集成取代2024Cursor 早期版本、LangChain 早期 APIAPI 已大幅重构2025Claude Code / Codex CLI / MCP 生态正在成为主流2026编码智能体coding agent Harness 工程本课程讨论的对象如果一门课教你Cursor 的 12 个快捷键一学期后它就过时了。但如果它教你为什么上下文context是最稀缺的资源为什么工具tool的粒度决定了 Agent 的可靠性为什么架构品味taste是 AI 最难替代的部分那么这些原则在下一个工具出现时照样成立甚至会被验证得更清楚。✅学习建议读这份文档时遇到具体工具名Claude Code、Cursor、MCP不要投入太多精力记操作细节重点关注它为什么被设计成这样。3. 10 周浓缩成 1 张幻灯片3.1 幻灯片10 weeks in 1 slide原始 PPT 中是示意图把整学期内容压成一张图。本课后续所有内容都从这里长出来。3.2 这张图想表达的语义虽然 PPT 没有展开文字但结合课程后续尤其 9/24 那节课可以推出这门课的完整脉络┌──────────────────────────────┐ │ 人 (Human) │ │ 业务理解 · 架构品味 · 沟通 │ └──────────────┬───────────────┘ │ 给出意图与约束 ▼ ┌──────────────────────────────┐ │ Harness智能体外壳 │ │ 系统提示 · 工具 · 上下文管理 │ └──────────────┬───────────────┘ │ 调用 ▼ ┌──────────────────────────────┐ │ LLM大语言模型 │ │ 推理 · 生成代码 · 请求工具 │ └──────────────┬───────────────┘ │ 工具结果回灌 └──────► 循环 ◄──────┘读图要点AI 时代写软件人和模型之间多了一层Harness。技术含量的大头不在模型够不够聪明而在这层壳子设计得好不好。这是 9/24 那节课的主题这里先埋伏笔。4. 核心要点The Takeaway这是本节课的金句页也是最有价值的一页。原文三条逐条展开。4.1 要点一人—智能体工程Human-Agent Engineering聚焦那些尚未被 AI 系统取代的技能业务与产品理解成为技术架构师——培养对软件系统的好品味good taste沟通至关重要1为什么是人—智能体工程这个词术语补课Agent智能体在本课程里Agent 有一个极简定义大语言模型在循环中自主地使用工具去完成一个目标LLM autonomously using tools in a loop。三个关键词缺一不可循环loop不是一问一答而是想 → 动手 → 看结果 → 再想反复进行。工具tools能真的读文件、跑命令、改代码而不只是输出文字。自主autonomously走多少步、走哪条路由模型自己判断。对比一下“帮我把这段代码改成异步的” → 这是问答“帮我查一下这个项目为什么测试挂了并修好它” → 这是智能体任务因为需要它自己决定看哪些文件、跑哪些测试。人—智能体工程指的是人的工作从写代码变成设计并指挥一个由人和 Agent 组成的生产系统。2业务与产品理解AI 可以告诉你这个函数怎么写更快但无法告诉你这个功能该不该做。技术上的最优解常常不是业务上的最优解。举例技术上把查询缓存做成分布式 Redis 一致性哈希延迟从 200ms 降到 8ms。业务上这个报表每天只有 3 个人看、一天看 1 次200ms 完全够用加 Redis 只是增加运维负担。做判断需要知道用户是谁、痛点在哪、公司靠什么赚钱这些信息不在代码库里也不在模型的训练数据里。3技术架构师与品味术语补课taste品味 / 判断力不是审美意义上的好看而是在没有唯一正确答案的问题上做出高质量选择的能力。例子该拆微服务还是单体拆到什么粒度这个抽象层要不要提前抽出来过早抽象和过晚抽象都是灾难这个依赖该引入吗省 3 天工期多一个长期的供应链风险。这类问题没有标准答案只有好坏判断。AI 可以列出 5 个方案的优缺点但在你们公司的约束下选哪个——这是品味。为什么品味难被替代因为它需要跨领域的、来自真实世界反馈的经验。你踩过的坑、背过的锅、上线后半夜被叫起来修的那个 bug构成了你的品味。这些不在训练数据里。4沟通AI 时代沟通反而更重要原因有二对 AI 沟通你写 prompt、写AGENTS.md、写任务描述本质上都是把模糊需求变成精确规格的能力。这门课会反复强调规格写不清楚AI 就写不出对的代码。对人沟通当 Agent 承担了执行人的时间就集中在对齐目标、协调接口、解释权衡上。团队里谁能让 3 个人 5 个 Agent 高效协作谁就是瓶颈的解除者。4.2 要点二LLM 只有你那么强LLMs are only as good as you are好的上下文带来好的代码如果你自己都读不懂你的代码库LLM 也读不懂防止 AI 泔水AI slop1“好的上下文带来好的代码”这是当下 AI 工程的第一性原理。可以这样理解类比把 LLM 想象成一位能力极强、但今天刚入职的资深工程师。他能写任何语言、读过海量代码但他不知道你们项目的目录约定、你们的错误处理风格、哪个模块是历史包袱不许碰、上周刚改过什么。你给的任务描述 项目文档 打开的文件就是他的入职资料。资料给得糟他的水平再高也只能瞎猜。所以在本课程后续你会看到大量篇幅用在**上下文工程Context Engineering**上什么信息该进上下文、什么时候进、什么时候清理掉。2“如果你读不懂你的代码库LLM 也读不懂”这句看似是技术论断其实是责任论断Agent 的判断依赖于它对代码库的理解而它能拿到的理解主要来自你或它检索到的文件。如果你自己都对项目一知半解你就无法判断 Agent 给的答案对不对也无法在它跑偏时把它拉回来。⚠️风险提示一个自己不读代码的人指挥 Agent等于不验货就签收。代码能跑但没人知道它是不是在错误的抽象上跑起来的。3“防止 AI 泔水AI slop”术语补课AI slopAI 泔水 / AI 垃圾内容原词 slop 指给猪吃的泔水后来泛指低成本批量生产的、缺乏质量的 AI 生成内容。用在代码上典型症状复制粘贴式重复代码每处都略有不同大量try/except: pass把错误吞掉过度防御为一个不可能为 None 的变量写 5 行判空命名含糊data2、temp_result、handle_stuff()注释与代码不符或注释在复述代码测试只测 happy path顺利路径异常路径没有覆盖依赖乱加为了一个功能引入 3 个库它的危险在于看起来是对的能跑、能过 CI、代码量还很大让人误以为完成度很高。怎么防本课程后续会给出方法论这里先记住三条直觉小步任务切小每步都能审查有测试让测试当验货员而不是靠肉眼读有标准在AGENTS.md里把项目风格写清楚让 Agent 有可遵循的规范。4.3 要点三激进地做实验Experiment aggressivelyExperiment aggressively这条是行为方式也是最容易被忽略的一条。在技术变动这么快的时期唯一稳定有效的策略就是大量、低成本地试。注意低成本很重要——实验设计的核心是让每次尝试的代价足够小这样你才敢试第二次、第十次。具体到本课程就是对同一个任务用不同的 prompt 结构试对同一个功能用让 Agent 一次写完和分三步写两种方式试记录哪种上下文组织方式效果最好。一个可操作的建议给自己建一个实验日志比如experiments.md每次记录「任务 / 我用什么方式让 AI 做 / 结果好不好 / 下次改什么」。三个月后你会有一份比任何教程都更适合你的私有方法论。5. 课程后勤信息Course Logistics5.1 讲师与助教讲师 Mihail Eric的经历原文斯坦福本科 / 研究生旧金山初创公司Monaco销售领域的 AI 负责人Head of AI为数十家公司做 AI 顾问覆盖从种子轮初创到上市企业在Amazon Alexa构建了最早的 LLM 系统创办并出售了一家机器学习教育创业公司创办了一家 YC 支持的 AI 编程公司术语补课Head of AI / AI Advisor / YCHead of AI公司里 AI 方向的最高技术负责人通常同时管技术选型、团队和落地节奏。AI AdvisorAI 顾问外部专家按周期提供方向性建议一般不直接写生产代码。YCY Combinator全球最知名的早期创业加速器入选本身被视为一种质量背书。两位助教CAsIsaac Kan、Vijay Daita。5.2 网站、时间与作业项目内容课程网站https://themodernsoftware.dev上课时间周二 / 周四 17:30–18:20作业6 次每周 1 次围绕课堂内容做练习仓库https://github.com/mihail911/modern-software-dev-assignments开源贡献向 OSS 仓库提交 3–4 个贡献期末项目1 个开放式项目实践课上学到的 AI 编码原则术语补课OSSOpen Source Software开源软件源代码公开、任何人都可以查看、修改、分发的软件。向 OSS 仓库贡献通常指提 issue报告问题、提 PRPull Request代码修改请求、写文档、修 bug 等。5.3 评分构成50 / 15 / 30 / 5 breakdown for project / assignments / OSS / participation按原文顺序对应项目占比说明期末项目Project50%权重最高说明这门课认为完整做成一件事是最重要的能力作业Assignments15%每周练习检验课堂内容开源贡献OSS30%权重很高——在一个真实的大型代码库里改动别人的代码参与Participation5%出勤与互动值得注意的信号OSS 占 30%几乎和作业加起来一样重。这反映了真实世界的判断在别人的代码库里做出符合规范的改动比在空白文件里写代码难得多也更能体现工程能力。原因包括——你得读懂别人的架构、遵守未写明但存在的约定、接受 code review代码评审。5.4 开源合作方与嘉宾讲座15 个顶级 AI 原生开源项目原文列举Vercel、Warp、Marimo、Milvus、Pi、CrewAI、Browserbase、HeyGen、CopilotKit、Semgrep、OpenHands、Cmux、Arize、Sloth、Anyscale。术语补课这些项目分别是什么Vercel前端部署平台 / Next.js 背后的公司。WarpAI 增强的终端terminal。Marimo响应式的 Python notebook比 Jupyter 更适合做可复现的实验。Milvus向量数据库用于语义检索、RAG。CrewAI多智能体multi-agent协作框架。Browserbase云端浏览器供 AI 操控网页。HeyGenAI 数字人视频生成。CopilotKit把 AI 助手集成进应用的开发框架。Semgrep静态代码分析工具常用于安全扫描。OpenHands开源编码智能体平台前身 OpenDevin。ArizeLLM 可观测性 / 评估平台。AnyscaleRay 分布式计算背后的公司。Cmux / Pi / Sloth面向智能体工作流的基础设施类项目。嘉宾讲座来自当下顶级 AI 开发者团队的创始人与工程高管包括 Claude Code、Devin、Replit、Factory 等团队的创造者累计融资数十亿美元、估值数百亿美元。术语补课Devin / Replit / FactoryDevinCognition 公司推出的AI 软件工程师产品能独立完成较长的开发任务。Replit浏览器里的云端 IDE主打打开即写、写完即部署。Factory面向企业的编码智能体平台。为什么这部分重要这门课把产业前沿直接搬进课堂。学完你会知道教材里讲的原则在真实的数十亿美元项目里是怎么落地的。6. 实践演示如何用 200 行代码造出 Claude Code6.1 幻灯片原文How to Build Claude Code in 200 Lines of CodeIt’s that simpleSteps在终端里读取输入并持续追加到对话中keep appending to conversation告诉 LLM 有哪些工具可用它会在合适的时机请求使用工具你在本地执行工具并把结果返回给它工具Read_fileList_dirEdit_fileLet’s build a coding agent from scratch!6.2 这段演示的真正含义1“It’s that simple” 指的是骨架简单不是产品简单一个能跑的编码智能体其核心确实只有四件事while True: ① 读一行用户输入追加进 messages 列表 ② 把 messages 工具定义 发给 LLM ③ 如果 LLM 说我要调用工具 X那就在本地执行 X ④ 把执行结果作为新消息追加进 messages回到 ② 直到 LLM 给出最终答复回到 ①9/24 那节课的compaction_prompt.md附件本身就是一个真实 Harness 在上下文快满时用来压缩历史的 prompt可以作为对照阅读。2三个工具为什么正好是这三个工具能力为什么必需Read_file读文件内容Agent 不能凭空知道代码长什么样必须能看到List_dir列目录决定下一步该看哪里是探索的起点Edit_file修改文件从说变成做这才叫智能体而非聊天机器人注意这三个工具覆盖了一个最小闭环知道有什么 → 看到具体内容 → 改变内容。3“它会在合适的时机请求使用工具”——这是最反直觉的一点模型本身不能读你的硬盘。它只能输出一段结构化文本内容类似{tool:Read_file,arguments:{path:src/main.py}}真正去读文件的是你的程序Harness。这就是所谓你在本地执行工具execute tool offline并把结果返回。术语补课tool use / function calling工具调用一种让 LLM 与外部世界交互的机制。流程是声明你在请求里告诉模型我有这些工具参数签名是这样请求模型不直接回答而是输出我要调用某个工具参数是这些执行由你的代码真正去执行读文件、跑命令、调 API回灌把执行结果作为一条新消息发回给模型继续模型看到结果后决定下一步。关键点模型没有权限权限在你手里。所有安全检查、权限确认、沙箱隔离都发生在第 3 步。4200 行与真实产品之间差什么这是理解Harness 工程最重要的一节。200 行能做出骨架但真实的 Claude Code 还要处理200 行 Demo真实产品需要无限增长的对话历史上下文压缩compaction历史快满时摘要替换模型直接改文件权限系统哪些操作要用户确认没有规范配置与规范文件AGENTS.md/CLAUDE.md单个 Agent子智能体subagents并行探索隔离上下文工具三件套约 40 个内置工具 MCP 扩展还要控制工具数量避免上下文膨胀没有流程计划模式plan mode先写方案再动手没有标准化流程技能skills把可复用流程写成文档没有自动化钩子钩子hooks在生命周期节点自动跑检查这八项恰好就是9 月 24 日那节课的全部内容。所以这节课的 Demo 是抛砖下节课是引玉。7. 关键术语总表本节词汇量较大单独整理便于复习术语英文通俗解释为什么重要AI 原生AI-native工作流本身就围绕 AI 设计抽掉 AI 就残废本课程的培养目标智能体AgentLLM 在循环中自主使用工具完成目标全课程的核心对象外壳 / 运行框架Harness包在模型外面那层代码系统提示、工具、上下文管理本课第二节课的主题上下文Context模型这一次推理能看到的全部 token最稀缺的资源上下文工程Context Engineering决定什么信息在什么时候进上下文的工程方法取代了单纯的 prompt 工程工具调用Tool use / Function calling模型请求程序执行结果回灌智能体能动手的机制品味Taste在无标准答案的问题上做出好判断的能力最难被 AI 替代的部分AI 泔水AI slop批量生成、看起来对但质量低劣的 AI 产出本课程反复提醒要防的东西开源贡献OSS contribution向公开代码库提交修改占本课程 30% 成绩8. 延伸学习联网补充不是 PPT 内容以下是为了把 PPT 的骨架填满而补充的背景资料标注了来源方便你按需深挖。8.1 关于最小智能体的经典参考Thorsten Ball《How to Build an Agent》2025 年 4 月用不到 400 行 Go 代码实现一个真正能改代码的 agent。他的总结是核心是一个 LLM、一个循环、以及足够的上下文其余大多是样板代码。→ 与本课200 行 Demo完全同构推荐作为课后第一份读物。相关讨论https://chambers.io/linkblog/2025/04/15/how-to-build-an-agent.htmlSimon Willison 的极简定义2025 年 9 月“An LLM agent runs tools in a loop to achieve a goal”被 Anthropic 官方文章引用为当前行业共识定义。8.2 关于地板更高的现实证据SWE-bench Verified是当前最常用的编码能力基准之一给模型一个真实开源仓库的 GitHub issue看它能否自动提交一个通过测试的补丁。2024 年前后顶尖模型的解决率大约在 10%–50% 区间到Claude Sonnet 4.52025 年已达到 77.2%。这组数字直观解释了地板更高两年前需要一位资深工程师花一天的任务现在模型几十分钟就能给出一版可用的补丁。于是面试门槛、代码评审标准、期望交付速度全都随之上移。8.3 关于AI slop与品味2025–2026 年间业界反复出现同一个论点当生成变得免费时稀缺资源从生产转移到筛选——知道哪个方案真的好比能产出方案更值钱。GitHub 上出现了专门用来给 AI 输出注入品味的开源项目如taste-skill说明反 AI 泔水已经成为真实的工程需求而非口号。参考讨论https://blog.ax0x.ai/the-super-individual、https://www.product.engineer/blog/leadership-ai-assisted-engineering9. 学习任务清单完成以下练习才算真正消化这节课能用自己的话解释为什么说AI 提高的是地板而不是天花板举一个你自己领域的例子。能解释三个词的区别prompt engineering、context engineering、harness engineering。手写一遍伪代码不看本文写出200 行编码 Agent的主循环收集输入 → 调模型 → 执行工具 → 回灌 → 循环。找一处 AI slop在你手边的任何一个项目里找出 3 处典型的 AI 生成痕迹重复代码 / 吞异常 / 命名含糊并说明如果重写你会怎么做。提前预习下节课的 8 个组件system prompt、配置文件和AGENTS.md、tool list、plan mode、subagents、skills、hooks、compaction——只需记住名字和一句话作用。10. 下节课预告9 月 24 日的课会把今天 Demo 里没讲的部分全部展开现代编码智能体的八大部分解剖学以及设计有效 Harness 的三条原则。我们的第 02 节课学习文档见同目录下的CS146S_第02节课_2026-09-24_现代编码智能体解剖.md。参考资料CS146S Lecture 9/22/26 课堂幻灯片Mihail Eric斯坦福2026 秋。Thorsten Ball,How to Build an Agent2025-04— https://ampcode.com/how-to-build-an-agentAnthropic,Effective context engineering for AI agents2025-09-29— https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agentsSimon Willison, 关于 Agent 的极简定义2025-09-18— https://simonwillison.net/2025/Sep/18/agents/Claude Sonnet 4.5 发布与 SWE-bench Verified 成绩2025— https://www.anthropic.com/news/claude-sonnet-4-5课程网站 — https://themodernsoftware.dev作业仓库 — https://github.com/mihail911/modern-software-dev-assignments

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑