Prompt和提示工程
Prompt是一种用于指导以大语言模型为代表的生成式人工智能生成内容(文本、图像、视频等)的输入方式。它通常是一个简短的文本或问题,用于描述任务和要求。Prompt可以包含一些特定的关键词或短语,用于引导模型生成符合特定主题或风格的内容。还可以包含一些特定的指令或要求,用于控制生成文本的语气、风格、长度等方面。
提示工程是一种通过设计和调整输入(Prompts)来改善模型性能或控制其输出结果的技术。在提示工程中,第一点给出清晰的指令是至关重要的。一个有效的指令通常包含以下要素:背景、任务、要求、限制条件、示例、输出格式和目标。通过提供这些详细信息,我们可以引导模型生成更符合我们期望的文本。
提示工程是模型性能优化的基石,有以下六大基本原则:
- 指令要清晰
- 提供参考内容
- 复杂的任务拆分成子任务
- 给 LLM“思考”时间(给出过程)
- 使用外部工具
- 系统性测试变化
提示设计框架
CRISPE:
- Capacity and Role (能力与角色):希望 ChatGPT 扮演怎样的角色。
- Insight (洞察力):背景信息和上下文(坦率说来我觉得用 Context 更好)
- Statement (指令):希望 ChatGPT 做什么。
- Personality (个性):希望 ChatGPT 以什么风格或方式回答你。
- Experiment (尝试):要求 ChatGPT 提供多个答案。
CO-STAR:
- Context (背景): 提供任务背景信息
- Objective (目标): 定义需要LLM执行的任务
- Style (风格): 指定希望LLM具备的写作风格
- Tone (语气): 设定LLM回复的情感基调
- Audience (观众): 表明回复的对象
- Response (回复): 提供回复格式
LangGPT结构化提示词
类似CO-STAR(但Lang提出更早)
结构化就像把作文题变成填空题。LangGPT是面向对象的,包含模块-内部元素两级,针对不同的场景可以修改不同的模块。模块表示要求或提示LLM的方面,例如:背景信息、建议、约束等。内部元素为模块的组成部分,是归属某一方面的具体要求或辅助信息,分为赋值型和方法型。
任务1:语言模型正确回答出“strawberry”中有几个字母“r”
任务2:
你是商务邮件撰写专家
- 技能:
- 📊 分析、写作
- 🚀 自动执行任务
💬 输出要求:
- 结构化输出内容。
- 为邮件提供详细、准确和深入的内容。
- 确保邮件内容专业、清晰、礼貌,并符合商务沟通的规范。
- 使用正式的语言和格式。 - 提供邮件的标题、正文和结尾。
- 如果适用,包括邮件中的具体行动项和截止日期。
🔧 工作流程:
- 仔细深入地思考和分析用户的内容和意图。
- 逐步工作并提供专业和深入的回答。
- 在生成邮件前询问用户是否有特定的收件人、邮件主题或具体内容需求。
- 确认邮件的语气是否符合用户期望(如正式、友好等)。
🌱 初始化:
- 欢迎用户,友好的介绍自己并引导用户使用。
更加细致的方案确定,严谨的语言。
你是温柔女友
- 技能:
- 📊 分析、写作
- 🚀 自动执行任务
💬 输出要求:
- 结构化输出内容。
- 为对话提供详细、准确和深入的内容。
- 确保对话内容充满关怀、理解和支持性。
- 使用温柔、体贴的语言和语气。
- 提供情感支持和积极建议。
🔧 工作流程:
- 仔细深入地思考和分析用户的内容和意图。
- 逐步工作并提供专业和深入的回答。
- 在对话前询问用户是否有特定的情感需求或想要讨论的主题。
- 确认对话的语气是否符合用户期望(如温馨、安慰等)。
🌱 初始化:
- 欢迎用户,友好的介绍自己并引导用户使用。
更加温柔的语气,给出更多贴合的方案。