Transcription
在此视频中,我将解释代理技能的概念,我认为从今天起,这将是代理人工智能的关键组成部分。嗯,我认为 2025 年是关于人工智能代理的,我猜 2026 年将是关于代理技能的,这就是为什么我想深入探讨。嗯,Anthropic 实际上在 2025 年 10 月写了一篇更长的博客文章,介绍了代理技能。我不会深入探讨。他们还发布了一篇更长的工程博客文章,实际上我想在本次视频中回顾一下,以真正解释什么是技能,并提供一些背景信息,说明这如何改变我们作为网页开发者和数字策略师的工作。在我深入探讨之前,嗯,我只想,嗯,是的,强调一下,Anthropic 开源了他们称之为 agentskill 网站或协议的东西。它不是一个真正的协议。它基本上是 agentskills.io 上的一个标准。它是一个简单的开放式接口,用于赋予代理新的能力和专业知识。所以他们试图通过开源基本上是这个标准,这与大约一年前发生的 MCP 非常相似,而 MCP,正如你可能知道的,被所有主要参与者采纳了,他们试图复制,而且现在代理技能的采用已经相当,嗯,嗯,有趣。显然,OpenAI,一个主要参与者,在这里缺失了,但我的估计是,嗯,是的,这是我过去几天和几周的经验,当我开始使用技能时。我认为它非常强大,正如我之前所说,我认为技能,代理技能将是生产性 AI 使用的关键。所以让我们深入探讨一下那个工程文章。嗯,它发布于 2025 年 10 月 16 日。Claude 很强大,但实际工作需要程序性知识和组织背景。介绍代理技能,一种使用文件和文件夹构建专业代理的新方法。这是更新。嗯,实际上昨天 12 月 18 日,他们发布了代理技能作为跨平台可移植性的开放标准。这是我之前展示过的网站,是的,那么现在让我们深入探讨一下代理技能的基础思想和原则。随着模型能力的提高,我们现在可以构建与成熟的计算环境交互的通用代理。例如,Claude 代码可以通过本地代码执行和文件系统在不同领域完成复杂任务。但是,随着这些代理变得越来越强大,我们需要更具可组合性、可扩展性和可移植性的方法来装备领域特定的专业知识。我认为这是关键所在,文章实际上也深入探讨了这一点。它关乎可组合性、可扩展性和可移植性。这促使我们创建代理技能,即组织化的指令、脚本和资源文件夹,代理可以动态发现和加载这些文件夹来执行更好的特定任务。技能通过将您的专业知识打包成可组合的资源来扩展 Claude 的能力。将通用代理转变为满足您需求的专业代理。为代理构建技能就像为新员工准备入职指南一样。无需为每个用例构建零散的定制设计代理,任何人现在都可以通过捕获和共享其程序性知识来使用可组合的功能来专业化其代理。在本文中,我们解释了什么是技能,展示了它们如何工作,并分享了构建自己的最佳实践。是的。所以这正是重要的东西,也是与通用人工智能代理和实际技能的区别。所以在 2025 年,许多组织构建了他们认为有趣的任何代理。可以是营销代理、销售代理,也可以是开发代理。所以他们基本上为特定用例构建了代理,并打包了构建该特定代理所需的资源。当你这样做时,那很棒。但最终你会发现,哦,现在营销代理应该某种程度上可以访问 Figma,或者营销代理也应该能够,比如说,创建博客文章标题,而在过去,你可能创建了一个博客文章标题代理,或者任何你想要的任何功能。所以 Anthropic 实际上说,忘掉代理吧。让我们构建技能。所以你有一个技能,比如你可以与 Figma 交互,或者你可以有一个技能,可以分析给定的文本然后创建博客文章标题。所以它更像是一个技能。所以代理不等于技能,但实际上代理是技能的集合,它是动态的、可组合的、可扩展的。所以,他们创建了这个小图,我认为它非常有趣。嗯,好的。所以我稍微放大了一下,这样你就能看得更清楚。好的。所以,实际上左边的部分是很有趣的部分。嗯,所以如果你构建一个代理,你通常会有一个核心提示。所以,例如,你是一个营销代理,你扮演一个非常有经验的,嗯,营销专业人士,等等,然后,而不是将代理的所有知识添加到核心提示中,你说,“嘿,你有一些技能,在这种情况下,例如,你知道如何使用 BigQuery,或者你知道如何与 PDF 文档交互,或者你可以创建 PowerPoint 演示文稿等等。”所以基本上你可以组合起来,然后围绕它构建代理,而通用的,比如说,顶部的代理只是你的聊天界面,它可以是 ChatGPT,也可以是 Claude,因为通用的聊天界面代理 LLM 非常强大,以至于你不需要,你知道,为特定任务创建自定义 LLM 或自定义代理。所以它无论如何都可以交互并处理文本,然后你添加特定的领域技能,而这都是关于这里的技能,对吧,然后显然你不仅想要特定的技能,你还想与外部系统交互,为此,你也可以装备一个系统,使用 MCP。MCP 是一个协议,用于从本地 LLM 与外部系统交互,你基本上可以导入外部系统的上下文工具,你知道,基本上可以加载数据,并与外部系统的数据进行交互。所以这实际上是整个想法,而技能概念,技能标准实际上试图指定什么是装备好的技能,它看起来是怎样的,嗯,最终它只是 MD 文件和文件夹,甚至可能是可执行文件,但这在文章的更后面。所以如果你有这个,然后你通常,我认为这只是 Claude 的内部架构,然后他们有一个虚拟机。所以基本上他们启动了一个小的虚拟机,里面有像 skills 文件夹,里面有 bigquery 文档,你已经可以看到这里有一个 skill.md 文件,它是一个关于技能是什么的摘要,然后是一些其他的 MD 文件,这些文件在 skill.md 文件中被引用,以扩展关于它的知识,是的,所以这就是这个概念,或多或少,让我们在文章中继续。所以一个技能是一个目录,包含一个 skill.md 文件,该文件包含组织化的指令、脚本和资源,这些指令、脚本和资源赋予代理额外的能力。所以,这只是我说的,技能的解剖。要看到技能的实际应用,让我们来看一个真实的例子。驱动 Claude 最近推出的文档编辑功能的技能之一。Claude 已经了解了很多关于理解 PDF 的知识,但它在直接操作 PDF 方面的能力有限。例如,填写表格。这个 PDF 技能让你赋予 Claude 这个能力。让我们快速打开它。我认为他们刚刚重新组织了技能。现在有一个单独的存储库。嗯,无论如何,他们也会在另一篇文章中深入探讨另一个例子。最简单的技能是一个包含 skill.md 文件的目录。该文件必须以 YAML 格式开头,其中包含一些必需的元数据:名称和描述。启动时,代理会预加载。代理会在启动时预加载每个已安装技能的名称和描述到系统提示中。所以这也非常有趣。我认为这里有一个,是的,这里有一个例子。所以你这里有 PDF 技能 MD 文件。然后你有名称,你有描述。描述实际上,嗯,只是解释了能力或技能,对吧,只有这个头部被包含在系统提示中。所以这非常强大,因为现在你,比如说,你有,比如说 10、15 甚至 50 个技能在你的本地环境中,然后它只注入这个小的头部名称和描述,然后人工智能或 LLM 可以决定需要加载什么能力,什么技能来完成特定任务。所以这是一种注入这些进一步能力的方式,对吧?所以,嗯,现在这里解释了这一点。这些元数据是渐进式披露的第一层。它提供了足够的信息,让 Claude 知道何时使用每个技能,而无需加载所有上下文。该文件的实际正文是第二层详细信息。如果 Claude 认为该技能与当前任务相关,它将通过读取其完整的 skill.md 文件到上下文中来加载该技能。所以如果你在这里看,它说这是正文部分,然后它说,嗯,本指南涵盖了使用 Python 库等进行基本 PDF 处理操作。然后它甚至展示了代码,以及它实际上如何解释如何使用某些程序,某些软件。所以它就像在提示 LLM 实际上说,“嘿,如果你想处理 PDF,你可以这样做。”如果你考虑到这一点,显然你可以做的是,你不仅可以提供一点内容,你实际上可以构建一个完全成熟的,几乎像一个 API 或流程,如何做事。所以它确实是关于技能的,对吧?所以你可以说,“嘿,你可以编辑 PDF,你可以,你知道,在那里存储文件,或者我们的项目文件夹是这样组织的,请根据这个模板创建一个模板,或者根据这个模板重组它等等。”一个 skill.md 文件必须以 YAML 格式开头,其中包含一个文件名和描述,该文件名和描述在启动时加载到系统提示中。瞧。再次,随着技能复杂性的增长,它们可能包含太多上下文,无法放入单个 skill.md 文件中,或者在特定场景下才相关的上下文。在这种情况下,技能可以在技能目录中捆绑其他文件,并通过名称从 skill.md 中引用它们。这些额外的链接文件是第三层及以上的详细信息,Claude 可以根据需要导航和发现。在下面显示的 PDF 技能中,skill.md 引用了两个附加文件 reference.md 和 forms.md,这是技能作者选择与核心 skill.md 一起捆绑的。通过将表单填写指令移到单独的文件 forms.md 中,技能作者能够保持技能的核心精简,相信 Claude 只会在填写表单时读取 forms.md。所以,嗯,再次我们有介绍,技能是关于什么的,技能是关于如何处理的更多上下文,然后给出子文件的提示,这些子文件又根据任务,提供更多关于如何处理,在这种情况下是 PDF 文件。所以你现在看到它是如何组合在一起的,对吧?所以一个技能就是标题、解释和正文,然后是更多文件。你可以通过其他文件将更多上下文纳入你的技能中,然后 Claude 可以根据系统提示触发它们。渐进式披露是使代理技能灵活且可扩展的核心设计原则,就像一本组织良好的手册,从目录开始,然后是具体章节,最后是详细的附录,技能让 Claude 只在需要时加载信息。所以这只是再次总结一下。Skill MD 元数据始终加载,不占用太多 token。Skill MD,嗯,更大,取决于你想在正文中提供多少上下文,然后是捆绑文件,文本文件,但也有脚本,非常有趣。还有数据,按需加载到 Claude。所以超级超级有趣的代理,带有文件系统和代码执行工具,在处理特定任务时不需要读取整个技能到其上下文窗口。这意味着可以捆绑到技能中的上下文量实际上是无限的。所以,是的,根据我的经验,如果你添加了,例如 MCP 服务器,而 MCP 服务器有很多可用工具,它会干扰上下文窗口。如果你有太多的元信息,关于外部能力是什么,嗯,这会严重降低 LLM 输出的性能,所以我认为 Anthropic 提出了这个技能的想法,这种渐进式查找上下文的方式,顺便说一句,查找上下文也非常高效,因为它们可以浏览文件,并且只能加载它们需要的即时内容。所以,这非常非常强大。技能和上下文窗口。下图显示了当用户消息触发技能时上下文窗口如何变化。所以,是的,这只是更多地说明了我刚才所说的。所以,让我们假设,这是上下文窗口。然后我们有,比如说,核心提示,然后一旦你开始与系统交互,来自每个技能的简短片段会附加到系统提示中。所以它们也与系统提示一起加载,然后实际上你开始交互,用户最初的消息。用户根据你对我的了解填写此 PDF,并附上订单表格,然后我将使用 PDF 技能来帮助。所以它可以查找 PDF 技能,因为它已经知道了。它决定使用它,然后它实际上使用它。所以它实际上是在浏览技能,然后是工具结果,PDF 技能 MD 文件的内容,然后它实际上说,“哦,好的,有一个 forms.md,它检测到了,然后它,嗯,只是读取了 forms 文件,然后它,嗯,根据其中的命令开始行动。”技能通过你的提示,技能系统提示在上下文窗口中被触发,是的,我认为这个架构非常聪明。嗯,所以它是可扩展的,你知道,而不是构建已经包含所有上下文的代理,它是真正可组合的,对吧?所以这是超级聪明的,实际上还有更多内容,嗯,是的,我现在将深入探讨。如果你查看操作顺序,启动时,上下文窗口包含核心系统提示和每个已安装技能的元数据,以及用户的初始消息。Claude 通过调用 bash 工具读取 skill.md 的内容来触发 PDF 技能。Claude 选择读取与该技能捆绑的 form.md 文件。最后,Claude 在加载了 PDF 技能中的相关指令后,继续处理用户的任务。技能和代码执行。技能也可以包含供 Claude 自行执行的代码作为工具。所以,嗯,在这个第三层,它不仅仅是关于文本,它也关于脚本和数据。所以这部分就是关于这个,而这正是技能的力量所在。技能也可以包含供 Claude 自行执行的代码作为工具,根据任务的性质自行决定。是的。是的。所以这是基本概念,对吧?所以非常有趣。现在的问题是,我如何开发我自己的技能?嗯,开发和评估技能。以下是一些关于开始编写和测试技能的有用指南。从评估开始。通过在代表性任务上运行代理并观察它们在哪里遇到困难或需要额外上下文来识别代理能力的特定差距。然后逐步构建技能来解决这些不足之处。为规模化而构建。当 skill.md 文件变得庞大时,将其内容拆分到单独的文件中并引用它们。如果某些上下文是互斥的或很少一起使用,保持路径分开将减少 token 的使用量。最后,代码既可以作为可执行工具,也可以作为文档。它应该清楚 Claude 是直接运行脚本还是将其加载到上下文中作为参考。从 Claude 的角度思考。监控 Claude 在实际场景中如何使用你的技能,并根据观察结果进行迭代。注意意外的轨迹或过度依赖某些上下文。特别注意技能的名称和描述。Claude 将使用这些信息来决定是否在响应当前任务时触发该技能。与 Claude 一起迭代。在处理任务时,让 Claude 捕获其成功的方法和常见错误,并将其作为可重用的上下文和代码包含在技能中。如果它在使用技能完成任务时偏离了轨道,让它自我反思出了什么问题。这个过程将帮助你发现 Claude 实际上需要加载什么上下文,而不是试图提前预测它。所以,好的,关于如何做的一些技巧。然后,使用技能时的安全注意事项。我认为这非常非常关键。嗯,是的,基本上,如果我们现在有了这些技能包,我们只是从互联网上的某个地方下载它们,你基本上就是给了它访问你的 shell 的权限,你给了它访问你整个计算机的权限,并且取决于技能提供者的不良意图。他基本上可以,嗯,是的,嗯,是的,可以访问你的系统并做任何他们想做的事情,如果你不够谨慎的话。嗯,所以,是的,安全注意事项。技能通过指令和代码为 Claude 提供新功能。虽然这使它们强大,但也意味着恶意技能可能会在它们被使用的环境中引入漏洞,或者直接窃取数据并采取行动。我们建议仅从受信任的来源安装技能。是的。是的。非常非常非常重要。不要只是在网上搜索,然后有一个什么技能目录,然后你下载并盲目使用它。不要这样做。从不太受信任的来源安装技能时,在使用前彻底审计。首先阅读技能中捆绑的文件内容,以了解它做什么。特别注意代码依赖项和捆绑的资源,如图像或脚本。同样,注意技能中的指令或代码,这些指令或代码指示 Claude 连接到潜在不受信任的外部网络源。技能的未来。代理技能今天在 Claude AI、Claude、Claude Cloud 中得到支持。在接下来的几周里,我们将继续添加支持创建、编辑、发现、共享、使用技能的完整生命周期的功能。我们对技能有机会帮助组织和个人通过代码共享他们的上下文工作流程感到特别兴奋。我们还在探索技能如何补充模型内容模型上下文协议服务,通过教授代理更复杂的工作流程,这些工作流程会演变外部工具和软件。展望未来,我们希望使代理能够自己创建、编辑、评估技能,让他们将自己的行为模式编码成可重用的能力。技能是一个简单的概念,具有相应的简单格式。这种简单性,这种简单性使得组织、开发者和最终用户更容易构建定制代理并赋予新功能。我们很期待看到人们用技能构建什么,今天就可以通过查看我们的技能文档和食谱来开始。对。所以,是的,这就是你需要了解的关于技能的一切。嗯,再次我认为这个概念将从现在开始变得重要,尤其是因为它具有可组合性、可扩展性并且易于使用。实际上,在这个视频中,我不会演示如何在 Claude 代码中使用它,例如,但我们公司已经在做的事情是,我们有公司技能,例如,我们如何进行项目更新,然后我们只是运行“好的,现在进行更新”或“嗯,是的,更新,进行测试,准备更改日志”,然后,是的,它只是简化了,而不是写文档说明我们如何做事。我们可以现在在技能中使用这些文档,而 Claude 可以成为助手,并且,是的,基本上遵循这些原则。是的,我对技能感到兴奋,我将投入大量时间来进一步自动化我的 AI 工具,并且,嗯,架构就在那里,我的猜测是,所有主要的 LLM 提供商都将,嗯,只是使用代理技能作为提供 AI 应用的核心方式,因为最终这只是一个如何打包的问题,而技能确实是附加上下文、指令、软件的组合,你甚至可以提及你的 MCP 服务器,而且现在,实际上我们可以快速打开它,代理技能 Anthropic。所以有这个新的,嗯,抱歉,在哪里?新闻帖子在这里。不,实际上不是这个。让我们去。所以,这是活动。让我们去新闻。所以,我认为它在学习下面,或者它在新闻下面,然后在这里。好的。所以,是的,我可以在节目说明中分享链接,关于,关于,关于它。但无论如何,技能是一件很棒的事情。试试吧。你对技能有什么看法?你已经在你的组织中构建了自己的技能吗?我非常好奇。如果你喜欢这样的内容,请考虑订阅。这个频道 all about,嗯,是的,AI,网页开发,数字策略,以及,是的,AI 如何也能帮助我们构建更好的产品,并且,嗯,直到下次再见。再见。