提示(Prompt)是您输入给大模型(LLM)的文本信息,用于明确地告诉模型您想要解决的问题或完成的任务,也是大语言模型理解用户需求并生成相关、准确回答或内容的基础。 为了帮助您更高效地使用 LLM ,本指南为您提供一系列实用的技巧,帮助您设计和优化 Prompt。
使用百炼优化 Prompt
使用百炼 Prompt 一键优化工具
百炼提供了 Prompt 一键优化工具。能针对输入的提示(Prompt)进行自动扩写和细节添加,推荐您先将 Prompt经过优化工具扩写改进,再接着综合运用本文的其他优化技巧。
Prompt优化功能通过调用大模型实现,需要消耗一定量的Token,按照通义千问-Plus 推理费用计费。
优化样例:
优化前 Prompt | 优化后 Prompt |
我想推广公司的新产品。我的公司名为百炼,新产品名为 Zephyr Z9,是一款轻薄便携的手机。帮我创建一条微博帖子。 | 请为我司“百炼”最新推出的“Zephyr Z9”轻薄便携手机设计一条吸引眼球的微博推广帖。 内容需彰显Zephyr Z9的独特卖点,如极致轻薄设计、高性能配置及用户便利性,同时融入创意元素以提升观众兴趣和互动意愿。 记得提及品牌声誉,激发受众好奇心,引导他们探索更多产品信息或直接进行购买。 贴文应简洁有力,符合微博平台的风格与字数限制,适宜社交媒体传播。 |
你是一位资深PHP编程专家,现在接到一个明确的开发任务。诉求是:${require}。请使用PHP语言详细描述一种实现该诉求的算法或方法,并考虑在实现过程中可能遇到的边界情况和错误处理,以及如何通过高效且安全的代码来满足此需求。 | 作为一位经验丰富的PHP编程专家,您面临的具体开发任务为:${require}。 请运用您的专业知识,详细阐述一种利用PHP实现该任务需求的高效算法或方法论。 在您的描述中,请务必涵盖以下几点: - 具体实现步骤,包括必要的函数、类及数据结构的选择与设计。 - 边界条件分析,识别并解释潜在的边缘案例及如何妥善处理这些情况。 - 错误处理机制,描述如何在代码中实施健壮的错误检测与异常处理逻辑,以确保程序稳定性。 - 安全性考量,讨论可能的安全威胁及推荐的防范措施,确保代码执行过程中的数据安全与隐私保护。 - 性能优化建议,提出提高代码执行效率的方法,包括但不限于算法优化、资源管理和缓存策略。 请确保您的解答不仅技术准确,而且条理清晰、易于理解,以便其他开发者能够快速掌握并应用于实际项目中。 |
Prompt 设计和优化
想象一下,如果您在给一个同事指派工作任务时,只给了一句话来描述需求,他的任务完成效果可能很难达到您的预期。但如果您提供了明确的目标、建议的思考方向和执行策略等更多参考信息,他更有可能以高标准完成任务。
使用 LLM 也一样,您的任务描述(Prompt)直接决定了 LLM 执行任务的效果。
技巧一:明确背景和目标
为了系统化地向 LLM 提供明确背景和目标,这里推荐您使用 Prompt 框架规范化您的 Prompt。该框架用于帮助您方便、快速地设计 Prompt 结构。该模板充分考虑了会影响 LLM 输出有效性和相关性的各个方面,能显著提升模型表现。
其内容组成为:(当您不确定如何编写框架各元素的具体内容,不妨将一些关键词交给百炼 Prompt 优化工具进行扩写。)
背景:介绍与任务紧密相关的背景信息。这一环节有助于LLM深入理解讨论的具体环境,从而保证其生成内容与话题高度相关。
目标:明确指出您期望LLM完成的具体任务。通过设定清晰、精确的目标指令,可引导LLM聚焦于实现既定任务,提升输出的有效性。
风格:指定您希望 LLM 输出的写作风格,可以是某个具体名人、具体流派或者某类专家的写作风格。
语气:定义输出内容应有的语气,比如正式、诙谐、温馨关怀等,以便适应不同的使用场景和使用目的。
受众:明确指出内容面向的读者群体,无论是专业人士、入门学习者还是儿童等,这样LLM就能调整语言和内容深度,使之更加贴合受众需求。
输出:规定输出内容的具体形式,确保LLM提供的成果能直接满足后续应用的需求,比如列表、JSON数据格式、专业分析报告等形式。
未使用 Prompt 框架 | 使用 Prompt 框架 | |
Prompt | 我想推广公司的新产品。我的公司名为百炼,新产品名为 Zephyr Z9,是一款轻薄便携的手机。帮我创建一条微博帖子,简洁而深具影响力。 | #背景# 我想为公司的新产品做广告。我公司的名字叫百炼,产品叫百炼 Zephyr Z9,是一款轻薄便携的手机。 #目的# 为我创建一个微博帖子(限制:500字),旨在让人们有兴趣点击产品链接购买。 #风格# 遵循黑米等成功公司为类似产品做广告的写作风格。 #语气# 有说服力 #受众# 我公司在微博上的受众通常是年轻一辈人。定制你的帖子,保证喜欢数码产品的人能快速关注到你的帖子。 #输出# 微博上的帖子,简洁而有影响力。 |
输出 | 【轻启未来,风起云涌】 百炼新品,Zephyr Z9震撼上市! 携手Zephyr Z9,让科技与轻盈同行。这不仅是一部手机,它是你探索世界的轻便伴侣。厚度挑战极限,设计引领风尚,Z9在手中,灵感随时迸发。 超越想象的性能,搭载极速处理器,流畅如风,无论是工作狂飙还是游戏征途,Zephyr Z9都是你的首选座驾。续航强劲,让每一份热情持续燃烧! 捕捉生活每一刻,Z9相机创新升级,夜景、人像、广角,每一拍都是封面大片,让美好记忆永不褪色。 Trees 轻薄,重在体验。#百炼ZephyrZ9# ,为不凡而生,为你而来。立即拥抱未来,开启属于你的轻盈科技时代! 官方网站:[www.bailian.com/Z9] (请替换为实际网址) #轻薄旗舰 #科技新风尚 #掌中艺术品 | 【独家揭秘】百炼Zephyr Z9,轻薄界的颠覆者来了! 在这个快节奏的时代,每克重量都是对自由的负担。百炼深谙此道,匠心打造了Zephyr Z9——一款专为追求极致轻盈与强大性能平衡的你而生的手机!悬浮般的手感,一触难忘! 【超薄设计,尽在掌握】 Zephyr Z9以其令人惊叹的纤薄机身,重新定义了“轻薄”。仅X.Xmm的厚度,轻松滑入口袋,是你日常出行的完美伴侣。携带它,就像带着未来穿梭于都市丛林! 【顶尖配置,性能怪兽】 别看它轻,内核全是硬实力!搭载最新的XXXX处理器,流畅度爆表,无论是多任务处理还是大型游戏,Z9都能游刃有余,让你时刻处于科技最前沿。 【摄影大师,记录生活】 配备XXMP超感光镜头,夜晚也清晰。AI智能场景识别,让每一张照片都堪比大片。用Zephyr Z9,记录每一个不凡瞬间,让你的朋友圈从此与众不同。 【续航无忧,能量满满】 小身材,大能量!Zephyr Z9内置高效能电池,搭配XXX快充技术,片刻充电,长久陪伴。告别电量焦虑,你的创意和灵感不再受限。⚡ 【限时福利,不容错过】 前100名通过链接购机的用户,将享受神秘大礼包!包含定制保护壳、XXX会员年卡等多重好礼,只为尊贵的你! 立刻行动,让百炼Zephyr Z9成为你探索世界的全新伙伴!点击下方链接,开启轻盈新纪元! [立即抢购百炼Zephyr Z9] [产品链接] #百炼ZephyrZ9 #轻薄旗舰 #科技美学 #数码潮流 #性能怪兽 |
在未使用 CO-STAR 框架时,LLM 输出虽表现尚可,但显得过于泛化,缺乏必要的细节和针对特定群体的吸引力。而在使用CO-STAR 框架时,框架不仅提醒您考虑需求的其它方面,特别是一般 Prompt 中缺少的风格、语气和受众,还帮助 LLM 生成更针对年轻群体、细节更多、语言表达更加富有张力的输出。
技巧二:为模型提供输出样例
在 Prompt 中提供您期望的输出示例,可以让 LLM “模仿”我们所要求的规范、格式、概念、文法、语气进行输出。同时,提供样例可以让大模型多次输出的结果更一致,从而稳定模型表现。
未添加样例 | 添加样例 | |
Prompt | #背景# 你很擅长编写小红书种草笔记,喜欢增加丰富的emoji元素。 #目的# 请生成一篇小红书种草笔记,推广强森吹风机。吹风机的优点是:体积小、高颜值、风力大、干的快、智能控温不伤发。 #受众# 喜欢追求时尚的年轻人,尤其是年轻女性 #输出# 小红书文章格式,充满emoji元素,简洁但内容充实 | #背景# 你很擅长编写小红书种草笔记,喜欢增加丰富的emoji元素。 #目的# 请生成一篇小红书种草笔记,推广强森吹风机。吹风机的优点是:体积小、高颜值、风力大、干得快、智能控温不伤发。 #受众# 喜欢追求时尚的年轻人,尤其是年轻女性 #输出# 小红书文章格式,充满emoji元素,简洁但内容充实 #语气与风格#
|
输出 | 标题:强森小巧魔力风机,速干护发新宠儿 正文: Hey宝贝们!今天要给你们种草一颗美发界的璀璨新星 —— 强森吹风机!它不仅仅是个工具,简直是随身携带的美发沙龙 体积小巧,旅行必备 首先,它的迷你身材直接击中我心!旅行包包再满也能轻松塞进,不占空间,随时随地凹造型 高颜值,时尚出街 看这设计,简直就是艺术品呀!无论是极简白还是高级粉,拿在手里就是街头最靓的崽!手机?不,这是我的新时尚配饰 风力强劲,速干神器 别看它小,风力可一点都不含糊!早上赶时间?强森帮你5分钟搞定出门发型,效率MAX! 干得快,还护发 智能控温技术,温柔呵护你的每一根秀发。告别热损伤,只留下柔顺光泽,每次吹发都像做了次沙龙护理~ 智能控温,细心之选 懂你的不只是风力,还有温度。根据发质自动调节最适宜的热量,守护秀发健康,长期使用也不怕伤发 总之,强森吹风机就是那个能让你爱不释手的小可爱!赶紧加入购物车,给你的美丽加速吧! #强森吹风机 #美发达人 #快速护发秘籍 标记你的朋友,让她们也来感受这份轻巧与高效吧! 记得,爱护自己从“头”开始,强森与你一起,绽放自信光彩! | 吹风机也能成为美发时尚单品?强森小钢炮告诉你答案! 自从我用了强森吹风机,不仅旅行包轻便多了,每次吹发都变成享受时光!用了几次后,朋友们都夸我发质看起来好了不止一个度,就像刚从沙龙出来的样子。它绝对是短途出游或宿舍生活的完美伴侣哦!适合所有追求高效护发的宝贝们~ 面对湿漉漉的长发瀑布,每次都得耗时半小时以上?别怕,强森智能控温科技来了!它能迅速吹干每一根发丝,而且风力强劲却不伤发,秘密就在于它能智能调节温度,保护你的秀发不受热损伤。从此,快速出门不再是梦! 我一直认为,好的造型工具是美丽态度的体现。强森这枚高颜值吹风机不单是个工具,更是梳妆台上的一件艺术品。每次用它吹发,都像是在进行一场个人风格的仪式感升级。不妨也给自己来点这样的小奢侈,毕竟,美好的一天从头开始嘛! 记得那次临时接到晚宴邀请,急匆匆从健身房出来,头发还滴着汗。正当焦虑之际,幸好有强森吹风机紧急救援!我迅速将湿润的乱发吹整得服服帖帖,走进宴会厅的那一刻,自信满满,好像刚做完高级沙龙护理似的。多亏了这小巧却强大的美发神器,我的美丽不再受限于时间! 快来把这吹风机界的时尚小钢炮加入购物车吧!让我们一起做个风一样的女子,优雅又效率,从头开始闪耀每一天! #强森吹风机 #高颜值美发神器 #智能护发新体验 #速干不伤发 #时尚必备 |
观察输出您可以发现,LLM 学习了样例的要求并针对性地生成了符合格式要求的种草文。
技巧三:使用分隔符号区分内容单元
在构建复杂的 Prompt 时,采用特定的分隔符来界定不同内容单元是极为关键的,这一做法显著增强了 LLM 对 Prompt 正确解析的能力。随着任务复杂度的增加,合理利用分隔符越能提升 LLM 的表现。
分隔符的选择应着眼于那些在自然语言文本中罕见的、独特的字符组合,例如:###
、===
、>>>
等。这些特殊符号序列并无固定规则,关键在于其辨识度高,确保模型能够明确区分这些符号是作为内容区域的界限标识,而非文本中的普通标点或语法组成部分。
未使用分隔符 | 使用分隔符 | |
Prompt | 请简短总结以下影评。 曾经意气风发的张志强在生活的重压下,中年“失速”偏离了原本的生活轨迹,一时意气用事的决定,让他瞬间从家人的“小骄傲”变成了社会的“边角料”。然而,他未曾料到,这仅是他中年人生道路上的起点。接连不断的变故如疾风骤雨般袭来,迫使他不得不重新面对自我。当生活的重担真正压肩,他选择成为一名快递员,从新的起点重新出发,穿梭于都市大街小巷的高志垒在路上结识了一众志同道合的伙伴。在共度的时光里他深切的体会到了人间的冷暖真情,逐渐在这条充满磨砺的“逆行道”中找回曾经丢失的勇气与信念,重新定义人生新的方向。 | 请简短总结以下影评。 ### 曾经意气风发的张志强在生活的重压下,中年“失速”偏离了原本的生活轨迹,一时意气用事的决定,让他瞬间从家人的“小骄傲”变成了社会的“边角料”。 ### 然而,他未曾料到,这仅是他中年人生道路上的起点。接连不断的变故如疾风骤雨般袭来,迫使他不得不重新面对自我。 当生活的重担真正压肩,他选择成为一名快递员,从新的起点重新出发,穿梭于都市大街小巷的高志垒在路上结识了一众志同道合的伙伴。 ### 在共度的时光里他深切的体会到了人间的冷暖真情,逐渐在这条充满磨砺的“逆行道”中找回曾经丢失的勇气与信念,重新定义人生新的方向。 ### |
输出 | 电影讲述了一个中年危机故事,主角张志强因生活压力偏离正常生活轨道,经历一系列挑战后,他成为一名快递员,在新朋友的帮助下重拾勇气与信念,找到了生活的新方向。影片展现了逆境中的成长与自我救赎。 | 主人公张志强中年遭遇生活困境,一次冲动的决定使他社会地位骤降。 随后,面对重重挑战,他担任快递员重新起步,在此过程中与同行建立深厚情谊,并在磨难中找回勇气和信念。 最终,在艰难和挑战中,为自己的人生找到了新的意义和方向。 |
您可以在输出中发现明显差别,在使用了分隔符的输出中,LLM 不仅理解了三段话的逻辑关系,还正确识别了分隔符,并根据分隔符的段落生成了三段强相关的总结。
技巧四:引导模型“思考”
对于逻辑推理和语境学习的复杂任务来说,简单的 Prompt 技巧可能无法满足任务需求。但您可以通过引导模型生成推理过程或帮助模型拆解复杂任务并逐步推理的方式,让模型在生成推理结果前生成更多的推理依据,从而提升模型在复杂问题上的表现。
这里为您先介绍思维链(Chain of Thought,COT),它是一种使用起来较为简单的引导方法,但能够显著提高大模型在复杂场景下的推理能力。
Prompt 1:
#背景#
JSON 输入:
{"web-app": {
"servlet": [
{
"servlet-name": "cofaxEmail",
"servlet-class": "org.cofax.cds.EmailServlet",
"init-param": {
"mailHost": "mail1",
"mailHostOverride": "mail2"}},
{
"servlet-name": "cofaxTools",
"servlet-class": "org.cofax.cms.CofaxToolsServlet",
"init-param": {
"templatePath": "toolstemplates/",
"log": 1,
"logLocation": "/usr/local/tomcat/logs/CofaxTools.log",
"logMaxSize": ""}}],
"servlet-mapping": {
"cofaxEmail": "/cofaxutil/aemail/*",
"cofaxTools": "/tools/*"},
"taglib": {
"taglib-uri": "cofax.tld",
"taglib-location": "/WEB-INF/tlds/cofax.tld"}}}
Prompt 2:
#目的#
根据 JSON 判断是否完全符合以下要求:
1. 是否每个 servelet 都有 init-param
2. 是不是 servelet-mapping 中元素都在 servlet 中都有匹配
3. servelet 的 cofaxTools 中有三个以“log” 开头的参数,且 “log” 参数小于 10
不使用思维链 | 使用思维链 | |
Prompt 3 | #输出# 如果全部符合要求,只输出 "符合要求",否则只输出 "不符合要求"。 | #输出# 先输出针对各要求的思考判断过程。 如果全部符合要求,再输出 "符合要求",否则输出 "不符合要求"。 |
输出 | 不符合要求 | 首先,我们来逐步分析给定的JSON数据,以判断它是否符合所有提到的要求。 思考过程
输出基于以上分析,虽然关于"logMaxSize"的处理可能存在解释空间,但主要条件基本得到满足。因此,如果对"logMaxSize"不做严格要求(比如,不强制要求它必须有一个有效数值且小于10),则可以认为整体符合要求。如果有对"logMaxSize"的具体数值要求,则需要进一步澄清后决定。但在标准解读下,答案应为:“符合要求”。 |
除了思维链,启发 LLM 进行“思考”的实用方法还有提示链(Prompt Chaining)。提示链通过多轮对话,引导 LLM “思考” 方向,让 LLM 从简单任务开始,沿着设计好的“思考”方向逐步完成一个复杂推理。
提示链相虽然相对思维链来说构建模式更加复杂,但模型表现更好,准确率更高。它非常适合逻辑复杂但能按照固定模式拆解的困难任务。
提示链(Prompt Chaining)引导样例
引导 LLM “思考”的方法还有很多种,比如:思维树(Tree of Thoughts, ToT)、Boosting of Thoughts 等。
百炼鼓励您积极探索尝试更多 Prompt Engineering 方法,并结合实际情况综合利用它们。