AI在生成软件的时候跟人一样,有的时候干的好,有的时候干的差。那怎么办呢?
针对于人,我们可以给人制定技能手册,这样在工作的时候有技能手册可以参考,会尽可能标准。而且遇到不会的问题也不需要浪费时间查资料,参考技能手册就可以了。
那么接下来,我们就给大模型加上技能手册,让他在做某一件事情的时候,就知道怎么做了?
Skill
-
什么是Skill?
Skill翻译过来就是技能,但是大模型的skill,在专业的角度是指技能的工作方式,即工作手册。
比如在昨天的项目中,我如果想要让前端页面更加漂亮一点,就需要用到一个带有设计能力的Skill。
Skills 是 Claude Code 的自定义命令扩展,相当于给 Claude 安装"专业插件",让 AI 在执行特定任务,解决复杂问题的时候有参考手册。
核心价值
- 效率提升:将多步骤操作简化为单条指令
- 标准化:确保任务执行的一致性和质量
- 知识沉淀:将专家经验转化为可复用模板
- 自动化:减少重复性手动操作
-
Skill的本质
Skill的本质其实就是一个md后缀的文件,可以理解为一个操作手册,告诉claudecode在做某件事情的时候,该如何去做才能更好。
-
Skill的核心: 其实就是一个
Skill.md文件。 - Skill的组成元素:
- name: skill的名字,如果手动调用就是通过名字调用的。
- description: skill的描述,这个描述非常重要,claudecode就是根据描述自动调用当前的Skill
- 内容: 详细的操作手册
<pre>
php
代码解读
复制代码
`// 当前Skill的名字
name: pdf
// 当前Skill的描述,这个描述非常重要,claudecode就是根据描述自动调用当前Skill的
description: 只要用户想要对 PDF 文件执行任何操作,就使用此技能。包括从 PDF 读取或提取文本、表格、将多个 PDF 合并为一个、拆分 PDF、旋转页面、添加水印、创建新 PDF、填写 PDF 表单、加密/解密 PDF、提取图像以及对扫描的 PDF 进行 OCR 使其可搜索。如果用户提到 .pdf 文件或要求生成 .pdf 文件,请使用此技能。
// 条款
license: 专有。完整条款见 LICENSE.txt
// 内容: 就是下面的全文。告诉Skill,如果要操作PDF应该怎么办?无需阅读
PDF 处理指南
概述
本指南涵盖了使用 Python 库和命令行工具进行的基本 PDF 处理操作。有关高级功能、JavaScript 库和详细示例,请参阅 REFERENCE.md。如果需要填写 PDF 表单,请阅读 FORMS.md 并遵循其说明。
快速开始
from pypdf import PdfReader, PdfWriter
# 读取 PDF
reader = PdfReader("document.pdf")
print(f"页数: {len(reader.pages)}")
# 提取文本
text = ""
for page in reader.pages:
text += page.extract_text()
...
未完全复制过来,想要看完整的同学可以看pdf文件夹里面的SKILL.md` </pre>
3\. ### Skill的下载和安装
1. ##### 下载skill
在今天的资料中也准备了各种skill,下面的地址中也有很多很好用的skill
* anthropic官方仓库:[github.com/anthropics/…](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2Fanthropics%2Fskills "https://github.com/anthropics/skills")
* Skills社群网站:[skillsmp.com/zh](https://link.juejin.cn/?target=https%3A%2F%2Fskillsmp.com%2Fzh "https://skillsmp.com/zh")
* 优秀开源集合:[github.com/ComposioHQ/…](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2FComposioHQ%2Fawesome-claude-skills "https://github.com/ComposioHQ/awesome-claude-skills")
* 精选skills库:[github.com/JackyST0/aw…](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2FJackyST0%2Fawesome-agent-skills "https://github.com/JackyST0/awesome-agent-skills")
* 视频制作skill:[github.com/remotion-de…](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2Fremotion-dev%2Fskills "https://github.com/remotion-dev/skills")
* youtube视频剪辑skill:[github.com/op7418/Yout…](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2Fop7418%2FYoutube-clipper-skill "https://github.com/op7418/Youtube-clipper-skill")
* 大师帮你创建skill的skill:[github.com/GBBOSS/skil…](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2FGBBOSS%2Fskill-from-masters "https://github.com/GBBOSS/skill-from-masters")
* notebookLM skill:[github.com/PleasePromp…](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2FPleasePrompto%2Fnotebooklm-skill "https://github.com/PleasePrompto/notebooklm-skill")
* markdown发布到X skill:[github.com/wshuyi/x-ar…](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2Fwshuyi%2Fx-article-publisher-skill "https://github.com/wshuyi/x-article-publisher-skill")
* AI视频产品 Vidu Skills:[www.vidu.cn/](https://link.juejin.cn/?target=https%3A%2F%2Fwww.vidu.cn%2F "https://www.vidu.cn/")
* agent-skills.md包含 6000 多个好用的实用技能:[agent-skills.md/](https://link.juejin.cn/?target=https%3A%2F%2Fagent-skills.md%2F "https://agent-skills.md/")
* Skillstore:[skillstore.io/zh-hans](https://link.juejin.cn/?target=https%3A%2F%2Fskillstore.io%2Fzh-hans "https://skillstore.io/zh-hans")
* Reddit 社区推荐的技能合集:[www.skillsdirectory.com/](https://link.juejin.cn/?target=https%3A%2F%2Fwww.skillsdirectory.com%2F "https://www.skillsdirectory.com/")
* agentskills.me:[agentskills.me/](https://link.juejin.cn/?target=https%3A%2F%2Fagentskills.me%2F "https://agentskills.me/")
* Vercel 官方仓库:[github.com/vercel-labs…](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2Fvercel-labs%2Fagent-skills "https://github.com/vercel-labs/agent-skills")
* 开发者 Antfu 维护的技能库:[github.com/antfu/skill…](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2Fantfu%2Fskills "https://github.com/antfu/skills")
* skill收藏库:[github.com/ZhanlinCui/…](https://link.juejin.cn/?target=https%3A%2F%2Fgithub.com%2FZhanlinCui%2FUltimate-Agent-Skills-Collection "https://github.com/ZhanlinCui/Ultimate-Agent-Skills-Collection")
* skillsbot:[www.skillsbot.cn/](https://link.juejin.cn/?target=https%3A%2F%2Fwww.skillsbot.cn%2F "https://www.skillsbot.cn/")
2. ##### 安装skill
因为skill就是一个文本文件,所以无需安装,只要粘贴到固定的地方即可
###### **全局安装**
**好处:** 所有的项目都可以使用
**操作步骤:**
1. 找到路径:`C:\Users\自己电脑用户名.claude`,在该路径下新建文件夹:skills

2. 把资料文件夹skills中所有的内容直接粘贴进去即可

3. 重新打开claudecode,问:你现在拥有哪些skill?用中文回答我

###### **单独项目安装**
如果有部分skill不想让所有的项目使用,只想让某一个单独的项目使用,可以采取本方法。
> 举例:视频生成,不是所有的项目都要视频生成,所以可以把他当做某个项目独立的skill。
1. 找到自己项目的路径:`C:\Users\awei\Desktop\test`,在项目文件夹中创建 `.claude`文件夹,在它下面创建`skills`文件夹
2. 把只想在本项目中的skill粘贴进来即可

4. #### 使用Skill
1. ##### 手动调用
直接使用提示词,告诉claudecode,你用哪个skill去做事情
举例:
AI在生成前端页面的时候,要追求美观性。
提示词:
<pre>
markdown
代码解读
复制代码
`使用你的skills技能:frontend-design, 帮我开发一个1024⼩程序开发,具体请参考下面的游戏规则说明,⽣成⼀个基于html+css+js的前端⻚⾯
游戏规则如下:
1. 游戏在⼀个4x4或5x5的⽹格上进⾏。你需要通过⽅向键或滑动屏幕,控制所有数字⽅块向同⼀⽅向移动。
2. 核⼼玩法:每次移动时,相邻且数字相同的⽅块会合并成⼀个新⽅块,其数字是两者之和(例如2和2合并成4,4和4合并成8)。
3. 随机⽣成:每次移动并合并后,会在空⽩的格⼦处随机⽣成⼀个新的数字(通常是1或2或4) 。
4. 获胜⽬标:游戏的最终⽬标就是通过不断合并,在⽹格中拼出⼀个数字为“1024”的⽅块` </pre>
2\. #### 自动调用
cluadecode也会根据当前的任务自动的调用skill,此时skill的描述就至关重要了。

**需求:**
利用skill美化一下对话机器人项目,看自动触发了哪些skill,如果没有自动触发,可以手动触发一下:**frontend-design**
## 提示词
我们平时也经常的跟大模型进行对话,我们发现大模型就像一个聪明的智者,他的回答完全取决于你的问题,你的问题越清晰,他回答的越准,那么今天我们就学习如何跟大模型进行交流?
1. #### 什么是提示词?
**提示词(Prompt)** 是人工智能领域与大模型交互的核心工具。在人工智能领域,Prompt指的是用户给大模型发出的指令。
例如:
* "讲个笑话"
* "用Python编个贪吃蛇游戏"
* "写封情书"
如下图,我们向模型提问"AI智能应用开发需要学习哪些内容?":
[图片上传失败...(image-e3eab8-1787792922681)]
在这个案例中,包含两个内容:
* 用户输入的部分
* 模型给我们的回复。
从广义上讲,这两部分都是提示词,只是角色不同。
日常工作中,如果没有特殊说明,"提示词"一般指的是**用户输入的部分。**
## 提示词工程
1. #### 什么是提示词工程?
**提示词工程(Prompt Engineering)** 是一门通过精心设计和优化输入给大语言模型的文本指令,以系统性地引导模型生成更准确、相关、高质量输出结果的技术方法论。 它可以提升模型输出效果,一定程度上缓解大模型的"幻觉"问题。
> 大模型幻觉:大模型一本正经的胡说八道。
**简单理解:**
"提示词"是你对大模型说的话,而"提示词工程"是教你如何把话说得更漂亮、更有效的一整套方法。

**注意:**
在企业级的开发当中,提示词不可能一次性写对,基本都要经历不断的测试。
优化的过程,如下图所示:
[图片上传失败...(image-c0133-1787792922681)]
2. #### 提示词工程的五大原则
基于OpenAI官网文档,提炼出了5条大原则:
1. 清晰的指令
2. 文本参考
3. 复杂任务拆分简单子任务
4. 给模型"思考"的时间
5. 借助外部工具
接下来逐条讲解,并配合案例和练习,以帮助我们在日常工作准确的使用LLM。
> **注:在本章节的课程中,我们使用网页版的大模型进行演示**
3. #### 原则一:清晰的指令
任何Prompt技巧,都不如清晰的表达你的需求。这就类似人与人沟通,如果话说不明白,不可能让别人理解你的思想。
那么如何写出清晰的指令呢?下面介绍5个实用技巧:
1. ##### 详细的描述
当我们进行模型的提问时,不要描述的太笼统,而是尽量多的提供重要的详细信息或上下文.
**案例**:
让大模型帮我生成一个可执行的健身计划,改善我久坐后腰部不适的问题。
**❌ 宽泛的描述(错误提示词)** :
帮我设计一个健身计划
**模型回答:**
模型给出了通用健身计划(内容较长,省略细节),但并未针对"久坐腰不适"做优化,也不符合个人时间约束。
**✅ 详细的描述(正确提示词)**
请为我设计一个为期12周的健身计划。
**背景:** 我是一名28岁的男性程序员,身高175厘米,体重75公斤,久坐少动,有轻微的腰部不适。
**目标:** 主要目标是增肌5公斤,并改善腰部力量和体态。
**约束:** 我每周只有周一、三、五晚上可以在健身房训练,每次不超过90分钟。我不喜欢长跑。
**输出要求:** 请将计划分为三个阶段,每个阶段4周,列出每周的训练日程安排(包括具体动作、组数、次数),并附上简单的饮食建议(每日蛋白质摄入量不少于1.6克/公斤体重)。请用表格形式输出计划。
**模型回答:**
模型会给出非常贴合个人需求的计划(具体输出略,可自行尝试)。
> 备注:因为模型回答内容较多,这里不粘贴到笔记,可以自己在DeepSeek,千问等网页版自己尝试一下