AI编程工具Trae系列03-Skills
无论是对话还是编程,AI生成的结果总具有一定的随机性。
整体的结构我们可以用一个公式来衡量:Prompt+AI思考=输出结果。
这意味者如果我们想要一个好的输出结果,至少可以从两个角度来考虑优化,一个就是Prompt,另一个就是左右AI思考的过程。
Prompt角度的话,就是结构化我们的提示词,尽量提供多的信息供AI去使用,减少误差。
左右AI思考过程的话,就是使用Skills了。
2、简述skill
那么什么是skill呢?首先我们来看看稍微官方一些的描述

从图中我们可以看出,技能的作用
一个技能可以被视为提供给智能体的一套 “专业能力说明书”(类似用户手册或操作指南)。在执行任务时,智能体可以按需加载相应的技能,从而增强其对任务的理解与执行能力。
简单来说,就是我们把做一件事情的具体步骤总结归纳,然后让AI按我们的步骤去干活。
3、编写skill
那么我们该怎么编写skill呢?
这里我们以编写梳理Java代码的skill为例,写一个名ujavacode的skill。
下文中的代码示例来自gitee,可以用自己的Java项目或者使用该项目。
https://gitee.com/dromara/sa-token
直接使用该项目的话,可以按如下图操作克隆和打开仓库

在打开项目之后,我们打开设置进入到技能的编辑页


在创建页中我们可以直接上传skill,也可以自己编写。
字数限制这里我只贴了一部分:

4. 根据接口类型+implements关键字,搜索整个工作区,查找实现了该类的类,如果找到多个,提示让用户选择;
5. 根据实现类名+方法名,进入到另外一个方法的分析,并通过缩进来表示是另外一个方法的分析。
如下是一个简单的示例
“`java
public class Main {
public static void main(String[] args) {
int l=1;
int r=2;
System.out.println(sum(l,r));
}
public static int sum(int l,int r){
return l+r;
}
}
“`
分析结果
“`
申明变量l,r
将l和r加和
打印加和结果
“`
4、使用和调整
在保存之后我们在对话框中使用该skill。

可以看到思考的过程和我们编写的基本一致。
输出结果如下

和预期还是有些差距,后续还需要不断地微调。
5、小结
这节我们聊了Skill的使用,Skill用来描述某件事情的具体操作步骤,对减少输出结果不确定性有很大帮助,推荐用用。
夜雨聆风