技术的进步正在加剧人与人之间的差距。由于人与人之间的好奇心差异,未来优生差生的差距可能会进一步拉大。优秀的学生利用AI技术学习更广阔的知识,投机取巧的学生则用AI来偷懒写作业。 在AI时代,家长和教育者应该关注孩子们的兴趣和天赋,帮助他们找到独特的价值所在,并引导他们运用AI技术提升自己。
据悉,人工智能安全与研究公司Anthropic最近公开招聘“Prompt工程师和图书馆员”这一职位,其薪资范围在175000美元和335000美元之间。这个职位的高薪反映了Prompt工程师在AI领域的重要地位,同时也表明了他们在人工智能应用中所扮演的关键角色。
图1-1所示为Boss直聘网站里与ChatGPT相关的岗位情况。
OpenAI的创始人Sam Altman(萨姆·奥尔特曼)曾表示:“编写一个真正出色的聊天机器人提示是一项极具影响力的技能,是用自然语言编程的早期示例。” 在当今时代,与AI互动已经成为一项技能,可以被视为一种高杠杆技能。
图1-2所示为OpenAI创始人Sam Altman在其推文所发表的观点。
不能有效地与AI进行交流的人将面临被淘汰的风险。 能够运用自然语言有效地与AI沟通的能力可能会成为新的关键技能。
内容/方向 | 描述与价值 |
---|---|
能力预测 | 用小模型预测大模型的能力,以缩短开发周期和减少试错成本。 |
LLM评测框架 | GPT-4开源的评测框架,对于中文特别重要。 |
中文LLM评测数据 | 可快速发现LLM的短板和改进方向,对促进技术发展有重大意义。 |
AI对话的擅长和不足 | 通过评测框架,我们可以更清晰地识别AI对话时的优势领域和潜在的不足,从而更有效地与AI进行交互。 |
提高回答质量的关键因素 | 描述与建议 |
---|---|
将问题拆解为子问题 | 通过将复杂的问题拆分成更小、更具体的子问题,可以帮助AI更准确地回答。 |
设置合适的回答范围 | 明确限定回答的长度和范围可以获得简洁且有深度的答案,例如指定回答长度或特定的格式。 |
选择合适的提示方式 | 不同的问题可能需要不同的提示方式。如事实查询类问题使用关键词,而开放性讨论问题则设定边界,以确保AI不偏离主题。 |
保持批判性思维和判断能力 | 虽然AI有很高的回答能力,但它并非总是完美的。与AI交流时,用户应保持自己的批判性思维和判断能力,以确保得到的答案是准确和合适的。 |
类型 | 优势/适用场景 | 描述 |
---|---|---|
开放式问题 | 激发思考 | 鼓励深入思考,提供有价值的见解。 |
获得详细信息 | 挖掘更多的细节,全面了解问题。 | |
建立良好沟通 | 有助于建立互动,使交流更轻松、自然。 | |
封闭式问题 | 确认事实 | 确认某个信息是否正确。 |
快速决策 | 在紧迫的情况下,快速了解关键信息。 | |
限制回答范围 | 在特定选项中做出选择,以便限制答案的范围和长度。 |
主题 | 方法/描述 | 说明 |
---|---|---|
避免循环提问 | 重新表述问题 | 当AI重复答案时,尝试用不同方式表述问题,有助于AI从新的角度理解问题。 |
引入具体场景和限制条件 | 为问题添加具体的背景和条件,有助于引导AI提供更具针对性的回答。 | |
加载性问题与引导性问题 | 加载性问题 | 包含假设或倾向性的问题,可能有意或无意地设置陷阱,导致对话偏离客观事实。 |
引导性问题 | 通过问题的表述来引导回答者朝预期方向进行回答,可能限制了思考空间。 | |
避免使用上述问题的原因 | 误导回答 | 加载性和引导性问题可能导致ChatGPT给出错误、不准确或片面的答案,降低对话价值。 |
影响公正性 | 这些问题可能导致对话中的立场、观点和事实失去公正性,使得探讨问题时不客观和全面。 | |
限制思考 | 引导性问题可能限制ChatGPT的回答范围,使回答可能不包含更广泛的观点和信息。 |
主题 | 技巧/方法 | 描述 |
---|---|---|
元认知 | 定义 | 关于自己思考、学习和解决问题的过程的认识。在AI对话中,元认知可以帮助我们更好地提问。 |
提高提问效果的方法 | 反思 | 在提问前,花时间思考自己的知识和理解水平,以及问题的关键点。 |
计划 | 明确提问的目标,制定合适的提问策略。 | |
监控 | 在对话过程中,关注自己的思考方式,并注意判断回答是否满足需求。 | |
调整 | 根据回答的质量,调整提问策略,以获得更好的结果。 |
提问技巧 | 示例 | 描述 |
---|---|---|
提出明确的问题 | 如何种植西红柿? | 通过提出具体的问题,可以引导AI提供更准确的答案,避免了模糊和笼统的提问。 |
追求深度 | 地壳运动的原因是什么? | 通过深入探讨问题的背景、原因和影响,可以获得更全面的信息,从而做出更明智的决策。 |
提问的顺序 | 公司的发展前景是什么? | 通过合理安排问题的顺序,可以更有效地引导AI进行思考,从而获得更满意的答案。 |
提问的角度 | 环保对经济发展有什么影响? | 通过从不同的角度提问,可以拓宽自己的视野,发现问题的多个层面,从而找到更全面的解决方案。 |
质疑假设 | 人类活动是气候变化的主要原因吗? | 通过挑战一些看似理所当然的假设,可以引导AI进行更深入的思考,发现问题的新颖见解。 |
探求证据 | 疫苗接种的好处有哪些? | 通过要求提供证据和依据,可以确保所获取的信息是准确和可靠的。 |
分析问题的关联性 | 食品安全问题如何影响公共卫生? | 通过分析问题之间的关联性,可以更好地理解问题的全貌,从而找到更有效的解决方案。 |
积极寻求反馈 | AI的这个答案能否更具体一些? | 在与AI对话中,提供反馈并根据需求提出更具体的问题,可以使AI更好地满足用户的需求,并提高对话质量。 |
《如何提出一个好问题》
提问技巧 | 示例 | 描述 |
---|---|---|
区分事实和观点 | 某化学物质对人体健康有什么影响? | 小李明确分辨AI给出的答案中的事实和观点,并要求更详细的证据来支持这个观点。 |
评估信息来源 | 请给我一些更可靠的信息来源。 | 小李在查阅资料时关注作者的权威性,并要求AI提供更加可靠的资料来源。 |
检查逻辑与推理 | 你能解释一下这篇论文中的推理过程吗? | 小李发现某些资料存在逻辑问题,因此他询问AI对相关资料的逻辑结构进行分析。 |
发现潜在的偏见和立场 | 你能给我提供一些不同观点的资料吗? | 小李发现某些资料的作者对某种观点存在偏见,因此要求AI提供多种观点的资料以便于全面了解问题。 |
持有怀疑态度 | 这种化学物质是否对所有人都有害? | 在整理资料时,小李持有怀疑态度,对某些看似合理的答案进行进一步的思考,并向AI提出挑战性问题。 |
总结与反思 | —— | 小李总结了与AI的对话,认为运用提问技巧可以获得满意的答案并提高批判性思维能力。 |
《学会提问》
小李是一名研究生,最近在准备一篇关于环境污染对人类健康影响的论文。在撰写论文的过程中,他想要了解一下某种化学物质的具体影响。为此,他决定与AI助手ChatGPT进行一次对话。以下是小李在这次对话中如何运用提问技巧的详细描述。
提问方法名 | 创始人 | 描述 | 示例 |
---|---|---|---|
倾听式提问 | 卡尔·罗杰斯 | 强调倾听以激发内在动力。 | 向AI咨询心理健康问题时,进一步提问以获取更深入的见解。 |
问题分类 | 索尔·贝尔林 | 将问题分为事实、解释、评价和建议四类。 | 在研究全球气候变化时提问:“全球气候变化的主要原因是什么?”“气候变化如何影响生态系统?”等 |
批判性提问 | 福克与拉兹纳 | 强调通过提问检验观点、挑战假设和识别潜在问题。 | 在讨论药物安全性时提问:“这种药物的副作用有哪些?”“这种药物的长期使用可能导致哪些问题?”等 |
智慧型提问 | 保罗和埃尔德尔 | 用提问来改善思维,提升判断力和决策能力。 | 制定公司战略时提问:“我们的竞争优势是什么?”“如何有效利用这些竞争优势?”等 |
六顶思考帽 | 布鲁默 | 鼓励从不同角度进行分析思考问题。 | 评估一项投资机会时,按照“六顶思考帽”的原则进行提问。 |
一些著名的提问方法
技巧名称 | 描述 | 示例 |
---|---|---|
确保动词明确 | 使用明确的动词,以清晰地传达期望AI执行的操作。 | 使用“比较”“解释”“分析”“预测”等动词 |
合理安排信息顺序 | 在描述任务时,合理地安排信息顺序帮助AI理解需求。 | 首先提供背景信息,然后明确任务目标,最后指定输出格式。 |
量化指令 | 通过具体化任务的数量、时间范围等方式,使指令更具体。 | “请在5分钟内提供3种可操作的、可快速实现的、有效节约能源的方法。” |
使用肯定或否定 | 通过使用肯定或否定的表述,明确指令中需要包含或排除的内容。 | “请介绍3种非侵入式心率监测技术,不包括心电图。” |
逐步指导AI回答 | 在与AI交流过程中,逐步提供问题和指令,引导AI生成满足需求的答案。 | 首先询问AI关于一种技术的概述,然后再请AI深入解释该技术的工作原理和应用。 |
运用以下几个技巧来设计精准指令:
方法名称 | 描述 | 示例 |
---|---|---|
指定输出风格 | 在提问时指定AI的答复风格,如正式、幽默、科普等。 | “以幽默的方式解释量子力学。” |
设置多个角色 | 设置不同角色,从不同的视角提出问题,让AI模拟该角色回答。 | “如果你是历史学家,谈谈你对中世纪的看法。然后,如果你是科幻作家,谈谈你对中世纪的未来设想。” |
要求多个答案或观点 | 在提问时直接要求AI提供多个答案或观点。 | “请提供三种解决环保问题的方法。” |
多样化的回答生成意味着生成多个能反映不同观点、角度和风格的答案,从而让我们能看到问题的多个维度。这样的输出对我们做决策、寻找创新点子、解决复杂问题等方面大有裨益。
元素缩写 | 元素全称 | 描述 | 示例 |
---|---|---|---|
CR | Capacity and Role(能力与角色) | 明确告诉AI它在对话中的角色和应具备的能力。 | “把自己想象成一名心理医生,为我提供情绪管理的建议。” |
I | Insight(洞察力) | 提供背景信息和上下文,让AI了解用户的具体需求和相关背景信息。 | “我最近工作压力很大,希望能够放松心情。” |
S | Statement(指令) | 给AI明确的指令,告诉它我们希望它做什么。 | “请为我推荐几个有效的情绪放松技巧。” |
P | Personality(个性) | 设定AI回答的风格或方式,如幽默、正式、温和等。 | “希望你以幽默的方式回答。” |
E | Experiment(尝试) | 要求AI提供多个答案,以便用户有更多选择和参考。 | “给我提供三种不同的情绪放松技巧。” |
CRISPE框架是Matt Nigh提出的一套Prompt设计框架,这个框架旨在帮助用户设计出更为完备且高效的Prompt,使之能够完全符合用户的实际需求,而不仅仅是简单的指令性任务。CRISPE这个词汇本身包含五个元素,每个字母代表一个关键要素
图4-2所示为CRISPE框架的简化示范。
方法名称 | 描述 | 示例 |
---|---|---|
使用权威资源 | 优先访问权威网站和知名组织的官方发布来验证信息。 | 查找政府网站、知名大学或研究机构的出版物等。 |
询问ChatGPT提供来源 | 要求ChatGPT提供相关的资料、研究或引用。 | 在向ChatGPT提问时,要求其提供引用。 |
使用实时信息源 | 使用实时更新的信息源来获取最新数据。 | 股票价格、汇率等信息可以从金融网站或应用程序获得。 |
多问几个角度的问题 | 通过多角度提问同一问题来全面了解答案的准确性。 | 对于一个事件,可以从时间、地点、原因等不同角度提问。 |
结合使用专业社区或论坛 | 利用互联网上的专业社区和论坛来获取特定领域的专业知识。 | 在专业论坛提问或查找相关讨论,以获取更多关于问题的见解和答案。 |
一些有趣的方法,帮助你在与ChatGPT对话时轻松验证信息。
评估指标 | 描述 | 为什么重要 |
---|---|---|
准确性 | AI回答是否正确、准确无误? | 错误的信息可能会导致误导或不当的决策。 |
详细程度 | AI回答是否足够详细,能够满足提问者的需求? | 不够详细的答案可能不会完全满足用户的需求,导致进一步的追问。 |
一致性 | AI回答是否与问题背景一致,遵循逻辑? | 不一致或逻辑混乱的答案可能会使用户困惑或误解。 |
可理解性 | AI回答是否易于理解,表达清晰? | 难以理解的答案可能导致用户不满意,需要进一步的解释。 |
效率 | AI回答是否迅速给出,符合实际应用的时间要求? | 用户期望得到快速的反馈,延迟的答案可能导致用户体验不佳。 |
实践方法名称 | 描述 | 示例 |
---|---|---|
提示词设计 | 设计针对性、简洁、明确的提示词。 | 设计简洁且明确的问题句式,提高模型回答的准确性。 |
模型交互 | 调整与模型的交互方式。 | 控制生成文本的长度、调整输入/输出参数。 |
能力评估 | 深入了解模型的优缺点。 | 通过测试与分析了解模型的响应速度、准确性等。 |
安全性评估 | 降低模型生成不良内容的风险。 | 设计策略,过滤掉可能的误导性或不适宜的回答。 |
外部工具与领域知识整合 | 提高模型在特定领域的能力。 | 结合领域专家的建议,为医疗、法律等特定领域的问题提供更准确的回答。 |
提示工程的实践方法主要分为以下几个方面
应用场景 | 描述 | 具体效果或应用 |
---|---|---|
问答系统 | 优化提示词以提高问答任务的性能。 | 提高大型语言模型在问答任务中的准确性和可靠性。 |
自然语言理解 | 提升自然语言处理任务中的模型性能。 | 在语义分析、情感分析和实体识别等任务中表现优异。 |
机器翻译 | 优化翻译任务的提示词。 | 提高不同语言之间的翻译质量。 |
编程辅助 | 设计针对编程任务的提示词。 | 提高代码生成和代码审核的效率,辅助开发者编程。 |
创意写作 | 引导模型生成具有创意的文本。 | 生成更具创意和原创性的文本内容。 |
教育辅导 | 提供个性化的学习建议和答疑服务。 | 在线教育平台能够为学生提供更加精准的学习建议和解答疑惑的服务。 |
提示工程在多个领域取得了显著的成果,以下是一些典型的应用场景:
基本概念 | 描述 | 具体内容与应用 |
---|---|---|
编码 | 将自然语言文本转换为机器能理解的形式。 | 利用预训练的词嵌入如Word2Vec、GloVe或BERT将文本转为向量;关键在于选择合适的词嵌入和问题表述。 |
解码 | 从机器生成的向量中提取自然语言文本。 | 采用方法如贪婪解码、集束搜索和Top-K采样;权衡回答的多样性和准确性。 |
评估 | 衡量聊天机器人回答质量的过程。 | 采用指标如准确性、流畅性等;结合主观和客观评估,使用自动评分指标如BLEU、ROUGE。 |
为了更好地理解提示工程,我们需要从编码、解码与评估三个基本概念入手。
图5-2
考虑方面 | 描述 | 示例与应用 |
---|---|---|
明确需求 | 根据特定任务选择NLP库和工具 | 若需求为文本分类,可以考虑选择专门针对文本分类的NLP工具或库。 |
了解主流NLP库与工具 | 对比各库与工具的特点和适用场景 | 了解BERT、spaCy、NLTK等库的优缺点及适用任务,选择最合适的。 |
社区支持与文档完善 | 选择有强大社区和文档支持的工具 | 一个活跃的GitHub社区和丰富的官方文档可以助于快速解决问题和理解工具的使用方法。 |
性能与扩展性 | 确保所选工具能满足性能需求,并有良好的扩展性以适应未来变化 | 考虑工具的处理速度、是否支持分布式处理、是否可以轻松添加新功能或与其他工具集成等。 |
在选择适合的NLP库与工具时,需要考虑以下几个方面:
NLP库和工具
NLP库/工具 | 主要描述 | 特点与应用 |
---|---|---|
Hugging Face Transformers | 流行的深度学习库,提供多种预训练NLP模型。 | 1. 提供BERT、GPT系列等模型。2. 文本生成、情感分析、文本分类等功能。3. 支持模型的本地/云端训练与微调。 |
spaCy | 用于高级NLP任务的库,提供多种文本处理功能。 | 1. 分词、词性标注、命名实体识别等功能。2. Matcher功能,用于文本模式匹配。 |
OpenAI API | 与OpenAI预训练模型互动的API。 | 1. 通过HTTP请求与GPT-3、Codex等模型交互。2. 设置参数生成文本或代码。3. 支持DALL-E API进行图像生成。 |
NLTK | Python的自然语言处理库,提供多种文本处理功能与语料库。 | 1. 词性标注、命名实体识别、语法分析等功能。2. 包含丰富的语料库和词汇资源。 |
技巧/建议 | 描述 |
---|---|
逐步调整参数 | 从默认设置开始,根据回答质量逐步调整模型参数。 |
多次尝试同一提示 | 因模型回答具随机性,同一提示可能有不同回答,多次尝试以评估模型性能。 |
结合实际应用场景 | 考虑实际需求在调整参数,如低温度用于准确回答,高温度用于创意写作。 |
理解模型选择 | 根据需求选择合适模型,如ChatGPT用于自然语言,Codex专为编程任务。 |
使用系统消息与模型互动 | 通过系统消息为模型提供背景和指导,帮助模型更好地理解需求。 |
查看并复制JSON响应 | 每次回答有对应JSON响应,包含所有生成信息。可以查看、复制用于其他应用或分析。 |
保存与分享你的实验 | 可保存实验到OpenAI账户,或生成分享链接与他人共享发现和寻求建议。 |
导出代码 | 提供“导出代码”功能,方便将实验结果应用到其他应用程序中。 |
在使用OpenAI Playground时,以下一些技巧和建议可能会对你有所帮助:
为了获取最佳效果,通常推荐使用性能最好的最新模型。例如,截止到2022年11月,文本生成的推荐模型是text-davinci-003,代码生成的推荐模型是code-davinci-002。