二零二五年十月十六号, anthropic 正式推出了 agent skill。 起初官方对它的定位相当克制,只是希望用它来提升 cloud 在 某些特定任务上的表现。但大家很快发现,这套设计实在是太好用了,因此行业里很快就跟上了节奏,包括 vs code、 codex、 curser 等工具都陆续加入了对 agent skill 的 支持。在这样的背景下,十二月十八日, anastropics 做出了一个重要决定,正式将 agent skill 发布为开放标准,支持跨平台、跨产品服用。 这意味着 agent skill 已经超越了 cloud 单一产品的范畴,正在演变为 ai agent 的 领域的一个通用的设计模式。那么这个让大厂纷纷跟进的 agent skill 到底是解决了什么核心痛点?它和我们所熟悉的 mcp 又有着怎样的区别和联系呢? 今天这期视频我们就分几个部分彻底讲清楚这个 agent skill。 我 们首先从 agent skill 的 概念出发,也就是给大家讲明白 agent skill 到底是个什么东西。然后我来给大家演示一下它的基本使用方法。 在了解了基本用法之后,我们再来看看它的高级用法。高级用法一共是包含两块,分别是 reference 和 script。 最后,我会把 agent skill 和 mcp 做个比较,告诉你到底应该选哪一个。 好了,话不多说,让我们直接开始哦,不好意思,只是想证明自己不是 ai, 那 我们现在真的要开始喽。 那什么是 agent skill 呢?用最通俗的话来讲, agent skill 其实就是一个大模型,可以随时翻阅的说明文档。 举个例子,比如你想要做一个智能客服,你可以在 skill 里面明确交代,遇到投诉得先安抚用户的情绪,而且不得随意承诺。 再比如,你想要做会议总结,你可以直接在 skill 里面规定,必须要按照参会人员一提决定这个格式来输出总结的内容。这样一来,你就不用每次对话都去重复粘贴那一长串的要求了。大模型自己翻翻这个说明文档就知道该怎么干活了。 当然,说明文档只是一个为了方便理解的简化说法,实际上 agent skill 能做的事情要远比这个强大,它的高级功能我们待会儿就会讲到,不过在目前的起步阶段,你就把它当成是一个说明文档就行。下面我就用会议总结这个实际的场景,带大家看看它到底是怎么使用的。 这里我们使用 cloud code 来演示如何使用 agent skill。 要想使用 agent skill, 那 当然是要先创建一个了。 根据 cloud code 的 要求,我们需要在用户目录下的 dot cloud skill 文件夹创建我们的 agent skill。 所以呢,就让我们先进入到这个文件夹中,然后执行 maker 会议总结助手来创建一个文件夹,这个文件夹的名字就代表了我们 agent skill 的 名字,然后再使用 vs code 来打开这个文件夹,这样的话我们编辑文件会更方便一些。打开这个文件后,我们在里面创建一个叫做 skill 点 md 的 文件, 然后填好这个文件的具体内容就是这样了,每一个 agent skill 都需要有这么一个文件,它用来描述这个 agent skill 的 名称,能干什么事以及怎么干这个事情的。比如我们这里要创建的 agent skill 就是 用于总结会议目录内容的, 它的 skill 点 m d 一 共分为两部分,头部的这几行被两段短横线包起来的是叫做原数据,英文叫做 matte data, 这一层就只写了 name 和 description 这两个属性。 name 呢是 agent skill 的 名称,必须与文件夹的名字相同。 name 的 下面呢是 description, 它代表这个 agent skill 的 描述,主要是向大模型说明这个 agent skill 是 用来干什么的。然后再看下面剩余的部分,这个呢就是具体的 agent skill 的 说明了, 官方把这一部分呢是叫做指令,对应的英文是 instruction, 这一部分就是在详细描述模型需要遵循的规则。比如说你看这里,我规定了它必须要总结参会人员议题和决定这几个方面的内容, 然后为了确保他真的理解了,我这里还举了一个例子,输入的是会议的录音内容,然后输出的呢就是我们所需要的格式了。好,现在我们的 agent skill 应该是做好了。对,就是这么简单,就是一个说明文档, 下面我们打开 cloud code 来验货,首先随便找一个空目录,打开 cloud code, 然后输入下面这个问题,你有哪些 agent skill? cloud code 给我们回答了,可以看出他已经发现了我们写好的 agent skill。 然后我们来看看 cloud code 是 怎么使用这个 agent skill 的。 我们输入请求总结以下会的内容,然后粘贴一段会议录英文本回车,让我们看看 cloud code 会如何应付我们这个问题。 好, cloud code 有 反应了,大家注意看屏幕,这里 cloud code 并没有直接开始下编,他根据我的指令意识到了这事归我们刚才上传的那个 agent skill 管,所以呢,他是在向我询问能不能使用这个 agent skill, 那 我们当然是同意了。同意之后,他就开始读取我们写的那个会议总结助手了,主要就是读取其中的那个 skill 点 m d 文件,让我们稍作等待 好,结果出来了,参会人员议题决定三点都清清楚楚,这完全符合我们在 skill 里面定的规矩。这个呢,就是 agent skill 的 基础用法了,是不是很简单?现在你知道了如何创建和使用 agent skill, 那 不妨让我们想想刚才到底发生了什么。 首先,整个流程中一共有三个角色,用户 cloud code 以及 cloud code 的 背后所使用的大模型。在我们的例子里,这个就是 cloud 模型 流程一开始的时候,用户会输入请求,此时 cloud code 会把用户的请求连同所有 skill 的 名称和描述一起发给大模型。注意,这里只带了名称和描述, 也就是我们前面所说的 skill 原数据层。虽然说我们之前只演示了一个 skill, 但是你可以想象一下,哪怕你装了十几个 skill, 此时的大模型呢,也只是在看一份轻量级的目录, 因为毕竟只有名称和描述嘛。在接到了用户请求和每一个 skill 的 名称描述后,大模型会发现用户的请求呢,可以使用会议总结助手这个 agent skill 来解决, 此时呢,他就会把这个信息告诉 cloud code。 cloud code 接到大模型的响应之后,会去会议总结助手那个目录里面读取完整的 skill。 md 正文儿对,这个时候读取的呢,才是 skill md 的 全部内容,之前就只是名称和描述, 而且要注意,他只读取了会议总结助手这一个 agent skill 的 内容哦。在拿到了会议总结助手的 skill md 内容后, cloud code 会把用户的请求和完整的 skill md 内容发给大模型, 大模型会根据 skill 点 m d 的 要求来生成响应,并且把响应发给 cloud code, cloud code 进而呢,会把这个响应发挥给用户,这样呢,用户就会看到结果了。 这就引出了 agent skill 的 第一个核心机制,按需加载。虽然 skill 的 名字和描述是始终对模型可见的,但具体的指令内容只有在这个 skill 被选中之后才会被加载进来给模型看,这个呢,就节省了很多的 token 了。 前面我们讲了,一开始 cloud code 会把所有 agent skill 的 名称和描述都给到模型,比如说什么爆款文案 skill、 会议总结 skill、 数据分析 skill 等等, 模型呢,会从中选择一个,之后只有选中了那个 skill 的 skill 的 md 文件才会给到模型。说白了呢,就是按需加载, 这个呢,已经很省 token 了,但是它还不够极致。大家试想一下,我们的会议总结助手可能会越来越高级,我们希望它不仅仅是简单复述,而是能够提供更有价值的补充说明。 比如说,当会议决定要花钱时,它能直接在总结里标注是否符合财务合规,当涉及到合同时,它能够提示法务风险。这样大家在看会议总结的时候,就不需要再去翻规章制度,一眼就能够看到这些关键的补充信息,这就非常方便了。 但问题在于, skill 能做这些事情的前提是它要把相关的财务规定和法律条文都写入到 skill 点 m d 文件里,这些文件可能会非常长,都写进去的话, skill 点 m d 文件就会变得无比的臃肿, 哪怕只是开个简单的早会,都要被迫加载一堆根本用不上的财务和法律。废话,浪费模型资源。 那能不能做到暗虚中的暗虚呢?比如说,只有当会议内容真的聊到了钱, cloud code 才会把财务规定加载给模型看。 其实这个呢,也是可以的, agent skill 呢,提供了 reference 的 概念,干的就是这个活,让我们来试一下。首先我们来给它加一个文件,也就是 agent skill 术语里面的 reference。 我们把这个文件叫做集团财务手册,里面写明了各种费用的报销标准,比如说是住宿补贴五百一晚,餐饮费人均三百一晚之类的。然后我们在原来的 skill 点 m d 文件里面新增一个财务提醒规则,里面写明仅在提到钱预算采购费用的时候出发。 出发的时候呢,需要读取集团财务手册,点 m d 这个文件,根据文件内容指出会议决定中的金额是否超标,并明确审批人,这就可以了。我们回到 cloud code 这里再试一下。 这次我们的请求仍然是总结下这个会议的内容,不过呢,这次使用的会议内容稍微换了一下, 这段对话呢,我们就不细看了,你只需要知道,在这段对话里面,老陈让小李订一千二百一晚的酒店,这涉及到了钱。按道理来说, cloud code 应该触发我们刚才新增的财务提醒规则,让我们看看 cloud code 能不能意识到这一点。 首先, cloud code 意识到了这个请求跟我们的会议总结助手相关联,请求使用这个 agent skill, 我 们同意。 然后他意识到了这个会议跟钱相关,根据 skilled md 文件的指示,他请求读取集团财务手册,这个文件用于查看里面的财务合规信息,这个呢,我们也同意。 最后,他根据实际的会议内容生成了总结,可以看出,总结中不仅包含参会人员、议题、决定等基本信息,还包含了财务提醒,这完美符合我们的需求。 这个呢,就是 reference 的 核心逻辑了。在 agent skill 的 体系里面,集团财务手册点 m d 这个文件就是一个典型的 reference, 请大家记住它的特性,它呢是条件触发的。 在刚才的例子里面,只有当 cloud code 读取完 skill 的 md 文件,判断出需要查账时,才会去加载这个文件。反过来说,如果这是一个跟钱无关的技术复盘会,那么这个财务文件就只会躺在硬盘里面,绝不会占用哪怕一个 token 的 上下文。 好,讲完了 reference, 接下来我们来讲讲如何让 agent skill 跑代码,毕竟查资料只是第一步,能直接动手运行代码,帮我们把活干了,这才是真正的自动化。这个呢,就用到了 agent skill 的 另一大能力, script 让我们在文件夹里面创建一个 python 脚本,文件名就叫做 upload 点 pi, 用于上传文件。之后我们填好这个代码文件的内容,然后我们来到 skill 点 m d 这个文件里再加上一段关于上传规则的描述, 如果用户提到了上传同步或者是发送到服务器这样的字眼,你必须运行 uploader pi 脚本,将总结内容上传到服务器。然后呢,我们来到 cloud code 这边,输入请求,总结下这个会议的内容,并把它上传到服务器中,然后我们粘贴会内容。 跟之前一样, cloud code 意识到了这个请求与我们的会议总结助手相关,所以呢,他请求使用这个 agent skill, 我 们同意,然后他把会议的总结内容输出了出来,并准备上传到服务器中,他请求执行 up 六点 pi 文件来实现这个功能,我们也同意 好,上传成功。而且 cloud code 还把上传相关的一些信息也展示了出来,非常棒。 这里面呢,有个小插曲,大家注意一下,我这次所使用的会议内容跟钱其实没什么关系,所以 cloud code 呢,也并没有去读取集团财务手册那个文件, 结果中呢,也没有财务提醒相关的内容。这正好印证了我前面所说的观点, reference 是 按需加载的,如果用户没有提到与 reference 相关的内容,那 cloud code 是 不会去读取它的,这样就达到了节省上下文 token 的 目的。 好让我们再回到代码执行部分,注意看这里, cloud code 申请执行这个 uploader pie 文件,它并没有去读取这个文件。没错, agent skill 里面的代码只会被执行,不会被读取。 这就意味着,哪怕你的脚本写了一万行复杂的业务逻辑,它消耗的模型上下文呢,也几乎是零。 cloud code 只关心脚本的运行方法和运行结果,至于这个脚本的内容,它可以说是毫不在意。 所以呢,虽然 reference 和 script 都属于 agent skill 的 高级功能,但是呢,它们对于模型上下文的影响其实是截然不同的。 reference 是 读,它会把内容加载到上下文里面,所以呢,是会消耗 token 的。 script 呢,是跑,它只会被执行,不会占用模型的上下文。讲到这里,我们需要停下来稍微做个总结,聊一聊 agent skill 的 渐进式批漏机制。 agent skill 的 设计其实是一个精密的渐进式批漏结构,这个结构里面一共有三层,每一层的加载机制都不太一样。 第一层是原数据层,这里有所有的 agent skill 的 名称和描述,它们是始终加载的,相当于大模型里面的目录。大模型每次回答前都会看一下这一层的信息,然后决定用户的问题是否与某个 agent skill 相匹配。 第二层是指令层,对应 skill 的 md 文件里面除了名称和描述之外,其余的部分,只有当大模型发现用户的问题与某个 agent skill 相匹配的时候,它才会去加载这一层的内容。所以呢,我们称这一层为按需加载。 第三层是资源层,这个呢,是最深的一层,它一共是包含 reference 和 script 两方面的内容。其实按照官方最新的规范,应该还有一个组成部分叫做 assets, 不 过我看了一下,它跟 reference 的 定义似乎有部分重叠,因此我们这里先忽略它。 好,我们刚才例子里面的集团财务手册和 uploader pie 脚本就属于这一层,只有当模型发现用户问题与财务或者上传相关的时候,它才会去加载这一层的内容, 这就相当于是在按需加载的指令层基础上又做了一次按需加载,所以我们可以称它为按需中的按需加载, 当然这是我起的名字啊。 reference 和 script 的 加载方式其实不太一样, reference 是 被读取的, cloud code 会把对应文件的内容放到模型的上下文中,一共回答式参考。而 script 是 被执行的, cloud code 根本就不会去看代码的内容,它只关心代码的执行结果。 当然这个也不是铁律啊,如果你没有把代码的执行方法说清楚, cloud code 还是有可能会去看一下代码的,毕竟跑不下去了嘛,这样的话呢,就会占用模型的上下文了。所以还是请大家写 skill 的 时候尽可能的把一切都解释清楚。 那聊完了 agent skill 的 用法,很多朋友可能会有种似曾相识的感觉, agent skill 好 像是跟 m c p 有 点像啊,本质上都是让模型去连接和操作外部世界。既然功能重叠,那我们到底应该用哪一个呢? 关于这个问题,按 serapic 官方写过一篇相关的文章来解释,核心观点就一句话就在这里, mcp connects cloud data skills teach cloud what to do with that data。 这句话可以说是直接点明了 mcp 与 agent skill 的 区别,它其实就是在说 mcp 给大模型供给数据,比如说查询昨天的销售记录,获取订单的物流状态等等。 而 skill 是 教会大模型如何处理这些数据的,比如说是会议总结必须要有个议题啊,汇报文档必须要包含具体的数据啊等等。到这里,有些同学可能就会问了, 不对啊, agent skill 里面也能写代码?我直接在 agent skill 里面写连接数据的逻辑不就好了吗?这样呢,就不需要 mcp 了, agent skill 就 直接把这两个活都给干了。 确实啊, agent skill 也能连数据,功能上与 mcp 有 所重叠,但是能干并不代表适合干, 这就好像是瑞士军刀也能切菜,但没有人会这么干。我们这个场景呢,其实也是这样, m c p 本质上是一个独立运行的程序,而 agent skill 本质上是一段说明文档,它们的本质不同决定了适合的场景也是不同的。 agent skill 更适合跑一些轻量的脚本,处理简单的逻辑。在代码执行方面, agent skill 的 安全性和稳定性都不及 mcp, 所以 大家还是要根据场景选择合适的工具。甚至在很多的场景下,我们需要把 agent skill 和 mcp 结合起来一起使用,以便尽可能的满足我们的需求。 好,今天的视频呢,就到此结束了,我是马克,用最通俗的语言讲最硬核的技术。如果我的视频对你有帮助,欢迎点赞订阅,我们下次再见,拜拜!
粉丝5.6万获赞13.5万


那你说说在你的理解里, agent 和 skills 的 核心区别是什么?说说你的理解。嗯,好的面试官。这个问题也是我自己踩过坑之后才想清楚的, 就是这个对于 agent 和 skills 的 区分必须是要明确的,因为如果分得不清,系统真的很容易越做越乱。我认为 agent 更像是在负责想和选,而 skills 是 在负责真干活。 agent 呢,我一般会把他的角色限定得很清楚,他就是做三件事。 第一个呢,是能听懂用户真正想要的是什么,而不是只照着一句指令往下走。第二个呢,就是把一个比较模糊的需求拆成几个可以一步步执行的任务。 第三个呢,是在不同能力之间决定现在该用哪一个先用哪一个。所以在我看来, agent 更像是一个调度和编排的钟书,而不是一个什么都亲自去做的人。而 skills 就 完全不一样了,我会把它当成已经被封装好的偏专业工种的能力模块, 里面应该是比较确定的流程规则,还有被反复验证过的做法。他不需要关心要不要做这件事,而是应该关心这件事能不能稳定,能不能重复的把它做好。然后这个从系统设计上看,这样的拆分呢,也有几个很明显的好处。第一个呢,就是这个能力可以附用, 不同业务,不同 agent 都能用同一套 skills 不 用每个地方都重新来一遍。第二呢,就是这个行为会更可控,因为真正复杂关键的执行逻辑都是被收在 skills 里的,而不是让 agent 在 那边自由发挥。 第三个呢,就是出了问题会更好排查,就是会容易判断到底是理解出了偏差还是某一个 skills 本身有问题。所以如果从产品长期引进的角度来看,我会更偏向这种结构。 agent 负责想清楚怎么走, skills 负责把每一步走稳,而不是把所有事情都压到 agent 身上去赌,它每次都想对。

hello 朋友们, cloud 十月份重磅发布了 skill 功能,已经过去了一个多月,我发现还是有很多朋友不太理解,甚至没有用过这个功能,所以本期视频会帮助大家彻底理解 skill 功能到底是什么,它有什么作用和玩法,以及它跟 m c p server sub agent command 的 区别以及优劣。那由于 skill 功能新出不久,除了 cloud code 之外,绝大多数 ai 编程产品还没有跟进, 为了让朋友们更好的上手,更好的去玩这个功能,本期视频使用的是国内唯一一家上了 skill 功能的 ai ide, 没错,是 ide, 没想到吧,它就是腾讯的 code body。 所以 大家并不需要非得使用 cloud code 才能玩 skill。 那 其实 skill 这个功能非常好的全释了我之前一直在说的 ai 编程工具并不是非要有编程基础,也不是必须得编程才能使用,它还可以做很多事情。 那本期视频也会从零到一的使用 code body 加 skill 功能,不写一行代码,使用自然语言交互,按照非技术人员的角度一步步做一个自动化流程的场景,朋友们无论是文科生还是技术小白都可以跟着思路去做一遍,相信你会发现新大陆 ok skill 到底是个什么东西呢?大家如果去翻看 cloud 的 官方文档,或者看很多博主对 skill 功能的介绍,你会发现大部分内容都在讲这是一个什么功能,以及它该怎么配置,怎么使用。但是我觉得如果想要真正把 skill 功能用好,不能只看操作手册, 我们需要从概念层面去理解这个功能到底是为了解决什么问题而诞生的 skill, 这个单词直译过来就是技能的意思。我们可以把触手状态的 ai 工具,比如 code body 或者是 color code, 想象成一个什么都不懂,赤手空拳的小孩子。 他很聪明,但他手里边没有工具,也没学过什么招式。这个时候所谓的配置 skill, 其实就是给这个孩子加点,给他加一个飞天的 skill, 他 就能上天。给他加一个遁地的 skill, 他 就能入地。 对应到编程工具里,这到底意味着什么呢?举个最痛点的例子,绝大多数的 ai 编程工具在处理文件时其实是文盲,特别是面对 excel 这种二进制或者是特定格式的文件时,直接甩给他一个 excel 文件, ai 通常是读不了内容的,这个时候 skill 就 派上用场了。我们可以做一个 excel 解析的 skill, 装进工具里。 当你再次选中 excel 文件发送时, ai 的 逻辑就变了。它会先调用这个 skill, 把 excel 里面的数据翻译成 ai 能看懂的文本格式,然后再去执行你的指令。 一旦理解了这个逻辑,朋友们的想象力就可以打开了。 skill 不 仅仅是读文件,它还可以是自动化脚本,比如生成一段爆款风格的视频脚本,也可以是工作流闭环,比如自动生成 ppt, 并保存到指定的路径。 所以 skill 的 本质其实就是让 ai 拥有了它原本不具备的手和脚,并且这个权限是给到用户的。也就是说,我们用户自己就可以给 ai 变成工具,增加更多的技能,让它可以做更多的事情。 我们直接进入实战演示环节,今天我们要完成的演示任务是在不写一行代码的前提下,委托 codebody 和 skill 做一个自动化任务的场景。我们希望当给出了一个主题以及参考文件后, ai 可以 调用相关的 skill 来帮我们自主调研解析文件,最终生成 ppt。 ok, 那 在开始之前,我们还是要先安装 codebodyid, 有 海外版和国内版,这里我们安装海外版,访问 codebody 官网,点击右上方的 log in, 直接使用 google 或者是 github 授权注册并登录。登录成功之后,我们再回到首页这里点击下载,然后我们根据自己的电脑处理器选择对应的版本进行下载安装就好了。安装完成之后,打开应用,选择中文。 酷狗也是基于开源 ide vs code 之上构建的,所以如果朋友们有在使用 vs code 或者是 cursor 的, 可以一键导入它们的配置,然后就是一路 nice, 最后点击登录会跳到网页授权登录,我们点击确认就登录完成了。 登录完成之后,我们直接点击 new folder, 创建一个空白的文件夹作为工作区。到这里我们的准备工作就做好了。 ok, 我 们简单介绍一下酷狗八 d 的 功能,相信大家或多或少都有接触过 ai ide, 那 酷狗八 d ide 也是类似的。右侧会有一个 ai 聊天窗口,它有两种模式,分别是 craft 和 ask 模式。 craft 模式用于自动帮助我们完成复杂的编码任务,类似 cursor agent 模式。 ask 模式用于帮助我们解答代码库以及其他编码问题。类似 cursor 的 ask 模式,它不会主动帮我们修改代码,我们有什么不懂的,可以在 ask 模式下问,然后在 craft 模式下让 ai 完成编程任务。 同时库拉巴蒂也支持计划模式。当我们在 craft 模式下打开计划模式开关后,发送问题, ai 会先帮我们列一个计划,我们也可以补充修改,最终确认了才会去执行任务。 模型选择的话,我们选择 default 就 可以,因为这个默认模型下支持的能力比较多。虽然不知道底层到底是用的什么模型,不过效果还不错。 ok, 我 们暂时先了解这么多,后面做任务时有涉及到,我们再介绍。大家可以思考一下,让 ai 去完成一个任务的核心是什么?没错,是 prompt 提示词。很多朋友觉得提示词设计是一个技术活,其实不是这样的。如果朋友们在二四年就开始用 ai 编程工具,你会发现最开始的提示词慢慢变得可以越来越像一个人的表达。 虽然目前达不到完全你和人的表达,但是现在的提式词设计也没有那么专业且复杂了。那我们就以一个技术小白的视角来帮助大家理解提式词设计的思路。首先,我们可以用一句话来描述我们的核心诉求, 我想做一个能够自动生成 ppt 的 cloud skill, 请帮我实现它。注意,这里描述 cloud skill, 而不是单纯的 skill, 是 为了让 ai 能够清楚地知道我们要做的是一个基于 cloud skill 规范的 skill。 其次,我们还需要交代任务背景。我经常要做 ppt, 有 时候是一个想法,比如分析一下新能源汽车市场,有时候手头有一些现成的资料,比如 pdf 文档或者 excel 数据表,那我需要基于这些资料产出 ppt。 我 希望这个工具能帮我一键搞定,这就是它的背景。然后我们还需要给出一些具体的要求。 第一,要能懂我的输入。如果我只给了一个主题,你要能自己去网上搜集资料,整理出内容。那如果我给你传了文件,比如 pdf 报告,或者是 word 文档,再或者是 excel 表格,你要能看懂里面的内容。 第二点就是内容要丰富,不能只有字,你要把搜到或读到的内容整理成 ppt 的 页面。最重要的是,如果你搜到或读到的内容里有规则数据,你要能把它变成图标,比如柱状图、饼图、折线图、流程图这些。 三、生成的 ppt 要好看。因为我不喜欢 ppt 自带那种丑陋的默认配色。我希望生成的 ppt 是 莫兰迪色系的,颜色要柔和,高级、低饱和度。每一页的背景不要是白板,要有一些简单的设计感,比如用两种柔和的颜色,渐变磨砂、毛玻璃这种背景特效,但不要太花哨,不能影响我看字。 最后,我们还需要描述出需要 ai 做什么,也就是给他的任务。那请根据我上面的描述,告诉我该怎么做这个 skill。 请用通俗易懂的语言列出会包含哪些功能,如果确认没问题,再帮我生成第一版的代码。请不要试图在一个 skill 中完成所有的工作,采用关注点分离的原则,每个 skill 只做一件事。 那最后这句话来源于 cloud 官网针对 skill 教程中的建议,这样一份简单基础的题词就做好了,我们只需要在其中清晰地表达出自己的想法,不需要太细致。大家要注意的是,这并不是一份最优的完善的题词词,但一定是一份还可以的基础题词。所以没关系,因为我们还需要让 ai 来完善一下。 ok, 回到 control 模式,发送基础提示词,等待 ai 的 回复。可以看到 ai 将我们的需求梳理了一下。那由于我们之前的基础提示词细节是不太够的,所以我们需要过一轮 ask 来让 ai 梳理。 那基于 ai 的 回复,我们可以再进行补充。这个补充可能是 ai 忽略掉的点,也可能是新补充的需求。那比如这里我们可以补充两条。 第一条,当深度搜索或读到的内容里面有规则数据,需要能把它变成图标,包括它不仅限于柱状图、饼图、折线图等等。第二条,用户输入可以只有主题,也可以只有附属文件,同时也可以两者都包含。你可以使用不同的 skill 来并发处理这些任务。 ok, 我 们需要等待一下 ai 的 生成。 ok, 我 们可以看一下整体的工作流程。 当确认无误之后,我们就可以切换到 craft 模式来让它帮我们逐步去生成。 这里由于任务量不小,所以我们需要等待一会儿。我们可以看到, codebody 在 创建 skill 时,其实也调用了一个叫 skill 杠 creator 的 skill, 这个 skill 是 用来帮助用户创建一个合格的 skill 的。 这说明库德巴蒂内部的工作流中也集成了一些 skill 作为扩展。这在 skill 没有出现之前还是比较麻烦的,因为之前想要扩展功能,大部分是靠方式拷令或者是 mcp 来实现,那有了 skill 之后,扩展一些能力就比较方便了。 ok, 执行完成之后,我们来看一下生成的这些文件内容。 可以看到点儿 code 八 d 文件夹下面有一个 skills 文件夹,这个目录其实就是 skill 的 配置文件。 cloud code 中是在点儿 cloud 文件夹下面,虽然配置文件夹名不一样,但是 skill 是 通用的,也就说这里生成的 skill 在 cloud code 中依然是适用的。 可以看到它帮我们生成了五个 skill, 每个 skill 只处理一种任务,组合起来就可以完成我们这个自动化的任务。 第一个是深度搜索的一个 skill, 它是用来帮助我们联网搜索并整理主题相关的资料。那第二个是莫兰迪美学的一个 skill, 用来提供莫兰迪配色和美学设计。那第三个是文档解析的 skill, 用来解析 pdf、 word、 excel 文件。 那第四个是 ppt 生成的 skill, 它是用来整合所有的输入,生成最终的 ppt 文件。那最后一个,也就是第五个是图标生成的 skill, 用于分析数据,并且推荐最优的图标类型,并生成。 下面的这些文件是它帮我们生成的相关文档。我们来看一下 skill 的 文件结构。 skill 点 m d, 这个是 skill 的 核心,也是必要文件,那除了这个文件,其他都不是必须的。那这个文件的组成是 skill 的 一个最小单元, 它定义了 skill 的 名称、用途说明,以及具体应该如何操作或执行。至于这个文件的内部结构以及内容该怎么写,我不建议大家记,也不建议大家自己去写这个文件。 a 生成它不香吗? access 通常放一些静态文件,比如图片,字体等等。 reference 通常放一些附加的参考文件。 script 用来放一些可执行的脚本,它还是蛮重要的,因为想要给 a 阵的扩展一些能力,大多都需要通过脚本来完成。那这三个文件夹都是可选的, 它们都是官方推荐的文件夹,命名分类我们也可以不遵守,因为所有的文件或者是脚本的调用以及执行,都需要直接或者是间接的在 skill 的 md 文件中写明。 ok, 那 接下来我们就来测试一下生成的这个 skill 的 效果。 我们直接拖进来一个 pdf, 然后选中这个 pdf 输入,请你调研 ai coding 行业现状,结合资料帮我生成一份 ai coding 行业报告研究的 ppt。 那这个文件是前段时间腾讯研究院出的一个 ai coding 的 非共识报告 pdf。 ok, 我 们输入完了之后,回车 可以看到 ai 帮我按流程调用 skill 来完成这件事情。这里需要注意的是,由于这里面涉及到脚本的执行,比如 skill 有 一个 python 脚本,那我们本地就得安装了 python 环境才可以执行成功。那如果大家没有装脚本的执行环境不成功的话, ai 会有提示, 我们可以根据提示去安装即可。当然我们也可以提前安装好环境,如果不会安装的话也非常简单。右上角先打开一个聊天框,使用 ask 模式去问 ai 应该怎么样安装,然后按步骤安装就可以了。 ok, 生成好之后,我们来看一下最终的 ppt, 目前还是有点问题的,我们可以基于现行 ppt 的 问题,然后再补充一下, 第一条是让 ppt 图标支持中文,第二条是让 ppt 里面的图标按比例缩放到合适的大小,那第三条是调研和解析 skill, 可以 并发执行。第四条是生成 ppt 之后移除掉多余的文件。 ok, 我 们等待一下生成结果。 生成好了之后,我们先把之前测试生成的这些文件删掉, 然后我们再次跑一下测试任务。生成好 ppt 之后,我们打开来看一下效果,哎,这次的效果还可以,比上次要好很多。 效果还行,但是整体的 ppt 结构不是很完善,所以还需要补充优化一下。那优化的思路也很简单,比如这里我们需要强化 ppt 的 结构,如果我们不知道怎么表达,可以直接先打开一个聊天框,选中 ask 模式,然后输入一个完整的 ppt 应该包含哪些模块。回车, 可以看到 ai 帮我们列出了 ppt 的 组成模块,哎,我们就可以切换为 craft 模式,让 ai 基于它说的去优化。我们还是要等待一下 ai 的 生成结果, 那生成完了之后,还是要重复之前的步骤,把之前测试生成的一些文件先删掉,然后再重新执行一下测试, 把文件拖进来,还是原来那个问题。回车, ok, 生成完了之后,我们再次打开看看效果,那这次生成的 ppt 内容也符合常规的 ppt 结构,还可以,那整体也还行, 那整个 ppt 生成的思路大概就这样,我们还可以继续迭代优化,比如扩展一个专门用于 ppt 背景生成的 skill 来制作好看的 ppt 背景,渐变背景、抽象艺术风格背景等等等等。那无论使用脚本生成,还是直接使用用户给定的背景图都行。 也可以梳理一个 ppt 的 文本排版结构,让 ppt 的 内容结构更规范,看上去更统一一点。 呃,同时,我们还可以约束 ppt 生成的内容,根据不同的 ppt 主题使用不同的字体。甚至也可以结合图像生成的 mcp server, 按照 ppt 主题动态生成一些图片,插入到 ppt 中。甚至,如果你不知道怎么优化,可以让 ai 读一下当前的 skill, 给出一些业务上的优化建议,再根据他的建议去问 ai 要方案,最终再让 ai 去生成。我们只做一个无形的打字机器,然后等待 ai 生成内容,然后不停地去 review 就 可以了。大致思路就是这样。 其实很多人会问, skill 和 m c p server, sub agent, command 到底有什么区别?这几个概念确实容易混淆。为了直观区分,我们用钢铁侠做比喻,把 ai 工具中的 agent 理解为托尼的贾维斯战甲系统。 某天,托尼给战甲装上了一个掌心炮。当托尼说贾维斯解决前面那个敌人,贾维斯通过分析知道老板想干架了,于是自主决定调用掌心炮去射击。这里的掌心炮就是 skill, 它是战甲的一个具体能力。 那托尼心血来潮了,还可以给战甲增加镭射炮、电磁脉冲等等,这些都是 skill。 用不用 skill, 怎么用,通常是 ai 思考用户指令后决定的。 ok, 接下来,托尼给贾维斯写死了一条设定,当自己明确喊出自毁程序启动时, 贾维斯不需要思考,也不允许反驳,必须立刻锁死盔甲,销毁数据,然后自爆。这就是 command 自定义指令。甚至托尼还可以设置一个快捷指令,比如大喊发射,就直接触发掌心炮。跳过贾维斯的思考过程, command 和 skill 的 功能区别就在这儿。 command 是 人类的强制命令,它是为了快捷执行一组写死的动作, 那这组动作里当然也可以包含 skill。 后来,托尼觉得贾维斯要干的事情太多了,又要管飞行,又要管能量,脑子不够用。为了给贾维斯减负,他制造了一个独立的卫星系统维罗尼卡,也就是复联二的反好客装甲。这个系统有独立的判断力,当好客发疯时,贾维斯只需要发个信号,维罗尼卡,该你上场了。 然后维罗尼卡就会全权接管。他怎么组装零件,怎么锁住好客,怎么修补战损,全是维罗尼卡自己在算。贾维斯不需要操心,这个专门用来处理好客发疯问题的独立系统,就是 cyber agent 自智能体。 最后,托尼想让贾维斯变得更强大,但他发现,想连接神盾局的数据库需要破解密码。想要控制银河护卫队的飞船,还得重新学习外星语言,而且还得有这个权限,太麻烦了。 于是,托尼和神盾局、银河护卫队坐下来,商定了一个全宇宙统一的接口标准。那神盾局说,我按照这个标准开放数据。银河护卫队说,我按照这个标准开放飞船的控制权。而贾维斯只需要装上这个 m c e 接口,就能读取神盾局的机密,或者是驾驶外星飞船。 当然,托尼自己也遵循 m c p 规范开放了接口,神盾局的电脑也能反过来读取贾维斯的数据,这就是 m c p。 它是一个开放的万能协议,可以让不同的系统、不同的公司之间能够像叉 usb 一 样共享数据,共享能力。 听完这个类比,我相信大家在打开 ai 工具的配置页面时,脑海里就有画面了。 skill 是 贾维斯的工具库,它决定了 agent 可以 干什么事情。 command 是 贾维斯的快捷指令,它可以强制 agent 不 经思考的干一些事情。 sub agent 是 贾维斯的帮手,它可以帮助 agent 分 担一些特定任务。 m c p 是 贾维斯的万能插头,它可以帮助 agent 连接外部世界。 ok? 为什么大家会混淆这几个概念?因为它们在功能上有重叠,甚至我们可以用四种方式来达成同一个目的。 那就以解析 excel 表格为例,你会发现四条路都能走通。我们可以给 agent 做一个 skill, 这个 skill 会执行 python 脚本解析 excel agent 想看 excel 数据时,直接调用这个解析的 skill 就 可以了。 我们也可以给 agent 连接一个解析 excel 的 mcp server, agent 通过标准接口把文件发过去,对方解析完再把数据传回来。当然,我们也可以写死一个指令,比如斜杠 pass excel, 当输入一个流程,直接运行脚本,把表格转成文本。 我们甚至还可以做一个专门做数据分析的 sub agent, 当选中 excel 文件时, agent 就 会把它交给 sub agent。 sub agent 可能自己写了段代码,或者是调用了些工具来把数据搞定。 这四个功能都可以做到这件事,那既然都能干,它们的本质区别到底在哪里?这就要聊到它们是为了解决什么问题而诞生的。 command 是 为了确定性。虽然我们喜欢用自然语言跟 ai 聊天,但是在某些时刻,自然语言是低效而且危险的。比如你想重置对话,你总不能说请帮我把之前的记忆都忘掉。你肯定想更简单一点。 诸如此类需要的系统级操作,比如保存、退出、格式化,我们需要百分百的确定性。 command 的 诞生就是为了绕过 ai 的 思考过程,它是一种上帝模式的介入,为了保证关键操作绝对准确,绝对快速,必须由硬代码直接接管,而不是让大模型去猜要不要调用。 m c p 是 为了互操作性。它是 ai 时代的 usb 协议,只在终结各自为战的局面,因为只要大家都遵循这个协议,一次开发就可以处处运行。它可以让 ai 的 跨系统操作不再有壁垒。 skill 是 为了扩展能力,它的诞生是为了给 ai 这个大脑装上手和脚,让它能够联网获取最新信息,能调用代码精准计算,能读取文件,获取事实。它的核心目的是让 ai 做一些现实的操作。在这之前的一些 ai 产品可能会使用 function calling 扩大大模型的能力,但 skill 不 同, 它可以让用户自己去定义技能,扩展 agent 的 能力,这点 mcp 也可以做到。但是相比之下, mcp 太复杂了,那有了 skill, mcp 只需要专注于外部互联这一件事情上。 最后的 sub agent 是 为了分工协助。当我们只有一个主 agent, 会存在两个非常严重的问题,第一个是角色冲突。当我们让 agent 既做产品经理又做程序员,在同一个对话框里,一会聊这个,一会聊那个, ai 很 容易精神分裂。 第二个是记忆混乱,当一个上下文窗口过大时,就会出现长上下文的注意力衰减的问题。之前聊得记不住了, sabotage 的 诞生就是为了效仿人类的分工,协助每个 sabotage 只做某种类型的任务,并且每个 sabotage 都有单独的上下文,那现在你清晰了吗? ok, 朋友们,回顾一下本期视频的内容,我们介绍了 cloud skill 的 概念以及 skill 和 mcp、 sabotage、 command 的 区别。 同时我们实战了一个小伎俩,没有去肯福达的 api 文档,也没有写一行代码,只是动了动嘴,告诉 codebody 我 们想要什么,然后做成了 skill, 让 ai 真正拥有了自动做 ppt 的 手脚。这就印证了我在视频开头说的那句话,在 ai 时代,编程工具不再是程序员的专属, 是每一个有想法人的魔法杖。当你学会了 skill, 就 等于学会了怎么给你的贾维斯制造掌心炮,你还可以给他接上不同的 m c p server, 或者是直接组一个 safari agent。 这一切的起点都从你亲手定义的第一个 skill 提示词开始。所以别光看着了,赶紧去试试吧。那如果大家不习惯, cloud code codebody 是 目前国内唯一一家能够体验 skill 功能的 ai ide, 大家也可以自行下载体验。无论你是想做自动周报生成器、小红书爆款文案生成,还是股票数据分析等等等等的 skill, 请打开你的脑洞。 如果你做出了好玩的 skill, 欢迎在评论区分享你的创意,这里是不正经的前端,如果你觉得这期视频对你有帮助,请务必一键三连,我们下期再见,拜拜!

今天聊一个让我特别心塞的概念, agent skills。 简单说就是让 ai 像新员工一样被培训,而不是被编程。这个思路可能会彻底改变我们构建 ai 代理的方式。那 agent skill 到底长啥样?其实特别简单,就是一个文件夹里面有一个核心的 skill dot, md 文件,再加上配套的脚本资源和势力, 就像给新员工准备的入职培训班,所有他需要学会的东西都整整齐齐放在这里面。这套机制最精妙的地方在于它的三层,渐进式加载。 第一层 a 着只看目录标题,第二层打开感兴趣的章节,第三层,需要时才翻目录,就像查字典,你不会把整本字典背下来,而是按需查 阅。具体来看,这三层是怎么工作的。 level one 只加载一百个 token 的 原数据,相当于只看目录。 level two, 读取完整的技能说明书。 level three 则是按需加载额外资源。这就是渐进式批漏的魔力。 这意味着什么?按需加载,告别上下文爆炸,再复杂的技能包也能轻松驾驭。来看,对比传统方案,把所有规则塞进 system prompt, 上下文爆炸,注意力分散。 skills 方案呢?元素器锁引,按需加载,上下文可控注意力聚焦。 这意味着一个范式转变,以前我们为每个用力造一个专用 agent, 碎片化黏住,现在呢,一个通用 agent 加上技能库。新场景来了,加个 skill 就 行。 agent 能力无限扩展。 skill 里面可以装三种东西,指令,给 ai 灵活的指导空间,代码保证关键步骤百分百可靠执行。还有资源文件让 ai 查询事实时,有据可依。 代码执行是 skills 最妙的设计,让 ai 调用你预先写好的脚本,而不是让它自己临场发挥写代码,这完美解决了一个根本矛盾。大模型擅长理解和决策,但代码执行必须百分百确定, 所以你看概率推理做决策,确定性代码做执行。 skills 终于让我们鱼和熊掌都兼得了。 这里要澄清一个常见误区, skills 和 m c p 不是 替代关系,而是互补关系。 m c p 解决的是能不能连,比如连接数据库,调用 api。 而 skills 解决的是会不会用是程序性知识和操作规范。 这就是为什么 skills 如此关键。实测发现,一个 agent 实际只能连接两到三个 mcp server 工具暴露太多上下文就会被称爆。巨头们已经用行动投票了,微软 openai、 github 纷纷采用这套开放标准,他们压注的是生态系统的网络作用,远比专有锁定更值钱。 企业版还有一个杀手功能,组织级技能管理管理员在根目录配一次 skills, 整个团队自动同步,新人入职第一天就能调用团队积累的所有最佳实践。 这套设计最革命性的意义在于,它彻底降低了构建门槛。非工程师不需要写代码,只需要会写 markdown, 会整理文件夹就能教会 ai 干活,写 markdown 就 能教 ai。 人人都是 ai 训练师。 但开放也意味着危险,恶意 skill 可能被注入,就像给新员工发了份假的操作手册,所以我们需要类似注字签名的验证机制,确保每个 skill 都来自可信来源。 写好 skill 文件,有个黄金法则,核心信息放主文件详细资料单独存,总行数控制在五百行以内,就像员工手册,太厚没人看,太薄又说不清。所以记住这句话,未来的 ai 开发不是写代码训练模型,而是像带新人一样用文档培训 agent。

m c p 已经用上了,已经开始用了, m c p 有 什么问题?你想过吗?就虽然现在很火,咱们不能就看刚刚说的吧,咱们不能什么火搞什么,咱们要明白这东西有什么好的,有什么不好?你想一下你觉得它有什么不好? 我现在看到 m c p 的 情况是也是框架搭得快吧,或者写出来好用的那个拓真的是全公司都可以用的,这个有些时候还是需要一定的威信的,我感觉那个拓这方面还是比较落后。 其实你说到一个很很核心的点,你现在透,刚好我自己手写到人为去写,但是很多这个东西也是 s o p, 有 些已有的一些项目之后, 他已经给你把,你已经完成了,你只要把这个东西做起来转换就可以,你甚至不需要把它包装成一个 m c p。 你 比如说我浪圈,浪圈里面有一个很强,现实之中的我需要把所有东西都包成一个 m c p 来搞吗? 其实不用的,我其实只要用拷定的方式来解决就行,我教你怎么去写这样的拷定,然后你自己去构建这样的一些工具。就两个核心点, m c p 就 跟方块去扣一样,一个是 我如果 m c p 非常非常多,几千个、几万个,就它不可能一把全夹在我的 context 里,那我还是要去做一个 right。 那 现在其实在 context 的 领域,它的 right 的 这种能力远比不上我的一个,比如说 code 的 这种,用这个 graph 放的 logo 这种方式去搞,为什么呢? 因为 embedding 这种上下文缺失,然后这种上下文理解能力就很弱,对吧?导致说他解锁出的东西就很不准确。但是如果说我 share 这种东西,那我就可以通过这种结构化方式,然后帮你自主的去完成 很多的这种啊工具里头的一些筛选。第二个是说我不需要容易的去构建那么多 m c p 了,这个东西构建不过来的。你想想整个互联网到底积累了多少的知识,多少的工具,多少的一些代码,你把它所有都包成这种 m c p 吗?想想都不可能,对不对? 那未来我们要怎么去应对?那么多的一些项目文档、项目知识库、项目代码,怎么把它附着到各个业务上去? 这款你要是自己想想看 m c p 能不能搞定这款搞不定的,所以我肯定是让这种 agent 自己去做这种探索,自己给自己造工具,那自己给自己造工具,我怎么去造呢?通过 skill 这种形式把它整理成一个那种 结构化统一的一些标准的形式,让 agent, 比如 code agent 或者这种形式去做一些渐进式的自我探索, 对吧?我现在可以给它构建一个什么搜索引擎,去专门对这种内部支付去做一个搜索,然后再做一些进行探索,然后继续用 scale 的 形式去做一些很多下游的一些代码编辑任务执行你这个 scale, 它可以是一些代码的一些执行过程,也可以是一些 s o p, 就 像你刚才说的那些 d a g android 七 s 的 一些这种执行过程的一些这种图结构的一些信息,也可以放在我的一个 scale 里面, 它作为 scale 的 一种能力。那我在不同业务场景我有不同的 scale, 比如说我不同的一些这个 task 用的是这个图,那另外一个 task 用的是另外一个图,那这个东西其实怎么去定义呢?就在 scale 里面去给它写明, 然后让他去做建立式的探索,不是一把把所有的 connect 给他加,所有的信息都加到 connect 里,而是他判断说我需要用到哪个 skill 的 时候,然后我再去做那个探索。那你这样的一个,对,我觉得差不多就是一块,就是肯定是需要更自主的,因为 scp 他 解决不了所有的事。 第二个是 scp 他 封装好,给你一个方式去调用,这个东西非常的死板。举个例子,你要做一个操作 a, 他 给你封装个 scp, 但你如果你要做一个操作 b, 它跟它只是操作 a 的 某一个步骤,改了一行代码,这时候你就 n c p 就 直接废了,对吧?但如果说像 coco 的 这样这种 skills 的 形式,对吧?它写好这个 markdown 文档, 写好这个扣子,他自己去读了这个相关的技能他还是能复用了,所以整体还是更灵活,更知足,大家要多去思考这样的问题,很多人都没想过,真的,我们面试我也喜欢问,对吧? s p 有 什么不好,一问都能让他下降,就是因为大家平时都是什么火,为什么不知道?真的 catch 不 到大家关心的东西。