本项目长期维护,希望能帮到各位入门 vibe coding 的朋友,欢迎Star,分享与提PR🌟~
非官方项目、Fall 2025 已归档、Fall 2026 跟踪中、内容来源与版权归属原课程方。
🌟 付费赞助广告位:联系邮箱szwang.scholar@gmail.com,在文档内展示您的品牌和产品。
Check out Atlas Cloud's new coding plan promotion for more budget-friendly API access:coding-plan
大语言模型(LLM)正在把软件开发从以人工编写代码为主的过程,转变为开发者与能力日益增强的 Coding Agent 协作的过程。这一变化要求我们用新的方式定义意图、组织工作,并协调工具,让 Agent 能够有效参与复杂的软件项目。
课程将探讨 AI 原生软件开发背后的新兴实践与技术,包括 MCP、Agent Skills、spec-driven development、loop engineering 和 software factory。你将学习如何为 Agent 提供合适的上下文与能力,把产品需求转换为可执行的规格,并设计由人类与 Agent 共同规划、构建、评估和迭代改进的工作流。
通过动手作业、项目和来自下一代开发工具实践者的分享,学生将了解当前 Coding Agent 的能力与局限。课程结束时,学生将能够设计有效的 Agent 驱动工作流,将工具与 Skills 组合成可靠的开发系统,并运用 software factory 的原则,以更高的速度和规模构建、演进软件。
先决条件:具备相当于 CS111 级别的编程经验。推荐具备 CS221/229 课程知识。
形式:每周讲座、动手编码实践课,以及行业嘉宾演讲。期末项目要求展示现代开发实践。
目标:掌握现代开发工具、理解 AI 辅助编程、学习自动化测试和部署、探索新兴软件趋势。
评分:期末项目 50%,每周作业 15%,开源贡献 5%,课堂参与 5%
| 周次 | 主题与要点 | 课程安排 |
|---|---|---|
| 第 1 周 | Coding Agent 的内部原理 • LLM 究竟是什么,以及 Agent loop 在底层如何运行 • 核心工具集(read、write、edit、bash)及任务如何在其中流转 • 生产级 Coding Agent 如何组织 system prompt 与工具定义 |
9/22(周二):课程简介 + 用 200 行代码构建 Claude Code 9/24(周四):前沿 Coding Agent 的设计方式:深入剖析定义 Agent 的 system prompt |
| 第 2 周 | 高级 Context Engineering • 高级 prompting 技巧及其适用场景 • RePPIT(Research、Propose、Plan、Implement、Test)与 spec-driven development • MCP 基础:server、client、tool 与 transport • 为 Agent ergonomics 设计工具 |
9/29(周二):高级 prompting + Agentic 开发框架(RePPIT、spec-driven development) 10/1(周四):MCP 与 tool calling 全面介绍(理论、配置与高级工具设计) |
| 第 3 周 | Agent Skills 与 CLI • Skills 是什么;SKILL.md + 脚本如何编码一个工作流 • Web Skills,以及如何把 Agent 能力扩展到 repo 之外 • 如何高效地通过 CLI 工作 |
10/6(周二):全面了解 Agent Skills(含 Web Skills) 10/8(周四):嘉宾:Lee Robinson(Cursor) |
| 第 4 周 | 定制你的 Agent 与仓库 • CLAUDE.md 与 AGENTS.md:各自应该写什么 • 用 Hooks 配置 lint gate、测试运行与 guardrail • Subagent 模式(planner / implementer / reviewer) |
10/13(周二):定制 Agentic 开发环境(CLAUDE.md、AGENTS.md、Hooks) 10/15(周四):嘉宾:Boris Cherny(Anthropic),炉边问答 |
| 第 5 周 | Agent 就绪的代码库 • 什么让 repo 对 Agent 友好:结构、文档、测试与检查机制 • 就绪度评分与审计 • 真实 repo 中阻碍 Agent 工作的常见缺口 |
10/20(周二):让 repo 对 Agent 就绪:使仓库更 Agent-friendly 的结构、文档与检查机制 10/22(周四):嘉宾:Eno Reyes,分享 Agent readiness |
| 第 6 周 | Agentic Code Review • AI 代码审查擅长发现什么、又会遗漏什么 • 审查架构与自定义规则 • 将 AI 审查融入团队的 PR 工作流 |
10/27(周二):Agentic Code Review:最佳实践与架构 10/29(周四):嘉宾:Silas Alberti(Cognition) |
| 第 7 周 | 安全 • SAST / SCA、依赖漏洞与 Secret 泄露漏洞 • Prompt Injection 与 Agent 特有攻击面 • Agent 辅助的漏洞分诊与修复 |
11/3(周二):AI 代码库中的安全 11/5(周四):嘉宾:Isaac Evans(Semgrep) |
| 第 8 周 | 后台 Agent • 异步、云端委派的 Agent • 管理并行 Agent 集群 • Issue-to-PR 流水线与触发器(Slack、Linear、GitHub) |
11/10(周二):后台 Agent:异步启动任务 11/12(周四):嘉宾(待公布) |
| 第 9 周 | 构建 AI 原生团队 • MCP 门户与集中化、权限化的工具访问 • LLM gateway、模型路由与成本优化 • 组织范围内的落地模式 |
11/17(周二):大型团队中的 Coding Agent(MCP 门户、LLM gateway、组织模式、成本优化与模型路由) 11/19(周四):嘉宾(待公布) |
| 第 10 周 | Software Factory 与未来 • 可自行运行、自我改进的软件系统 • 部署后运行与保护 Agent • AI 软件工程的下一步 |
12/1(周二):Software Factory:可自行运行、自我改进的软件系统 12/3(周四):嘉宾(待公布) |
| 周次 | 主题与要点 | 阅读材料 | 作业 | 课程安排 |
|---|---|---|---|---|
| 第 1 周 | Coding LLM 与 AI 开发导论 • 课程安排 • LLM 究竟是什么 • 如何有效 prompting |
✅ 已完成:LLM Prompting Playground | LLM 简介及其构建原理 — Slides LLM 的高效 prompting — Slides |
|
| 第 2 周 | Coding Agent 的剖析 • Agent 架构与组件 • 工具使用与 function calling • MCP(Model Context Protocol) |
✅ 已完成:AI IDE 初探 | 从零构建 Coding Agent — Slides;已完成练习 构建自定义 MCP Server — Slides;已完成练习 |
|
| 第 3 周 | AI IDE • 上下文管理与代码理解 • 面向 Agent 的 PRD • IDE 集成与扩展 |
✅ 已完成:构建自定义 MCP Server | 从首次 prompt 到最佳 AI IDE 配置 — Slides;设计文档模板 Silas Alberti(Cognition 研究负责人)— Slides |
|
| 第 4 周 | Coding Agent 模式 • 管理 Agent 的自主性等级 • 人机协作模式 |
✅ 已完成:使用 Claude Code 编程 | 如何成为 Agent 管理者 — Slides Boris Cherny(Claude Code 创建者)— Slides |
|
| 第 5 周 | 现代终端 • AI 增强的命令行界面 • 终端自动化与脚本编写 |
✅ 已完成:使用 Warp 进行 Agentic 开发 | 如何打造一款爆款 AI 开发者产品 — Slides Zach Lloyd(Warp CEO)— Slides |
|
| 第 6 周 | AI 测试与安全 • 安全地 Vibe Coding • 漏洞检测的历史 • AI 生成的测试套件 |
✅ 已完成:编写安全的 AI 代码 | AI QA、SAST、DAST 及未来 — Slides Isaac Evans(Semgrep CEO) |
|
| 第 7 周 | 现代软件支持 • 哪些 AI 代码系统值得信任 • 调试与诊断 • 智能文档生成 |
✅ 已完成:Code Review 实践 | AI Code Review — Slides Tomas Reimers(Graphite CPO)— Slides |
|
| 第 8 周 | 自动化 UI 与应用构建 • 面向所有人的设计与前端开发 • 快速 UI/UX 原型与迭代 |
— | ✅ 已完成:多技术栈 Web 应用构建 | 通过一个 prompt 构建端到端应用 — Slides Gaspar Garcia(Vercel AI 研究负责人)— Slides |
| 第 9 周 | 部署后的 Agent • AI 系统的监控与可观测性 • 自动化事件响应 • 分诊与调试 |
— | 事件响应与 DevOps — Slides Mayank Agarwal(Resolve CTO)与 Milind Ganjoo(Resolve 技术成员)— Slides |
|
| 第 10 周 | AI 软件工程的下一步 • 软件开发角色的未来 • 新兴 AI Coding 范式 • 行业趋势与预测 |
— | — | 十年后的软件开发 Martin Casado(a16z 普通合伙人) |
Details
- 本课程不局限于特定的语言,重点是学习适用于不同编程语言的工具和实践。不过,课程示例将主要使用 Python、JavaScript,并在适当情况下使用一些系统编程语言。重点在于理解现代开发实践,而非精通特定语言。
- 不需要具备 AI 开发工具的经验。本课程将从基础知识开始,循序渐进地过渡到更高级的应用。然而,扎实的编程基础(相当于 CS111 及以上水平)是必不可少的。
- 本课程是传统软件工程课程的有力补充,重点关注现代工具和 AI 辅助开发。它假定你已具备软件工程的基础知识,并在此基础上教授最新的实践。
- 预计每周投入约 10-12 小时,包括听课、完成作业和项目工作。本课程侧重实践,需要时间来尝试新的工具和技术。
- 学生需要使用一台能够运行现代开发工具的计算机。某些基于云的服务可能需要订阅(如 GitHub Copilot 等),但课程将尽可能提供访问权限或替代方案。可靠的互联网连接对于使用基于云的工具至关重要。
- 课程内容设计具有高度时效性,将每周更新,以反映 AI 辅助开发这一快速变化的领域。来自行业领先公司的嘉宾讲者将确保学生学到最新的行业实践和新兴工具。
- 我们欢迎斯坦福大学的学生和教职员工申请旁听。旁听者可以参加所有讲座,但我们无法批改您的作业或就期末项目提供建议。
欢迎加入 动手学CS146S 交流群一起讨论,群内不定期分享由赞助商提供的大模型额度,若群二维码过期请添加个人微信:
本项目采用 MIT 许可证 - 详情请见 LICENSE 文件。