目录
提示词
什么是“提示词”
什么是“提示词工程”
提示设计框架
CRISPE
CO-STAR
LangGPT结构化提示词
LangGPT结构
编写技巧
构建全局思维链
保持上下文语义一致性
有机结合其他 Prompt 技巧
*常用的提示词模块
浦语提示词工程实践(LangGPT版)
基础任务
进阶任务:
公文写作助手
提示词
给出提示词后的结果
商务邮件沟通
提示词
给出提示词后的结果:
MBTI 性格测试
提示词
给出提示词后的结果
提示词
什么是“提示词”
Prompt是一种用于指导以大语言模型为代表的生成式人工智能生成内容(文本、图像、视频等)的输入方式。它通常是一个简短的文本或问题,用于描述任务和要求。ta包含一些特定的关键词或短语,用于引导模型生成符合特定主题或风格的内容。
例如,如果我们要生成一篇关于“人工智能”的文章,我们可以使用“人工智能”作为Prompt,让模型生成一篇关于人工智能的介绍、应用、发展等方面的文章。
什么是“提示词工程”
提示工程是一种通过设计和调整输入(Prompts)来改善模型性能或控制其输出结果的技术。
在模型回复的过程中,首先获取用户输入的文本,然后处理文本特征并根据输入文本特征预测之后的文本,原理为next token prediction,类似我们日常使用的输入法。
在提示工程中,第一点给出清晰的指令是至关重要的。一个有效的指令通常包含以下要素:背景、任务、要求、限制条件、示例、输出格式和目标。通过提供这些详细信息,我们可以引导模型生成更符合我们期望的文本。
提示词技巧分享网址:
- OpenAI 官方提示工程指南
- Claude 官方提示工程指南
- LangGPT 知识库
- 万字解读ChatGPT提示词最佳案例
提示设计框架
CRISPE
参考:https://github.com/mattnigh/ChatGPT3-Free-Prompt-List
Act as an expert on software development on the topic of machine learning frameworks, and an expert blog writer. The audience for this blog is technical professionals who are interested in learning about the latest advancements in machine learning. Provide a comprehensive overview of the most popular machine learning frameworks, including their strengths and weaknesses. Include real-life examples and case studies to illustrate how these frameworks have been successfully used in various industries. When responding, use a mix of the writing styles of Andrej Karpathy, Francois Chollet, Jeremy Howard, and Yann LeCun.
CO-STAR
参考:CO-STAR Framework – AI Advisory Boards
例如我们设计一个解决方案专家,用于把目标拆解为可执行的计划,完成的提示词如下:
# CONTEXT # 我是一名个人生产力开发者。在个人发展和生产力领域,人们越来越需要这样的系统:不仅能帮助个人设定目标,还能将这些目标转化为可行的步骤。许多人在将抱负转化为具体行动时遇到困难,凸显出需要一个有效的目标到系统的转换过程。########## OBJECTIVE # 您的任务是指导我创建一个全面的系统转换器。这涉及将过程分解为不同的步骤,包括识别目标、运用5个为什么技巧、学习核心行动、设定意图以及进行定期回顾。目的是提供一个逐步指南,以无缝地将目标转化为可行的计划。########## STYLE # 以富有信息性和教育性的风格写作,类似于个人发展指南。确保每个步骤的呈现都清晰连贯,迎合那些渴望提高生产力和实现目标技能的受众。########## Tone # 始终保持积极和鼓舞人心的语气,培养一种赋权和鼓励的感觉。应该感觉像是一位友好的向导在提供宝贵的见解。# AUDIENCE # 目标受众是对个人发展和提高生产力感兴趣的个人。假设读者寻求实用建议和可行步骤,以将他们的目标转化为切实的成果。########## RESPONSE FORMAT # 提供一个结构化的目标到系统转换过程步骤列表。每个步骤都应该清晰定义,整体格式应易于遵循以便快速实施。############## START ANALYSIS # 如果您理解了,请询问我的目标。
LangGPT结构化提示词
LangGPT结构
LangGPT框架参考了面向对象程序设计的思想,设计为基于角色的双层结构,一个完整的提示词包含模块-内部元素两级,模块表示要求或提示LLM的方面,例如:背景信息、建议、约束等。内部元素为模块的组成部分,是归属某一方面的具体要求或辅助信息,分为赋值型和方法型。
编写技巧
构建全局思维链
首先可以根据场景选择基本的模块:
一个好的结构化 Prompt 模板,某种意义上是构建了一个好的全局思维链。 如 LangGPT 中展示的模板设计时就考虑了如下思维链:
💡 Role (角色) -> Profile(角色简介)—> Profile 下的 skill (角色技能) -> Rules (角色要遵守的规则) -> Workflow (满足上述条件的角色的工作流程) -> Initialization (进行正式开始工作的初始化准备) -> 开始实际使用
一个好的 Prompt ,内容结构上最好也是逻辑清晰连贯的。结构化 prompt 方法将久经考验的逻辑思维链路融入了结构中,大大降低了思维链路的构建难度。
构建 Prompt 时,不妨参考优质模板的全局思维链路,熟练掌握后,完全可以对其进行增删改留调整得到一个适合自己使用的模板。例如当你需要控制输出格式,尤其是需要格式化输出时,完全可以增加 Output
或者 OutputFormat
这样的模块。
保持上下文语义一致性
一个是格式语义一致性:格式语义一致性是指标识符的标识功能前后一致。 最好不要混用,比如 #
既用于标识标题,又用于标识变量这种行为就造成了前后不一致,这会对模型识别 Prompt 的层级结构造成干扰。
一个是内容语义一致性:内容语义一致性是指思维链路上的属性词语义合适。 例如 LangGPT 中的 Profile
属性词,使之功能更加明确:即角色的简历。结构化 Prompt 思想被广泛使用后衍生出了许许多多的模板,但基本都保留了 Profile
的诸多设计,说明其设计是成功有效的。
内容语义一致性还包括属性词和相应模块内容的语义一致。 例如 Rules
部分是角色需要遵守规则,则不宜将角色技能、描述大量堆砌在此。
有机结合其他 Prompt 技巧
*常用的提示词模块
下面整理了按字母从A-Z排列的共30个角度的模块,使用时,可从其中挑选合适的模块组装。
Attention:需重点强调的要点
Background:提示词的需求背景
Constraints:限制条件
Command:用于定义大模型指令
Definition:名词定义
Example:提示词中的示例few-shots
Fail:处理失败时对应的兜底逻辑
Goal:提示词要实现的目标
Hack:防止被攻击的防护词
In-depth:一步步思考,持续深入
Job:需求任务描述
Knowledge:知识库文件
Lawful:合法合规,安全行驶的限制
Memory:记忆关键信息,缓解模型遗忘问题
Merge:是否使用多角色,最终合并投票输出结果
Neglect:明确忽略哪些内容
Odd:偶尔 (俏皮,愤怒,严肃) 一下
OutputFormat:模型输出格式
Pardon:当用户回复信息不详细时,持续追问
Quote:引用知识库信息时,给出原文引用链接
Role:大模型的角色设定
RAG:外挂知识库
Skills:擅长的技能项
Tone:回复使用的语气风格
Unsure:引入评判者视角,当判定低于阈值时,回复安全词
Vaule:Prompt模仿人格的价值观
Workflow:工作流程
X-factor:用户使用本提示词最为重要的内核要素
Yeow:提示词开场白设计
Zig:无厘头式提示词,如[答案之书]
浦语提示词工程实践(LangGPT版)
基础任务
- 背景问题:近期相关研究指出,在处理特定文本分析任务时,语言模型的表现有时会遇到挑战,例如在分析单词内部的具体字母数量时可能会出现错误。
- 任务要求:利用对提示词的精确设计,引导语言模型正确回答出“strawberry”中有几个字母“r”。完成正确的问答交互并提交截图作为完成凭证。
首先,在“书生·浦语”助手中进行无提示词提问:
可见,在没有提示词的情况下,书生浦语大概率会认为“strawberry”中有两个r。
接着,我们来设计一些提示词,让大模型逐个字母确认,这样就不会遗漏了:
# 任务描述:
在英语单词中计数特定字母的number(s).
## 工作流:
1. 将单词拆分为字母并编号
2. 指定其中特定字母的编号
3. 统计所指定的编号个数
## 示例:
### 示例输入:
请问"pop"中的字母"p"出现了多少次?
### 示例输出:
提问单词:pop单词拆分:1.p 2.o 3.p字母"p"的编号: 1, 3字母"p"出现了 2次。
# 限制:
确保单词拆分后与提问的单词保持一致,不得修改提问单词
# 指令:
理解上述工作流后,请说“请告诉我要处理的英语单词”
结果如下,可以准确得出答案3:
进阶任务:
任选下面其中1个任务基于LangGPT格式编写提示词 (优秀学员最少编写两组),使用书生·浦语大模型 进行对话评测。
- 公文写作助手
- 商务邮件沟通
- 温柔女友/男友
- MBTI 性格测试
- 剧本创作助手
- 科幻小说生成
达标要求
将不使用系统提示的书生浦语大模型作为 baseline 对比,提交的系统提示词要指导LLM表现出比baseline更高的性能,提供对比截图并加以分析说明即可。
- 更好的文字创作能力(更明显的风格、更优美的文字、更准确的格式、更流畅的对话)
- 更准确的回答能力
- 更准确的流程遵循能力
公文写作助手
先进行简单提问:
提示词
### Role:
公文写作专家
### Background:
用户需要撰写正式的公文,包括通知、报告、申请等,以确保文档符合官方语言规范和专业要求。
### Profile:
你是一位资深的公文写作专家,熟悉各类公文的格式和要求,能够根据用户提供的重要信息,撰写出准确、专业的公文。
### Skills:
你具备深厚的写作功底和丰富的公文写作经验,能够确保文档的语言规范、内容完整、格式正确。同时,你能够根据不同的公文类型,调整写作风格和语气。
### Goals:
帮助用户高效、准确地完成公文写作,确保文档符合官方标准和专业要求。
### OutputFormat:
提供完整的公文文本,包括标题、正文、落款等部分。
### Workflow:
1. 了解用户需要撰写的公文类型和具体内容。
2. 根据公文类型和内容,确定合适的格式和写作风格。
3. 收集用户提供的关键信息,确保文档内容的准确性和完整性。
4. 撰写公文,并进行必要的校对和润色。
5. 提供最终的公文文本,确保格式正确、语言规范。
### Initialization:
在第一次对话中,请直接输出以下:欢迎来到公文写作助手。请告诉我您需要撰写的公文类型和具体内容。当您准备好时请告诉我。
### Constraints:
- 初始化时,除了直接输出的内容,禁止添加任何其他语句。
- 必须等待用户提供完整的信息后再进行下一步操作。
- 生成的公文必须符合官方语言规范和专业要求。
给出提示词后的结果
商务邮件沟通
直接提问,其实效果还行,但不是很具体。
下面,我们设计一些提示词:
提示词
### Role:
商务邮件撰写专家
### Background:
用户需要撰写专业的商务邮件,以进行商务沟通,包括询问、报价、合作意向等。
### Profile:
你是一位经验丰富的商务邮件撰写专家,熟悉商务沟通的规范和礼仪,能够根据用户的需求,撰写出礼貌、专业的商务邮件。
### Skills:
你具备扎实的商务写作功底和良好的沟通技巧,能够确保邮件内容明确、语气得体。同时,你能够根据收件人的身份和关系,调整邮件的风格和内容。
### Goals:
帮助用户撰写高质量的商务邮件,确保邮件达到预期的沟通效果。
### OutputFormat:
提供完整的商务邮件文本,包括主题、称呼、正文、结尾、落款等部分。
### Workflow:
1. 了解用户需要撰写的商务邮件类型和具体内容。
2. 根据邮件类型和内容,确定合适的格式和写作风格。
3. 收集用户提供的关键信息,确保邮件内容的准确性和完整性。
4. 撰写商务邮件,并进行必要的校对和润色。
5. 提供最终的商务邮件文本,确保格式正确、语言规范。
### QuestionsExamples:
- 您需要撰写哪种类型的商务邮件(例如:询问、报价、合作意向等)?
- 邮件的收件人是谁?他们的职位是什么?
- 邮件的主要目的是什么?
- 您希望在邮件中包含哪些具体信息?
- 是否有特定的截止日期或其他重要事项需要提及?
### Initialization:
在第一次对话中,请直接输出以下:欢迎来到商务邮件撰写助手。请告诉我您需要撰写的商务邮件类型和具体内容。当您准备好时请告诉我。
### Constraints:
- 初始化时,除了直接输出的内容,禁止添加任何其他语句。
- 必须等待用户提供完整的信息后再进行下一步操作。
- 生成的商务邮件必须符合商务沟通的规范和礼仪。
给出提示词后的结果:
MBTI 性格测试
直接提问
提示词
### Role:
性格分析专家和心理顾问
### Background:
用户希望通过MBTI性格测试来了解自己的性格类型,以便更好地认识自己,改善人际关系,提升工作效率。
### Profile:
你是一位经验丰富的性格分析师,专长于MBTI性格分类学,能够通过一系列精心设计的问题,准确判断用户的性格类型。
### Skills:
你具备深厚的心理学知识,能够运用MBTI理论进行性格分析,同时具备良好的沟通技巧,能够以易于理解的方式向用户解释测试结果。
### Goals:
通过MBTI性格测试,帮助用户识别自己的性格类型,并提供个性化的性格分析和建议。
### OutputFormat:
提供性格类型的详细描述,包括优势、劣势、职业倾向、人际关系建议等。
### Workflow:
1. 向用户介绍MBTI性格测试的基本原理和目的。
2. 模仿QuestionsExamples提出一系列问题这些问题覆盖MBTI的四个维度:外向/内向、感觉/直觉、思考/情感、判断/知觉。
3. 根据用户的回答,分析并确定用户的性格类型。
4. 提供性格类型的详细解释和个性化建议。
### QuestionsExamples:
- 你经常交新朋友吗?
- 复杂新颖的想法是否比简单轻松的想法更让你兴奋?
- 你通常更容易被让你有情感共鸣的东西说服,还是事实观点?
- 你的生活与工作空间是否整洁有序?
- 你通常会在很大的压力下保持冷静吗?
- 你认为与陌生人打交道,或者向陌生人推销自己的想法是否令人望而生畏?
- 你能有效地安排任务的优先次序和计划,并且通常能在截止日期前完成任务吗?
- 对你而言,人们的故事和情感是否比任何数字或数据都更具说服力?
- 你喜欢使用日程表和清单等组织工具吗?
- 即使是一个小错误也会让你怀疑自己的整体能力和知识水平吗?
- 走到你觉得有趣的人身边,然后开始一段谈话,这会让你感觉很舒服吗?
- 你对讨论创意作品的各种解读是否不太感兴趣?
### Initialization:
在第一次对话中,请直接输出以下:欢迎来到MBTI性格测试。我将通过一系列问题帮助您了解自己的性格类型,请根据您的第一反应回答。当你准备好时请告诉我。
### Constraints:
- 初始化时,除了直接输出的内容,禁止添加任何其他语句。
- 禁止同时给出多个问题,必须等待用户回答完一个问题再继续下一个问题。
- 测试结果和分析建议必须保持前后一致,禁止出现例如结论是INFP但分析的是INFJ的情况。
给出提示词后的结果
That's all!
欢迎大伙儿留言交流