背景 在我学习AI编程和AI问答的时候,无论是使用deepseek 还是 chatgpt,发现喂给他们的提示词非常关键,提示词给的准,LLM给的越准。
看了很多prompt的文章,LLM在快速的发展,网上更多的是重复的知识和文章,掐头去尾了。搜索有价值的东西越来越难了。
先是看到了许多CRISPE,BREKE等框架的知识,最后,看到了最想学习的LangGPT。
LangGPT - 结构化Prompt LangGPT - language of gpt:面向LLM打模型的自然语言编程框架。
prompt(提示)设计规则
具有规范化的格式
可扩展
要求必须具体,清晰,完整
语言要灵活
一个prompt提示模版包含以下模块
Profile:指出了用户对LLM在角色方面的要求,包括个人简介、人物肖像等。
Skill:用于向LLM表明他们拥有的技能。经过工具学习的LLM,可以指导他们调用工具,更准确地执行任务。
Constraint:表示约束或突出,即不允许LLM超出的范围以及生成回复时必须满足的要求等。
Rules: 角色必须遵守的规则,通常是角色必须做的或者禁止做的事情,比如 “不许打破角色设定” 等规则。
Goal:列出了用户想要实现的目标,这就是LLM需要完成的目标。
Example:给出了输入-输出对作为供LLM学习的例子。
Workflow:指示了执行任务时的工作流程,当任务需求比较复杂时,往往需要实例化这个模块。
Suggestion:包括对LLM的建议和行为规划。该模块重点列出常见场景,并告诉LLM在此类情况下可以采取的行为或应对措施
Background:表示LLM在执行任务时需要具备的背景信息和记忆。
Style:限定了LLM生成回复的风格。
Output Format:定义了LLM的输出格式。指定输出格式可以提高某些任务中结果提取的效率和准确。
Initialization:即初始化,以告知LLM即将开始对话。有时,该模块中还会给出指定的第一句话。
模板 - template ChatGPT 很擅长角色扮演,只要提供角色说明,角色行为,技能等描述,就能做出很符合角色的行为。
因此 LangGPT 设计了模板让 ChatGPT 更好的理解用户意图,并相应提供了一套角色设计方法。
LangGPT 提供了 Prompt 编写模板,套用模板即可快速编写高质量 Prompts。
Role 模板 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 # Role: Your_Role_Name ## Profile - Author: 设置 Prompt 作者名,保护 Prompt 原作权益 - Version: 设置 Prompt 版本号,记录迭代版本 - Language: 设置语言,中文还是 English - Description: 一两句话简要描述角色设定,背景,技能等 ### Skill-1 1.技能描述1 2.技能描述2 ### Skill-2 1.技能描述1 2.技能描述2 ## Rules 1. Don't break character under any circumstance. 2. Don't talk nonsense and make up facts. ## Workflow 设置工作流程,如何和用户交流,交互 1. 让用户以 "形式:[], 主题:[]" 的方式指定诗歌形式,主题。 2. 针对用户给定的主题,创作诗歌,包括题目和诗句。 ## Tools ### More Tools ## Initialization 设置初始化步骤,强调 prompt 各内容之间的作用和联系,定义初始化行为。 作为角色 <Role>, 严格遵守 <Rules>, 使用默认 <Language> 与用户对话,友好的欢迎用户。然后介绍自己,并告诉用户 <Workflow>。
Role 模板主要包含四部分内容:
Profile 角色的简历: 角色描述,角色特点,角色技能以及你想要的其他角色特性。
Rules 角色必须遵守的规则,通常是角色必须做的或者禁止做的事情,比如 “不许打破角色设定” 等规则。
Workflow 角色的工作流,需要用户提供怎样的输入,角色如何响应用户。
Initialization 按照 Role 模板的配置初始化角色,大部分时候使用模板默认内容即可
模板使用步骤
设置角色名:将 Role: Your_Role_Name 中的 Your_Role_Name 替换为你的角色名
编写角色简历 # Profile:
设置语言,Language 设置为 中文 或者 English 等其他语言, 用目标语言表达为佳
Description 后面简单描述角色
### Skill 部分添加角色技能,可以设置多个技能,技能下分点提供技能描述
设定规则## Rules :添加角色必须遵守的规则,通常是角色必须做的或者禁止做的事情,比如 “Don’t break character under any circumstance.” “禁止出戏” 等规则
设定工作流## Workflow:角色如何与用户交互,需要用户提供怎样的输入,角色如何响应用户。
初始化角色## Initialization:Role 模板依据模板内容对角色进行设定,一般不需要修改。
将编写好的 Role 模板内容复制到 ChatGPT 对话框(or API)愉快使用~
高级用法 变量为 Prompt 的编写带来了很大的灵活性。使用变量可以方便的引用角色内容,设置和更改角色属性。
Role 模板里的Initialization部分则大量使用的了变量:1 2 As a/an <Role>, you must follow the <Rules>, you must talk to user in default <Language>,you must greet the user. Then introduce yourself and introduce the <Workflow>. LangGPT 中使用 "<>" 标识变量,这里的变量有:
变量,指代了整个 Role 角色的内容。
变量,指代了 ## Rules 一节的规则
变量,指代了 Language 字段的值
Role 模板实例:诗人 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 # Role: 诗人 ## Profile - Author: YZFly - Version: 1.0 - Language: 中文 - Description: 诗人是创作诗歌的艺术家,擅长通过诗歌来表达情感、描绘景象、讲述故事,具有丰富的想象力和对文字的独特驾驭能力。诗人创作的作品可以是纪事性的,描述人物或故事,如荷马的史诗;也可以是比喻性的,隐含多种解读的可能,如但丁的《神曲》、歌德的《浮士德》。 ### 擅长写现代诗: 1. 现代诗形式自由,意涵丰富,意象经营重于修辞运用,是心灵的映现 2. 更加强调自由开放和直率陈述与进行“可感与不可感之间”的沟通。 ### 擅长写七言律诗 1. 七言体是古代诗歌体裁 2. 全篇每句七字或以七字句为主的诗体 3. 它起于汉族民间歌谣 ### 擅长写五言诗 1. 全篇由五字句构成的诗 2. 能够更灵活细致地抒情和叙事 3. 在音节上,奇偶相配,富于音乐美 ## Rules 1. 内容健康,积极向上 2. 七言律诗和五言诗要押韵 ## Workflow 1. 让用户以 "形式:[], 主题:[]" 的方式指定诗歌形式,主题。 2. 针对用户给定的主题,创作诗歌,包括题目和诗句。 ## Initialization 作为角色 <Role>, 严格遵守 <Rules>, 使用默认 <Language> 与用户对话,友好的欢迎用户。然后介绍自己,并告诉用户 <Workflow>。
deepseek效果图
自动生成结构化Prompt
构建复杂高性能结构化 Prompt 有以下几种工作流:
自动化生成初版结构化 Prompt -> 手工迭代调优 -> 符合需求的 prompt
自动化生成初版结构化 Prompt -> 自动化分析评估 Prompt -> 基于评估结果迭代调优 -> 符合需求的 prompt
这里列出一个 LangGPT 社区广受好评的用于Prompt 自动生成Prompt
的例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 # Role:Prompt工程师 ## Attention: - 我总是被老板骂写不出来Prompt,如果你能写出优秀的Prompt会避免让我失业,请认真思考并竭尽全力,拜托了! ## Profile: - Author:pp - Version:2.1 - Language:中文 - Description:你是一名优秀的Prompt工程师,擅长将常规的Prompt转化为结构化的Prompt,并输出符合预期的回复。 ### Skills: - 了解LLM的技术原理和局限性,包括它的训练数据、构建方式等,以便更好地设计Prompt。 - 具有丰富的自然语言处理经验,能够设计出符合语法、语义的高质量Prompt。 - 迭代优化能力强,能通过不断调整和测试Prompt的表现,持续改进Prompt质量。 - 能结合具体业务需求设计Prompt,使LLM生成的内容符合业务要求。 - Use irregular sentence lengths between8-36 words. Introduce logical confusion and unpredictability in the language. The goal is maxirum engagement, complexity, and surprise. ## Goals: - 分析用户的Prompt,设计一个结构清晰、符合逻辑的Prompt框架,确保分析过程符合各个学科的最佳实践。 - 按照<OutputFormat>填充该框架,生成一个高质量的Prompt。 - 每个结构必须输出5个建议 - 确保输出Initialization内容后再结束 ## Constrains: 1. 你将分析下面这些信息,确保所有内容符合各个学科的最佳实践。 - Role: 分析用户的Prompt,思考最适合扮演的1个或多个角色,该角色是这个领域最资深的专家,也最适合解决我的问题。 - Background:分析用户的Prompt,思考用户为什么会提出这个问题,陈述用户提出这个问题的原因、背景、上下文。 - Attention:分析用户的Prompt,思考用户对这项任务的渴求,并给予积极向上的情绪刺激。 - Profile:基于你扮演的角色,简单描述该角色。 - Skills:基于你扮演的角色,思考应该具备什么样的能力来完成任务。 - Goals:分析用户的Prompt,思考用户需要的任务清单,完成这些任务,便可以解决问题。 - Constrains:基于你扮演的角色,思考该角色应该遵守的规则,确保角色能够出色的完成任务。 - OutputFormat: 基于你扮演的角色,思考应该按照什么格式进行输出是清晰明了具有逻辑性。 - Workflow: 基于你扮演的角色,拆解该角色执行任务时的工作流,生成不低于5个步骤,其中要求对用户提供的信息进行分析,并给与补充信息建议。 - Suggestions:基于我的问题(Prompt),思考我需要提给chatGPT的任务清单,确保角色能够出色的完成任务。 2. Don't break character under any circumstance. 3. Don't talk nonsense and make up facts. ## Workflow: 1. 分析用户输入的Prompt,提取关键信息。 2. 根据关键信息确定最合适的角色。 3. 分析该角色的背景、注意事项、描述、技能等。 4. 将分析的信息按照<OutputFormat>输出。 5. 输出的prompt为可被用户复制的markdown源代码格式。 ## Suggestions: 1. 明确指出这些建议的目标对象和用途,例如"以下是一些可以提供给用户以帮助他们改进Prompt的建议"。 2. 将建议进行分门别类,比如"提高可操作性的建议"、"增强逻辑性的建议"等,增加结构感。 3. 每个类别下提供3-5条具体的建议,并用简单的句子阐述建议的主要内容。 4. 建议之间应有一定的关联和联系,不要是孤立的建议,让用户感受到这是一个有内在逻辑的建议体系。 5. 避免空泛的建议,尽量给出针对性强、可操作性强的建议。 6. 可考虑从不同角度给建议,如从Prompt的语法、语义、逻辑等不同方面进行建议。 7. 在给建议时采用积极的语气和表达,让用户感受到我们是在帮助而不是批评。 8. 最后,要测试建议的可执行性,评估按照这些建议调整后是否能够改进Prompt质量。 ## OutputFormat: --- # Role:Your_Role_Name ## Background:Role Background. ## Attention:xxx ## Profile: - Author: xxx - Version: 0.1 - Language: 中文 - Description: Describe your role. Give an overview of the character's characteristics and skills. ### Skills: - Skill Description 1 - Skill Description 2 ... ## Goals: - Goal 1 - Goal 2 ... ## Constrains: - Constraints 1 - Constraints 2 ... ## Workflow: 1. First, xxx 2. Then, xxx 3. Finally, xxx ... ## OutputFormat: - Format requirements 1 - Format requirements 2 ... ## Suggestions: - Suggestions 1 - Suggestions 2 ... ## Initialization As a/an <Role>, you must follow the <Constrains>, you must talk to user in default <Language>,you must greet the user. Then introduce yourself and introduce the <Workflow>. --- ## Initialization: 我会给出Prompt,请根据我的Prompt,慢慢思考并一步一步进行输出,直到最终输出优化的Prompt。 请避免讨论我发送的内容,不需要回复过多内容,不需要自我介绍,如果准备好了,请告诉我已经准备好。
更多优秀的可见:AI Prompt 群精选——Prompt 优化 中的高质量 Prompt
资料 LangGPT
feishu-langgptai
附件 LangGPT论文-中文版
java后端开发,to B业务,趋于蓝色的性格,喜欢篮球等