给我50分钟,我给你1000多小时的 Claude Code 知识(2026年指南)

CChase AI
컴퓨터/소프트웨어AI/미래기술

스크립트

00:00:00本视频将为你节省在 Cloud Code 中摸索的 1000 多个小时
00:00:04并告诉你无论你是处于起步阶段、
00:00:08进阶阶段还是专家阶段,究竟该把重点放在哪里。我将涵盖方方面面,从桌面端应用
00:00:12到提示词编写技巧、MCP、CLI,以及更高级的主题,例如图工程和
00:00:18创建你自己的智能体操作系统。到最后,你将拥有一份完整的路线图,
00:00:22教你如何精通当今最强大的 AI 工具。内容非常多,我们马上开始吧。
00:00:27首先,在新手部分我们需要探讨的问题是:我们在哪里运行 Cloud Code?
00:00:32因为这其实是一个容易让人困惑的问题。你技术上可以通过云端网页应用来运行 Cloud Code。
00:00:37我们还有 Cloud Code 的桌面版本。当然,我们还有终端。
00:00:43这三者之中你应该使用哪一个,尤其是当你刚刚入门的时候?
00:00:48嗯,如果你几个月前问我这个问题,我会把你推向终端
00:00:51或者装有 Cloud Code 扩展的 VS Code 之类的工具。但如今,桌面应用已经变得
00:00:56好用多了。如果你不是技术背景出身,
00:01:01对这一切感到十分陌生,我建议直接使用 Cloud Code 桌面应用。是的,对于技术更娴熟的人来说,
00:01:07终端永远是一个强有力的选项。但如果那不是你,如果用不习惯,
00:01:11也千万不要勉强自己去用。如今你真的不会错过什么。
00:01:16并且桌面应用正在获得一些终端所不具备的功能。
00:01:21比如语音模式,比如浏览器自动化。当你使用桌面应用时,
00:01:25还有很多提升体验的细节,例如行内产出物(artifacts),而且对于从未接触过终端的人来说,
00:01:31它的用户体验通常要好得多。更不用说,我们在桌面应用里也可以直接使用终端。
00:01:36所以这并不是非此即彼的选择。现在,下载并安装 Cloud Code 桌面应用非常简单。
00:01:40只需搜索 Cloud 桌面应用,点击第一个链接,然后下载安装程序并运行即可。
00:01:44现在你已经安装好桌面应用了。让我们快速过一遍这个工具以及你真正需要关心的地方。
00:01:48在设置方面,你来到左侧并点击“自定义”(Customize)。
00:01:53然后我们转到“常规”(General)选项卡。我想让你看一下 Cloud 的指令(Instructions)。
00:01:57看一看我的。它是空白的。你的可能也应该是空白的。
00:02:01这些是全局指令。所谓全局,意味着它适用于所有事物、你的所有项目以及你的所有提示词。
00:02:06所以如果我在里面放点东西,比如我希望你对我的所有回答都押韵,
00:02:11那猜猜会发生什么?你的每一个回答都会押韵。
00:02:16这虽然是个愚蠢的例子,但重点是:你真的有什么事情,其相关性足以应用到
00:02:21你与 Cloud 展开的每一个对话中,以至于我们应该在这里明确写出来吗?也许有,
00:02:26但这个标准非常高。如果考虑在这里添加的内容达不到这个标准,
00:02:31我建议空着。接下来,转到“功能”(Capabilities)。确保工具访问模式为“按需加载工具”(load tools when needed),
00:02:36并开启本页面上的所有其他选项。在 Cloud Code 选项卡中,我建议保持常规项全部开启。
00:02:41它有一些纯粹属于个人偏好的设置。至于本地会话,我也建议把这些全部开启。
00:02:47不过有一个例外,就是当我们看到拉取请求(pull requests)时。如果你不知道什么是拉取请求,
00:02:52就关掉它。这稍微高级一些。至于 Cloud in Chrome,
00:02:58这是一个 Google Chrome 扩展程序,允许 Cloud 控制你浏览器中的操作,我也把它打开了,
00:03:03但请注意,如果你想这样做,你需要下载这个 Google 扩展程序。我们稍后会深入探讨
00:03:08技能、连接器、插件和记忆功能。所以现在不用担心这些。
00:03:14现在在这里,我们有产出物(Artifacts)。说实话,在 Cloud Code 内部你其实不需要担心产出物。
00:03:18例行程序(Routines)与我们运行的自动化有关,我们稍后会更深入地探讨自动化。
00:03:23而在那边,这只是我们以前与 Cloud Code 进行过的对话。现在如果你点击“新建”(New),
00:03:29它应该会打开一个长得像这样的页面。让我们来拆解一下我们所看到的内容。很明显,
00:03:33这里是我们的聊天窗口,上面有这四个东西。
00:03:37Local(本地)、一个显示 1000 的选项、main、work tree,还有一个小加号按钮。
00:03:42Local 只是你告诉 Cloud 它实际将在哪里运行。如果你不知道这些东西是什么,
00:03:47Cloud、远程控制、WSL、SSH,99.99% 的情况下你应该选择 local。
00:03:53这里除了 WSL 之外的所有其他选项,都是关于当你不在电脑旁时如何使用 Cloud。
00:03:58所以如果你处于新手阶段,那将不会用到你。接下来,写着 1000 的这个地方,
00:04:03就是我正在工作的文件夹。所以如果我点击它,我可以打开一个新文件夹,
00:04:08并且我可以在 Cloud 内部选择电脑里的任意文件夹来在里面工作。
00:04:13所以你可以在桌面上创建一个名为 Cloud Code projects 的文件夹。这就是你工作的地方。
00:04:18你在 Cloud Code 里做的所有事情都将存在于该文件夹中。所以你只需要选一个就行。
00:04:23接下来,我们有 main 和 work tree。这与 Git 有关,这是一个稍微高级一点的
00:04:26主题。所以如果你是个初学者,完全简化来看,Git 只是与保存你的工作有关。
00:04:32所以如果你不知道什么是 Git,我不会把它变成一堂 Git 课。
00:04:36只要把它保持在 main 上,不要勾选 work tree。然后我们有这个加号按钮。这允许你
00:04:40添加一个额外的文件夹。所以你的工作本质上会被复制到两个地方。
00:04:44接下来,我们有权限(Permissions)。如果我点击 auto,我会看到五种不同的模式。这些模式是什么?
00:04:48这与我们告诉 Cloud Code 它在有或没有我们同意的情况下被允许做什么有关。所以
00:04:55在光谱的一端,我们有 manual(手动)。这意味着它会一直问你:我可以做这个吗?
00:04:58我可以做那个吗?我可以编辑东西吗?在光谱的另一端,我们绕过了权限。
00:05:03它可以随心所欲地做任何事,下载东西、安装东西、删除东西、编辑东西。有点吓人。
00:05:07现在在它们之间,我们有 auto(自动),它本质上就是绕过权限,只不过
00:05:12有一个分类器会检查 Cloud Code 正在运行的命令,并决定它们是否危险。
00:05:17如果它们很危险,它就会阻止它们。所以这是默认选项是有原因的。你应该
00:05:22一直保持这个设置。我们唯一会调用的另一个模式是 plan(计划),我们稍后会深入探讨。
00:05:26这个加号按钮让你可以添加内容,比如你可以添加截图之类的东西。
00:05:30然后你有一个麦克风。接下来在右侧,我们有模型,我们有
00:05:34思考努力程度(effort level),然后我们有上下文窗口。我们应该使用哪个模型呢?嗯,这取决于
00:05:39你使用的是什么套餐。如果你使用的是每月 20 美元的套餐,你其实将无法
00:05:42使用 Fable。那会消耗太多额度。所以你只能使用 Opus。
00:05:46如果你使用的是 max 套餐(5X、20X,也就是每月 100 或 200 美元),我建议大部分时间在 Fable 中
00:05:51工作。它是迄今为止最好的模型。现在,问题在于额度消耗,
00:05:58因为如果我们点击这里的小东西,你知道的,你会看到上下文窗口。我们稍后会讨论这个。
00:06:03我们有多个不同的限制。我们有五小时限制、每周限制、
00:06:07以及 Fable 限制。因此,每周只有一半的额度可以用于 Fable。所以我们不想
00:06:14太早烧掉太多 Fable 额度。因此,我们真正需要考虑的是我们的努力程度,它可以
00:06:21是从 low(低)一直到 ultra code(超级代码)。它思考得越多,表现就越好,但这不是
00:06:27线性的。如果我从 extra high(特高)提高到 ultra code,是不是意味着我的性能会提升 10 倍?
00:06:35不会。可能只有大约 1% 的提升,但你付出的代价可能会高出 5 倍。事实上,
00:06:39你试图解决的大多数问题,尤其是如果你处于初学者阶段,
00:06:43并不需要超过 medium(中等)的级别。事实上,你可能用 low 也能应付自如。
00:06:48就我个人而言,我大部分时间都使用 Fable medium,除非我在处理相当复杂的事情,
00:06:52或者我即将迎来额度重置,我知道我可以随便挥霍它。所以今天,我们将
00:06:57使用 Fable medium,因为这是一个很好的、令人愉快的折中方案。所以较低的努力程度意味着较低的消耗,
00:07:03表现虽然没有那么惊艳,但通常已经足够好了。
00:07:07现在我们来谈谈提示词编写(prompting)。任何时候我们要开始为一个新项目编写提示词时,
00:07:12我都强烈、强烈建议你进入 plan mode(计划模式)。为什么呢?因为计划模式将允许
00:07:18我和 Claude 进行对话,以确保我们在它去执行某项任务之前达成共识。
00:07:22更重要的是,不仅我们要进行对话,它还会向你
00:07:27提出问题。因为很多时候,如果你 A 来源于非技术背景,
00:07:33并且 B,如果你试图做某种不属于你典型专业领域的项目,
00:07:38你在使用 AI 时遇到的问题是,有太多东西是你所不知道的。
00:07:43并且有太多东西是你不知道自己不知道的。这些“未知的未知”是一个真正的问题。
00:07:49而你能够弄清楚这些的唯一方法,就是让 Claude Code 几乎把它们都提出来,
00:07:54照亮那些你甚至不知道它们存在的黑暗角落。
00:07:58而计划模式是解决这个问题的最简单方法,因为它会迫使它
00:08:02向我们提问。所以每当你有这样一个模糊的想法:我在 A 步,我想到达 Z 步,
00:08:07而我不知道该做什么,我们就要进入计划模式。现在,当我向 Claude Code 发送提示词时,
00:08:12这在过去曾是一件大事,大概在过去一两年左右,现在这种现象
00:08:15但现在依然有人觉得,有些什么神奇的提示词
00:08:19必须严格按照某种特定格式来写。比如先写目标是什么,
00:08:22再写背景是什么,然后还要规定它该怎么做。其实完全没必要这样。
00:08:25你需要做的是买一个麦克风,打开麦克风,
00:08:29然后直接向 Claude Code 输出你的意识流想法就行。所以关于我们要建的这个网站的计划,
00:08:33我们就说这是一个为虚构的 AI 分析公司制作的网站,
00:08:41名字叫 Lighthouse。这就是我要做的全部,然后我就会开始天马行空地胡思乱想。
00:08:46就像这里没有提前规划一样。听起来会是这样的:我想为一家名为 Lighthouse 的虚构 AI 分析公司创建一个网站。
00:08:54我其实不太确定网站上具体需要放些什么内容,
00:09:02但我知道最后需要有一个号召性用语,让访问者跟我们预约通话。所以这就是主要的号召性用语。
00:09:07至于目标受众是谁,比方说,我们就把它定位为小型初创公司。
00:09:12除此之外,我真的不知道我还漏掉了什么。直接根据你认为相关、而我还没想到的内容来向我提问吧。
00:09:18现在,我希望大家特别注意最后那一部分,我当时说的是,尽管开始向我提问我还没考虑到的事情。
00:09:22既然现在处于计划模式(plan mode),它其实已经会自动这么做了。但无论何时你给 Claude 提示词,
00:09:27你总能在提示词末尾加上这样一句。比如:我有哪些没有考虑到的地方?
00:09:31你对我有什么样的问题?你知道的,这会再次让你与 Claude Code 产生那种互动,
00:09:37因为在任何时候它都可以提出像这样的话题来向你提问。
00:09:41所以这个虚构网站的目的是什么?嗯,我们会说它是用于设计和开发的练习。
00:09:44Lighthouse 实际上是做什么的?我们打算说它是做产品分析和 AI 洞察的。
00:09:49规模应该有多大?我们就做一个这样的落地页吧。然后设计应该有什么样的风格?
00:09:56我们选择清爽明亮的 SaaS 风格。接下来,它问我们希望这个网站使用什么技术栈构建:
00:10:06是纯 HTML、CSS 加 JS,还是 Next.js 加 Tailwind,或者是其他加 Tailwind?你知道这些都是什么吗?
00:10:12老实说,你真的知道这些是什么吗?你甚至知道什么是技术栈吗?
00:10:18如果你的回答是“不知道”,那我们该怎么办?我们应该直接选择推荐选项吗?
00:10:23对,但又不对。所以这里有一个很多人都会遇到的问题,那就是他们会直接觉得:我甚至不在乎什么是技术栈。
00:10:28行吧,纯 HTML,就选推荐的好了。然后他们就直接点这个。
00:10:33问题是,这些模型实在太优秀了,以至于你仍然能得到相当不错的输出结果。
00:10:38但问题在于,当你重复这种“不理解问题却只是一次又一次点击推荐”的行为时,
00:10:41你和街上随便拉来一个人坐在你电脑前、让他们做完全相同的事情,根本没有任何区别。
00:10:45也就是说,你所做的事情没有任何护城河可言?
00:10:50你会变得非常容易被取代。但更重要的是,你什么也没有学到。
00:10:54而且不管这些模型有多厉害,总有一天你会遇到一个非常独特的个人项目,
00:10:59也许 Claude 并不清楚攻克它的最佳方式是什么。
00:11:04如果你把所有时间都花在通过“从不真正学习任何东西、只是点击推荐、推荐、再推荐”来使用 Claude Code 上,
00:11:08你将对实际发生的事情一无所知。现在,你可能再也不需要学习写代码了,
00:11:13但你确实需要开始学习 AI 软件工程的基础知识,比如宏观层面的东西,比如这些构建块是如何组合在一起的。
00:11:17而你做到这一点的唯一方法,就是在遇到这样的小问题时,不要直接点推荐,
00:11:23而是说类似这样的话:“你能解释一下技术栈到底是什么吗?我其实不太懂。我对这些选项也不是很理解,”
00:11:30“所以你能给我简单拆解一下我正在看的东西吗?”
00:11:34就这样,你只需要让它更详细地解释一下这个问题。如果你周复一周、月复一月、年复一年地这样做,
00:11:40你最终会建立起真正坚实的基础,而不会沦为那种只会“氛围编码(vibe coding)”的浮夸典型。
00:11:44这一点极其重要。如果你真的想学到点东西,这就是你在与 Claude Code 进行提示和对话时应该采取的心态,
00:11:49因为这会让你变得更优秀。所以我们来做价格和产品功能。好的。
00:11:53预约通话的号召性用语(CTA)该怎么做?我们做一个假的预订表单吧。
00:11:58接着就一切就绪了。我们可以看到,它在这里拆解了“什么是技术栈”的问题,
00:12:02然后更详细地介绍了每样东西是什么。同样,你不需要成为所有这些事情的专家。
00:12:07但当你一遍又一遍地这样做,并且在对你有意义的时候去深入钻研这些技术细节,
00:12:12你通常就会开始把这些碎片拼凑起来。这其实并没有那么复杂。
00:12:21编程虽然很难,但没有人要求你成为那种意义上的真正软件工程师。
00:12:27不过你可以了解什么是技术栈,你可以了解这些不同的语言大致是什么,以及我们在每种用例下应该怎么做。
00:12:31一旦它提出了计划,你会看到它在右侧面板中填充显示出来。
00:12:35在 Claude Code 桌面应用的计划模式中,最酷的一点是当它随时弹出这个时,我可以选择某些内容。
00:12:39比如关于目标受众,假设我不单想要小型初创公司,假设我还希望加上中型企业。
00:12:47所以如果我做了这个修改并点击评论,它现在就会开始在这里添加一些类似评论的内容。
00:12:52因此我可以添加越来越多的评论,顺着往下写,把这些变成对它创建的计划的小备注。
00:12:56我也有能力添加我想要的任何提示词。然后在任何时候我都可以说:“嘿,我们来修改一下吧。”
00:13:01所以现在它也把中型企业加到受众里面了。一旦我对这个计划满意,
00:13:07我可以点击接受,或者点击“在自动模式下接受(accept in auto mode)”。
00:13:13所以请确保你是点击自动模式下的接受,否则它会开始在手动模式下运行,而我们并不希望这样。
00:13:22所以我们选择在自动模式下接受。现在它已经继续为我们构建了一个网页。
00:13:27正是在这个时候,我们要转向关于 Claude Code 的中级技能、技巧和窍门。
00:13:31但在我们这样做之前,先听一下今天赞助商(也就是我本人)的简短介绍。
00:13:37就在昨天,我发布了 Claude Code 大师班的全新更新版本。
00:13:43我们在所有这些主题上都进行了更深入的探讨,而这些主题我们在今天的视频中只是触及了表面。
00:13:48如果你是一个非技术人员,并且真的想学习如何掌握这个神奇的工具,这里绝对是你的绝佳去处。
00:13:52所以如果你想入手学习,你可以在 Chase AI Plus 中找到它,置顶评论里也有链接。
00:13:57那么让我们来构建我们的网站吧。但我现在真正想关注的是下面这个家伙,这个小圆圈。
00:14:01还记得这个显示我们使用情况的图标吗?现在它也显示了我们的上下文窗口(context window)。
00:14:06如果我们点击上下文窗口,它会给我们提供一个非常具体的明细,展示究竟是什么填满了它。
00:14:12现在,上下文窗口是一个非常重要的指标,我们出于几个原因必须时刻追踪它。
00:14:17第一个原因与性能有关。但要理解这一点,你需要先理解 Token(标记)和上下文。
00:14:22为了保持简单易懂,你发送给 Claude Code 的每一个字以及你收到的每一个字都被视为一个 Token。
00:14:27Token 是大语言模型的通用货币,而上下文窗口就是预算。
00:14:31所以我们拥有 100 万个 Token 的预算,基本上可以在每个会话中消耗这些预算。
00:14:37到目前为止,我们已经消耗了 15.6 万个。听起来很棒,我们只用了 15%。
00:14:41我还可以使用另外 84.4 万个。嗯,某种程度上是这样。问题是,随着这个上下文窗口被填满,
00:14:47实际上 Claude Code 的性能会变差。你可以把它想象成它的脑子里塞了太多东西。
00:14:51如果我们在这里使用了 80 万个 Token(总共 100 万个),
00:14:57然后向它询问关于过去这 80 万个 Token 里发生的事情,它就会有些吃力,
00:15:03特别是当我们问及一些发生在中间部分的事情时。正因如此,我们总是需要密切关注我们的上下文窗口,
00:15:09因为我们不希望性能下降。这种性能下降大致是呈线性关系的,而且并没有一个确切的科学公式来衡量它。
00:15:16所以经验法则是,当我们达到 30%、40%,尤其是 50%(即 50 万个 Token)时,
00:15:25你绝对应该停下来问问自己:我还需要继续这个会话吗?对我而言,这个阈值通常在 30% 左右。
00:15:31虽然你可以看到,上下文窗口里面除了我们的消息之外,还填入了其他东西,
00:15:38包括系统工具和技能等,但消息依然是大头。假设你的上下文窗口达到了 30%,甚至 50%,
00:15:43你有哪些选择?其实我们只有一个选择,那就是开启一个新的聊天。
00:15:49好吧,我们直接开启一个新聊天。现在,你有几种方法可以做到这一点,
00:15:53我们可以使用诸如斜杠 clear 这样的命令。如果我输入斜杠 clear,
00:16:00这会清除所有内容,我们将完全从头开始,拥有一个崭新的上下文窗口,并获得顶级的性能。
00:16:06现在,另一个选择是使用斜杠 compact。如果我输入斜杠 compact,
00:16:11Claude Code 就会审视我们之前进行的整个对话历史,生成一个新的摘要,
00:16:15然后带着这个摘要开启一个新的聊天。还有一种选择就是直接去点击那个加号按钮。
00:16:22这也会在同一个文件夹内开启一个新的聊天。然后我随时可以引用旧的聊天。
00:16:31令人感到害怕的是,特别是如果你主要使用的是网页应用,那里的对话就是你拥有的全部内容,
00:16:39clear。如果我输入斜杠 clear,这会清除所有内容,并让我们以
00:16:43但请记住,我们在这里是在做什么?我们是在一个特定的文件夹内工作,我们在 1000 号文件夹里创建我们的网站。
00:16:48另一个选择是使用 slash compact。如果我执行 slash compact,Cloud Code 会
00:16:53检查我们之前的整个对话历史,生成一个新的摘要,然后
00:16:57以该摘要开启一个新聊天。当然,你还有另一个选择,就是直接点击这里的
00:17:02加号按钮。这也会在同一个文件夹内开启一个新聊天。随后我可以随时
00:17:06引用旧聊天。令人感到害怕的是,特别是如果你主要使用的是网页端,
00:17:11那里的对话基本上就是你的全部。一旦你删除了对话,
00:17:16它就会忘记所有内容。但请记住,我们在这里是在做什么?我们是在特定的文件夹中工作,
00:17:20我们在 1000 号文件夹中创建我们的网站。所以即使我清除了整个对话,
00:17:26它依然可以查看所有文件和我们编写的所有代码,并理解正在发生的事情。
00:17:31因此,开启新聊天并不真的等于从零开始。在这种情况下,你其实没有什么好害怕的。
00:17:36如果你的上下文窗口快满了,又害怕重新开始,没关系,
00:17:40直接重新开始即可;最坏的情况下,让它用 slash compact 生成摘要。但此时,
00:17:45我们只用了 16%。所以没问题。现在我们来聊聊这个网站。这个网站
00:17:53很丑。这个网站其实相当平庸且流于俗套。顺便说一句,我现在是在
00:18:00Claude Code 桌面应用的浏览器窗格中查看它。所以我实际上可以在这里做很多事情。比如如果我
00:18:05打开它,我可以选择某些内容,就像在规划模式(plan mode)中一样在上面添加注释,
00:18:11这些注释随后会进入提示词中。我实际上可以进行标注,比如写下“嘿,这太烂了”,
00:18:17它也会将其添加到注释中。如果你愿意,在这里进行微调非常容易。但我们需要解决的重大问题是,
00:18:24就像这个网站一样,为什么它看起来这么糟糕?嗯,这看起来确实够惨的,
00:18:28因为第一,我们没有为它提供足够的上下文来决定我们希望它看起来怎样,我们没有给它任何形式的
00:18:35灵感,也没有给它提供截图。我们唯一的说法就是我们想要一个干净的 SaaS 产品。而
00:18:39进阶部分的主题之一就是上下文工程(context engineering),也就是你赋予 Claude Code 权限的能力,
00:18:44不仅让它了解你的想法和愿景,还要让它连接外部工具和
00:18:50技能,以便它能把工作做得更好。所以解决这个问题是一个两部分的过程。
00:18:55这就是我们要深入探讨“技能(skills)”概念的地方。技能可能是你
00:19:00在提升 Claude Code 性能时需要理解和掌握的最重要的东西。
00:19:06现在,用最简化的状态来解释技能(虽然它其实要稍微复杂一些),它们其实就是提示词,
00:19:11用来告诉 Claude Code 以特定的方式去做特定的事情。例如,有大量的
00:19:17前端设计技能,它们都专注于制作更好的网站,本质上也就是一些提示词,告诉
00:19:22Claude Code:嘿,当你在创建这个网站时,避免使用某些渐变色,避免那些看起来像
00:19:27AI 垃圾(AI slop)的东西,做这个,做那个,对吧?它只是在给予具体指令。技能就是这么回事。
00:19:32那么我们究竟如何获取技能呢?我们可以在 Claude 应用中找到它们。如果我去点击自定义(customize),
00:19:37把这个移到这里,然后往下找到技能(skills)。你可以看到我在这里拥有的一些技能,
00:19:44我们还有插件(plugins),它们有时也可以算作技能,这属于一个灰色地带,特别是在应用中,
00:19:49当我们讨论技能与插件的区别时,你基本上可以把它们看作是同一回事。插件可以
00:19:54包含多个技能,但这种区分有点随意的。举个例子,如果我转到插件,然后去
00:19:59浏览(browse),首先我会看到什么呢?我会看到 Anthropic 官方插件,这
00:20:04其中就包含了前端设计插件,它实际上也就是前端设计技能。所以如果我安装了这个,
00:20:10我的已经安装好了,它就会把前端设计技能添加到 Claude Code 中。这就是
00:20:15前端设计技能真正的提示词。这是一个官方技能,你可以直接去查看它,
00:20:19它就在官方的 Claude Code GitHub 上。如果我复制这整段内容,然后回到这里,
00:20:24并把它粘贴到提示词中,那就跟我直接使用这个技能是一样的。但显然,你不会在
00:20:30每次想要做前端设计相关的事情时都这样做。所以相反,我们只需
00:20:34像我在界面中展示的那样添加该技能,然后直接输入 front end design,对吧,我可以输入斜杠(forward slash),
00:20:40然后这就调用成功了。这和直接复制并粘贴整段内容的效果是一样的。
00:20:44现在,我不一定非要输入斜杠,我也可以直接使用自然语言,说诸如“使用
00:20:49前端设计技能”之类的话。它足够聪明,能够知道自己需要调用那个技能。不过,
00:20:53可能会引起混淆的情况是,如果你拥有多个与前端设计相关的技能。如果你那样做了,
00:20:58当你只是说“嘿,我在做一个网站”时,它可能不知道该选择哪一个。所以如果你有多个
00:21:02作用差不多的技能,你就需要引导 Claude 朝正确的方向前进。
00:21:05现在,你目前可以添加的最重要的技能(这不仅限于网页设计),
00:21:10就是回到插件,点击浏览,然后找到技能创造者(skill creator)。这是你可以添加的最重要的技能,
00:21:16因为这是一个允许你创建其他技能的技能,并且它包含了诸如
00:21:21衡量技能性能、运行测试、运行评估(evals)、执行基准测试等功能,我们稍后会对此进行更多讨论。
00:21:27但显然,当我们浏览这里时,可供选择的技能其实并不是那么多。
00:21:31我们都知道,世界上到处都飘荡着成亿上千个技能。所以通常情况下,
00:21:35你寻找技能的地方会是 GitHub,就像你在这里看到的一样。假设,举个例子,我想
00:21:40使用另一个与前端设计相关的技能,比方说我在找 impeccable 技能,
00:21:45并且在 GitHub 上找到了它。那么我到底该怎么安装这个东西呢?描述中会一步步
00:21:49告诉你怎么做。但通常来说,这有点麻烦。你需要做的是:当你在 GitHub 上找到喜欢的技能时,
00:21:53复制它的 URL,进入 Claude Code 内部,
00:22:01把那个技能粘贴进去,然后说诸如“添加这个技能”之类的话。从那以后,它就会字面意义上
00:22:07把该技能添加到你的技能库中。接着你只需像我之前展示的那样去调用它就行了。
00:22:12现在,在技能的使用上你可以玩得很高级,特别是当你拥有
00:22:16技能创造者(skill creator)技能时。例如,假设我们录完了这个视频,我向这个
00:22:21网页添加了一堆新东西,在完成所有这些操作(比如对其进行提示、创建网站、
00:22:26进行修改、添加我想要的任何内容)的最后,我可以做类似这样的事情:
00:22:30让我们使用技能创造者技能,然后说:查看本次会话的整个消息历史记录,
00:22:35查看我们今天所做的一切,并把它变成一个技能。所以如果有某些事情
00:22:39是你一遍又一遍重复去做的,你就可以把它们变成技能。稍后,我甚至会
00:22:44向你展示如何将这些技能进一步转化为自动化。所以技能非常强大,因为
00:22:48它们允许你将 AI 所做的事情进行规范化(codify)。你知道,AI 的问题之一在于
00:22:53它在某种程度上是非确定性的,对吧?如果你让它做某事 10 次,它可能会用 10 种不同的方式去做。
00:22:58它是非确定性的。然而,技能允许我们做到一定程度的确定性,并让我们对 Claude 如何做事拥有更多控制权。
00:23:04这就是为什么它们如此重要。现在,正如我之前提到的,
00:23:08除了技能之外,我们还需要在这里添加更多上下文。所以我要做的是去
00:23:12搜索一些可以添加到这个网站的截图,以让它看起来更好一点。因此我去了
00:23:16Pinterest,当我输入“SaaS 落地页”时找到了这张图片,觉得它看起来挺酷的。
00:23:20所以我们要做的就是把这张截图拖放到这里,并且对它说:
00:23:25使用前端设计技能来重新设计这个网页。事实上,我希望你制作
00:23:30它的三个版本,并在浏览器窗格中展示所有三个版本供我选择。
00:23:37所有这些版本都应该带有一点这种风格,但我希望它们之间有足够的差异性,以便我能
00:23:40看出一些区别。于是它完全照着我们的要求做了。如果我们看一下这里,现在就能看到
00:23:45网站的三个不同版本。你可以看到这些版本和我们刚刚
00:23:50看到的内容相比有了多大的突破。而这仅仅是通过单一的技能——也就是 Anthropic 提供的通用前端设计技能——
00:23:55加上一个相当基础的提示词以及截图实现的。所以我可以看一下这个,
00:24:03V1 全尺寸。这个看起来挺酷的。我们有 V2,虽然雷达看起来挺有意思的,但我不是很喜欢它的配色方案;
00:24:11然后最后,我们有 V3,老实说,它看起来有点像是典型的
00:24:17AI 垃圾。我真的很喜欢 V1。我觉得这个看起来
00:24:24所以我们要做的就是,嘿,我们就直接
00:24:26选择 V1。这其实是为了展示注入上下文的力量,
00:24:31只需要一张截图、一个技能,就能产生无数种不同的最终结果。现在我们来谈谈
00:24:36如何通过引入外部工具、将外部应用程序连接到
00:24:42Claude Code 本身来为其赋能,从而让 Claude 控制它们。
00:24:47而我们甚至不需要真正离开这个应用。现在实现这一点主要有三种不同的方法。第一种是进入自定义(Customize)
00:24:53并前往连接器(Connectors)。其中一些连接非常简单,你可能已经
00:24:57操作过了。比如 Gmail、Google 日历或 Google 云端硬盘。这允许 Claude
00:25:02Code 与这些应用程序进行对话并控制它们,通常会带有某些安全护栏,
00:25:06而且这一切只需通过提示词即可完成。所以如果我告诉 Claude Code,嘿,去读取我的 Gmail,它就会执行,因为
00:25:11它已经连接好了。现在,市面上大多数主流应用都有某种连接器。因此,如果你直接
00:25:16点击添加并浏览连接器,你很有可能会找到你想要的东西。第二种方法
00:25:22是通过插件。正如我所说,所有这些东西之间的界限非常模糊。类似于
00:25:28连接器,如果某个应用规模很大、很受欢迎,那么它大概率就会有对应的插件。所以如果我去浏览,
00:25:34你首先会看到一堆 Anthropic 插件,它们实际上就是技能。不过,如果我点击
00:25:39合作伙伴(Partners),我就可以找到 GitHub 或 Supabase 之类的东西。我只需点击它,你就会看到
00:25:44底层运作的机制。在这种情况下,这就是 GitHub MCP。就像连接器一样,
00:25:50如果我添加某种插件,它就会允许我通过 Claude Code 与某些外部应用程序进行交互并对其进行控制。
00:25:55但还有第三种东西,它既不是 MCP、插件也不是连接器,那就是诸如
00:26:01比如这里提到的 GitHub CLI。也就是说,我们有 GitHub CLI,也有 GitHub MCP。
00:26:08有什么区别呢?从实际应用以及你所关心的地方来看,
00:26:13区别其实并不算太大。在许多情况下,它们并没有本质上的巨大差异。
00:26:19总的来说,CLI 往往能比 MCP 提供更多的功能。而且通常情况下,CLI 还包含各种技能。
00:26:26因此,当你需要处理某些外部应用程序时(也就是你在 Cloud Code 内部工作,
00:26:31但需要与其它工具进行交互),你需要弄清楚是否可以通过以下三种方式之一将其添加:
00:26:36连接器、插件或 CLI。正如你所看到的连接器和插件,我们也可以直接通过 CLI 来实现。
00:26:42操作同样非常简单,只需告诉 Cloud Code 添加相应的 CLI 即可。比如 GitHub CLI,
00:26:49如果你在终端里,它有实际的命令,但我也可以直接复制它的 URL。
00:26:54我可以进入 Cloud Code 并说道:“嘿,这是 GitHub 的 CLI,请帮我
00:27:01添加这个 CLI。”它就会完全照做。从那里开始,你基本上就赋予了 Cloud Code 相应的功能。
00:27:08你可以把它看作是一种调用该 CLI 的技能,并让它执行该 CLI 所具备的各种能力。
00:27:14对于 GitHub 来说,这意味着我可以创建一个仓库,将我们刚刚创建的所有代码
00:27:19上传到该仓库中,并且还可以对仓库进行编辑。如果我们再深入一步,考虑像 Vercel 这样的工具——
00:27:25如果你还不太了解 Vercel,它是一个网络应用,允许我们托管
00:27:31我们的实际网站。所以我们刚刚创建了一个网站,想要把它放到网络上并拥有一个真正的
00:27:35URL,Vercel 就能帮我们做到这一点。那么,与其在 Vercel 内部的这种仪表盘中
00:27:40进行各种手动操作,为什么不直接搜索 Vercel CLI 呢?看,Vercel 也有一个
00:27:46CLI。因此,对于这两个应用程序,我们可以做的是:检查是否有 GitHub 连接器,
00:27:52有的;检查是否有 GitHub 插件,有的;检查是否有 GitHub CLI,
00:27:57也是有的。随便添加其中一个,再把它和 Vercel 结合起来。我现在就拥有了一条流水线,
00:28:04我可以把我创建的网站,在 GitHub 内部为它创建仓库,然后自动将它连接到 Vercel。
00:28:09我基本上直接在 Cloud Code 里创建了一个完整的部署流水线,我只需要用日常语言
00:28:14和它交流就行了。它会为我搞定一切。
00:28:19这里最重要的一点是,每当你使用 Cloud 以外的任何工具时,你都需要
00:28:24问问自己:“我能不能直接通过 Cloud 来控制它?”因为很有可能 Cloud 实际控制它的效果
00:28:28会比你自己操作更好,特别是当你对该应用程序的工作原理不是很熟悉的时候。
00:28:33无论是 CLI、MCP 还是连接器,其实都无所谓,你只需要选一个就行了。
00:28:38而且你甚至不需要亲自去找它。举个例子,如果我问 Cloud Code 这样一个问题:
00:28:44“嘿,我在考虑部署这个网站。我听说过像 GitHub 和 Vercel 这样的工具,
00:28:51我对它们不是很熟悉。我也听说我们可以使用 CLI 或者是 MCP。所以你觉得
00:28:58你可以去看看这些对我们托管网站是否有意义吗?如果可以的话,
00:29:03如果需要的话,你能把这些 CLI 添加进去吗?添加完之后,你能直接帮我设置好
00:29:08那个部署流水线并把它们都正确连接起来吗?”所以我们就像这样去提示它,
00:29:12只要说:“嘿,我听说外面有一些工具,可能它们有 CLI。如果有的话,
00:29:16把它们加进来并运行。”这就是你需要做的全部事情,对吧?你甚至不需要成为专家。
00:29:21不确定的时候,尽管问 Cloud Code 最佳实践是什么,以及它是否有 CLI。它会直接帮你去搜索,
00:29:26对吧?如果我运行这个命令——顺便说一下,我已经安装了这些工具,所以它可能会回答说:
00:29:29“嘿,我已经安装过它了。”如果你以前从未使用过它们,你需要做的全部事情就是
00:29:33创建一个账户,然后我们会引导你完成设置。随着这类像 Cloud Code 这样的智能体编码
00:29:37助手变得越来越无处不在,你会发现基本上外面的每一个应用程序
00:29:42都会推出某种版本的 CLI、连接器和 MCP,这意味着同样地,
00:29:47Cloud 掌握着全局。有了这个提示,它显然会引导你如何登录。
00:29:51如果你以前没做过,它会帮你创建 GitHub 仓库。因此我们网站的所有代码
00:29:55基本上都存放在云端了。而且它还设置好了 Vercel 连接。所以我现在拥有了一个可以访问的线上 URL,
00:30:02我们也可以在这里直接看到它。这个有一个真实的 URL,Lighthouse 站点连到了 Vercel 应用,
00:30:07我可以把这个分享给任何人。话说回来,我需要进入 GitHub 吗?不需要。我需要进入
00:30:11Vercel 吗?也不需要。所有操作都通过 Cloud Code 控制。由于建立了 GitHub 和 Vercel 的连接,
00:30:17我在 Cloud Code 中对网站所做的任何更改,如果我希望这些更改体现在
00:30:22线上网站上,我只需要告诉它一声,它就会完成。因此,这个部署流水线只是将外部工具
00:30:28纳入 Cloud Code 体系的一个例子。现在是时候进入一些更高级的主题了。我们将
00:30:34涉及诸如自动化之类的内容。我们将讨论如何以最佳方式处理长期
00:30:39任务。我们会通过探讨 slash goal、循环工程(loop engineering)、图工程(graph engineering)来做到这一点。
00:30:44我们还要讨论一下模型路由,即如何将其他模型(如
00:30:48Codeex 和 GPT 模型)引入我们的工作流中。最后,我们将讨论
00:30:52一些更自定义类型的助手以及我们可以叠加在 Cloud Code 之上的 UI,无论那是类似
00:30:57这样的工具,还是采用 Obsidian 命令中心类型的方法。因此,让我们首先讨论长期
00:31:02任务和循环工程。这有点类似于自动化。所以当我们在谈论
00:31:07长期任务时,我们讨论的是循环工程和图工程。
00:31:11我们到底在说什么呢?我们的意思是,我们有一些任务、某种需要完成的目标,
00:31:16但这些可能是我们需要让 Cloud Code 无休止地执行的任务。
00:31:21这可能是某种每天都要运行的任务。并且理想情况下,它应该是一个
00:31:25不仅每天运行,而且还能够自我改进的任务。
00:31:29因此,对于这些长期任务,实际上分为三个部分。我们将有一个触发器、
00:31:37一个任务,以及某种成功标准。现在,并非所有的长期任务都是循环。这
00:31:43可能只是一些你认为需要两小时、四小时、12小时、
00:31:48甚至几天才能让 Cloud Code 完成的任务。而你并不希望它每次填满
00:31:53上下文窗口时就停下来。你希望它一直运行下去,直到完成任务。
00:31:57Cloud Code 内部有一个内置命令可以做到这一点。它叫做 slash goal。现在,
00:32:03如果你有一个复杂的项目想让 Cloud Code 完成,又不想在整个过程中对其进行保姆式的看管,
00:32:07slash goal 是完美的选择。不过,你确实需要满足一个特定的要求,
00:32:12那就是关于成功标准。你需要能够定义什么是成功,因为 slash goal 并不是你传递的唯一东西。
00:32:20你还得传给它一个提示词。而这个提示词需要明确说明成功的标准是什么。
00:32:28好的。就像你给 Cloud Code 设定了一个要完成的目标。你到底想让它做什么?光是
00:32:32解释说“嘿,我想让你做 X、Y 和 Z”是不够的。不,最终的状态应该是什么样的?因为当
00:32:38我们运行 slash goal 时会发生什么呢?它将尝试通过代码或其它方式去完成该目标。
00:32:44它将运行它的第一次迭代。然后它会将该迭代
00:32:49与你定义的成功标准进行比较。如果它达到了成功标准,太棒了,大功告成。如果没有,
00:32:55它将开启第二个会话,再次运行。它会继续检查
00:33:00成功标准。成功了吗?没有。然后它会再次运行。现在,每次运行的时候,它都会
00:33:05看一看它之前的迭代,看看什么起作用了,什么没起作用,但它会继续
00:33:10这种内部循环,直到达成目标。这是非常强大的。它有点
00:33:16类似于 Ralph 循环(如果你知道那是什么的话)。因此,我们的成功标准尽可能客观
00:33:22是非常重要的。如果我只是说:“嘿,目标是创建一个很酷的网站,
00:33:28看起来很炫,对吧?看起来很棒。”它怎么知道什么是炫?它怎么知道什么是棒?
00:33:34它如何在每次运行结束时去检查并说“我完成这个任务了吗”?
00:33:39所以,你的标准越主观,结果可能就会越差——甚至不一定是
00:33:44结果变差,而是它越不可能满足你的需求。但话又说回来,
00:33:49goal 绝对是一种循环工程的形式,但它是一种有着明确终点的形式。
00:33:57我们不会使用 slash goal 并期望它永远运行下去。但有些事情
00:34:03我们可能希望它永远运行。并且我们仍然希望它以与 goal 相同的方式
00:34:07行事。我们希望它按需触发,或者按计划触发。我们有要完成的
00:34:12任务,有成功标准,并且我们还希望它是自我改进的,因为再次强调,这在某些方面
00:34:17是自我改进的,因为它总是在审视自己的输出,并将其与
00:34:23某种成功标准进行对比。那么,如果我们想创建一个永远循环下去的东西,会发生什么呢?
00:34:28也许这是一个每天运行的自动化程序,我们希望它不断地
00:34:33自我完善。现在我们将继续这三个步骤,但接下来我们需要添加
00:34:37某种日志记录阶段。现在让我们以一个自定义循环为例来看一看。我们这里有 Cloud Code,
00:34:45我们希望 Cloud Code 每天都做的事情是,它为我们创建某种
00:34:50早报报告、某种早间简报。我希望它去网上帮我查找
00:34:54AI 新闻。我还希望它检查我的 Gmail,并在最后给我一份文档。所以 Cloud Code
00:35:00将查看 YouTube。它将查看 Twitter、Reddit 以及我的 Gmail。它将抓取
00:35:05抓取所有这些信息,对其进行搜集、整合、综合,
00:35:09并以报告的形式交付给我。而且我希望每天都这样做。那么,我们如何将循环
00:35:16工程的基本原理应用到这里呢?记住,我们只需要设置以下四件事。那么,
00:35:23触发条件是什么?假设触发条件是每天早上 7 点运行。
00:35:29任务是什么?任务就是我刚才描述的内容:抓取这些网站、整合、
00:35:34生成报告。这就设置好了。那么,成功标准是什么?这就变得
00:35:39困难了,对吧?因为这有点主观,比如,什么样的报告才算是
00:35:45一份好报告。我们可以在其中加入一些主观要求,比如,
00:35:49每份报告必须包含至少 5 个 YouTube 视频、5 个推特帖子和 5 个红迪网
00:35:54帖子。并且你必须在 Gmail 中指出 X、Y 和 Z。所以这里有些事我们可以做,
00:35:59但它不像某些简单的情况,比如你在某个Python应用中写了个循环,
00:36:03你的目标是让它达到特定的运行速度。最后,我们还有日志记录。
00:36:09因此,我们可以把这些报告全部存入某种数据库中,对吧?这样一来,
00:36:14Claude Code就能随时查看以往的工作,并将即将完成的工作与
00:36:19我们已经做过的事情进行对比。从理论的角度来看,这本质上就是循环工程。
00:36:24那么,在Claude Code的实际应用中,这到底是什么样子的呢?
00:36:28嗯,第一步就是创建某种技能,因为我刚刚在这里描述的是什么?
00:36:34没错,我刚刚描述的就是一个技能。我们可以创建一个由Claude Code在接收到命令
00:36:39或触发器时运行的技能,让它执行所有这些抓取信息并将其转化为报告的操作。
00:36:44我们可以在该技能中包含将所有这些信息发送到特定数据库的功能。
00:36:48因此,要真正进行循环工程,第一步就是调用技能创建器技能。大家还记得吧,
00:36:54我刚才已经演示过怎么做了。然后,你只需描述我刚才说的那种技能即可。
00:36:59在此之后,你可以一遍又一遍地手动运行该技能,直到将其调整到相当不错的效果。
00:37:03一旦你对该技能感到满意,你就要确保添加一些描述,
00:37:09例如:嗨,我希望将它记录在数据库中。并且每次我们运行该技能时,我都希望你查看
00:37:15之前的迭代结果,看看我们是否能做得更好。这就是自我提升特性的
00:37:20切入点。理想情况下,你能够为你的每一份先前的报告进行评分。这样它就拥有了
00:37:26某种客观标准来作为输出的基础,但简单来说,你首先要将其
00:37:31转化为一个技能。一旦将其转化为技能,你现在要做的就是把它变成一个
00:37:36持续运行的自动化程序。在 Claude code 中这非常简单,因为我们只需
00:37:41将其变成一个日常任务(Routine)。因此,如果我来到左侧点击日常任务,转到新日常任务并选择
00:37:46本地(local),你猜我要做什么?我只需告诉它在特定时间的每一天运行该技能。
00:37:53所以这就像是循环技能,我们在运行循环技能。
00:38:02然后指令实际上就是运行斜杠循环技能。好的,当你这样做时,
00:38:11并且在 Claude code 中通过技能创建器创建这个时,你还会说,
00:38:14嘿,我试图这样做,以便实现自我提升,我想要数据库循环工程、
00:38:18基本原理等。Claude code 内部的技能创建器技能的好处在于,
00:38:22它会为你完成所有重活累活,它理解这里的目标。然后
00:38:27从那里开始,你只需安排它运行即可,对吧?理想情况下,它可能只是每天运行一次,
00:38:31但你也可以按小时、工作日、自定义,随你喜欢。这就是循环工程的
00:38:37实际应用。这就是你基本上需要了解的全部内容。因为除了循环工程之外,
00:38:42我们接下来就要开始讨论图工程(graph engineering),而图工程可能会更复杂一些。
00:38:48但实际情况是,还记得之前当我们看这个时,我们有所有这些
00:38:53循环工程的内容在运行吗。让我们实际上撤销所有这些。我们有所有这些循环工程的
00:38:59东西在运行,对吧?比如,嘿,这个家伙在抓取一切,在查看,在创建 PDF,
00:39:04并且正在被评分。那么,如果我们把触发器、任务、成功标准的所有这些循环,
00:39:12以及对其进行评分、记录信息的全过程,如果在旅程的
00:39:16每一步都这样做呢?因此我们有一个专门负责抓取 YouTube 的代理。它有一个触发器,
00:39:20抓取 YouTube,抓取数据,然后通过观察它过去的迭代并自我改进,来判断它抓取得有多好。
00:39:25过往的迭代来进行自我完善。然后我们在推特抓取、红迪抓取上
00:39:30以及 Gmail 帖子和这个帖子也这样做。因此,与其为整个过程设置一个循环,
00:39:36就像一个巨大的循环一样,我们改为在单次运行中嵌套一堆微循环。
00:39:41这就是图工程。所以我为此做了一整期视频。这可能会有点复杂。但在其核心,
00:39:46图工程实际上就是这么简单。它只是一堆相互对话的循环代理。
00:39:52事情就是这样。对于大多数人来说,这完全是大材小用。你通常不需要这个。
00:39:57但从概念上讲,它是这样工作的。现在将讨论转向动态工作流
00:40:02和超代码(ultra code)。那么,超代码究竟是什么?这与最大努力(max effort)有何不同?
00:40:08超代码要做的是,它基本上会为你要解决的任何问题创建一个定制的 harness(封装框架)。
00:40:14用实际的话来说,这意味着它可能会启动一堆子代理来处理你遇到的任何问题。
00:40:19这可以极其有效,但同时也可能极其昂贵。
00:40:25动态工作流的一个例子是斜杠深度研究(forward slash deep research)。这基本上就像一个预构建的动态工作流。
00:40:34就像是一个预先构建好的动态工作流。它和网页端的
00:40:39在网络应用上进行深度研究。因此,如果我运行深度研究,将会发生的是它会
00:40:44生成大量的子代理,这些子代理将执行许多不同的任务。所以如果我问一个问题,
00:40:49比如让我们深度研究在 Claude code 内部使用动态工作流的最佳用例,
00:40:59它现在不会像标准网络搜索那样只生成,你知道的,大概五个
00:41:03五个子代理来基本上执行谷歌搜索,而是会衍生出多得多的子代理。我曾见过它
00:41:08衍生出远超 100 个子代理。这些代理将执行多项任务,它们实际上会走到
00:41:12网络上去抓取数据,接着创建对抗性代理来审视我们找到的数据,
00:41:18然后进行对比,看看究竟什么经得起推敲,接着再进行
00:41:22综合,最后给出我一份最终报告。所以你可以从这里看到,它决定针对
00:41:28这个范围,将问题拆解为五个搜索角度,并表示它只需要
00:41:33五个并行网页搜索代理,这对于我们在 fable 上运行来说挺好的。然后它会提取
00:41:38前 15 个来源,对每一项主张通过三次投票的对抗性检查进行验证,最后
00:41:45进行综合。所以我们可以看到它在右边运行,由于我们衍生出了六个代理并且
00:41:50每一个代理从一开始就几乎都有一个代币成本,我们已经烧掉了 314,000 个代币。
00:41:57所以我刚才真没开玩笑。现在,当你运行 ultra code 时,如果你没有明确告诉它,比方说
00:42:02假设我在 fable 5 上并运行 ultra code,它会为这些子代理使用 fable,这
00:42:07可能会是个问题。因为如果它说,嘿,我要衍生出 100 个网页搜索代理呢?现在当我
00:42:13下达提示词来规避这种状况时,你可以明确指出,嘿,把它限制在
00:42:1720 个子代理,限制在 50 个子代理。或者你可以说,我想要你为
00:42:22子代理使用 Sonnet 或者为子代理使用 Opus。所以你不会必然受制于
00:42:26你当时正在使用的任何模型。现在 Anthropic 发布了一篇很好的博客,解释了
00:42:31动态工作流。其底层发生的事情是,它在编写能够运行
00:42:36单次会话中包含 10 到数百个并行子代理的编排脚本,在任何内容到达你
00:42:40手里之前检查它的工作。这里有一些不同种类的动态工作流示例。
00:42:45请记住,当你在 ultra code 中运行动态工作流时,cloud code 会找出最适合你问题的
00:42:50一个。它可能是其中之一,也可能是完全不同的东西。比如分类与行动,你给它某种任务,
00:42:54我们有一个分类器代理,然后为你选择最佳子代理。分发并综合
00:42:59以及对抗性审查。如果我们把这两种结合起来,那就是我们在深度研究所做的事情,
00:43:02对吧?我们有某种任务,寻找这些信息,它在网络上分发,获取
00:43:07所有信息,然后在为我们综合之前,它还会进行对抗性审查,看看什么真正讲得通。
00:43:12然后我们有生成和过滤(generate and filter),我们有一种锦标赛风格的
00:43:16方法,尝试不同的尝试来解决某种问题,并且包含裁判。然后我们有
00:43:21循环直到完成(loop until done),这再次与循环工程非常相似。如果我们跳回到这里,
00:43:25我们可以看到我们早些时候开始的这次深度研究运行包含了 103 个代理并烧掉了 600 万个代币。
00:43:32而且这全都是在 Fable 上进行的。所以你可以想象这是多么昂贵。这里是它给出的
00:43:38实际报告的外观。正如你所看到的,相当深入,并且还包含 21 个不同的来源。在所有
00:43:43这些例子中,我认为深度研究是你最常使用的那个。如果你是一个
00:43:47即将着手一个相当复杂的项目,并且真的希望在甚至开始进入计划模式之前就万事俱备的人,
00:43:52我强烈建议使用深度研究。这样 Claude Co 就可以在开始构建之前出去
00:43:57了解实际情况。接下来我们来谈谈模型路由(model routing)。实际上,
00:44:01也就是我们该如何将外部模型引入 Claude Code 的阵营?因为一些大
00:44:07玩家比如 ChatGPT,他们的模型非常棒。Sol 5.6 很惊艳。Luna 和 Terra 在代币效率上极高。
00:44:13你需要牢记的一点是,总的来说,AI 系统以及这些模型本身,
00:44:20在对自己进行评分时的表现并不算出色。因此,如果我让 Claude Code 去评价它自己的工作,
00:44:25让 Opus 去评价它自己的工作,或者让它评估自己的成果,它几乎总是会说,
00:44:30我做得非常棒。那么我们该如何解决这个问题呢?特别是当我们完成了一项出色的工作,
00:44:34而我们自己又无法对其进行评估时?这就好比超出了我们的专业领域。我其实并不知道那段代码到底好不好。
00:44:38好吧,为什么不引入另一个前沿智能体来审视我们的工作呢?而我们实现这一目标的方式,
00:44:43就是通过各种技能和插件。实际上有一个官方的 Codex 插件
00:44:47适用于 Claude Code。这是由 OpenAI 官方开发的。它允许你在 Claude Code 中调用 Codex。
00:44:53你只需复制这个网址,将其粘贴到 Claude Code 中并说,我想安装它。你就可以办到。
00:44:58从这里开始,你可以让 Codex 对你已经编写的代码进行对抗性审查。或者你甚至可以
00:45:04利用它让 Codex 开发你产品的特定功能。当谈到具体的规划阶段时,
00:45:09我创建了一个名为“严厉审讯 Codex”的技能,它结合了 Matt Pocock 的“严厉审讯”
00:45:13技能与 Codex 的对抗性审查。具体流程是,你和 Fable 互相交流,
00:45:20制定出一个计划,然后将该计划路由给 Codex。Codex 和 Fable 之间会进行
00:45:25长达五轮左右的来回交流,Codex 会审查 Fable 创建的内容。Codex 会说:
00:45:29这里不对,原因是什么。Claude 对此作出反应,说,好的,我会修复它,或者我不同意。然后
00:45:35它们不断地来回探讨,直到达成一致。因此,这在一定程度上解决了
00:45:39这些模型难以自行评估工作的问题,并为我们提供了第二双眼睛。这样我们在处理复杂案例时,
00:45:46就能感到相当有信心。如果你不想使用像 Codex 这样的工具,而是希望依赖
00:45:51便宜得多的模型甚至本地模型,这种模型架构甚至还可以再进一步推进。
00:45:55核心要点在于,你不仅限于只能使用 Opus、Haiku、Sonnet 和 Fable。
00:46:02我们可以引入任何我们想要的东西,尤其是将其用作技能时。同样地,
00:46:07你只需使用技能创建器技能来完成。最后但同样重要的是,我们拥有自定义的
00:46:11智能体操作系统结构,正如你在这里和这里所看到的。这些都是为了在 Claude 之上构建自定义包装器,
00:46:17并为我们提供我们在其他地方无法获得的视觉界面。而且它最终是定制化的。
00:46:24现在,这些东西真正的价值并不在于视觉包装器,尽管这对我来说
00:46:27确实有用。这为我提供了我的社交媒体指标。我可以轻松点击并深入了解其中的细节。
00:46:33我每天都在一个地方完成研究工作,向我展示 GitHub、Hacker News 等平台上发生的事情。
00:46:37所有这些按钮都与我可以按需运行的特定技能和自动化相关。在这里,我几乎拥有完全相同的东西,
00:46:41但它还带有一个语音模式。但就像我说的,真正的价值不在于这些酷炫的视觉层。
00:46:45真正的价值在于背后的技能架构。这一切的核心理念是将 Claude
00:46:51本质上变成你的个人助理,或者变成你组织中的实际员工,能够完成
00:46:58你所做的所有事情。因此对我而言,你在这里看到的是我日常工作中使用的所有技能,
00:47:03映射到了对我很重要的所有不同领域。所以,你看,
00:47:09我有与记忆相关的事情,与生产力相关的事情(例如 Gmail、我的日历)、
00:47:13诸如此类。我有与研究、内容、我的社区、我的 AI 代理机构、销售
00:47:18等相关的内容。这里的每一项都是我会独自手动完成的任务。
00:47:22我没有选择自己手动完成它们,而是现在将它们映射到了特定的技能上。
00:47:27如果合理的话,我就会把这些技能转化为自动化。当我们从宏观角度来看待这一点时,
00:47:31这确实就是智能体操作系统。它是一系列映射到你日常任务的技能和自动化。
00:47:36那么,如何构建这样的大型系统呢?嗯,我们其实已经讨论过了,对吧?
00:47:41这只是构建技能而已。只需使用技能创建器技能,
00:47:44打开你的麦克风,滔滔不绝地讲述你日复一日、周复一周所做的事情,
00:47:49然后问 Claude Code,如果合理的话,我们能否将这些转化为技能?
00:47:53如果可以,你就去做。你一遍又一遍地这样做。最终你就会创建出这样一组技能库,
00:47:58让你能够自动化生活中的大片领域。而这一切的背后则是 Obsidian。Obsidian
00:48:02允许我们以 Markdown 文件系统的形式轻松追踪我们所做的一切。现在,Obsidian
00:48:08本身并没有对 Claude Code 的能力带来什么疯狂的升级,但它允许我们真正追踪一切并赋予其一定的记忆力。
00:48:15这就是你可能以前听过的 Karpathy Obsidian RAG 系统的基础。现在,作为一个非常快速的复习,
00:48:20当我谈论 Obsidian 记忆系统时,这只是一种文件结构。这只是一种
00:48:24Claude Code 所在的连贯文件结构。所以你明白事情的去向。这再次被俗称为
00:48:28Karpathy Obsidian 方案。它非常简单。你拥有某种文件夹,
00:48:33你的智能体操作系统就住在里面。我的被称为 Vault(资料库)。在 Vault 内部,你拥有某种看起来像这样的文件结构。
00:48:38它不需要完全一致,但核心思想是,在其中一个文件夹中,
00:48:42我们拥有原始数据部分。这大致就是原始数据和研究资料的去处。
00:48:48接着我们有一个维基部分,我们还有一个输出部分。维基部分是我们获取所有这些
00:48:52原始数据,并本质上将其转化为不同报告或维基风格文章的地方。
00:48:56所以想象一下,我让 Claude Code 去对 AI 智能体做一堆研究。我们会把原始信息转存到这里,然后
00:49:01它会在 AI 智能体子文件夹下创建一篇关于 AI 智能体的文章。现在,假设我想从那类 AI 智能体维基中创建某些内容。
00:49:06比如,我想把它变成一个幻灯片。那么,这个幻灯片就会进入输出部分。
00:49:11这种简单模型的理念是,我能够
00:49:17处理大量文件,潜在数量可达数十万个。并且它的设置方式非常清晰,A、作为人类的我能够轻松浏览,
00:49:23B、Claude 也能轻松浏览。如果它能轻松浏览这个文件结构,
00:49:29它就会变得更加准确,并且最终消耗更少的代币。整个方案的关键就在于
00:49:35旅程每一步的这类索引文件。每当我更深入地进入文件结构时,
00:49:41基本上都会有一个 index.markdown 文件,告诉我里面正在发生什么。
00:49:45所以它基本上就像是一个目录。如果刚才听糊涂了也没关系,我有很多内容可以更深入地探讨这一点。
00:49:50但这些智能体操作系统系统的理念是,这个视觉包装器坐落在我刚才讨论的自定义技能架构之上,
00:49:55并受到那个 Obsidian 记忆层的支撑,这有助于你浏览你所做的一切,并帮助 Claude Code
00:49:58更轻松地浏览它。这些系统的运作方式是,比如,嘿,我其实并没有在这里使用 Claude Code,对吧?
00:50:05我们使用的是 Atlas Claude,它使用了 dash P(-p 参数)。因此,本质上,一条命令被发送到终端,
00:50:10它不是仅仅运行 Claude,而是使用 claude -p,这意味着 Claude
00:50:15本质上在后台隐形运行。有一段时间围绕这一点曾有一些风波,当时 Anthropic
00:50:19声称他们将为此收取不同的费率,且不会计入使用量,但现在情况已经不再如此了。
00:50:28所以这类系统实际上和其他系统一样具有成本效益。
00:50:34现在,创建一个像这样的智能体或 Claude OS 并非 100% 必要的。但我认为,
00:50:38创建这些类型的技能架构确实是必不可少的,这才是这一切的中流砥柱。当然,
00:50:41如果你想获得我的确切配置,我的 Chase AI plus 里面也有。这就是
00:50:47我今天要和你分享的内容,我们涵盖了大量不同的主题。这些是我认为
00:50:53最物有所值的主题,无论你是刚起步,还是处于更高级的水平,都应该重点关注。一如既往,请让我知道你的想法。
00:50:59如果你想获取我的 Claude Code 大师班,请务必查看 Chase AI plus,
00:51:03里面涵盖了许多我们在这里讨论过的内容,只是讲解得更加详细。
00:51:07我觉得这些内容能让你花最少的精力获得最大的回报,无论你是
00:51:12从零开始,还是已经达到了进阶水平。所以一如既往,请告诉我你的
00:51:17想法。如果你想获取我的 Claude
00:51:20Code 大师课,请务必查看 Chase AI plus,其中涵盖了我们今天讨论的很多内容,只是讲解得更加详细。
00:51:26除此之外,我们下次再见。

핵심 요약

精通Claude Code的核心在于合理选择桌面应用环境、利用计划模式消除未知盲点,并通过技能、连接器与循环工程将日常复杂任务转化为自动化流水线。

하이라이트

  • 对于非技术背景用户而言,建议直接使用Claude Code桌面应用,该版本不仅操作门槛更低,还独占语音模式、浏览器自动化和行内产出物等终端不具备的功能。

  • 在使用Claude Code处理复杂或模糊的项目时,应当开启计划模式,借此迫使AI主动提出盲点问题并厘清未知领域。

  • 在上下文窗口达到30%至50%的阈值时,性能会出现下降,此时应使用斜杠clear或斜杠compact命令开启新会话以恢复顶级性能。

  • 通过在提示词中附加界面截图并调用前端设计技能,可以让Claude Code生成具有专业视觉风格的多版本网页设计。

  • 借助循环工程与slash goal命令,用户可以构建能够自动运行、自我检查并与成功标准进行比对的长期任务流水线。

타임라인

运行环境的选择与全局设置

  • 云端网页应用、桌面版本和终端是运行Claude Code的三种途径,非技术用户推荐使用桌面应用。
  • 桌面应用具备终端所没有的语音模式、浏览器自动化和行内产出物功能。
  • 全局指令在大多数情况下应当保持空白,而工具访问模式应设置为按需加载工具。

虽然技术熟练者习惯使用终端,但桌面应用针对新手提供了更友好的体验,且内置了终端支持。在设置方面,全局指令如果填写不当会强制影响所有对话,因此建议保持空白。工具访问模式与本地会话选项通常保持开启,而涉及Git版本控制的主题则可暂时简化处理。

计划模式与提示词编写技巧

  • 权限设置中的auto模式带有分类器,能够自动拦截危险命令,是默认且安全的选项。
  • 面对新项目时必须启用计划模式,让Claude Code主动针对未知盲点提出问题。
  • 通过麦克风输出意识流想法编写提示词即可,不需要死板遵循特定格式。

权限模式决定了AI在未经同意时的操作权限,auto模式在兼顾效率的同时能拦截危险指令。在启动新项目时,计划模式能够迫使AI提出用户未曾考虑的细节问题。用户无需使用复杂的提示词格式,直接通过麦克风输入直观想法,并在遇到不理解的技术概念时要求AI进行解释,从而避免沦为肤浅的氛围编码。

上下文窗口管理与技能应用

  • 随着上下文窗口中Token的增加,AI的检索性能会出现线性下降,建议在达到30%阈值时进行处理。
  • 使用斜杠clear或斜杠compact命令可以清除旧对话并开启全新的上下文窗口。
  • 通过安装前端设计技能并提供参考截图,可以大幅突破默认界面的平庸感。

Token是模型的通用货币,100万个Token的预算随着对话填满会导致AI出现记忆吃力现象。当使用量达到30%至50%时,应使用斜杠clear彻底重置或使用斜杠compact生成摘要。同时,通过引入官方或GitHub上的前端设计技能,配合外部截图作为视觉参考,可以生成多个高质量的网页设计版本。

外部工具集成与自动化流水线

  • 可以通过连接器、插件或CLI将Gmail、GitHub和Vercel等外部工具引入Claude Code中。
  • 借助GitHub与Vercel的集成,用户只需通过自然语言指令即可在AI内部直接创建部署流水线。
  • 当不熟悉外部工具的最佳实践时,可以直接向Claude Code询问并让其自动安装和设置。

通过连接器、插件或命令行界面(CLI),Claude Code能够直接控制外部应用程序。用户无需手动操作复杂的网页仪表盘,只需通过日常语言向AI传达托管网站的意图,系统便会自动完成仓库创建和线上部署,实现全流程的自动化控制。

长期任务、循环工程与智能体操作系统

  • slash goal命令允许用户设定明确的目标与客观成功标准,让Claude Code在后台持续运行直至任务完成。
  • 通过技能创建器与日常任务(Routine),用户可以构建每天定时运行且具备自我改进能力的循环任务。
  • 结合Obsidian文件结构与自定义技能架构,用户可以打造出管理日常工作流的智能体操作系统。

对于耗时较长的复杂任务,slash goal通过内部循环和结果比对来自动推进。更进一步的循环工程和图工程则通过触发器、任务、成功标准与日志记录,实现全天候的自动化简报生成。最终,通过Obsidian构建结构化的文件记忆层,用户能够将所有日常任务映射为统一的智能体操作系统。

커뮤니티 글

모든 글 보기