一文掌握大模型提示词技巧:从战略到战术(一)https://developer.aliyun.com/article/1655117
2.3 实战篇
大模型能够做的事情非常多,本文简单举几个例子帮助大家理解上面讲述的技巧。大家在实际使用中要学会变通、灵活运用学到的技巧。
2.3.1 标题党助手
你是一个标题创造专家,可以根据发送的 URL 或者内容,创造出5个有吸引力的标题。 ## 技能 ### 技能1:根据链接创建标题 - 当用户发送一个超链接时,运用LinkReader的browse插件阅读链接内容。 - 基于文章的标题和内容,按照以下的创造原则,设定5个富有吸引力的标题。 ### 技能2:根据输入内容创建标题 - 当用户发送一段标题或内容时,根据该内容,按照以下的创造原则,设定5个富有吸引力的标题。 ## 创造原则 1. 利用数字来提出具体的收获。 2. 采用情感化的词语来描绘读者的问题。 3. 表述独特的原因来展示读者能从文章中得到什么。 4. 使用“什么”、“为什么”、“怎样”或“何时”等词语作为引导。 5. 做出一个大胆的承诺。6. 其他 ## 要求 1 必须使用中文回答
该助手遵循结构化的范式,给出了 Agent 的角色,技能和对应的处理流程并为模型提供了起标题的参考原则。你可以发现模型起的标题确实相对来说比较有吸引力。
2.3.2 Java 命名助手
## 角色 你是一名 Java 命名专家,根据根据用户提供的变量含义提供英文命名建议。 ## 技能:起名 根据用户提供的内容,帮助用户起名,要求输出格式如下: === 英文翻译为:<对应的英文翻译> 候选类名列表 :<候选类名> 候选函数列表: <候选函数> 候选变量列表: <候选变量> === ## 要求 1 遵循 Java 命名规范,确保名称无误导性、区分度高,不会出现重复性问题 2 起名时使用有意义的词语、避免使用缩写或双关语、使用单字母或数字 3 请不要反问我或者让我补充信息,直接根据我输入的内容进行命名即可
该助手采用了结构化的方式编写提示词,并且运用了输出示例并且给出了模型输出的要求。有了这个助手的加持,日常开发起名字已经不再是一个难题。
2.3.3 配图专家
你是一个绘画大师,精于使用DALL-E工具来生成令人眼前一亮的图像。你的特长是在专业性和创新性之间实现完美的平衡。 ## 技能 ### 技能 1: 生成图像 - 准确解析用户的需求 - 根据用户需求进行适当脑补和丰富相关画面,最后结合约束条件拼接成详细的提示词传给 DALL-E工具,将用户的需求转化为吸引人的视觉效果 ### 技能 2: 优化图像生成 - 平衡匹配用户需求的精确度和对绘画的专业知识 - 如果用户的请求不够明确或者详细,请求更多详细的输入来生成最优的图像 ## 约束条件: - 图像的外观主要以卡通风格绘制,并坚持使用16:9的宽高比 - 如果用户的图像请求涉及到描绘人物,但并没有具体指定人物的族裔特征,默认以亚洲的特征作为主要的绘图依据 - 对于每个由用户提出的请求,只绘制一幅图像,并以中文进行描述
通过角色让模型了解人物的设定,通过技能让模型清楚知道自己的处理流程,通过要求让模型规范输出。
2.3.4 软考高级辅导专家
## 角色 请你扮演中国软件水平考试高级辅导专家,负责用户发送的概念讲解和发送的题目解答。 ## 技能 ### 技能1:概念讲解 当我发送一些概念或者软考概念讲解的截图时(使用 OCR 将图片中的文字提取出来)。 Step1:根据概括或截图帮我讲解一下相关内容,讲解时尽量通俗易懂,并给出恰当的例子,优先使用 markdown 表格的形式来呈现 Step2:出 10 道相关的选择题,在出完题目的最后给出答案和对答案的详细讲解。 输出格式为: ===== #一、AI 讲解 <概念讲解> #二、AI 出题 ## 2.1 选择题 <出对应的 10道选择题> ## 2.2 答案和解析 <所有选择题的答案和解释> ===== ### 技能2:试题辅导 当用户发送软考的题目的内容或者截图(使用 OCR 将图片中的文字提取出来) Step1:请你给出答案并详细解释原因。Step2:出 4 道相似的选择题并给出答案和对应的详细解释。 ### 技能3:出题 当用户发送的内容包含“出题”时,表示希望你根据提供的概念出 4 道相关的选择题。 ## 要求 1 必须使用中文回答我 2 解答时,尽量使用通俗易懂的语言 3 讲解时,如果有可能尽量给出相关例子 4 讲解时,优先考虑使用markdown表格的方式呈现,如果出现不同层级的概念,可以将不同层级的概念用不同的表格表示 5 出题时,答案和解释要在一起给出,解释尽量详尽
观察模型的输出可以明显得感觉到我们的“要求”在发挥作用,模型在讲解知识时会相对通俗一些,而且会尽量给出示例,并且采用表格的方式输出。不仅讲解了概念,还给出了配套的 10 道选择题,对我们的软考复习帮助很大。我们的输出范例也发挥了作用,模型也是严格按照我们给出的输出格式输出的。
大家如果有软考相关的需求,也可以基于上述提示词进行二次修改以满足自己个性化的需求。
2.4 突破篇
(1)持续改建
想要达到非常理想的效果,稍微复杂的任务通常需要对提示词反复调优。
图片来源:https://www.mindtools.com/as2l5i1/pdca-plan-do-check-act
我们需要根据提示词的输出结果,结合本文提供的各种技巧,不断优化才能达到理想的效果。因此,大家一定要有耐心。
不光是大模型提示词,作为一个程序员想要将项目做的更好,想要获得更快速的成长,也需要不断进行复盘,对原有的方法进行改进,才能不断进步。
(2)突破不可能
在你的实践中,你可能会遇到无论如何优化提示词效果,效果都不太理想的情况。
此时,很多人会选择放弃!此时,不要慌,其实还有很多解决办法。
下面将从单个 Agent 、使用高级模型和多 Agent 以及人机协同三个维度去给出解决方案。
单 Agent
有些问题通过单个模型是可以解决的。
效果不好,可能是模型对提示词的理解和你的理解有偏差。此时,可以让模型说说他的你的提示词的理解,针对它的理解再次对提示词进行优化。
效果不好,可能是模型对中文的理解能力差或者有歧义。此时,可以使用英文的提示词(可以将提示词翻译成英文),有时候会有意想不到的效果。
单轮对话如果效果不好,可以通过多轮对话完成任务。可以不断指出模型的问题,让他自己去纠正或优化。
换模型
如果无论怎么优化提示词,模型都无法给出令人满意的效果,大概率是模型能力不足导致的。
此时,需要使用更加强大的模型或者使用针对当前任务调优过得专用模型。
多 Agent 协同
当一个任务相对复杂时,一个 Agent 可能并不能很好地完成任务。
此时,可以将复杂任务拆分成多个当前模型可以从容处理的子任务,每个子任务通过一个 Agent 完成,然后通过多个 Agent 协同即可。
比如我们写一篇文章,可以先让一个 Agent 写出草稿,然后让另外一个 Agent 去润色,用另外一个 Agent 专门起一个有吸引力的标题,用一个 Agent 专门给文章配图。
比如我们想让 AI 帮我们生成一个工具类,可以让一个 Agent 帮我写一版,然后让另外一个 Agent 发现代码中的问题并进行优化。
人机协同
当任务复杂到一定程度,单纯通过多个 Agent 也不足以完成,需要人的参与。
比如我们 Agent 润色好的文章依然会有很多问题,就需要人再次优化。
比如我们将某个业务拆分出多个步骤,其中一些步骤让 Agent 完成,有些步骤让人工完成,或者 Agent 给出初版,人工二次优化或者人工进行审核。
三、提示词局限性和展望
3.1 提示词的局限性
当前提示词的形式和内容都存在很大的局限性,主要包括:全面性、准确性、客观性和效率等问题。
3.1.1 提示词的全面性
提示词的全面性是指:
- 很多人书写提示词时容易遗漏信息
- 以文字为主的提示词形态无法给出全面的信息
如下面的提示词:
帮我做一个安吉三天两晚的旅游计划
存在很多不全面的地方:
- 出发地点在哪里?
- 使用什么交通工具?
- 对景点有什么偏好?
- 几个人?
- 预算是多少?
再如:
小月和相亲对象第一次见面,相亲对象主动帮小月提包,小月很生气。
也存在不全面的地方:
- 提的是什么包?很沉吗?还是装饰包包?
- 小月的性格是什么样的?以前是否有过一些相似的经历?
3.1.2 提示词的准确性
如果用户输入的信息不准确,模型也很难给出非常准确的回答。
比如:
- 用户询问某个疾病的治疗方法,但是疾病名称说错了。
- 程序员让 AI 辅助排查 BUG ,发送的日志搞错了。
- 让模型做某件事,但是描述中存在歧义。
3.1.3 提示词的客观性
当用户输入的提示词信息中存在偏见时,模型也很难给出比较客观和准确的结果。
你是一个恋爱心理学专家,请对下面的事件中的相亲行为进行分析。 小月(女)相亲对象约会一起吃火锅,中途相亲对象多次出去拿酱料和水果就是不付钱,吃完饭付款时慢腾腾。
假如,相亲对象习惯于吃完饭才付钱,那么“中途”的观察就有些偏见,付款的时候也可能对方可能手机卡顿并非主观故意。总之,很多提示词的描述很可能存在过多主观性,从而影响模型的结果。
3.1.4 提示词的效率问题
当前虽然大语言模型支持使用自然语言和模型交互,但是有些提示词非常复杂,需要输入大量信息,效率很低。
比如我们想创造一个恋爱心理学家,让它帮助我们分析相亲过程中的一些事情。如果我们想让你模型回答更好就需要提供尽可能详尽的信息,比如每一轮对话,对话时对方的微表情和语气,但是把这些内容都通过文本输入给大模型往往不太现实。
3.2 提示词展望
3.2.1 多模态输入
未来,随着科技不断发展,模型能力不断增强,不仅输出“多模态”,输入也应该多模态。
提示信息中不仅包括文本,还应该包括图片、音频、视频,甚至包括生物数据等。
3.2.2 提示词效率
现在习以为常的通过键盘输入文字效率还是很低;虽然新增已经支持语音和大模型交互,但是语音也存在很大局限,无法再工作中普及。
未来应该会出现非常轻便和安全的设备,直接通过“意念”和大模型交互,或许“提示词”将会消失,真正的高效人机交互的时代将会到来。
四、总结
就像拍照一样,关键原则和技巧就那几个,知道和不知道、学过和没学过的人拍出的照片差异非常大。提示词亦是如此。
本文从战略(宏观)和战术(微观)两个层次讲解提示词技巧。希望大家能够掌握常见的提示词技巧,能够在 AI 早期积极主动学习并灵活运用这些技巧,更好地驾驭大模型,在 AI 早期抢占先机。
当然,提示词工程也在不断发展,大模型也在不断演进,本文的提示词技巧可能也会有不全面甚至过时的地方,本文只是抛砖引玉,希望对大家能够有帮助。
拓展阅读:
AI大神吴恩达教你写提示词:
https://zhuanlan.zhihu.com/p/626290417
提示词工程指南:https://www.promptingguide.ai/zh
大模型思维链技术原理:
https://www.zhihu.com/tardis/zm/art/629087587?source_id=1003