ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

一文读懂什么是skill

一文读懂什么是skill 文章目录前言1.什么是skill2.skill的结构2.1 文件头元数据2.2工作流2.3输出格式2.4约束3.skill的获取4.实操环节碎碎语前言在这个AI发展迅速的时代很多人盲目的追逐高效比如skill。无意间看到某个skill的介绍,就直接给ai一段prompt帮我安装这个skill并不了解这个skill的组成是如何工作的。本文主要介绍如何手动创建一个专属的skill。1.什么是skillOpenAI 官方目前对 Skill 的定义是把可重复使用的指令和辅助文件组织起来让 ChatGPT/Agent 在遇到对应任务时按照固定流程执行。也就是Skill 给 AI 保存下来的一套“做事流程”如果你经常需要干一个重复性的工作你就可以把他封装成一个skill这样每次他就能直接按照你封装的流程来进行执行而不是每次都需要你告诉他该怎么执行。这里举一个简单的例子来说明比如你经常需要让ai做一件事“我给你一段 Python 报错你先解释报错再定位问题再给修改代码最后告诉我怎么验证。”正常情况下你每次都需要输入这么长的提示词来进行控制而且每次输出的结果还是略有差异。有了skill就可以固定化它的执行流程下次直接调用这个skill就可以了。这也是很多人为什么说skill就是一个高效的提示词的原因。2.skill的结构最简单的skill 其实就只是一个文件夹里面包含一个SKILL.md文件。复杂的结构还会包含references/放参考资料scripts/放可重复执行的程序assets/放模板等资源。本文主要介绍最简单的形式只包含SKILL.md文件的skill。2.1 文件头元数据SKILL.md文件开始是用---包起来的 YAML 格式的配置区作用是让agent在不读正文的情况下就判断这个 skill 能不能用、什么时候用。一般包含两个部分name:创建这个技能的名字description:对应这个技能的描述包含这个技能能干什么什么时候使用它2.2工作流这个也是真正控制AI的地方也就是技能的SOP(标准操作流程)比如接收用户输入xxx第一步xxx第二步xxx第三步xxx2.3输出格式这里是控制AI最终怎么回答用户不至于每次返回的格式都有差异。这也是skill重要的价值之一——稳定。2.4约束就是给这个skill设置一个边界条件哪些事情不能做完成前做的检查。3.skill的获取现在市面上有很多skill很多人也是直接使用安装现有的skill。另一种方式便是创建新的skill这种方式也包含两种现在大多agent里都会自带一些skill其中一个skill就是创建技能让ai辅助你创建一个新的技能。自己手动创建。而本文主要讲解后者。4.实操环节这里的环境是windowsChatGPT桌面端。1.首先创建一个目录在该目录下创建文件夹比如./skill-learning/my-first-skill2.在这个文件夹下创建文件SKILL.md按照上述介绍的各个部分内容比如我要写一个论文阅读助手的skill。那么就可以根据你的需求按照如下格式来写---name:paper-reading-helperdescription:Analyze and explain academic papers,including their motivation,problem,methodology,experiments,results,and contributions. Use this skill when the user uploads a research paper,provides the title of a paper,provides a paper link,or asks for an explanation or introduction to a specific paper.---# Paper Reading HelperUse this skill when the user wants to understand,analyze,or study an academic paper.## Workflow1. 判断论文来源-判断用户是否上传了论文文件、提供了论文链接或者只提供了论文标题。-根据不同的论文来源选择对应的论文获取方式。 2. 获取并确认论文内容-如果用户上传了论文文件则直接读取并解析论文内容包括标题、摘要、正文、公式、图表和参考信息。-如果用户提供了论文链接则访问该链接并获取论文内容。-如果用户只提供了论文标题则在网络上检索论文并结合标题、作者、发表年份和发表来源确认论文身份。-如果检索结果唯一且与用户提供的信息高度匹配则直接继续分析。-如果存在多个可能匹配的论文或者无法可靠确定论文身份则列出候选论文并让用户确认后再继续。-不要在没有获得论文内容的情况下仅根据标题猜测论文的具体方法和实验结果。 3. 解释研究背景与研究问题-介绍论文所属的研究领域和基本背景。-明确论文具体想要解决什么问题。-介绍解决该问题时已有的主流方法或技术路线。-分析现有方法存在的主要不足。-对用户可能不熟悉的专业概念进行解释。 4. 解释研究动机-解释为什么这个问题值得解决。-解释现有方法为什么不能很好地解决该问题。-找出作者提出新方法的直接原因。-说明作者希望通过新方法解决哪些已有方法的不足。-区分“研究背景”和“研究动机”避免将两者混为一谈。 5. 详细解释论文方法-首先从整体上介绍论文提出的方法和完整处理流程让用户先建立整体认识。-然后按照论文中的处理顺序逐步解释各个核心模块。-说明每个模块的输入、处理过程和输出。-解释各个模块之间的关系以及数据如何在模块之间流动。-对论文中的关键公式进行解释包括公式中的主要变量、公式的作用以及为什么这样设计。-根据论文类型解释训练过程、推理过程或算法执行过程。-对较复杂的方法使用简单示例、类比或具体数据帮助用户理解。-如果论文包含模型架构图、流程图或算法伪代码应结合这些内容进行解释而不是只依赖正文描述。 6. 分析实验设计与实验结果-说明论文使用了哪些数据集以及这些数据集的作用。-说明论文选择了哪些 baseline 或对比方法。-解释论文使用的主要评价指标以及这些指标代表什么。-分析论文的主要实验结果并解释不同方法之间的差异。-如果存在消融实验解释每个消融实验验证了什么。-如果论文包含效率、推理速度、参数量、FLOPs、显存、计算资源或其他性能实验也应进行分析。-不要只复述实验表格中的数字要解释这些实验结果说明了什么。-判断实验结果是否能够支持作者提出的方法和主要结论。 7. 总结核心贡献与创新点-总结论文最重要的贡献。-提取作者在论文中明确声称的贡献。-分析相比已有工作该论文真正新增或改进了什么。-区分“作者声称的贡献”和“从论文内容分析得到的实际创新”。-避免把普通的工程组合或已有技术直接描述成重大理论创新。 8. 分析局限性和后续改进方向-优先查找论文中明确提到的 limitations、discussion 和 future work。-根据实验结果分析论文目前仍然存在的问题。-分析方法在哪些数据、场景或条件下可能表现不好。-总结作者明确提出的未来研究方向。-在论文内容的基础上可以进一步提出合理的潜在改进方向。-必须明确区分“论文作者提出的未来工作”和“根据论文分析得到的改进建议”。-不要把自行推测的改进方向描述成作者的观点。## Output论文论文标题### 研究背景-论文所属领域-要解决的具体问题-现有主流方法-现有方法存在的问题### 研究动机-为什么这个问题值得解决-现有方法为什么还不够-作者提出新方法的直接原因### 研究方法-整体方法框架-核心模块-关键公式-模块之间的数据流-训练或推理过程### 实验-数据集-Baseline-评价指标-主实验结果-消融实验-效率实验-实验结论### 创新点-作者声称的贡献-相比已有工作的实际创新### 局限与改进-论文明确指出的局限-作者提出的未来工作-根据论文分析得到的潜在改进方向## Rules-不得凭空编造任何实验、数据、指标、结果、模型结构或论文中未出现的内容。-在开始系统讲解之前应尽可能完整阅读整篇论文而不是只依赖摘要、引言或结论。-如果因为文件缺失、页面无法访问、内容截断等原因无法完整获取论文必须明确告诉用户当前可读取的范围不能假装已经阅读完整论文。-不得编造作者未表达过的观点、结论、研究动机或未来工作。-如果某个结论属于基于论文内容做出的分析或推测必须明确标注为“分析”或“推测”不能表述成作者原文观点。-不要机械照搬论文中的专业术语和复杂表述。-应优先使用通俗、直观、适合初学者理解的语言解释复杂概念。-对必须保留的专业术语应先给出术语名称再用简单语言解释其含义。-对关键公式不能只抄公式应解释公式中的主要变量、公式在方法中的作用以及作者为什么这样设计。-对实验结果不能只罗列数字应解释数字之间的差异说明了什么以及是否支持论文的主要结论。-内容覆盖要求输出的全部内容严格按照输出格式进行表述。3.将这个文件移动至agent能够发现的位置比如.\skill-learning.codex\skills\paper-reading-helper\SKILL.md4.在当前项目中启动work使用/paper-reading-helper调用当前skill5.验证运行结果结果如下图所示确实按照指定格式返回的输出结果。至此你已完成手动创建一个skill。备注当前skill的生效范围是当前项目的目录下并不是全局skill如果想将其变成全局skill则需要将这个skill移动至C:/Users/c/.codex/skills/.system/目录下。碎碎语在当今这个大模型发展迅速的时代我们学习新知识的途径似乎越来越单一了。以前我们学习新的知识一般从课上、书本上、各种网站上比如CSDN这个平台。但是渐渐的我发现这些途径所能学到的还是受限的越来越多的人也不愿意在这些平台进行分享。大家似乎都转移到了问AI这个部分。对于一个问题你没有理解或者明白那就是这个AI不行换一个AI。一方面这种学习非常快而且直击痛点不需要你学习你想了解之外的内容可以说把时间利用到了极限另一方面越来越多的博主也不愿意去做这部分工作这也是我很长一段时间没有更新的一个原因。
返回列表