OpenCode AI编程助手如何添加Skills,优化项目!

关注我的公众号:【编程朝花夕拾】,可获取首发内容。

01 引言

AI时代Agent的出现,为AI规定了特定的角色,根据推理、理解完成对话内容。MCP则是为AI或者Agent提供了外部资源的一切可能。比如,你让Agent为你播报近7天的天气,它无法完成,但是MCP可以,Agent结合MCP为我们带来无限的可能。原本以为到这里已经结束了,但是随着Skills的横空出世,更是推动了AI Agent快速落地。

Skills的功能和MCP很类似但是却又不同,这一节我们将通过OpenCode了解最近爆火的Skills

02 Skills

2.1 简介

Skills是智能体的技能,是一种轻量级、开放的格式,用于通过专业知识和工作流程扩展人工智能智能体的能力。而其本质上就是教 AI 按固定流程做事的操作说明书,一旦写好,就能像函数一样反复调用。

我们可以把 Skills 看成把什么样的事情应该怎么去做。将Skills封装成一个可复用、可自动触发的能力模块,根据实际的场景选择不同的Skills更加专业的完成用户下发的命令。可以简单的理解为Skills就是一个个独立且可复用的工具包

Skills 以 Markdown 文件形式存在,不执行功能,而是通过按需、渐进式加载,实现高效且可复用的经验传递。

sh 复制代码
my-skill/
├── SKILL.md      # 必需:指令 + 元数据
├── scripts/      # 可选:可执行代码
├── references/   # 可选:文档资料
└── assets/       # 可选:模板、资源

地址:agentskills.io/home

2.2 Skills核心结构

Skills 的核心就是:一堆文件夹 + 一个 SKILL.md 文件。

其中SKILL.md最为重要,通过定义角色,场景等,让Agent直到什么时候调用什么东西。Skill.md基本模版:

markdown 复制代码
---
name: 你的Skill名称
description: Skill的相关描述以及什么时候使用
---

## 说明
具体描述如何使用

## 案例
- Example usage 1
- Example usage 2

其他文件夹可以规范AI的操作或者调用的脚本。scripts放置一些可执行的脚本以及自动化的逻辑,references存放一些说明文档或者参考资料,assets主要用来存放模板文件以及静态资源。

有了这些文件夹资料以及md的说明,让Skills更加具体。

2.3 Skills的配置

Skills的配置可以分为局部配置和全局配置。我们以OpenCode为例:

还有一种全局配置:~/.opencode/skills/<name>/SKILL.md

官网地址:opencode.ai/docs/zh-cn/...

03 自定义Skills

Skills的编写很简单,简单说就是提示词。但是如何写好,这个就另说了。我们简单定义一个打印的Skills,我们按照模板编写。

markdown 复制代码
---
name: print-test
description: skill 打印测试
---

## 角色定义

你是一个打印测试工具包

## 输出

当用户测试打印的时候,统一打印出:这是一个skill的打印测试

3.1 局部配置

配置位置:.opencode/skills/print-test/SKILL.md

验证方式可以通过斜杠或者直接问AI都可以。

斜杠

输入斜杠,就会提示当前的技能。

直接问

全局配置不在演示。

3.2 测试

我们需要测试自己定义的Skills是否有效。我们输入打印测试,看看回复是否是调用自定义Skills.

我们可以看到调用自定义的Skills.

04 优化项目

我们之前写了一个下载的页面,页面比较简单:

我们通过专业的Skills优化一下页面。使用ui-ux-pro-max优化。

Skills地址:github.com/nextlevelbu...

下载下来,将对应的包放在Skills即可,注意包的结构,本次使用全局配置。

4.1 全局配置

配置位置:~/.config/opencode/skills/<name>/SKILL.md

这里需要注意src的包也要放进来,因为skills下的datascripts路径需要。

src位置:

4.2 检查

使用/检查

4.3 优化

这里直接让AI优化,看下会变成什么。

我们发现已经调用ui-ux-pro-max了。

最后总结了优化的效果:

我们直接看看结果:

打完收工!

相关推荐
無限進步D3 小时前
Java 运行原理
java·开发语言·入门
難釋懷3 小时前
安装Canal
java
是苏浙3 小时前
JDK17新增特性
java·开发语言
不光头强3 小时前
spring cloud知识总结
后端·spring·spring cloud
GetcharZp6 小时前
告别 Python 依赖!用 LangChainGo 打造高性能大模型应用,Go 程序员必看!
后端
阿里加多6 小时前
第 4 章:Go 线程模型——GMP 深度解析
java·开发语言·后端·golang
likerhood7 小时前
java中`==`和`.equals()`区别
java·开发语言·python
小小李程序员7 小时前
Langchain4j工具调用获取不到ThreadLocal
java·后端·ai