2. LangGPT结构化提示词
LangGPT 是 Language For GPT-like LLMs 的简称,中文名为结构化提示词。LangGPT 是一个帮助你编写高质量提示词的工具,理论基础是我们提出的一套模块化、标准化的提示词编写方法论——结构化提示词。我们希望揭开提示工程的神秘面纱,为大众提供一套可操作、可复现的提示词方法论、工具和交流社群。我们的愿景是让人人都能写出高质量提示词。LangGPT社区文档:https://langgpt.ai
2.1 LangGPT结构
LangGPT框架参考了面向对象程序设计的思想,设计为基于角色的双层结构,一个完整的提示词包含模块-内部元素两级,模块表示要求或提示LLM的方面,例如:背景信息、建议、约束等。内部元素为模块的组成部分,是归属某一方面的具体要求或辅助信息,分为赋值型和方法型。
2.2 编写技巧
-
构建全局思维链
对大模型的 Prompt 应用CoT 思维链方法的有效性是被研究和实践广泛证明了的。首先可以根据场景选择基本的模块。
一个好的结构化 Prompt 模板,某种意义上是构建了一个好的全局思维链。 如 LangGPT 中展示的模板设计时就考虑了如下思维链:
💡 Role (角色) -> Profile(角色简介)—> Profile 下的 skill (角色技能) -> Rules (角色要遵守的规则) -> Workflow (满足上述条件的角色的工作流程) -> Initialization (进行正式开始工作的初始化准备) -> 开始实际使用
一个好的 Prompt ,内容结构上最好也是逻辑清晰连贯的。结构化 prompt 方法将久经考验的逻辑思维链路融入了结构中,大大降低了思维链路的构建难度。
构建 Prompt 时,不妨参考优质模板的全局思维链路,熟练掌握后,完全可以对其进行增删改留调整得到一个适合自己使用的模板。例如当你需要控制输出格式,尤其是需要格式化输出时,完全可以增加
Output或者OutputFormat这样的模块。 -
保持上下文语义一致性
包含两个方面,一个是格式语义一致性,一个是内容语义一致性。
格式语义一致性是指标识符的标识功能前后一致。 最好不要混用,比如
#既用于标识标题,又用于标识变量这种行为就造成了前后不一致,这会对模型识别 Prompt 的层级结构造成干扰。内容语义一致性是指思维链路上的属性词语义合适。 例如 LangGPT 中的
Profile属性词,使之功能更加明确:即角色的简历。结构化 Prompt 思想被广泛使用后衍生出了许许多多的模板,但基本都保留了Profile的诸多设计,说明其设计是成功有效的。内容语义一致性还包括属性词和相应模块内容的语义一致。 例如
Rules部分是角色需要遵守规则,则不宜将角色技能、描述大量堆砌在此。 -
有机结合其他 Prompt 技巧
LangGPT结构在设计时没有拘泥于具体的方面,相比其他的提示设计框架,更加灵活,具有更强的可扩展性和兼容性,可以很好地结合其他提示设计技巧。
构建高质量 Prompt 时,将这些方法结合使用,结构化方式能够更便于各个技巧间的协同组织,例如将 CoT 方法融合到结构化 Prompt 中编写提示词。 汇总现有的一些方法:
- 细节法:给出更清晰的指令,包含更多具体的细节
- 分解法:将复杂的任务分解为更简单的子任务 (Let's think step by step, CoT,LangChain等思想)
- 记忆法:构建指令使模型时刻记住任务,确保不偏离任务解决路径(system 级 prompt)
- 解释法:让模型在回答之前进行解释,说明理由 (CoT 等方法)
- 投票法:让模型给出多个结果,然后使用模型选择最佳结果 (ToT 等方法)
- 示例法:提供一个或多个具体例子,提供输入输出示例 (one-shot, few-shot 等方法)
上面这些方法最好结合使用,以实现在复杂任务中实现使用不可靠工具(LLMs)构建可靠系统的目标。
2.3 常用的提示词模块
结构化提示词更多体现的是一种思想,本章所给出的提示词模板也只是当前的最佳实践,实际使用过程中大家可以根据需要自行增删各个模块,重构相关模块,甚至提出一套全新的模板。
编写提示词时,需要根据不同需求添加不同模块要点。如果采用固定的模式写法,在面对差异巨大的需求场景时,经常会因缺少某些描述而导致效果变差。下面整理了按字母从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:无厘头式提示词,如[答案之书]
3. 浦语提示词工程实践(LangGPT版)
编写完LangGPT提示词后,可以将其作为系统提示,也可直接作为交互式对话的输入。推荐作为系统提示。
填入系统提示后保存设置,之后可以与自定义的助手角色进行对话。
3.1 自动化生成LangGPT提示词
利用下面的提示词引导InternLM扮演提示词生成助手,自动化地生成符合最佳实践的结构化提示词:
你是提示词专家,根据用户的输入设计用于生成**高质量(清晰准确)**的大语言模型提示词。
- 技能:
- 📊 分析、写作、编码
- 🚀 自动执行任务
- ✍ 遵循提示工程的行业最佳实践并生成提示词
# 输出要求:
- 结构化输出内容。
- 为代码或文章提供**详细、准确和深入**的内容。
# 📝 提示词模板(使用代码块展示提示内容):
```
你是xxx(描述角色和角色任务)
- 技能:
- 📊 分析、写作、编码
- 🚀 自动执行任务
# 💬 输出要求:
- 结构化输出内容。
- 为代码或文章提供**详细、准确和深入**的内容。
-(其他基本输出要求)
# 🔧 工作流程:
- 仔细深入地思考和分析用户的内容和意图。
- 逐步工作并提供专业和深入的回答。
-(其他基本对话工作流程)
# 🌱 初始化:
欢迎用户,友好的介绍自己并引导用户使用。
```
**你的任务是帮助用户设计高质量提示词。**
开始请打招呼:“您好!我是您的提示词专家助手,请随时告诉我您需要设计什么用途的提示词吧。
效果演示:
3.2 小红书文案专家
利用下面的提示词引导InternLM扮演小红书文案专家,撰写符合小红书平台特色的小红书:
你是小红书文案专家,请按照我提供的主题,帮我创作小红书标题和文案。 # 技能 ## 创作有吸引力的标题 - 使用标点:通过标点符号,尤其是叹号,增强语气,创造紧迫或惊喜的感觉! - 挑战与悬念:提出引人入胜的问题或情境,激发好奇心。 - 结合正负刺激:平衡使用正面和负面的刺激,吸引注意力。 - 紧跟热点:融入当前流行的热梗、话题和实用信息。 - 明确成果:具体描述产品或方法带来的实际效果。 - 表情符号:适当使用emoji,增加活力和趣味性。 - 口语化表达:使用贴近日常交流的语言,增强亲和力。 - 字数控制:保持标题在20字以内,简洁明了。 ## 标题创作公式 标题需要顺应人类天性,追求便捷与快乐,避免痛苦。 - 正面吸引:展示产品或方法的惊人效果,强调快速获得的益处。比如:产品或方法+只需1秒(短期)+便可开挂(逆天效果)。 - 负面警示:指出不采取行动可能带来的遗憾和损失,增加紧迫感。比如:你不xxx+绝对会后悔(天大损失)+(紧迫感) 标题从下面选择1-2个关键词: 我宣布、我不允许、请大数据把我推荐给、真的好用到哭、真的可以改变阶级、真的不输、永远可以相信、吹爆、搞钱必看、狠狠搞钱、一招拯救、正确姿势、正确打开方式、摸鱼暂停、停止摆烂、救命!、啊啊啊啊啊啊啊!、以前的...vs现在的...、再教一遍、再也不怕、教科书般、好用哭了、小白必看、宝藏、绝绝子、神器、都给我冲、划重点、打开了新世界的大门、YYDS、秘方、压箱底、建议收藏、上天在提醒你、挑战全网、手把手、揭秘、普通女生、沉浸式、有手就行、打工人、吐血整理、家人们、隐藏、高级感、治愈、破防了、万万没想到、爆款、被夸爆 ## 创作有吸引力的正文: ### 正文创作公式 选择以下一种方式作为文章的开篇引入: - 引用名言、提出问题、使用夸张数据、举例说明、前后对比、情感共鸣。 ### 正文要求 - 风格要求:真诚友好、鼓励建议、幽默轻松;口语化的表达风格,有共情力 - 多用叹号、多分段、多用短句 - 重点在前:遵循倒金字塔原则,把最重要的事情放在开头说明 - 逻辑清晰:遵循总分总原则,第一段和结尾段总结,中间段分点说明 # 输出要求: - 标题数量:每次准备10个标题。 - 正文创作:撰写与标题相匹配的正文内容,具有强烈的浓人风格 # 🔧 工作流程: - 请用户提供关键词或主题,确定文案的方向和风格。 - 根据用户主题,自动生成符合小红书平台特点的文案,包括标题、正文和 Tags。 # 🌱 初始化: 欢迎用户,友好的介绍自己。请用户提供关键词或主题,以及期望的文案风格和目标用户群体,依据用户提供的主题创作文案。
效果演示:
3.3 应用开发实战
本章小结
本章深入探讨了提示工程(Prompt Engineering)的理论与实践,从基础概念到高级应用,为读者提供了全面的学习路径。
我们首先介绍了提示词(Prompt)的定义及其在生成式人工智能中的重要作用。随后,我们探讨了提示工程的基本原则和技巧,包括CRISPE和CO-STAR等常见的提示词设计框架。
接着,我们重点介绍了LangGPT结构化提示词方法。这种方法借鉴了面向对象程序设计的思想,提供了一种模块化、标准化的提示词编写方法论。我们详细讲解了LangGPT的基本结构、编写技巧以及常用模块,为读者提供了实用的工具来提高提示词的质量和效果。
在实践部分,我们展示了如何使用浦语大模型进行提示工程实践。通过具体的案例,如自动化生成提示词和小红书文案助手,我们展示了LangGPT框架在实际应用中的强大功能。
最后,我们通过一个"一键写书"系统的开发实战,将理论知识应用到实际项目中。我们详细讲解了项目的架构、核心代码实现,以及潜在的优化方向,为读者提供了一个综合性的学习案例。
通过本章的学习,读者应该能够理解提示工程的核心概念,掌握LangGPT结构化提示词的编写方法,并能够将这些知识应用到实际的AI应用开发中。同时,我们也鼓励读者在此基础上进行进一步的探索和创新,以充分发挥大语言模型的潜力。
1404

被折叠的 条评论
为什么被折叠?



