📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Full Tutorial: 20 Tips to Master Claude Code in 35 Minutes (Build a Real App)

Peter Yang35:04

Transcription

大家好,我又回来了,带来一个新教程。好的,今天我想分享 20 个技巧,帮助你在构建真实应用的同时掌握 Cloud Code。你知道,作为一个家长,我总是在附近寻找有趣的家庭活动。所以在这个教程中,我将向你展示如何构建一个像这样的家庭活动查找器,它可以根据你的位置、日程和兴趣,显示即将到来的本地个性化活动。在构建它的过程中,我们将尝试涵盖所有这 20 个技巧,这样你就会了解规划、编码和调试应用程序所需的所有 Essential Cloud Code 功能。我是在花了一个月的时间使用 Cloud Code 后才决定制作这个教程的。所以,希望你喜欢它。好的,让我们从一个全新的项目开始。我们称之为“家庭活动演示”。我在 Cursor 中打开了一个空文件夹。提醒一下,你可以通过粘贴这行代码来安装 Cloud Code。现在,由于我已经安装了它,我只需要输入 `cloud` 来打开 Cloud Code。好了,继续。就这样,我们打开了 Cloud Code。好的。所以,第一个技巧是:在编码之前使用规划模式。你知道,如果你只记住一个技巧,就记住这个。你花在规划上的时间越多,Claude 成功的可能性就越大。我总是按 `Shift + Tab` 循环到规划模式。如果 Claude 因为某种原因必须开始编码,我总是按 `Escape` 来取消。所以,把 Claude 想象成一个过于热情的工程师,你必须一直管束它,对吧?所以现在你看到这里,让我们按 `Shift + Tab`。现在我们在规划模式下。好的。所以,让我们继续下一个技巧,那就是让 Claude 与你一起探索解决方案。所以在规划模式下,我喜欢做的第一件事是让 Claude 解释代码库,然后我会告诉它,你知道,我想构建这个功能。你能从最简单的开始探索解决方案吗?整个想法是与 Claude 协作,在编码之前先制定一个计划。所以,我这里有一个提示,我将告诉 Claude 我想构建一个家庭友好的活动查找器。家长可以输入他们的城市、孩子的年龄、方便的时间、愿意开多远的车,以及任何其他偏好。然后应用程序将搜索附近的周末活动,并返回五个带有粗体标题的推荐。我们还要为每个推荐添加一个表情符号和两到三句话的描述。好的,让我们将这个粘贴到 Cloud Code 中,看看它会想出什么。请记住,我们仍然处于规划模式。好的,Claude 已经提出了三种不同的解决方案。你注意到它又在要求开始编码了。同样,你必须按“否”,我想继续规划。它太急于开始编码了。让我们仔细看看它想出了什么。让我们向上滚动。好的,所以解决方案一是使用带有客户端过滤的静态数据库。好的,它将硬编码活动。解决方案二是使用第三方 API,如 Google Places、Eventbrite 和 Meetup。这个解决方案的问题是,你知道,本地活动非常分散。它们可能来自多个地方。Eventbrite、Patch 和其他网站。所以,我们将不得不连接很多不同的 API,这需要大量工作,对吧?解决方案三是 Claude Messages API 和智能推荐。你知道,因为我们正在为 Cloud Code 做演示,我认为这很有意义。这是最 AI 驱动的解决方案,但实际上,它只是调用 Claude API 并使用网络搜索工具来查找最近的活动。好的,现在我们有了三个不同的解决方案。现在让我们回到我们的技巧。与 Cloud Code 合作时,非常重要的是要遵循“规范、待办事项和代码”流程。所以,在与 Claude 探索和选择解决方案后,我喜欢让它创建一个包含需求、技术栈、设计指南和最多三个执行里程碑的规范。然后我进一步审查规范,确保它正确且简化,然后让 Claude 为第一个里程碑创建一个待办事项列表。所以我一直在审计和审查 Claude 在每个步骤中的计划。对。所以现在,让我们让 Claude 创建一个规范。我这里有一个提示:创建一个 `spec.md` 文件,包含需求、技术栈、设计指南,最多三个里程碑。尽量保持简单。对于里程碑一,让我们只用假数据设置 UI。对于里程碑二,让我们连接到 Claude API 和网络搜索工具。我在这里链接了文档。让我们加载它。所以 Claude 有这个网络搜索工具,可以搜索互联网。我为此提前做了一些研究,但你也可以直接问 Claude,你知道,如何实现这些东西,它可能会指向其中一个文档来源。所以,让我们将这个提示粘贴到 Claude 中来创建规范。我们甚至可以更进一步,将这张图片也复制到 Claude 中。这样它就有了一个参考点,对吧?所以,只需按 `Ctrl + V` 将图片粘贴到 Claude 中。好的,现在 Claude 将开始编写 `spec.md` 文件,让我们看看它会想出什么。好的,看起来 Claude 已经创建了一个规范。让我们看一下。在这里,家庭活动查找器。这个东西的整个目的是仔细审查需求并进行编辑以简化它,因为 Claude 喜欢构建比你要求的更多的东西,并确保它准确且是你想要的,对吧?所以,例如,这里说应用程序返回五个个性化的活动推荐,带有引人入胜的描述,我们应该添加一个相关的表情符号图标,对吧?然后在这里是输入。好的,所有这些都是必需的。让我们简化一下。让我们将所有这些都设为文本输入。日期和时间偏好的文本输入。我们可以将最大距离保留为滑块。然后在这里再次是文本输入。好的。这是输出格式。是的,这看起来是对的。用户城市到城市的距离可能很难做到,但让我们看看它会想出什么。这是我们的前端、后端和开发工具。好的,这看起来是对的。设计指南看起来是对的,一切看起来都很好。好的,现在让我们来看这里,这是重要部分,里程碑,它实际上开始构建东西。就像我们要求的,第一步是只用假数据创建 UI,这看起来大部分是准确的。然后我们将连接到 Claude API 集成,对吧?让我们回到这里,再次复制这份文档。这样它就有了一个参考框架,用于实现 Messages API 和网络搜索。好的。这里还有更多细节,用于里程碑三。是的,它写了一个相当不错的规范。它可能写了一个比我手动写的详细得多的规范。但这里缺少一件事。你们觉得是什么?我认为,因为我们正在使用 Claude Messages API,我们需要一个提示来实际调用 API,并使用我们拥有的输入来获取推荐。所以,让我们实际问 Claude,让我们回到我们的教程,让 Claude 创建一个 `prompt.md` 文件,其中包含我们将用于里程碑二的提示,我们将调用 API。好的,让我们让 Claude 来做这件事。现在,它将创建一个提示,让我们看看它会想出什么。好的,我们回来了,Claude 已经创建了一个提示文件,在这里。系统提示:你是家庭活动推荐专家。这里是。以以下格式返回正好五个。是的,这看起来是对的。让我们确保它是最新的,并且是及时的,因为我们不想返回像通用景点信息这样的东西,对吧?我们想返回及时的活动。好的,现在让我们回到我们的东西。现在我们将让它创建一个待办事项列表,其中包含里程碑一的任务。记住,我们正在尝试遵循“规范、待办事项和代码”流程。在真正开始编写代码之前,这是两个关键步骤。好的,让我们将其粘贴在这里。我们还要确保规范包含使用里程碑二提示的详细信息。好的,我们仍然处于规划模式,只是在编写文档。我们还没有编写任何代码。但同样,你规划得越多,Claude 就越有可能在没有任何错误的情况下构建代码。特别是对于像我这样不太懂技术的人来说,首先进行规划步骤非常重要。所以,让我们在 Claude 完成待办事项列表后回来。好的,Claude 已经创建了一个待办事项列表。让我们看一下。嗯,同样,目标是审计列表以确保它确实有意义。所以里程碑一,我们将用假数据制作 UI。这里的一切看起来都对。所以我安装了一堆依赖项。是的,这看起来都很好。是的,添加清除按钮功能。添加结果。嗯,这确实是一个很长的列表,但对我来说,一切看起来都很好。在让 Claude 编码之前,让我们再做几个技巧。好的,所以我的下一个技巧,第四个,是使用输出样式来边构建边学习。所以你可以输入 `/output style explanatory` 来让 Claude 在框内添加解释它为什么做出每个选择,这样你就可以在它构建的同时学习如何重新编码和理解技术架构。你也可以输入 `output style learning`,Claude 会让你编写代码片段,这样你就可以学习并获得实践经验。现在,因为我们很懒,我们只输入 `output style explanatory`,因为我实际上不想自己编码。所以,让我们启用它。现在我们已经将输出样式设置为“解释性”。这是 Cloud Code 团队为那些想在构建的同时学习的人提供的非常好的选项。嗯,现在 Claude 会在我们要求它做事情时添加框内解释。好的,但让我们更进一步,对吧?让我们也涵盖技巧五和六。技巧五是你可以使用这个 `Claude.md` 文件来启动你的项目理解。所以你可以在 Cloud Code 中输入 `/init`,让 Claude 扫描代码库并创建一个详细的 `Claude.md` 文件,其中包含项目上下文、模式和关键文件。这个文件成为 Claude 对未来每一次对话的记忆。好的。所以,让我们来让 Claude 创建一个 `Claude.md` 文件。但实际上,我将要求它创建一个空的 `Claude.md` 文件,因为我们现在这里没有任何代码。所以,让我们创建一个空的 `Claude.md` 文件。好的。我之所以想创建一个空文件,是因为下一步,我想添加我的个人偏好到 Claude。所以你也可以添加你对 Claude 如何回应你的 `Claude.md` 文件的个人偏好。这是我将复制粘贴到 Claude 中的内容。我是一名经验有限的 PM。当你编码或做你的工作时,请分享解释技术架构的技巧以及你正在做的任何更改以及原因。好的,让我们将其粘贴在这里。就这样。我认为应该可以。好的。所以,我们已经完成了所有准备工作,现在我们可以终于开始让 Claude 编码了。这是技巧七。使用语音更快地为 Claude 提供上下文。对。我采访了很多很棒的工程师,比如 Kieran 和其他人。很多时候他们不再打字了。相反,他们使用 Whisper Flow 和 Monologue 等语音工具直接向 Claude 讲话。而且自然地说话通常会为 Claude 提供更详细的指令,这有助于它产生更好的输出。好的,所以一定要使用你的声音。说到这里,让我们涵盖技巧 82,那就是尽快让你的应用程序运行起来。我特意要求它在第一个里程碑中只构建 UI,使用假数据,因为我想尽快看到应用程序上线,对吧?这样,当我对后续更改(如连接到 Claude API)时,我就可以看到应用程序实时更新。所以这里我有一个提示:根据 `todo.md` 文件构建里程碑一,并在本地主机上运行。本地主机基本上就是在你的机器上本地运行应用程序,这样你就可以看到它上线了。所以,我不会把它复制进去,我将通过语音告诉 Claude,我安装了 Whisper Flow。所以,我只需要按 `Ctrl` 来输入内容到 Claude。所以,让我们说“根据 `todo.md` 文件构建里程碑一,然后在本地主机上运行”,然后再“使用这张图片作为参考”。好了,开始了。这是语音,它并不完全准确。所以,让我们编辑一下。使用 `todo.md` 文件构建里程碑一,并在本地主机上运行。还要使用一张图片作为参考。让我们回到这里,粘贴我们的图片。复制图片并粘贴在这里。使用这张图片作为参考。好的,太好了。好的。现在 Claude 将最终编写里程碑一的代码,也就是设置 UI,并在我们的本地推荐中使用假数据。让我们看看 Claude 能否一次性完成。好的,Claude 正在安装一堆依赖项。在它编码的时候,我想快速介绍一下技巧九,那就是如果 Claude 跑偏了,就按 `Escape` 来停止并重定向 Claude。所以,在 Claude 编码的任何时候,它都在要求安装一堆东西,你可以按 `Escape`,它就会停止 Claude 正在做的任何事情,而且它不会丢失上下文。如果你看到 Claude 走错了路或者做了比你想要的多,这非常有用。所以,不要害怕按 `Escape`,如果它做错了事情。好的,现在让我们在 Claude 完成实际构建里程碑一后回来。好的,我很快就回来了。Claude 仍在处理它的待办事项列表,但你现在看到它正在分享这些见解,因为我们改变了输出样式为“解释性”,所以我们可以边构建边学习,对吧?这里还有一些其他的见解。所以,你知道,如果你是编程新手,如果你想变得更懂技术,我绝对推荐使用“解释性”输出样式,并更新你的 `Claude.md` 来让它过度解释。好的,我们将在它完成编码后回来。好的,Claude 声称它已经完成了编码,现在有一个本地主机链接。但是,你知道吗?当我加载本地主机链接时,什么都没有显示。所以,我想向你展示这些 bug,因为它并不完美,对吧?所以,这里发生了什么?它没有加载任何东西。让我们回到我们的技巧,跳到调试部分。所以,有两个关于调试的技巧。一个是让 Claude 思考得更深入,或者“你认为为什么会发生这种情况”来帮助你调试 bug,对吧?所以,“思考得更深入”基本上是让 Claude 在编码前思考更长时间。“你认为为什么会发生这种情况”会促使它更深入地找出问题的根源,对吧?当然,一个非常好的最佳实践是提供非常具体的反馈,附加图片,并查看浏览器控制台日志来帮助 Claude 调试问题。你知道,Claude 拥有的上下文越多,它就越有可能弄清楚哪里出了问题。所以,这里没有图片。它只是一个空白屏幕,对吧?但让我们检查一下,看看是否有任何控制台 bug。果然,有。看到,有一个未捕获的错误,这里有些东西在发生。所以,让我们将这个 bug 复制粘贴到 Claude 中。让我们说“我只看到一个空白屏幕。深入思考一下为什么会发生这种情况。”这是我在控制台中看到的 bug。让我们粘贴这个 bug。好的。所以,我们提供了很多上下文。我们要求它使用了很多 token 并深入思考。希望现在它可以修复 bug 了。然后我们稍后回来看看它是否修复了。好的,我们回来了。让我们看看我们的应用程序。在这里。看起来 UI 正在工作。放大一点。我可以输入城市、孩子年龄、可用性、距离和偏好。然后我可以搜索,并加载了很多活动。现在,这些活动仍然是假数据。它们没有使用真实的 API,因为我们还在里程碑一。看起来很棒。有很多表情符号。是的,总的来说,它似乎工作得很好。所以,让我们回到我们的 Cloud Code。让我们实际让 Claude 勾选 `todo.md` 中已完成的里程碑一项目。并为里程碑二添加待办事项,如果你还记得的话,那就是连接 Claude API 和网络搜索工具。所以,你知道,我们想确保我们的待办事项列表是最新的,因为我们构建的里程碑越来越多。在它做这件事的时候,让我谈谈别的事情。所以,让我们回到我们的技巧。回到这里,让我们谈谈技巧十。到目前为止,我们只是让 Claude 编码,对吧?但我认为添加版本控制和 GitHub 集成非常重要。我喜欢在每个里程碑后将更改保存到 GitHub。GitHub 提供版本控制,这样你就可以在代码库出现问题时回滚到以前的版本,而 AI 肯定会出问题,对吧?让我们去 GitHub。在这里,我将创建一个新的存储库。让我们给它起相同的名字,“家庭活动演示”。所以,如果你不熟悉 GitHub,它并不复杂。只需在此处创建一个新帐户。然后有一个创建新存储库的按钮,然后点击创建。创建存储库后,这里有一个指向存储库的链接。所以,你可以进入 Cloud Code,并将此项目链接到我创建的这个存储库。你知道,它正在清除一些关于 Git 如何工作的见解,并且它要求权限来链接到存储库,并且它想进行初始提交。所以它想将代码提交到存储库。还有另一种方法,那就是输入 `install-github-app` 并按照几个步骤进行。但由于我们已经创建了一个存储库,我们将只使用上面提到的手动方法。所以现在它说它已经将代码推送到 GitHub。让我们看看我们的项目。刷新。就这样,我们有很多代码,包括我们的规范和待办事项。在这个文件夹里也有很多代码。所以现在我们的代码在 GitHub 上了。我们可以让 Claude 回滚到以前的版本,或者随着我们前进添加新的提交。好的。那么,我们接下来要做什么?让我们回到这里,谈谈技巧十一。你看到 Claude 一直在请求权限来做事情,我必须设置权限,你知道,这会很烦人,对吧?所以,你可以设置权限,让 Claude 更自主地工作。它的做法是创建一个 `Claude.settings` 文件,我们可以在其中授予它读取、写入和运行特定保存命令的自动权限,而无需每次都向我们请求权限。我们也可以通过输入 `dangerously skip permissions` 来跳过所有权限,尽管你知道,我再次不推荐这样做,除非你真的知道你在做什么。所以,让我们将这个提示复制到 Claude 中,让它创建一个文件来自动授予权限。现在非常重要,你可能不想自动授予 Claude 删除或移除文件的权限,因为这更危险。所以我在这里已经指出了这一点,但让我们将其粘贴进去。好的,Claude 已经完成了设置文件的创建。让我们看一下。它允许所有这些不同的权限。读取、写入等等。一堆 Git 命令,并且它想拒绝任何移除命令,就像我们要求它做的那样。所以,就这样。现在我们有了权限文件。现在让我们回到我们的技巧列表。在构建里程碑二之前,让我们谈谈这个技巧,那就是有策略地使用 `clear` 和 `compact` 来清除上下文。因为我们花了所有这些时间在聊天窗口中与 Claude 来回交流,Claude 的上下文窗口此时可能已经很满了。而且随着对话历史的增长,AI 的表现会逐渐变差。所以,让我们输入 `compact` 来清除对话历史,但保留摘要在上下文中。对。让我们这样做。我们也可以使用 `clear` 来完全清除对话历史。但我更喜欢使用 `compact`,因为它会创建一个摘要。好的。所以,在它压缩对话的同时,让我们看看这个技巧。我认为,如果你从这个教程中记住一件事,那就是在每个里程碑中遵循“规范、待办事项和代码”流程。所以,在通过连接 Claude API 构建里程碑二之前,让我们确保我们的待办事项列表已更新,勾选所有已完成的里程碑一项目,并添加任何里程碑二项目。我记得我们在让 Claude 做这件事之前就做过这个。让我们快速看一下待办事项列表。你看到它勾选了很多已完成的里程碑一项目。并且它添加了里程碑二项目。让我们快速看一下。是的,这一切看起来都对。设置请求体。要求它使用网络搜索工具非常重要。设置正确的模型参数。出于某种原因,它想使用 Claude 3.5 Sonnet,这是一个旧模型。我不知道为什么。它应该使用 Claude 4 Sonnet。所以,再次,审查这些细节非常重要,实际上可以抓住这些错误,并且进行提示工程。所以,我们已经在 `prompt.md` 中有一个提示模板。所以我们应该要求它使用 `prompt.md`,对吧?然后向下看,数据流测试性能,其他一切看起来都很好。好的。所以,我们已经压缩了所有内容。所以我们有一个新的对话。让我们让它构建里程碑二。我将使用我的声音。好的。现在根据 `todo.md` 文件非常仔细地构建里程碑二。在开始之前还有一件事。所以,对于里程碑二,我们将需要一个 Claude API 密钥,因为它将调用 Claude API,对吧?让我们去 Claude 控制台。在这里,我设置了几个 API 密钥。我实际上有一个保存的 API 密钥可以粘贴。所以使用这个 Claude API 密钥。好的。所以,现在让我们让它构建。但关于 API 密钥,你知道,我刚才匆匆闪过我的 API 密钥。你永远不应该这样做。你永远不应该与任何人分享你的 API 密钥。所以,我可能会在之后删除这个 API 密钥,以防你们想给我的 Claude 账户收费,但你知道,你可以去 Claude 控制台,Anthropic 控制台,创建一个新的密钥,给它起个名字,比如“测试密钥”,然后添加,它就会在这里创建一个新的密钥,对吧?然后将其复制到 Claude 中,它就会为你完成工作。但这里重要的是永远不要与任何人分享你的 API 密钥,甚至不要与你的配偶分享。保持秘密,否则人们会开始向你的账户收费。当然,要实际使用这个 API 密钥,你可能需要在你的 Claude 账户上充值 5 美元左右。如果你想学习如何用 AI 编码,5 美元是值得的。好的,现在 Claude 正在处理待办事项列表,它将创建后端服务器并连接 API。这需要一段时间,所以让我们跳到最后看看它会想出什么。好的,让我们回来一会儿。我一直在看它在做什么,它仍然试图使用已弃用的 Claude 3.5 Sonnet。所以,让我们实际上告诉它使用 Claude 4 作为模型。好的。而且,你知道,当你看到它在做所有这些工作时,很容易去喝杯咖啡,但坐在那里看代码是有好处的,因为你可以学习。它仍然在与我分享这些见解,对吧?你也可以看到它何时偏离轨道,比如使用旧模型。所以,现在它将把模型更新为 Claude 4,希望它能更好地工作。好的,我们将在它完成后回来。好的,它说它已经完成了所有这些工作。它勾选了所有里程碑二的项目,我已经在这里测试过了,它正在加载结果。但问题是结果非常通用,对吧?谈论去 Exploratorium、California Academy of Science。这些只是非常通用的结果。所以,让我们给它一些反馈。你正在显示像 Exploratorium 这样的通用结果。我想要更及时、更相关的家庭友好本地活动,比如,让我们说“Exploratorium 之夜”或者“公园里的林迪舞”,那是一个舞蹈活动。你将如何解决这个问题?我们不接受编辑,让我们实际进入规划模式,只问它计划如何解决这个问题。很可能它会更新提示,但让我们看看它会想出什么。好的,所以它说“提出解决方案,启用 Claude 的网络搜索工具推荐”。它实际上并没有启用网络搜索工具,尽管它在我们的待办事项列表中,我敢肯定。它勾选了它。所以,再次,你必须小心。它就像一个过于热情的初级工程师,声称它做了某事,但实际上并没有。它想搜索网络来了解如何使用网络搜索工具。但是,你知道,我们已经给了它关于如何使用网络搜索工具的文档,对吧?所以,让我们实际粘贴这份文档。添加网络搜索工具功能。你知道,非常仔细地遵循这份文档。就这样。否则,它将进行大量的 Google 搜索,也许会找到相关的文章,也许不会,但我们已经为它做了研究。所以,现在希望它确实添加了网络搜索功能,然后我们就可以获得更实时、最新的活动,让我们看看它是否能做好工作。好的。所以,简要回来,它开始添加很多像位置和时区区域检测助手。但是,你知道,在我们的应用程序中,用户已经提供了这些信息,对吧?再次,我打断了它的工作,我说“等等,为什么你不直接使用用户提供的数据和位置信息,并将这部分包含在你的提示中呢?”当然,它说“你说得对”,并且见解是“有时最简单的解决方案就是最好的”。所以,再次,你必须有时监控 Claude 在做什么,并纠正它以尽可能简化,否则你将在这里构建很多东西,使其过于复杂。好的,所以我们将再次回来,看看它这次是否真的做了一些好事。好的,各位。我们回来了。而且,老实说,我花了十分钟来回沟通才让这个应用程序正常工作,因为 Claude API 有很多速率限制问题。你可以看到我最终让它工作时的兴奋。但基本上,我经历了与我们涵盖的技巧相同的过程。你知道,我提供了很多关于哪里出错了的上下文,我上传了浏览器控制台日志和其他东西,我修改了提示使其更简洁,最终我们能够让它工作。好的,那么,事不宜迟,让我们加载我们的应用程序。你可以在这里看到,我现在输入了洛杉矶,以及一些信息,它实际上正在拉取洛杉矶相关的最新活动。所以,让我们再试一次,这次用旧金山,只是看看它是否有效。你知道,调用 Claude API 并让它进行网络搜索需要一段时间。所以我们必须等待几秒钟。好的。所以你在这里看到它加载了活动,这些都是相关的活动。有金门公园。有一个鲸鱼尾巴活动正在进行,还有 MUN Heritage Weekend 正在进行,你知道,这些比仅仅列出景点要新颖和相关得多,对吧?所以,现在我们的家庭活动查找器基本上完成了,我们可以随时对其进行改进。但我认为我们应该为自己鼓掌,因为我们在大约 30 分钟内完成了这个,同时涵盖了大部分技巧。所以,现在我们有了一个完全工作的应用程序,当然,这是最佳实践。我们应该将这些更改提交到 GitHub。提交到 GitHub。这样 GitHub 上的版本也有我们最新的后端和 API 更改。在它做这件事的时候,让我们花点时间介绍一下列表中的几个技巧。对。我们不会对这些技巧进行现场演示,但我只是想快速介绍一下。好的。第 16 个是为重复的工作流程创建自定义斜杠命令。这是我最喜欢的技巧之一,你可以在那里查看我关于它的专门教程。好的,下一个是技巧 17。所以,你可以让 Claude 构建专门的子代理,并为其命名、描述和提供自己的提示。每个子代理都有自己的上下文窗口。所以它不会污染你的主对话。例如,Anthropic 的工程师使用子代理来处理文档更新、安全审计和事件响应等事情。主代理决定何时调用它们。好的,继续。技巧 18 是设置钩子来触发特定行为。所以钩子允许你运行脚本,这些脚本在 Claude 完成特定操作后运行。例如,你可以要求 Claude 在完成工作时使用钩子触发 Slack 通知。再次,使用子代理和钩子,你所要做的就是让 Claude 创建它们,对吧?你知道,我想创建一个钩子来设置 Slack 通知。这也许是未来的教程。好的,最后两个技巧。你可以安装 MCP 服务器来获得专门的功能。所以,有用的服务器包括用于协同搜索的 Serena,Playwright,它允许 Claude 截屏并测试自己的 UI,以及 Figma,它被设计用于原型设计。所以,要运行 MCP,只需运行 `claude mcp add` 加上服务器名称。你可以在 Anthropic 的官方文档中查看 MCP。需要注意的一点是,MCP 倾向于将大量上下文加载到你的提示中。所以,通常你不想同时运行太多 MCP 服务器。好的,最后但同样重要的是,你还可以并行运行多个 Claude 会话以加快开发速度。所以,你知道,在我们的里程碑中,我们首先构建了前端和 UI,然后构建了后端。但是,你知道,如果你已经知道你在做什么,如果你是一名工程师,你可以使用 Git Worktree 来同时构建这两个,使用不同的 Claude 对话。我现在还没有达到那个水平,但你可以查看我与 Kieran 的采访,里面有现场演示。好的,现在让我们回到这里,看起来 Claude 已经将我们的更改提交到了 GitHub,对吧?所以,我们应该在这里完成了。让我们快速结束这个教程,回顾一下我们的技巧列表。好的,所以这是列表。所以,第一点,关于规划和项目设置,你需要使用规划模式。你需要遵循“规范、待办事项和代码”流程,对吧?然后你需要使用输出样式和 `Claude.md` 来帮助你在构建应用程序的同时学习。然后当你实际进入核心编码工作流程时,你需要使用你的声音来快速为 Claude 提供上下文。你需要尽快让你的应用程序运行起来,这样你就可以看到实时变化。如果 Claude 开始做你不希望它做的事情,这在这个教程中发生了很多次,只需按 `Escape` 并为 Claude 提供更好的方向。好的?并使用 GitHub 添加版本控制,设置权限以更快地工作。并且在构建新功能时,始终遵循“规范、待办事项和代码”流程,这样,你知道,Claude 会犯更少的错误。对于调试,让 Claude 深入思考并反思为什么会发生这种情况,并为它提供大量上下文,包括具体的反馈、图片和浏览器控制台日志来帮助 Claude 调试问题。最后但同样重要的是,你可以使用高级功能,如斜杠命令、子代理和钩子。它们可能让初学者望而生畏,但实际上,你只需要在对话中询问 Claude 关于它们,它就可以帮助你一起弄清楚。好的。也许最终我会做一个关于设置 MCP 和并行运行多个 Claude 的高级教程。但希望这个教程能让你全面了解所有 20 个技巧,你可以用它们来真正掌握 Cloud Code 来构建应用程序。作为一个初学者,我自己也不太懂技术,你知道,Cloud Code 可能非常吓人,但我确实认为花时间去弄清楚它是值得的,因为归根结底,这只是你与 AI 代理进行对话。好的,希望你喜欢这个教程,你可以在描述和链接的文章中查看我使用的所有提示和内容,请点赞和订阅,我会制作更多这样的内容。好的,下次见。