00:00:00欢迎来到 Skills By The Cell,这是一个智能体技能目录,你可以将这些技能添加到任何智能体中
00:00:04来扩展它的能力,比如让它精通 React,把它变成前端设计师,
00:00:10甚至是让它成为动态图形编辑器。整个流程是先克隆并扫描代码仓库,
00:00:15在安装技能前检查其中是否包含 skills.md 文件。但 Cloudflare 的新提案
00:00:22会让这个优秀的资源过时吗?请点击订阅,让我们开始深入探讨。
00:00:27智能体技能是 Anthropic 去年推出的,旨在提升 Claude 在特定
00:00:32任务上的表现,其原理是在 .cloud 目录下添加一个 skills 文件夹,然后添加一个
00:00:37以技能名称命名的子目录,里面再放一个 skills.md 文件。
00:00:42这个文件需要包含几个关键要素才能生效。首先是顶部的
00:00:47YAML 格式的前置元数据,其中至少应包含技能名称和描述。
00:00:52在元数据下方,也就是文件主体部分,是编写技能具体指令的地方。
00:00:58这些指令会被加载到模型的上下文(context)中,使其能够执行特定任务。
00:01:03技能的精妙之处在于一种被称为“渐进式披露”的技术,即起初只显示最核心的
00:01:08信息,模型可以根据需要进一步挖掘更多细节。
00:01:13因此,当智能体启动时,只有每个技能的前置元数据会被加载到
00:01:19上下文中。模型读取提示词(prompt)后,会检查每个技能的描述,判断该
00:01:24技能是否能增强提示词的效果。如果匹配,它就会将元数据之外的所有内容添加到模型当前的上下文中。
00:01:31你甚至可以将其他参考文件链接到技能中,方便模型在认为必要时抓取。
00:01:40自那以后,像微软、OpenAI 和 OpenCode 等其他公司也采用了智能体技能。
00:01:46但一直以来,都没有一种简便的方法能为多个智能体安装技能,除非手动进入
00:01:52相关目录并克隆仓库。当 Vassal 想分享他们工具的技能,让人们添加到
00:01:58各自的智能体中时,这个问题变得尤为明显。于是他们做了一个名为 Add Skill 的项目,
00:02:03它可以轻松地为 16 种不同的智能体添加技能。只需运行 npx add-skill,
00:02:11后面接上技能名称或仓库地址即可。
00:02:14我知道你在想什么:怎么防止人们用 Add Skill 添加任意仓库呢?
00:02:19它的工作原理是:在解析命令后,先克隆仓库,然后寻找
00:02:25skills.md 文件。如果没找到,它会清理并删除该仓库。但如果找到了,
00:02:32它会通过检查配置自动检测用户安装的智能体,然后创建一个
00:02:37符号链接(symlink),将 .agents/skills 指向该智能体存放技能的位置。比如 Cursor 对应 .cursor,
00:02:44Claude Code 对应 .claude。它还有一些用于追踪的遥测数据,我稍后会谈到。
00:02:49到这一步,Vassal 已经为人们提供了一种为任何智能体轻松安装技能的方法。
00:02:55但如何发现技能呢?这就是 skills.sh 的用武之地,它目前展示了一长串
00:03:01未分类且未分页的技能列表。我认为,这个列表的填充方式是:当有人第一次
00:03:08使用 Add Skill 或 Skills 安装技能时,会触发包内的遥测功能,
00:03:14从而添加名称、适配智能体等信息。这些遥测数据完全匿名,
00:03:20不仅用于填充列表,还用于记录技能的下载次数以及适配的特定智能体,
00:03:26这也可以用来追踪过去 24 小时的热门技能。
00:03:32此外,如果你担心被追踪,完全可以禁用遥测功能。
00:03:37Vassal Labs 在技能发现方面投入的心血令人赞叹,很多人都在用它
00:03:42寻找很棒的技能,比如让智能体掌握 React Native 开发,
00:03:48Better Auth 的最佳实践,甚至是超人气项目 ReMotion 的技能,
00:03:53人们正用它通过单个提示词创作各种疯狂的视频。但 Cloudflare 的新提案
00:03:59会让这一切付诸东流吗?因为它引入了另一种智能体发现技能的方式,
00:04:05即先从一个“熟知位置”(well-known location)获取轻量级的 JSON 文件,列出所有可用的技能。
00:04:12比如你可以写一段提示词:“用 Wrangler 帮我创建一个 Cloudflare 项目”,
00:04:18智能体会先阅读提示词,然后检查熟知位置,
00:04:24比如 [cloudflare.com/well-known](https://www.google.com/search?q=https://cloudflare.com/well-known)。当然实际路径不会叫 well-known,可能会是
00:04:30/skills,然后从中获取 index.json,其中包含每个技能的必填信息,
00:04:38如名称、描述和相关文件数量。随后,它将这些信息传给智能体,
00:04:44智能体根据提示词并参照 index.json 文件,就会意识到
00:04:49需要从该熟知位置获取 Wrangler 技能。于是它会发起请求
00:04:55获取该技能的所有相关文件,并进行缓存以备后续对话使用,
00:05:01同时利用该技能生成回复给用户。
00:05:08虽然 Cloudflare 的提案听起来很酷,但它确实增加了技能被发现的门槛,
00:05:14比如要编写包含相关信息的 index.json,还要把它放到一个“熟知 URL”下。
00:05:20我不太确定“熟知 URL”的具体定义,但相比于把技能放在 GitHub 上并被 Vercel 发现,
00:05:27我认为 Cloudflare 的方案由于增加了这些步骤,会对小型开发者造成不利影响。
00:05:33但如果该提案被采纳(我也不确定谁在评审以及谁有决定权),
00:05:40那就意味着要和 Vercel 的 skills.sh 项目说再见了。
00:05:46不过,我相信它们有共存的方法。你可以通过 skill.sh 发现
00:05:52来自独立开发者或小众开发者的技能,而使用 Cloudflare 的方案让智能体
00:05:57自动发现来自 Cloudflare 或 Vercel 等大公司的技能。无论如何,
00:06:03随着开发者利用这些技能创造惊人的新项目,你将需要一些
00:06:07错误追踪工具,以防项目在无人知晓的情况下崩溃。这正是 Better Stack 的强项,
00:06:12它不仅能摄取后端日志,还能利用其 AI 原生错误追踪功能
00:06:18监控前端错误。最重要的是,Better Stack 还能创建
00:06:23精美的状态页面。快去试试 Better Stack 吧。