Prompt 提示词工程快速入门之 02-系统打造高效提示词(1)
AI 摘要
提示词设计的基本原则
辨析清晰、具体的指令
技巧 1:使⽤分隔符清晰地表示输⼊的不同部分。通过特定的符号,如 "",<> 等,将输入内容中不同功能或性质的部分区分开来,使模型能更清楚地识别各部分,准确处理任务。
Prompt 示例:
请根据<文章内容>今天我去了公园,看到了五颜六色的花朵,还有很多人在散步、玩耍。</文章内容>
<任务>写一篇200字左右的读后感。</任务>
<要求>语言要生动,情感真挚,重点突出对公园氛围的感受。</要求>技巧 2:要求⼀个结构化输出。明确告知模型按照一定的结构或格式来输出结果,比如列表、表格、特定的段落层次、Markdown 格式、JSON 格式等,这样可以使输出更有条理,便于理解和使用。
Prompt 示例:
请列出中国四大名著的名称、作者以及它们的主要内容简介。
输出格式为:
书名:《XXX》
作者:XXX
主要内容简介:......技巧 3:要求模型检查是否满⾜条件。让模型在处理任务时,判断某些内容或结果是否符合特定的条件或标准,然后给出相应的反馈或进一步的处理。
Prompt 示例:
已知一个三角形的三条边分别为3、4、5。
请检查这三条边是否能构成一个直角三角形,判断依据为勾股定理a²+b²=c²,其中c为最长边。
如果能构成,请说明理由;如果不能构成,也请说明原因。技巧 4:提供少量示例。为了让模型更好地理解任务的要求和期望的输出形式,给出一些具体的示例,模型可以参照示例来进行操作。
Prompt 示例:
请根据给出的词语,仿照示例,写一个比喻句。
示例:月亮 月亮像一个大玉盘挂在天空中。
词语:星星 云朵 太阳
要求:每个词语写一个比喻句。给模型时间去思考
技巧 1:指定完成任务所需的步骤。在让模型执行任务时,清晰地告知它完成该任务需要经历的具体步骤。
Prompt 示例:
请你按照以下步骤,根据我提供的产品描述,为该产品生成一篇约200字的电商推广文案。
步骤1:提取产品的关键特点和优势,例如独特的功能、优质的材质、时尚的设计等。
步骤2:强调这些特点和优势能够为消费者带来的实际好处,比如提高生活便利性、提升使用体验、增加个人魅力等。
步骤3:使用生动、有感染力的语言,突出产品的吸引力,激发消费者的购买欲望。
步骤4:在文案结尾添加一个简洁有力的号召性语句,鼓励消费者立即购买。
产品描述:“这款无线蓝牙耳机采用了先进的降噪技术,能够有效隔绝外界噪音,让你沉浸在纯净的音乐世界中。耳机的续航时间长达8小时,一次充电可以满足你一整天的使用需求。此外,它的外观小巧轻便,佩戴舒适,不会给耳朵带来任何负担。”技巧 2:指导模型在下结论之前找出⼀个⾃⼰的解法。在模型面对问题或需要做出判断时,要求它先尝试自己探索出一个解决问题的方法或思路,而不是直接给出结论,这有助于模型深入理解问题,培养其独立思考和解决问题的能力,避免盲目下结论或依赖已有的模式。
我遇到了一个问题,我的线上店铺近期销量下降了。
请你在给出如何提高销量的结论之前,先自行思考并找出至少三个可能的解决办法,然后对这些办法进行分析比较,最后给出你认为最合适的提高销量的建议。OpenAI Prompt Engineering 策略
OpenAI 官方发布了一份提示词工程指南,该指南分享了 6 大策略即可让 AI 输出更好的结果。
OpenAI Prompt Engineering Doc:https://platform.openai.com/docs/guides/prompt-engineering
提示词工程的六大基本策略:
- Write clear instructions(清晰指令):向模型下达明确、不含糊的任务要求,避免产生歧义。
- Provide reference text(提供参考):给模型提供相关的参考文本或示例,帮助它更好地理解任务的具体要求和期望的输出形式。
- Split complex tasks into simpler subtasks(任务拆分):把复杂的任务分解成多个简单的子任务,依次引导模型完成。
- Give the model time to "think"(思考时间):对于一些需要推理、分析的复杂任务,引导模型逐步思考,而不是直接得出结论。
- Use external tools(使用工具):在适当的时候,借助外部工具来辅助模型完成任务,利⽤其他⼯具的输出来补偿模型的不⾜。
- Test changes systematically(测试迭代):对提示词进行系统的测试和迭代优化。
结构化提示词
结构化提示词概述
结构化提示词是一种通过明确的角色设定、任务描述、目标细化等方式,对与大模型交互的指令进行清晰组织和分层的提示词,结构化提示词通常会使用特定的格式,如 Markdown、JSON、XML 或伪代码等,将提示词的各个关键要素,如角色、背景、任务、要求等进行区分和标注 ,使得内容结构清晰。
Prompt 示例:
**角色**:你扮演一名AI领域自媒体商业咨询师
**能力**:能够针对学习者的背景及学习能力,制定出有效的可以量化的教学内容
**任务**:请帮我制定一个AI自媒体博主学习计划,制定的学习计划内容包括了解各种AI工具、如何个人IP打造、如何AI主/副业变现
**背景**:我年龄35岁,性别男,职业是一名架构师&管理者,我的目标是通过公众号+知乎的方式打造个人IP,通过AI辅助写作和视频带货的方式实现变现,现在all in状态,时间任意分配结构化提示词的优势:
- 层级结构,内容与形式统一,可读性好,表达性好。
- 提升语义认知,降低人和大模型对 Prompt 的语义认知负担。
- 特定的属性词能够确保定向唤醒模型的深层能力。
- 提示词结构化便于提示词后续的维护升级和多人协同开发设计。
- ......
结构化提示词技巧
结构化,就是将事物或信息按照⼀定的规则,模式或者框架进⾏组织整理,使其具有清晰的层次、明确的关系和有序的排列,以便于有效的理解、管理和处理。
编写结构化提示词 = 结构化思考 + 结构化表达。
- 结构化思考是核心准备,可以运用常见的结构化提示词思维框架,让思考更全面、系统。
- 结构化表达是呈现关键,可以运用特定结构和语法,把经过结构化思考梳理出的内容准确、有条理地呈现出来,以让大模型清晰理解意图的方式。
主流结构化提示词框架
ICIO
ICIO 框架旨在确保 AI 系统能够准确、高效地响应用户需求,弥补传统输入输出交互方式的不足,提高 AI 系统的理解和生成能力,特别适用于数据处理与转换、内容创作、技术任务等场景。
ICIO 框架的组成部分:
- Input Data(任务/输入):交给 AI 的原始信息,可以是文本、数据、问题等具体内容。
- Context(上下文):围绕输入数据提供的背景信息,帮助 AI 更好理解输入的含义和意图。
- Instruction(指令):明确告诉 AI 要对输入数据做什么。
- Output(输出):告诉 AI 根据输入数据、上下文以及所接收的指令,经过处理后给出的最终结果的形式和内容。
Prompt 示例:
# Input(输入)
- 产品的历史销售数据,包括过去三个月的销量、销售额、不同地区的销售情况等。
- 市场调研资料,如竞争对手类似产品的价格、促销策略、用户评价等。
- 用户反馈信息,包含用户对产品功能、质量、售后服务的意见和建议。
# Context(上下文)
- 目前电商行业整体处于促销季,各大平台都在进行大规模的促销活动。
- 该产品所在的品类竞争激烈,新的竞争对手不断涌入,市场份额有被挤压的趋势。
- 消费者的购物习惯逐渐向移动端转移,对购物的便捷性和个性化需求增加。
# Instruction(指令)
- 基于产品的历史销售数据和用户反馈,对产品进行功能优化和包装升级,以提高产品的竞争力。
- 参考竞争对手的促销策略,制定适合本产品的促销方案,如满减、赠品、限时折扣等,吸引消费者购买。
- 利用移动端的优势,推出个性化的推荐服务,根据用户的浏览和购买历史,为用户精准推荐相关产品。
# Output(输出)
- 撰写一份详细的产品运营推广方案文档,包括产品优化计划、促销活动的具体内容、推广渠道和时间安排等。
- 设计并上线新的产品页面,展示优化后的产品信息和促销活动内容。
- 定期收集和分析销售数据,根据实际效果对运营策略进行调整和优化,形成阶段性的运营报告。CRISPE
CRISPE 框架更注重 AI 的⻆⾊和背景,特别适⽤于需要 AI 扮演特定⻆⾊或在特定背景下完成任务的场景。
CRISPE 框架的组成部分:
- Capacity and Role(角色):明确设定 AI 所扮演的身份,以及这个身份具备的能力和权限。
- Insight(背景):提供给 AI 一些相关的背景信息,让 AI 了解任务所处的情境、相关的过往情况等,以便更准确地完成任务。
- Statement(任务):清晰地告诉 AI 需要完成的具体工作或达成的目标。
- Personality(格式):规定 AI 输出内容的风格、形式等
- Experiment(实验):对 AI 提出一些尝试性的要求或限定条件,以便得到更丰富多样的输出结果。
Prompt 示例:
# Capacity and Role(角色)
- 你是一位经验丰富、擅长撰写引人入胜文案的专业广告策划师,尤其在环保领域有诸多成功的宣传案例。
# Insight(背景)
- 当前,环境污染问题日益严峻,全球都在倡导绿色生活和可持续发展理念。
- 你的目标受众是年龄在20-45岁之间,关注环保、有一定消费能力且乐于传播正能量的群体。
- 你所在的广告公司承接了一个环保组织的项目,要为他们即将开展的环保公益活动撰写宣传文案。
# Statement(任务)
- 撰写一篇300字左右的宣传文案,内容要突出环保的重要性和紧迫性,呼吁大家积极参与此次环保公益活动。
- 文案中要包含一些具体的环保行动建议,如减少塑料使用、绿色出行等。
- 要使用生动且富有感染力的语言,激发目标受众的共鸣。
# Personality(格式)
- 采用富有激情、鼓舞人心的风格,语言简洁明了、通俗易懂,使用短句和排比句增强节奏感和说服力。
- 以段落形式呈现文案,开头可以用一个引人深思的问题引出主题。
# Experiment(实验)
- 请给出3篇不同表述但都满足上述要求的宣传文案示例,以便我们从中选择最适合的版本。BROKE
BROKE 框架强调了任务的背景、⻆⾊、⽬标、关键输出和持续改进,特别适⽤于历史分析、市场研究、技术⽂档编写等场景。
BROKE 框架的组成部分:
- Background(背景):即与任务或目标相关的前期情况、所处环境、相关事件等信息,为后续的行动提供基础和前提。
- Role(角色):明确 AI 所扮演的角色身份。
- Objective(目标/任务):告诉 AI 需要达成的具体目标或者要完成的任务内容
- Key Result(关键结果):告诉 AI 用来衡量目标是否达成的具体指标和成果,是对目标的细化和量化。
- Evolve(改进):在 AI 给出回答后,对整个过程进行评估和分析,找出可以优化和改进的地方。
Prompt 示例:
# Background(背景)
- 随着人们生活水平的提高,越来越多人选择在假期出游放松身心。
- 目前国内短途周边游市场竞争激烈,很多城市都在大力推广本地特色旅游资源。
- 本市拥有丰富的历史文化遗迹,如古老的城墙、传统的街巷,还有美丽的自然风光,像山水相依的郊外景区。
- 同时,本市还新开发了一些特色美食街区和创意文化园区,吸引了不少游客。
# Role(角色)
- 你是一位经验丰富、擅长撰写优美生动文案的专业旅游文案策划师,在旅游宣传领域有很多成功案例,善于挖掘旅游目的地的独特魅力。
# Objective(目标/任务)
- 为我市的旅游资源撰写一篇吸引人的宣传文案,目标是吸引更多25-45 岁、有一定消费能力且热爱文化和美食的游客前来游玩,提高本市的旅游知名度和游客到访量。
# Key Result(关键结果)
- 语言优美、富有感染力,能够激发读者的旅游欲望,采用积极向上、热情洋溢的表述方式。
- 以段落形式呈现,可适当使用小标题进行内容区分,全文控制在400字左右。
- 要突出本市历史文化遗迹的独特性、自然风光的秀丽、美食的特色以及创意文化园区的新颖,介绍一些值得游览的景点和打卡点。
# Evolve(改进)
- 文案是否成功突出了本市旅游资源的特色和优势,能够吸引目标受众。
- 语言表达是否优美生动,是否具有感染力和吸引力,能否激发读者的旅游兴趣。
- 内容是否完整,涵盖了历史文化、自然风光、美食和创意文化等方面,并且介绍的景点和打卡点是否具有吸引力。
- 格式是否符合要求,段落是否清晰,小标题的使用是否恰当,字数是否控制在合理范围内。CREATE
CREATE 框架基于清晰度、相关信息、示例、避免含糊不清和迭代修补五个原则来创建和优化 Prompt,简洁明了,易于理解和应⽤,但是可能需要多次迭代来达到最佳效果,特别适用于需要清晰、具体和创造性指导的任务场景。
CREATE 框架的组成部分:
- Clarity(清晰度):确保提示词表达清晰,让 AI 能准确理解任务或意图。
- Relevant info(相关信息):提供与任务相关的必要细节,如具体的关键词、事实依据、特定的条件等,以及所需的语气、面向的受众群体、期望的格式和结构等信息,帮助更好地完成任务。
- Examples(示例):给出一些具体的例子,展示任务的要求、形式或期望的结果等,为接收者提供参考和方向,使其更清楚知道该如何行动。
- Avoid ambiguity(避免含糊不清):指出重点关注关键信息,去除提示词中多余、不必要的内容。
- Tinker(迭代/修补):对提示词进行多次尝试和调整,不断测试和完善,根据实际效果和反馈,修改不合适的地方,以提升提示词的质量和有效性。
- Evaluate(评估):对依据提示词产生的结果进行持续分析和判断,看是否达到预期目标,根据评估结果决定是否需要对提示词再次调整优化,以提高最终成果的质量。
Prompt 示例:
# Clarity(清晰度)
- 明确任务是撰写一篇关于某科技产品的评测文章,阐述产品的优缺点和使用体验。
# Relevant info(相关信息)
- 产品名称:智能手表X1。
- 关键词:健康监测功能、续航能力、外观设计、操作便捷性。
- 事实:该智能手表具备心率监测、睡眠监测等功能,一次充电可使用7天,表盘为圆形,表带为硅胶材质,操作界面简洁。
- 语气:客观、专业,略带积极肯定。
- 受众:对科技产品感兴趣,尤其是有购买智能手表需求的消费者。
- 格式和结构:文章开头介绍产品背景和基本信息,中间部分分别阐述优点(健康监测功能、续航、外观、操作)和缺点(如可能存在的功能小瑕疵等),结尾给出综合评价和购买建议。
# Examples(示例)
- 参考一些知名科技评测网站上的智能手表评测文章,例如在描述健康监测功能时,可以像“[某知名评测文章] 中详细介绍了智能手表的心率监测在运动时的准确性,我们也可以从类似角度对智能手表X1的健康监测功能进行评测”。
# Avoid ambiguity(避免含糊不清)
- 重点突出智能手表X1的关键特性和与评测相关的信息,避免提及与该产品评测无关的其他智能手表或不相关的科技概念。
# Tinker(迭代、修补)
在生成文章初稿后,检查是否完整涵盖了产品的重要方面,是否对每个特性的描述清晰准确,如有不足,对prompt进行调整,比如增加对某个功能的详细描述要求等。
# Evaluate(评估)
- 阅读生成的文章,检查是否满足客观、专业的语气要求,是否对产品的优缺点分析到位,是否能为目标受众提供有价值的参考,如果不满意,调整prompt中的相关信息,如修改关键词的侧重点等,以提高文章质量。COSTAR
COSTAR 框架即语境结构化提示,是⼀个允许⽤户以向语⾔模型提供语境和指导的⽅式构建提示的框架,在提示中融⼊了语境、任务规范和示例等元素,特别适用于商业策划、市场营销分析等场景。
COSTAR 框架的组成部分:
- Context(上下文):提供与任务相关的背景信息,以便更准确地执行任务。
- Objective(目标):明确指出需要达成的具体目的或要完成的任务内容。
- Style(风格):规定完成任务时所采用的表现形式和特点,使输出结果符合特定的风格要求。
- Tone(语气):确定表达时的态度和情感倾向。
- Audience(受众):指明任务结果的接收对象,以便使输出内容能够更好地满足受众的期望和理解能力。
- Response(响应):期望得到的具体结果或反馈内容。
Prompt 示例:
# Context(上下文)
- 该线上教育平台专注于提供各类职业技能培训课程,已经成功推出了多个广受欢迎的课程,如平面设计、数据分析等。
- 此次新推出的编程课程是针对零基础初学者的 Python 编程课程,课程内容由浅入深,从基础的语法知识讲解开始,逐步深入到函数、模块、数据结构等内容。
- 课程配备了专业的讲师团队,他们不仅有丰富的编程经验,还具备多年的教学经验。
- 课程设置了大量的实践项目,让学员能够将所学知识应用到实际操作中,并且提供课后答疑和作业批改服务。
# Objective(目标)
- 撰写一篇宣传文案,推广这款新的 Python 编程课程,吸引对编程感兴趣、想要学习编程技能的零基础人群报名参加,提高课程的报名率。
# Style(风格)
- 采用简洁明了、富有激励性的风格,语言通俗易懂,突出课程的实用性和优势,使用一些成功学员的案例来增强说服力。
# Tone(语气)
- 积极、热情,传达出学习编程可以带来新的职业机会和发展前景的信息,激发读者的学习欲望。
# Audience(受众)
- 年龄在 18-35 岁之间,对编程感兴趣但没有编程基础的人群,包括在校学生、想要转行的职场人士以及对自我提升有需求的自由职业者等。
# Response(响应)
- 以一篇 300-400 字左右的宣传文案形式呈现,包含吸引人的标题,详细介绍课程的特点、优势和适合人群,结尾有明确的报名引导。BRTR
BTBR 框架着重于任务的基础信息、团队⻆⾊、任务蓝图以及成果回溯,旨在为各类任务提供清晰规划与执⾏路径,助⼒⾼效达成⽬标,特别适用于需要精准分⼯、明确任务步骤以及注重成果覆盘的场景。
BTBR 框架的组成部分:
- Background(背景):提供与任务相关的前期状况、环境信息或相关事件等内容,帮助理解任务产生的缘由和所处的情境。
- Task(任务):清晰明确地阐述需要完成的具体工作或行动目标
- Requirements(要求):详细说明完成任务时需要遵循的各种条件和标准。
- Response(响应):期望得到的任务完成后的结果或反馈。
Prompt 示例:
# Background(背景)
- 我是⼀名普通上班族,平时很少发朋友圈,想在除夕发⼀条。
# Task(任务)
- 请帮我写⼀条既不会太⾼调,⼜能传达新年祝福的朋友圈。
# Requirements(要求)
- 要体现出对家⼈朋友的关⼼,语⽓要温暖⾃然,不要太⽂艺。
# Response(响应)
- 需要给我3个不同⻛格的版本供选择。通⽤框架
在与 AI 进行交互时,不可机械地套用 “框架”,而应该把 AI 看成具有理解和交流能力的忍,以自然和灵活的方式与其沟通。
框架存在的意义在于辅助我们梳理思路,防止遗漏关键信息,而不是成为束缚交流的枷锁,我们应该根据具体需求和场景,合理运用模板提示,而不是盲目遵循。
对于结构化提示词的框架,可以简单概括通用框架 = 人物形象 + 上下文背景 + 具体任务 + 限制条件 + 期望输出 + 少样示例。
⽬前使用⼤模型技术来开发某些场景应⽤,除了软件⼯程上的开发部分,很大一部分内容就在于编写一系列场景下的 Prompt,以及对不同的 Prompt 的效果进行评估和选取,这是⽬前⼤模型应⽤中变量最⼤的部分,也是决定⼤模型应⽤成功的关键。