📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Vibe Coding Fundamentals In 33 minutes

Tina Huang33:23

Transcription

我为你学会了“氛围编码”。所以,这是精简版,可以为你节省我花费在观看 YouTube 教程、参加课程上的数百小时,实际上,可能已经花费了数千小时,但老实说,主要是通过氛围编码开发自己的应用程序时的反复试验。氛围编码确实是一项游戏规则的改变者,它从根本上改变了我编码和开发应用程序的方式。这就是为什么在本视频中,我将专注于氛围编码的基础知识、框架和原则。然后,我还会教你如何使用任何工具来应用这些氛围编码的原则。一如既往,仅仅听我谈论事情是不够的。因此,在本视频中,将会有一些小测试。如果你能回答这些问题,那么恭喜你。你将掌握氛围编码的基础知识。现在,废话不多说,我们开始吧。本视频的一部分由 Brilliant 赞助。好了,这是今天视频的大纲。首先,我将定义氛围编码。然后我们将讨论良好氛围编码的原则。然后我将展示一些氛围编码的实际例子,使用 Replet Windsurf。最后,我将提供一些非常实用的技巧,帮助你在氛围编码之旅中取得成功,并确保你不会成为那些来自 X 和 Reddit 上的人,他们真的……我不想那样。所以,请一直关注到最后。现在,让我们来定义氛围编码。我相信你们很多人现在已经多次听说过“氛围编码”这个词了。这个词是由 Andre Kaparthy 创造的,他除了许多成就之外,还是 OpenAI 的创始成员之一。2025 年 2 月 3 日,他在 X 上发帖说:“我称之为氛围编码的一种新编码方式,你完全沉浸在氛围中。拥抱指数级增长,忘记代码的存在。”这是可能的,因为大型语言模型,例如 Cursor Composer with Sonnet,已经变得非常出色。你基本上只需要告诉大型语言模型你想要构建什么,它就会为你构建好,有些人甚至真的只是对着它说话,就像聊天一样。此外,我刚刚用 super whispers 和 Composer 进行了对话。我几乎没有碰键盘。例如,你可以用这样的提示来提示它:创建一个名为 Daily Vibes 的简单的 React 网页应用程序。用户可以从表情符号列表中选择一种情绪。可以选择写一段简短的笔记并提交。下方显示过去的情绪条目列表,包含日期和笔记。是的,就是这样。将其交给大型语言模型,它就会为你生成代码。瞧,这就是你得到的结果。看起来非常非常简单。是不是很疯狂?你可以看到它如何从根本上改变你编码和构建事物的方式。但话虽如此,它也不是黑魔法,氛围编码也不会神奇地适用于所有事情。在如何要求它构建这些事物方面,仍然存在混乱中的原则和秩序。所以,废话不多说,让我们来介绍这些原则。我发现最好的涵盖氛围编码原则和基础知识的课程是名为 Vibe Coding 101 with Replet 的课程。这是一个由 Replet 创建的免费课程,Replet 是一个用于氛围编码应用程序的平台,与深度学习 AI 合作。该课程解释说,氛围编码有五项基本技能,即思考、框架、检查点、调试和上下文。你需要仔细思考你想要构建的确切内容,然后与 AI 进行沟通。我们所说的“仔细思考”实际上包括四个不同的思考层次。例如,假设你想编程一台计算机来玩竞技国际象棋。前两个思考层次可能非常明显,而且对你来说非常直观。逻辑思维就是游戏是什么,在这种情况下,游戏是国际象棋。下一个层次的分析思维是问我如何玩这个游戏?游戏的主要目标是什么?游戏的目标是什么?现在第三个层次是计算思维。你需要弄清楚如何将这个游戏的逻辑融入到国际象棋棋盘上的一系列复杂问题和配置中。你还需要考虑如何强制执行这些规则。最后,最高层次的思考是程序性思维。这是当你问我如何在这个游戏中取得优势时。你不仅想玩这个游戏,还想玩得好。所以,你需要考虑一些你可以使用的策略。你可以突破哪些界限,以便能够编程你的计算机在游戏中表现出色。然后,当然,你需要将我们描述的自然语言翻译并传达给 AI 来构建。现在,无论你试图构建什么,游戏、网页应用程序,无论是什么,你也需要经历这四个思考层次,才能真正正确地定义你想要构建的内容。老实说,这是大多数氛围编码者最有改进机会的地方。因为很多时候,因为你只是使用自然语言来描述你想要做什么,所以你并没有真正仔细思考你想要构建什么,你想要你的最终产品看起来像什么。这实际上有点不公平,因为如果你不仔细思考你到底想要什么,你怎么能期望 AI 能够弄清楚你想要构建什么呢?实际上,确保你经历这些思考层次并将其清晰地传达给 AI 的最佳方法是创建一个称为 PRD 的东西,即产品需求文档。这是我们与一位客户一起定义的实际 PRD。它是一个由 AI 驱动的个性化糖尿病营养计划。思考的第一级,即逻辑思维,定义我们想要构建什么。所以,这是项目概述的一部分。我们写道,该项目的目标是开发一个由 AI 驱动的系统,为糖尿病患者创建个性化的营养计划。该系统将考虑各种健康相关因素,如医学分析、体重、饮食习惯、卡路里摄入量等。下一级思考,即分析思维,包含在技能部分中。所以,这里是你需要列出的东西,以便构建你想要构建的东西。在这种情况下,我们写了 Python、医疗数据处理、OpenAI API、用于可视化计划的图像处理和 UI 开发。如果你想更详细地说明,如果你对要使用的特定软件包、前端类型、后端类型有更具体的看法,你可以更详细地说明,但这足以开始。对于计算思维,我喜欢通过 PRD 中的关键功能部分来表达这一点。在这里,我们可以清楚地定义并制定一个基于我们希望在应用程序中显示的内容的计划。这里我们将其分为里程碑一和里程碑二。第一个是通用的个性化营养计划引擎,包括个体健康指标和社会经济因素等特定指标。第二级是我们希望提供更多情境化定制,特别是考虑到人们的读写能力和教育水平,并使应用程序能够适应不同类型的人,例如读写能力较低的人。现在对于程序性思维,最高层次的思考,思考如何让这个应用程序变得最好,这通过在 PRD 中添加尽可能多的细节来体现。例如,精确定义哪些因素,如个体健康指标,如医学分析和饮食摄入数据,以及社会经济因素,如收入、地点和当地食物供应,以及哪些类型的上下文定制。但最好的思考方式是,你越能深入思考你的目标受众,你希望谁使用你的应用程序,以及他们应该获得的体验,以及所有促成最佳体验的因素,你的愿景就越清晰,PRD 就越清晰,你从 AI 获得的成果就越好。顺便说一句,你不需要自己想出这个 PRD。我实际上会在屏幕上显示一个提示。随时截图。这个提示将与你一起工作,并提出正确的问题,以便你能够构建一个定义良好的 PRD 来构建你的应用程序。我强烈建议你花大量时间在这个部分。拥有一个清晰的愿景总是容易得多,而不是构建一些东西,发现它不是你想要的,然后试图在半途中修复它。氛围编码的下一个原则是了解你的框架。无论你想构建什么,很可能有人已经构建过类似的东西,或者与你试图完成的事情非常非常相似的东西。由于 AI 是基于所有现有的解决方案进行训练的,如果你能够将 AI 指向正确的框架来构建你想要的东西,你将比让它尽力从头开始想出一些东西获得更好的结果。在氛围编码中做到这一点最简单的方法就是列出你希望 AI 使用的框架或包来实现你想要实现的解决方案。你基本上是在指引它走正确的方向。例如,对于你的网页应用程序,你可以指定你希望它使用 React 后端和 CSS 和 HTML JavaScript 前端,特别是可能使用 Tailwind CSS 进行样式设计。或者说你想创建动画,你可以具体说明请使用 3.js,这是一个非常流行的创建动画的包。好的,你现在可能在想的问题是,但如果我不知道实现这件事的最佳方法呢?没问题。你实际上可以先让 AI 帮助你弄清楚。例如,如果你想实现一个拖放式 UI,这是一个非常常见的实现,你可以说,你能帮我想到一些 React 框架来实现拖放功能到这个应用程序中,然后实现它吗?这里的关键是乐于了解这些不同的框架以及所有这些组件如何协同工作。通过氛围编码,你不必确切地知道如何自己实现所有这些,但仍然重要的是要了解你正在构建的内容的结构。例如,如果你正在制作一个网页应用程序,至少你应该知道什么是前端,什么是后端,前端和后端如何相互通信,以及哪些框架在前端和后端非常流行或常用。把它想象成与 AI 一起构建和学习。这将在长期内让你成为一个更好的氛围编码者。氛围编码的下一个原则是始终拥有检查点和版本控制。事情会出错。这是事实。你不想像这个人一样,因为他不知道版本控制而丢失了他所有的工作。这是一个警示故事。他在 X 上发帖说:“今天是我最糟糕的一天。我过去两周一直在做的项目损坏了,一切都丢失了。就这样,我的 SaaS 没了。两周的辛勤工作完全毁了。但我认为他正在努力保持积极。他从头开始。等等等等。他将从光标中重建一切。所以你知道,至少他保持积极。但总而言之,重点是请务必进行版本控制。有些软件,例如 replet,已经内置了相当不错的版本控制。但对于大多数软件来说,这只是最佳实践,就是学习如何使用 git 和 github,我现在就给你一个速成班。如果你已经知道如何使用 git 和 github,请将其视为一次快速回顾。首先,git 是版本控制软件本身。而 GitHub 是一个允许你将代码、你的存储库存储在云端的网站,这样你就可以把它保存在别处,也可以与他人共享。所以,首先你需要安装 git,你可以通过从网站下载来完成,或者你可以通过你的终端/命令行来完成,或者老实说,你只需要问你的 AI 代码编辑器软件,无论是 replic 还是其他什么,然后直接说,请为我下载 git。现在假设你想从头开始一个新项目,并且你在当前文件夹中,你要使用的命令是 get init,这是初始化 git。现在,假设你开始添加一些东西,你可能想添加一个 readme 文件,你可以在其中开始进行氛围编码,现在你有很多文件在那里。如果你使用这个命令 get status,它会显示你有许多未跟踪的文件。所以,为了跟踪这些文件,你使用命令 git add。你可以使用 get add,例如 readme.md 或任何你想开始跟踪的文件。或者你也可以只使用 get add 后跟一个点。点意味着跟踪所有内容。但你还没有完成添加这些文件和跟踪这些文件。当你实际想要保存某个版本时,你使用命令 git commit。这是你明确提交对文件所做的更改的地方。你还可以输入一条消息来解释你在代码库或存储库中更改了什么。例如,你的第一次提交可以是 git commit-m,评论为 initial commit。就是这样。实际上,如果你只这样做,你就会跟踪你的更改,通过提交来保存你的更改。然后你继续这样做。如果你想查看你所做的更改,你可以使用一个名为 get log 的命令。如果你想回滚一次提交,那就是 git reset。好的。所以,在你进行了很多更改,完成了所有事情,也许你想现在在 GitHub 上共享你的代码。你可以去 github.com,创建一个新的存储库并初始化它。复制远程 URL,然后使用命令 get remote at origin,然后是 URL。这将把保存在你电脑上的本地存储库链接到 GitHub。然后你可能想重命名你的分支,这是你当前正在处理的存储库版本,并称之为 main。所以你可以做 git branch- m main。然后最后,你可以使用命令 git push- origin main 将所有内容从你的本地存储库推送到 GitHub。显然,还有很多其他细微之处和命令,以及诸如此类的事情,你可以更详细地研究,但只要知道我解释过的整个工作流程,就足以让你对版本控制应该是什么样子以及流程应该是什么样子有一个很好的理解。即使我涵盖了你应该输入的具体命令,使用 AI 代码编辑器,你实际上不需要知道这些具体的命令。只要你知道那个结构是什么,你就可以直接使用自然语言向 AI 提问。例如,你可以说,使用 git 提交这些更改,将其推送到 GitHub 的这个分支,回滚上一个版本,将所有内容合并在一起。我希望这有道理。总的来说,我希望你也能看到,氛围编码的关键在于理解这些高层结构、高层组件和事物流程,以便你能够指导 AI 进行实现。实现正是 AI 擅长的地方。下一个重要的氛围编码技能是调试。无论你正在构建什么,都会出错。这只是一个何时出错以及如何出错的问题。这就是为什么调试和修复事物与实际构建本身一样重要。这是一项经过多年培训的工程师必须掌握的技能。但对于许多氛围编码者来说,尤其是那些没有工程或编码背景的人,调试可能是一项他们没有太多经验的技能。学习这项技能非常重要。最好的调试方式是系统而彻底的。首先,你需要确定问题在哪里以及问题是什么。然后你需要应用不同的解决方案来尝试修复问题。听起来超级简单,对吧?但不要低估调试的艺术。在氛围编码的情况下,当你意识到某事不起作用时,我实际上发现最好的方法就是将其指向 AI,然后让 AI 自己想出解决方案来修复它。例如,我最近做了一个直播,我当时正在构建一个应用程序,然后它一直出现错误。我基本上复制粘贴了错误消息,然后说有一个错误,AI 回复说,哦,让我试试修复它,然后它会提出不同的解决方案来尝试修复问题。实际上,你经常只需要接受更改,如果它仍然不起作用,它可能会经历很多这样的循环。你只需要耐心,然后继续指出问题,让它去做,通常它会自行解决,但万一它没有轻易解决。如果你对你正在构建的内容有一个基本的了解,那将非常有帮助。例如,我一遍又一遍地收到同样的错误。但由于我了解文件结构以及文件如何协同工作,我能够指出哪个文件可能导致了问题,哪个部分可能导致了问题,AI 就能去修复它。另一个例子是当我得到这个重叠的 UI 组件时,我不喜欢。我说这个东西重叠了。我把它发给了 AI,然后它做了一些奇怪的更改,整个东西就消失了。然后我很有耐心,更具体地说明了我想要的确切内容。看着代码,我可以看到它只是静态地输入一个特定的尺寸,所以根据网站的方向,有时会重叠,有时不会。然后我指出它需要动态化,这样它就不会在任何时候重叠。然后幸运的是,它就能够修复它。最后,氛围编码的最后一个原则是提供上下文。经验法则通常是,你提供给你的 AI、你的大型语言模型的上下文越多,即信息和细节越多,结果就越好。上下文可以有很多种形式。可能是你输入的原始提示或 PRD 包含很多细节。你甚至可以提供你想要它看起来的样子的模型图。或者你可以提供示例或额外数据来帮助它构建应用程序。关于你的应用程序、你的环境、你的偏好以及错误的信息。与其只说这个东西不起作用,你实际上可以复制粘贴完整的错误消息和一张显示具体不起作用之处的截图,并提供给 AI。好的,这里有一个助记符,可以帮助你更好地记住这些氛围编码的原则。友好的猫不断地思考框架、检查点、调试和上下文,这立即对你很有用,因为这里也有你的小测试,我将把它显示在屏幕上。请回答这些问题并将它们放在评论中,以确保你跟上了我所讲的内容。我现在将展示一些氛围编码的例子,首先是 Replet。Replet 是一个平台,你可以在其中使用 AI 来氛围编码不同的应用程序,并在云端非常快速地部署它们。它非常适合初学者。你只需要登录 Replet,他们有一些免费积分可以让你开始。让我们从一个非常简单的应用程序的 PRD 开始,该应用程序显示任何输入网站的 SEO 元标签。好的,首先,我将使用 chatgbt 来帮助我真正思考我的应用程序应该是什么样子,并为此生成一个 PRD。我将使用这个提示,这是一个我之前展示过的提示的变体。我还会链接一个 chatgbt 的 PRD 示例。它只是说,帮我为一个 MVP 应用程序做一个 PRD。我正在寻找氛围编码。所以,一个交互式应用程序,以交互式可视化的方式显示任何网站的 SEO 元标签,以检查它们是否已正确实现。该应用程序应获取网站的 HTML,然后根据 SEO 优化最佳实践提供反馈和 SEO 标签。该应用程序应提供 Google 和社交媒体预览。然后思考这些问题,这个应用程序是什么?我如何使用这个应用程序?应用程序背后的模式是什么?我如何使应用程序对目标受众最有用?并包含一个 PRD 示例。它帮助我们生成了这个。所以,SEO 标签,可视化检查器,MVP,PRD,项目概述,它显示了所有关键功能。所以,输入 URL 字段,HTML 获取和解析,SEO 标签提取,以及可视化反馈预览。还有一个“不错的功能”部分。所有这些看起来都不错。我确实想有一个显示总分(满分 100)的关键功能。我还想去掉这里的“不错的功能”部分,因为最好从非常关键的功能开始,然后在此基础上添加。所以,我将要求它进行改进,包含总分 100 分。也去掉“不错的功能”。好的。所以可视化反馈在这里。太棒了。所以这对我来说看起来不错。所以,我将写道:你能把它变成一个用于构建应用程序的提示吗?所以,我们将使用它。太棒了。太好了。在此基础上,我将说生成一个图像模型或灵感。我将下载它。这是 Replet。我将做的就是复制粘贴 chatbt 的提示,并链接灵感,然后点击开始构建。好的,它将被命名为 SEO Tag Scout,它会问我是否想要这些额外的功能,我将说不,因为我们可以稍后添加这些额外功能。所以,我们可以批准并开始。当它生成时,你可以看到它正在设计视觉效果,并且它也在填充这里的文件。所以,对于 Replet,它已经有了相当不错的版本控制。你可以很容易地回滚。虽然为了最佳实践,你仍然真的想在某个时候使用 Git。当它在这里完成所有构建时,我真正推荐你做的是,你可以去这里添加一个助手,并使用助手说,你能向我解释一下这个项目中的文件结构吗?你不必这样做,但这是其中一项事情,如果你在氛围编码时学习正在使用的框架,这将极大地提高你作为氛围编码者的技能,因为你将能够理解实际发生的事情以及文件将如何相互交互。我们可以看到这里的客户端,在客户端下,你拥有主 React 应用程序代码在源文件中。所以,客户端源,你也可以看到 UI 组件在哪里。在服务器端,它告诉你主服务入口点在哪里,例如 index.ts。这是它的代码。然后是路由等等。仅仅理解这里的文件以及它们如何相互交互以生成这个完整的应用程序就已经会让你领先一步。如果你真的想深入研究一些实际代码,你可以随时右键单击这里,然后你可以说,例如,用助手解释。这是非常非常可选的,但如果你对代码实际做什么感兴趣,这是一个非常非常好的学习方式。好的,看起来我们的应用程序现在完成了。让我们来测试一下。所以,让我们试试 www.lonelyoctopus.com。检查。哦,那没用。所以,我将像一个真正的氛围编码者一样,希望它能自己修复。好的,让我们再试一次。Lonely octopus.com。很酷,它似乎显示了一些东西。标题,比建议的短,元描述,等等,所有这些东西。我们可以看到这里的 Google 预览,这里的社交媒体预览,Twitter 卡片预览,以及原始数据标签。好的,我只想确保这个数字实际上会根据网站而变化。所以,让我们试试另一个网站,叫做 the useless website.com。好的,它仍然显示 86。这个网站呢?好的。所以数字会根据它是什么而变化。这看起来不美观。让它变得丰富多彩。是的,让它变得丰富多彩。我也不喜欢这里的原始数据标签,但它没有具体说明标题是什么,推荐的标题是什么。我希望它能被展示出来,我将在下一轮编辑中做到这一点。另一个要记住的关键事情是,当你指出某事时,例如你想改变的东西,最好一次只做一件事,而不是列出一长串你想改变的事情,因为这可能会让 AI 感到困惑。哦,酷,我猜它在我没说之前就已经做了。哦,它还显示了小图标。所以,这很好。好的,我们再试一次。lonely octopus.com。好的,我喜欢这个。这好多了。你还可以做的另一件事是,你可以点击这里,然后有一个开发 URL,你也可以从其他设备直接查看。所以,你所要做的就是扫描二维码。所以,你实际上可以看到它在其他设备上的样子。所以,如果我输入 lonely octopus.com,你就可以看到它在移动设备上的体验是什么样的。所以,这是使用 Replet 进行网页编码的例子。当你完成后,你可以将其部署。但如果你想创建一个更复杂、更具可扩展性的东西,你最终会想迁移到一个 AI 代码编辑器,比如 Cursor for Windsurf。所以我实际上将向你展示那是什么样的,以 Windinserve 为例。首先,无论你使用哪种工具,我们刚才谈到的氛围编码原则,就像技能本身,基本上是相同的。所以,不要担心。更重要的是,在度过初级阶段后,大多数人会想切换到 AI 代码编辑器,比如 Cursor 和 Windsurf,因为它们功能更强大,功能更多,并且允许更大的可扩展性。当然,这些东西总是有权衡的。就像 Replet 一样,它更快,易于使用。一切都基于云端。所以,你真的不必处理环境设置和部署过程。而对于 Cursor 和 Windsurf,有更多的功能可用。这些代码编辑器是为全规模开发而构建的。所以,你基本上可以进行任何类型的开发,并能够调整和微调事物,使其达到你想要的精确程度。当然,缺点是学习曲线更高。你需要学习如何正确设置你的环境,如何调试你的环境问题。很多问题都源于没有正确设置你的环境。你还需要学习如何部署,如何随着时间的推移监控事物。所以,这是 Windsurf 环境,这里是 Cascade,你可以在其中输入你想要应用程序构建的内容。在这种情况下,我们使用的是 Cloud 3.7 Sonnet 作为模型。所以,我实际上将输入相同的提示,以及图像,在 Windsurf 上。这将是一个本地开发环境。所以,它将从本地设置一堆东西开始。你可以看到文件也在自己填充。好的。所以,这正在运行一个终端命令,我们可以接受。你可以禁用它并让它自动运行,但我有信任问题,因为它在我的本地环境中,而不是像 Replet 那样在一个隔离的 Web 环境中。所以,我确实想确保我接受事情,而不是对我的本地环境做随机的事情。所以我将点击接受所有这些。你可以看到它也需要一点时间,因为它正在设置所有这些环境并安装所有这些包等等。嗯,如果你使用 Replet,这些都不需要做。好的,酷。看起来它已经完成了一些工作。它说,“随时在我为你打开的浏览器预览中尝试。”打开浏览器预览。我没有看到浏览器预览。你能为我打开吗?好的。打开预览。酷。我们看到它有一些非常相似的元素。www.lonely Lonely octopus.com 例如检查。哎呀。需要添加 https。好的,这实际上比 Replet 的第一个版本好多了。我得说它看起来和我们提供的灵感非常相似。这是我们提供的灵感,这是实际的东西。它看起来非常相似,对吧?看起来不错。所以,SEO 标签分析。是的,这对我来说看起来不错。让我们试试别的。maze.toys/mazes/min/aily。这只是一个随机网站。好的。SEO 标签是 25。所以,数字在 Replet 和 Windfs 之间实际上是不同的。所以,这很有趣。我可能想深入研究一下,问问它是如何计算这些 SEO 标签的。但总的来说,它看起来工作得相当好。我相当喜欢这个。所以,我将要求它更改。为了改进这一点,我将说编辑截图,然后说让它不需要在 URL 前输入 https。另外,复制粘贴不起作用。让我们再次打开预览。所以,再试一次。www.lonely octopus.com。我们还需要稍后居中。它仍然不起作用。所以,我将写道,它仍然不起作用。再试一次。lonely octopus.com。好的,酷。所以,现在可以了。嗯,显然还有其他事情我们想稍微调整一下,比如没有居中的东西。可能想稍微改变一下颜色,但我希望这能让你对如何开始使用 Windsurf 进行构建有一个很好的了解。所以,在这种情况下,你也绝对想开始使用 git 和 github。所以,你可以说,初始化 git 进行版本控制,然后输入即可。接受所有这些,然后 git 将被初始化。这里的一切都变成了绿色,这意味着它是未跟踪的。它问你是否要 get add 所有内容?我们可以接受 get add 所有内容,它问我们是否要提交,以及我们的初始提交。所以,我们可以接受,我们可以 get commit。所以,太好了,现在所有内容都已作为版本控制进行跟踪。当你准备好时,你也可以 get push,你实际上可以在 GitHub 上看到所有内容。但无论你使用什么,请记住我们为氛围编码所经历的原则。请牢记这些原则,并无论使用何种工具都应用它们。我将在屏幕上显示一个小测验。所以,请在评论区输入答案。现在,让我们进入最后一个部分,我将给你一些更多的技巧、窍门、框架和心态,这将帮助你在氛围编码之旅中取得成功。第一个是一个非常重要的心态。如果你已经是工程师,你知道,你可能已经这样想了。但如果你来自一个技术背景不那么强的人,请始终考虑从小处着手,逐步向上。换句话说,无论你正在创建什么,都要将其视为最小可行产品,即你可以将多少最少的功能放入你的应用程序中才能使其正常运行。在让事物正常工作后,你就可以迭代并在此基础上添加额外功能。这是正确的氛围编码心态,而不是你想到最奢华的、包含所有你能想到的细节以及数百万种不同功能的想法。不,不,不,不。我已经能想到你将从中获得的所有错误和问题,然后你就会抓狂,因为你无法弄清楚哪里出了问题。始终从最小可行产品开始,然后在此基础上进行迭代。首先让事物正常工作。接下来是一个框架,它也来自氛围编码 101 课程,我认为它非常有帮助。它表明,当你开发或构建应用程序时,当你进行氛围编码时,你实际上只有两种模式。你正在实现一个新功能,或者你正在调试错误。当你实现一个新功能时,你要记住的是提供与新功能相关的上下文。提及框架,提供明确的详细文档等,然后进行增量更改并进行检查点和版本控制等。当你处于调试错误模式时,你要记住的是首先弄清楚事物是如何工作的。你是否对你的项目结构有很好的理解?如果没有,你知道,向 AI 提问并实际弄清楚,因为弄清楚你的应用程序中到底出了什么问题将非常有帮助。当你弄清楚问题所在时,思考如何将这些信息传递给大型语言模型以摆脱困境。这就是最后一个原则,上下文,有所帮助的地方。尽量提供尽可能多的上下文和信息来指导你的大型语言模型解决问题。给它提供错误的截图。给它错误消息,指出它应该查看的文件。我非常喜欢这个框架。所以,截图或类似的东西,当你感到沮丧或不知道该做什么时,试着记住你处于哪种模式以及你应该在每种模式下做什么。最后一个技巧是更高级的,那就是编写规则或文档。这有点像你给你的编码代理一个系统提示。在这里,你可以列出一些你希望它做或不做的东西。例如,你可能想在你的规则中包含的一些最佳实践包括:在实现新功能或修复某事时,将代码更改限制在最低限度。这是因为 AI 有时会倾向于不必要地更改许多不同的文件来修复非常小的事情,然后它可能会导致其他问题。限制所有 API 端点的速率。这只是为了确保你不会调用 API 并产生多次调用并产生大量成本。在所有作者和注册页面上启用验证码。出于安全原因,是的,你可以在这个文件中放置很多其他规则。你也可以在线找到人们已经编写了这些规则,这些规则特定于某些类型的应用程序或你正在使用的语言,你也可以将它们放入你的规则文件中。你可以将这个规则文件提供给 Replet,或者 Cursor ruins surf。特别是如果你不是来自工程背景或开发背景的人,我强烈建议你研究一下确保应用程序安全性的规则。例如,将它们放入你的至少了解 API 密钥以及为什么你不应该暴露你的 API 密钥。在你学习这些的同时,也将你的规则放入你的规则文件中,这样你就可以提醒你的 AI 遵守最佳安全实践,这样你就不会被黑客攻击。好了,老实说,还有很多我可以详细介绍的。例如,拥有可以引用的样式文档,如何重构代码,使用类似 MCP 服务器的东西。如果你正在构建类似 AI 代理的东西,并且你想给你的 AI 代理更多的工具和功能。有很多东西,我现在在这个视频中没有时间涵盖。但请在评论中告诉我,如果你想让我做一个后续视频,我将更详细地介绍你到底应该如何进行氛围编码,并为你提供更多针对 Windsurf 或 Cursor 等 AI 代码编辑器的具体高级示例。但现在,我们已经到了本视频的结尾。我真的希望这个氛围编码基础知识视频能帮助你开始正确地进行氛围编码,并牢记最佳实践。正如我承诺的那样,这是最后的评估,请回答这些问题并将它们放在评论中,以确保你保留了我刚刚涵盖的信息。如果你正在观看此视频并对氛围编码感兴趣,那么你可能也对学习 STEM 科目感兴趣。所以,如果你对学习 STEM 科目感兴趣,我强烈建议你看看 Brilliant,这是本期视频的赞助商。Brilliant 是一个 STEM 学习平台,它通过数千个交互式课程,帮助你每天变得更聪明,涵盖数学、科学、编程、数据分析和 AI。我喜欢 Brilliant 的地方在于,它能帮助你培养批判性思维能力和对学科的深刻理解,而不是仅仅死记硬背。Brilliant 包含小测验、类比和一些多巴胺刺激,当你感到无聊或沮丧时,它们真的很有帮助。它已被证明比仅仅观看视频内容有效六倍。他们还有一个很棒的移动应用程序,所以你可以在有几分钟时间时,快速学习一些新东西,而不是只是无意识地滚动。Brilliant 的编程课程是我最喜欢的课程之一。它们帮助你建立编码基础,并教你如何像工程师一样思考,这项技能在 AI 时代和氛围编码时代仍然至关重要。说到这里,他们也有很棒的 AI 课程,可以帮助你深入了解 AI 模型的工作原理及其应用。Brilliant 的课程质量非常高,由来自斯坦福、麻省理工学院、加州理工学院、微软、谷歌等顶尖大学的获奖教师、研究人员和专业人士授课。要免费尝试 Brilliant 提供的一切,你可以访问 brilliant.org/tina 或扫描屏幕上的二维码。或者你也可以点击描述中的链接。如果你使用我的链接,你还可以获得年度订阅 20% 的折扣。非常感谢 Brilliant 赞助本期视频。现在,回到视频。非常感谢观看本视频,祝你氛围编码愉快。下次视频再见。我们正在直播。