本文基于斯坦福大学公开课 CS146S: The Modern Software Developer 第十一讲内容撰写。该课程由 Mihail Eric 主讲,课程主页:themodernsoftware.dev。
开场白:今天我们来”Vibe Coding”
Mihail Eric 在课程开头就打趣说:这门课不是教你 Vibe Coding 的——”除了今天”。
这句话点出了这一讲的主题:Automated UI and App Building(自动化UI与应用构建)。在AI Agent 大行其道的今天,”用自然语言写一个App”已经不再是科幻,而是正在发生的现实。
回顾”旧世界”:Web 开发的技术栈演变
在进入 AI 新世界之前,Mihail 先带我们回顾了过去二十多年 Web 应用开发的演变历程。
经典技术栈
过去的 SaaS 开发围绕以下几代技术栈展开:
- LAMP:Linux + Apache + MySQL + PHP,互联网早期的黄金组合
- MERN:MongoDB + Express + React + Node.js,前后端 JavaScript 一把梭
- JAM:JavaScript + APIs + Markup,前后端分离、CDN 驱动的静态站点架构
- Serverless:无服务器架构,Lambda 函数 + API Gateway + DynamoDB,按需计费
架构越来越复杂
Slides 中用三张架构图展示了这一演变:
- 最简单的三层架构:React 前端 → Express 后端 → MongoDB 数据库,清晰明了。
- JAMstack 架构图:前端框架、Headless CMS、静态站点生成器、CDN(Fastly/Akamai/Netlify)、云函数认证(Google Cloud/AWS/Azure),已经相当复杂了。
- AWS 全家桶架构图:CloudFront、WAF、API Gateway、Lambda、Cognito、DynamoDB、CloudFormation、S3、CloudWatch……一个”简单”的 Web 应用背后,牵涉十几个 AWS 服务。
这就是现实:哪怕你只是想做一个看起来不复杂的应用,底层的基础设施也能让人头皮发麻。
对于我们这些在云基础设施里摸爬滚打过的工程师来说,这些架构图再熟悉不过了。但对于一个有好点子的非技术人员,或者一个想快速验证想法的创业者来说,这堵技术高墙曾经是不可逾越的。
第一次尝试:可视化 Low-code/No-code
在 AI 之前,业界的第一次尝试是可视化的低代码/无代码平台:
- Wix:拖拖拽拽就能建站
- Squarespace:漂亮的模板,适合设计导向的用户
- Webflow:设计师的最爱,可视化 CSS 控制
这些工具确实降低了门槛,但它们本质上还是在”设计”层面做文章。你还是需要理解页面布局、组件逻辑、响应式设计等概念。做一个漂亮的营销页面可以,但想做一个真正有后端逻辑的应用?远远不够。
AI 新世界:Prompt 一下,App 就来了
然后,AI 时代来了。Mihail 列出了当前最具代表性的 AI 应用构建工具:
- Lovable:用自然语言描述你的 App,AI 自动生成前端(React + Tailwind)、后端(Supabase)、数据库,一键部署。据报道,Lovable 在展示惊人增长后完成了 1500 万美元融资,已有超过百万个项目在其平台上构建。
- Replit:从在线 IDE 进化成了 AI 开发平台,内置 AI 助手 Ghostwriter,支持实时协作和云端部署。
- Vercel v0:面向前端开发者,用自然语言生成精美的 Tailwind 风格 React 组件,并与 Vercel 项目直接集成。
- Base44:被 Wix 收购的 AI 应用生成器,内置数据库、认证和托管,全栈一体,无需连接外部数据库服务。
- Cursor / Claude Code / etc.:更偏向”AI 增强的工程师工具”,在 IDE 中用 AI 辅助写代码、重构、调试。
这些工具代表了不同的定位——从纯粹的”对话式生成应用”到”AI 辅助的专业开发”,覆盖了从完全不懂代码的用户到资深工程师的全谱。
到底发生了什么变化?
Mihail 总结了三个核心变化:
1. Prompt 驱动的全栈应用生成
你可以用自然语言描述需求,AI 帮你生成一个完整的、可运行的应用。不是模型,不是线框图,是真正可用的 App。
2. 工程师正在变得更”全能”
在 AI 的加持下,工程师的边界在扩展。过去需要设计师出图、产品经理写 PRD、前端写页面、后端写接口,现在一个工程师借助 AI 工具,可以覆盖设计、产品管理和全栈开发。角色在融合,效率在飞升。
3. 人人都能造 App
这不是 Wix/Squarespace 那一代的”人人都能建站”。这一代工具比第一代 No-code 平台更友好、更强大。你不需要理解 CSS Grid、Flexbox 或者数据库 Schema——你只需要用人话说清楚你想要什么。
技术底座:WebContainer
Slides 中提到了一个关键的技术概念——WebContainer。
这是让 AI 应用构建器能在浏览器中实时运行和预览应用的核心技术。WebContainer 是一种在浏览器中运行 Node.js 的技术(由 StackBlitz 首创),它允许 AI 生成的代码在用户的浏览器中直接编译、运行和渲染,无需后端服务器。
这意味着:AI 生成代码 → WebContainer 在浏览器中执行 → 用户实时看到效果 → 继续用 Prompt 迭代。整个循环都在浏览器里闭环,速度极快。
系统提示词:AI App Builder 的”灵魂”
Mihail 特别提到了 App Builder System Prompt,这其实是整个 AI 应用构建器的核心秘密。
这些 AI 工具背后的 LLM,并不是通用的聊天机器人。它们被精心调教过——通过复杂的系统提示词(System Prompt),告诉 LLM:你应该生成什么框架的代码、遵循什么设计规范、如何处理数据库 Schema、如何组织文件结构、如何处理错误……
可以说,System Prompt 的质量决定了 AI App Builder 的上限。这对于我们做 Agent AI 开发的人来说,是一个非常重要的启示:Agent 的表现,很大程度上取决于你给它的 Prompt 工程有多好。
局限性:清醒地看待 AI 应用构建
Mihail 在最后非常诚实地列出了当前的局限:
“一切正常时很美好,但一旦出错就回到原点”
AI 生成的代码,在 Happy Path 上表现惊艳。但一旦遇到 Bug、边界情况或者复杂的业务逻辑,用户往往束手无策。因为你不理解底层代码,你就无法有效地调试。用户经常描述为了修复同一个问题而反复消耗 Credits 的痛苦——AI 坚称问题已解决,但实际上并没有。
我最近就碰到一个类似的bug,claude code反反复复迭代了10几次对话, 最终在我把全栈日志都贴给他后,才算找到bug的原因。
Prompt 只是”建议”,不是”命令”
不是每个用户都理解这一点。你说”做一个类似 Pinterest 的书签应用”,AI 会给你一个它理解的版本——但那不一定是你心里想的。Prompt 到产品之间,存在一个巨大的”意图鸿沟”。
安全问题
AI 生成的代码可能存在安全漏洞。认证逻辑是否正确?数据库权限是否合理?API 密钥是否暴露?这些问题在快速生成的兴奋中很容易被忽略。

千篇一律的设计
当所有人都用同样的 AI 工具、同样的 Tailwind + shadcn/ui 模板、同样的设计范式,App 们开始长得越来越像。差异化从何而来?
复杂度天花板
简单的 CRUD 应用、Landing Page、Dashboard?没问题。但如果你需要复杂的实时数据处理、多用户协作、复杂的权限模型、或者高性能的数据管道——AI App Builder 目前还力不从心。正如一位 AI 工程师在测试后坦言:想要仅靠 Prompt 复制一个真正的全功能应用是不可能的,最终还是需要工程师介入。
对 Agent AI 开发者的启示
作为 Agent AI 开发者,这一讲有几个值得深思的点:
第一,AI 应用构建器本身就是一种 Agent。 它接收用户的自然语言指令,规划任务(生成数据库 Schema、前端组件、后端逻辑),执行操作(生成代码、安装依赖),并呈现结果。这是一个完整的 Agent Loop。
第二,System Prompt 是 Agent 的灵魂。 这些 App Builder 的核心竞争力,不在于它们用了多先进的模型,而在于它们的 System Prompt 有多精细、多全面。这对我们设计 Agent Skill 有直接的指导意义。
第三,人机协作的边界在哪里? AI 可以生成 80% 的代码,但最后 20% 的调试、优化和定制,往往还是需要人类工程师。如何设计一个 Agent 系统,让这个交接过程尽可能顺滑?这是一个值得深入探索的方向。
第四,”Vibe Coding” 不等于”没有标准”。 即使是用 AI 生成应用,代码质量、安全性、可维护性仍然重要。如何在快速生成和工程规范之间找到平衡,是这个领域的长期挑战。
小结
斯坦福 CS146S 第十一讲给我们展示了一个正在发生的范式转移:Web 应用的构建方式,正从”写代码”转向”说人话”。Lovable、Replit、v0、Base44 等工具代表了这个方向的先锋。
但正如 Mihail 所强调的,这不是终点。当前的 AI App Builder 在简单应用上表现出色,但面对真实世界的复杂性——安全、性能、可维护性、差异化——仍有很长的路要走。
对于我们 Agent AI 开发者来说,这既是机遇也是挑战。机遇在于:这个领域正在快速增长,需要更好的 Agent 架构、更精细的 Skill 设计、更智能的 Prompt 工程。挑战在于:如何让 AI 不只是”看起来能用”,而是真正”可靠地工作”。
这可能是未来几年最值得投入的方向之一。
本文是基于 CS146S 公开课的系列博客之一。课程内容仅供学习参考,如有兴趣请访问 themodernsoftware.dev 获取更多信息。