Skill和提示词工程(Prompt Engineering)

AI在生成软件的时候跟人一样,有的时候干的好,有的时候干的差。那怎么办呢?

针对于人,我们可以给人制定技能手册,这样在工作的时候有技能手册可以参考,会尽可能标准。而且遇到不会的问题也不需要浪费时间查资料,参考技能手册就可以了。

那么接下来,我们就给大模型加上技能手册,让他在做某一件事情的时候,就知道怎么做了?

Skill

  1. 什么是Skill?

Skill翻译过来就是技能,但是大模型的skill,在专业的角度是指技能的工作方式,即工作手册。

比如在昨天的项目中,我如果想要让前端页面更加漂亮一点,就需要用到一个带有设计能力的Skill。

Skills 是 Claude Code 的自定义命令扩展,相当于给 Claude 安装"专业插件",让 AI 在执行特定任务,解决复杂问题的时候有参考手册。

核心价值

  • 效率提升:将多步骤操作简化为单条指令
  • 标准化:确保任务执行的一致性和质量
  • 知识沉淀:将专家经验转化为可复用模板
  • 自动化:减少重复性手动操作
  1. Skill的本质

Skill的本质其实就是一个md后缀的文件,可以理解为一个操作手册,告诉claudecode在做某件事情的时候,该如何去做才能更好。

  1. Skill的核心: 其实就是一个Skill.md文件。
  2. 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

![image.png](https://upload-images.jianshu.io/upload_images/5005394-e3bdd9286e2f932c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


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

![image.png](https://upload-images.jianshu.io/upload_images/5005394-c8dff3378bc56b4c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


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

![image.png](https://upload-images.jianshu.io/upload_images/5005394-1017127fd0454756.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


###### **单独项目安装**

如果有部分skill不想让所有的项目使用,只想让某一个单独的项目使用,可以采取本方法。

> 举例:视频生成,不是所有的项目都要视频生成,所以可以把他当做某个项目独立的skill。

1.  找到自己项目的路径:`C:\Users\awei\Desktop\test`,在项目文件夹中创建 `.claude`文件夹,在它下面创建`skills`文件夹
2.  把只想在本项目中的skill粘贴进来即可

![image.png](https://upload-images.jianshu.io/upload_images/5005394-5b4f0616a546e2ae.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


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的描述就至关重要了。

![image.png](https://upload-images.jianshu.io/upload_images/5005394-4b25f434f3952b40.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


**需求:**

利用skill美化一下对话机器人项目,看自动触发了哪些skill,如果没有自动触发,可以手动触发一下:**frontend-design**

## 提示词

我们平时也经常的跟大模型进行对话,我们发现大模型就像一个聪明的智者,他的回答完全取决于你的问题,你的问题越清晰,他回答的越准,那么今天我们就学习如何跟大模型进行交流?

1.  #### 什么是提示词?

**提示词(Prompt)** 是人工智能领域与大模型交互的核心工具。在人工智能领域,Prompt指的是用户给大模型发出的指令。

例如:

*   "讲个笑话"
*   "用Python编个贪吃蛇游戏"
*   "写封情书"

如下图,我们向模型提问"AI智能应用开发需要学习哪些内容?":

[图片上传失败...(image-e3eab8-1787792922681)]

在这个案例中,包含两个内容:

*   用户输入的部分
*   模型给我们的回复。

从广义上讲,这两部分都是提示词,只是角色不同。

日常工作中,如果没有特殊说明,"提示词"一般指的是**用户输入的部分。**

## 提示词工程

1.  #### 什么是提示词工程?

**提示词工程(Prompt Engineering)** 是一门通过精心设计和优化输入给大语言模型的文本指令,以系统性地引导模型生成更准确、相关、高质量输出结果的技术方法论。 它可以提升模型输出效果,一定程度上缓解大模型的"幻觉"问题。

> 大模型幻觉:大模型一本正经的胡说八道。

**简单理解:**

"提示词"是你对大模型说的话,而"提示词工程"是教你如何把话说得更漂亮、更有效的一整套方法。

![image.png](https://upload-images.jianshu.io/upload_images/5005394-32983401565f2a8b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


**注意:**

在企业级的开发当中,提示词不可能一次性写对,基本都要经历不断的测试。

优化的过程,如下图所示:

[图片上传失败...(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,千问等网页版自己尝试一下

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容