深入探索AI提示词的奥妙:如何写出清晰的指令
与AI高效沟通,从理解提示词开始。本教程将带你系统学习Prompt(提示词)的核心概念与实用技巧,帮助你轻松驾驭与AI的“对话艺术”,显著提升工作效率。
1. 提示词并不神秘:理解你与AI的“翻译官”
所谓的提示词,就是我们和AI对话时使用的指令。它是我们和AI之间的“翻译官”,目的是让AI大模型能够更加准确地执行我们给它下达的任务。
我们人与人之间有很多说话的艺术,比如积极倾听、共情等等。而提示词,就是人与AI之间的“说话艺术”。
为什么说提示词是一门说话的艺术呢?我们用一个点菜的例子来类比一下,假设AI是一个餐馆老板:
- 你说“随便”: 餐馆老板可能会上一盘你讨厌的苦瓜。
- 你说“来份招牌菜,不要辣”: 老板就能准确理解并执行你的要求。
看到区别了吗?清晰的指令,是获得满意结果的关键。
2. 为什么需要学习AI提示词?弥合与AI的“认知差”
学习提示词之所以如此重要,主要是为了解决两大难题:
- AI不是读心术: 尽管AI能力非常强大,但它不是我们肚里的蛔虫,无法直接洞察我们的真正意图。
- 语言的模糊性: 人类的语言天生就存在模糊性和歧义性。因为语言的本质是对信息的有损压缩。在语言和真正的信息之间,永远存在着一道“鸿沟”。
举个生活中常见的场景:
你可能觉得小王的情商不够,没有理解女朋友的“弦外之音”。但「随便」这个词压缩了小王女朋友内心真实的食物偏好信息,看似给予了选择自由,实际上隐藏了未表达的限制条件。
人类语言的模糊性加上机器无法直接理解人类意图,两者的叠加,造成了AI和人类之间的认知差。
因此,学习提示词正是为了弥合这种差距,使得AI能够更准确地理解和回应我们的需求。
小提示: 下面我们主要结合OpenAI的Prompt engineering(提示词工程指南)来讲解,我们鼓励你阅读原始的一手资料。本教程为了方便理解,做了要点总结并提供了具体的示例。
3. 核心口诀:写出清晰指令的六大技巧
写出清晰的指令,是核心中的核心。如何写出清晰的指令?下面这6个小技巧将助你一臂之力。
3.1 说详细一点
简单来说,就是在问问题的时候,不要惜字如金,要多说一些内容,多提供一些信息。
- 反面示例: “写个文案。”
- 正面示例: “请为我公司的草莓味冰淇淋写一篇50字左右的促销文案,面向年轻女性用户,语气要活泼可爱。”
3.2 让模型扮演角色
当模型知道它所扮演的角色,它可以更准确地根据该角色的特性来生成回答。同时,角色通常与某种情境或背景相关,这为模型提供了更多上下文,帮助它更好地理解问题的意图。
- 示例: “你是一位资深的人力资源总监,请为我的简历(如下:"""粘贴你的简历内容""")提出修改建议。”
这就好比一个刚毕业做生物制药的大学生咨询你做他的职业规划,你是一位互联网程序员。如果你不清楚对方的角色,站在自己的角度去提供程序员职业规划,恐怕就是“牛头不对马嘴”。
3.3 善用分隔符指示输入的不同部分
分隔符可以清晰地将指令文本与待处理的内容分开,避免AI混淆。
以下是几种常用的分隔符:
- 三引号:"""这里是要分隔的内容文本"""
- XML标记:<引文>这里是引用的文本引文>
- 章节标题:用不同的章节标题来划分生成的内容段落,如“第一章”、“第二章”
我个人最常用的是三引号分隔的文本。例如:"""你的描述文字"""。
小提示: 想象一下,一份没有段落、没有标点、字迹潦草的菜单,和一份有目录、有分类、字迹清晰的菜单,哪个你看起来更轻松?分隔符就是AI的“格式目录”。
3.4 指定任务所需的步骤
比如你想要AI帮你解决一个非常复杂、超过模型上下文限制的问题,明确地写出这些步骤可以使模型更容易去实现它们。
这样做有很多的好处:
- 明确性: 具体的步骤可以确保模型明确知道需要做什么,避免误解或遗漏。
- 效率: 当任务被分解为小的、具体的步骤时,模型可以更高效地完成每一个步骤。
- 便于复查: 如果任务结果不如预期,有了明确的步骤可以帮助我们回溯和分析问题出在哪一步,从而进行调整。
示例:
- 请按以下步骤帮我分析这篇文章":
- 总结文章的核心观点。
- 列出文章中间出现的关键数据。
- 指出文章可能存在的局限性。
3.5 提供示例
这是经典的优化方式,通过给大模型少量示例,让大模型按你的例子来输出,这是一种非常有效的约束内容生成的方法。
- 示例: “请仿照下面这个例子,生成新的产品评论。例子:'这款耳机音质极佳,佩戴舒适,是我买过最值的东西。' 请为新产品'智能手环'写三条类似的评论。”
3.6 指定期望的输出长度
可以要求模型生成具有给定目标长度的输出,可以用字数、句数、段落数、要点数等来指定目标输出长度。
- 示例: “用三句话解释什么是相对论。” 或 “请写一个200字左右的新闻摘要。”
4. 最重要提示:保持简单
尽管上面介绍了很多编写提示词的技巧,但想和你分享一点最重要的心得:在编写提示词的时候,一开始不用多想,直接写,保持简单就好。
如果效果没有达到你的预期,再根据反馈结果结合上面的技巧去不断迭代优化。不要想着一开始就写出大而全的“完美提示词”。
不要一上来就把问题复杂化,编写提示词可以遵循软件开发中的KISS原则:Keep it simple, stupid!(保持简单和“愚蠢”)
这里面主要有两个原因:
- 简单问题不需要复杂指令: 对于简单的问题,完全不需要复杂的提示词,直接问即可。很多时候我们自己也并未完全理解需求,通过不断迭代,需求会越来越清晰。
- 模型能力在进化: AI大模型本身的能力也在不断进化,之前依赖的一些复杂的提示词技巧随着模型能力的进步变得不再必要。如果一味地套用某些提示词模版,不仅费时费力,而且结果可能还不如简单描述更有效(因为这种情况下,你的提示词一定程度上限制了模型能力的发挥)。
常见问题:问: 为什么我按照“复杂模板”写提示词,结果反而不如“简单直接”的好?
答: 因为ChatGPT 3.5时代,模型能力较弱,需要像“请一步一步思考”这样的提示词来引导它。而现在的模型(如GPT-4、Claude 3等)已经内化了这种思考能力。过度使用旧模板其实是在限制模型,让它在错误的框架下工作,结果自然不佳。最好的方法是先简单描述问题,看结果,再针对性优化。
写在最后
AI在不断发展,提示词技巧也在不断变化,本文的技巧未来也会退出历史舞台,那我们应该如何与时俱进呢?
中国有句老话说得好:“万变不离其宗”。所有提示词技巧的核心,都是为了帮助我们更好地表达想法。而要表达好,首先要想清楚。
因此,最重要的是我们清晰思考的能力,这是值得我们一辈子去训练和积累的底层能力。掌握了它,无论AI如何进化,你都能与之高效对话。
