Prompt 工程
我们下面介绍常用的 Prompt 方法。
5 级 Prompt
《TELeR: A General Taxonomy of LLM Prompts for Benchmarking Complex Tasks》论文中总结了 5 级 Prompt 方法,如下图所示。
如上图所示,第一级的 Prompt 只是简单地用一句话表示高级的目标;第二级的 Prompt 还包括各个子目标;第三级的 Prompt 还包括一个列表,详细给出要完成的高级任务的步骤;第四级的 Prompt 还要求模型解释它的输出;第五级的 Prompt 还包括一个描述:指出会如何评估模型的输出,并给出 Few Shot 的例子。
6 个策略
OpenAI 官方的 Prompt 工程指南(英文版,中文简介)给出了 6 个策略:
第 1 个策略是:写清楚指令,这包括:
- 提示中尽量包含更详细的指令信息
- 提供示例
- 指定模型完成任务时所需的步骤
- 指定模型输出的长度
- 使用分隔符来明确划分提示的不同部分
- 让模型扮演不同的角色,以控制其生成的内容。
第 2 个策略是:提供参考文本,要求从这个文本中提取答案,减少幻觉,这包括:
- 指示模型使用参考文本回答问题
- 指示模型从参考文本中引用答案
第 3 个策略是:将复杂的任务拆分为更简单的子任务,这包括:
- 使用意图分类来识别与用户查询最相关的指令
- 对长对话,总结或过滤以前的对话
- 分段总结长文档,递归构建完整摘要
第 4 个策略是:给模型时间去思考,这包括:
- 指示模型在得出结论之前先找出解决方案
- 使用 inner monologue 来隐藏模型的推理过程
- 询问模型是否遗漏了任何内容
第 5 个策略是:使用外部工具,这包括:
- 文本检索系统(有时称为 RAG 或检索增强生成)可以告诉模型相关文档
- Code Interpreter 可以帮助模型进行数学运算并运行代码
第 6 个策略是:系统测试提示修改带来的变化,这包括:
- 确定一组具代表性的示例,在它上面进行测试
练习
-
Yandex 2022 LLM ipynb 练习 的第一部分。
-
斯坦福 DeepLearning.AI Short Course,Prompt 工程教程,在网页上可以练习
-
微软 Generative AI for Beginners,第四章:提示工程基础,,第五章:创建高级的提示工程技巧
课程
-
Arizona DS,GPT 101,2023 年 8 月,https://ua-data7.github.io/introllms
-
Vanderbilt 大学,ChatGPT 应用提示工程,Coursera 课程网页, https://www.coursera.org/learn/trustworthy-generative-ai,非常好的课程,各种高级提示方法
-
Scrimba,https://www.coursera.org/learn/prompt-engineering-for-web-developers, 提示工程,AI 辅助编程,AI 求职
-
ASU, https://www.coursera.org/learn/ai-foundations-prompt-engineering-with-chatgpt
-
Deeplearning.ai, https://www.coursera.org/projects/building-systems-with-the-chatgpt-api-project
-
Deeplearning.ai, https://www.coursera.org/projects/chatgpt-prompt-engineering-for-developers-project#details
-
Graham Neubig, CMU Advanced NLP Course: Prompting (2022), Youtube
-
Prompt Engineering 101: Autocomplete, Zero-shot, One-shot, and Few-shot prompting (2022), Youtube
-
Berkeley CS294/194-196: Responsible GenAI, Omar Khattab, Stanford, App Development Layer: Prompt Engineering, Chains, Tools
-
Learn Prompting 课程, Website,Basic,Basic Applications,ChatGPT Tutorial
-
提示工程指南,网站,中文版:https://www.promptingguide.ai/zh
-
上海科技大学电力电子与再生能源实验室,如何让 ChatGPT 助力科研进程?2023 年 10 月
-
西湖大学智能无人系统,ChatGPT提示工程师:必备知识与技巧解析,2023 年 11 月
-
Summary, Sentiment, Question Answering & More: 5 Creative Tips for GPT-3 Prompt Engineering,网页,2022 年
-
Jasper 101 Training (https://www.jasper.ai/101)
-
Ultimate GPT-4 Crash Course (https://abhishekhq.gumroad.com/l/pqdfx)
Prompt 优化工具
-
微软的 Promptflow 让我们能够定义 LLM Prompt 模版,包括对话历史的 Chat Prompt,和一定数量的测试集。然后,我们就可以在这个测试集上,批量运行,比较不同 Prompt 获得的回答的准确性。比如这个数学习题求解的例子。
-
微软 Prompt Engine, Github
Playground
- GPT-3 Colab Demo
- OpenAI Playground,包括 Assistant、Chat、Legacy 三种模式。Assistant 的回答会简短一些,适合教育应用。
示例
看多了 Prompt 例子,我们就知道该怎么写了。
首先是 OpenAI 的官方 Prompt Example,必看。
其次是各种 Prompt 分享社区中很多神人的分享:
-
ShareGPT (https://sharegpt.com/)
-
Why “Prompt Engineering” and “Generative AI” are overhyped,网页
然后是一些 GPT System 的 Prompt,包括下面的 GPT System:
这里是获得 System Prompt 的一些方法(Website)。
这里是我摘录的一些有趣的 Prompt
最后,OpenAI 让我们可以设置一些个性化的 Prompt,配置方法如这个 Github 所述。
参考
- My class required AI. Here’s what I’ve learned so far (Mollick, 2023)
- 月薪4万的“关键”新兴岗位:研究如何向AI发出专业提问,中国企业家杂志,2024-01-23,微信公众号
- Jason Ng,那么,我是如何使用 ChatGPT 的?可能吧,2024-01-24,微信公众号
- OpenAI Prompt Example
- Prompt Engineering Guide,Website
- Prompt Engineering, Webpage, March 15, 2023
- 生成式 AI 和 Prompt 资源, Github
- Github Awesome ChatGPT: https://github.com/search?q=awesome-chatgpt+&type=repositories&s=stars&o=desc
-
ChatGPT 中文调教指南, https://github.com/PlexPt/awesome-chatgpt-prompts-zh
-
Prompt 最佳实践,飞书
- 我的大模型课,30 MAR 2024,网站
- 提示词图书馆,飞书
Paper
- Why Johnny Can’t Prompt: How Non-AI Experts Try (and Fail) to Design LLM Prompts, 2023
##
Index | Previous | Next |