随着最近人工智能的不断进步,提示工程这项技能变得越来越重要。
- 基础:什么是提示工程和一些提示工程的简单技巧
指导人工智能执行任务的过程称为 提示过程,即我们向 AI 提供一组指令,然后它执行任务。提示可以简单到一个问题,也可以复杂到多个段落。但是如何确保 AI 给出正确答案,如何能在我们的任务中产生最佳结果的提示,这就是 提示工程。
1. 提升类型
- 文章摘要
- 示例:帮我以更简洁的话语描述这段话
- 数学问题求解
- 示例:请计算965x590等于多少?
- 示例:965x590 等于几?确保你的答案完全正确
- 角色提示
- 示例:你是一名高级程序员,如何给下面代码做出优化呢?
- 示例:你是一个杰出数学家,试着解决下面的问题
- 多范例提示
- 解释:将为模型展示一些例子,从而更形象地描述你的需求
- 无范例提示(0 shot prompting): 不展示范例
- 单范例提示(1 shot prompting): 只展示 1 条范例
- 多范例提示(few shot prompting): 展示 2 条及以上的范例
- 示例一
- 你工作很努力:正确
- 我不想上班了:错误
- 你提的建议非常有用:正确
- 今天还是请假吧:
- 示例二
- 输入某段话,然后自己总结用户格式,之后让模型帮你整理
- 解释:将为模型展示一些例子,从而更形象地描述你的需求
- 组合提示
- 解释:通过添加额外的上下文和示例提示,通常可以提高正确答案
- 示例:你是一个数学家,然后在提供示例,最后让给出答案
2. 规范化提示
现在已经涵盖了多种类型的提示,以及如何组合它们的方法。虽然已经有方法来形式化提示工程中的术语,但这个领域正在不断变化,因此我们将为您提供更充足的信息以便开始,开始学习 规范化提示 吧!
- 提示的组成部分
- 角色
- 指令/任务
- 问题
- 上下文
- 示例(few shot)
- 提示语指导
- 风格指导
- 示例一
- 简述一下《万里归家》的剧情
- 用打油诗的方式简述一下《万里归家》的剧情
- 提示二
- 以拥有20多年经验和多个博士学位的专家的风格和水平写作。在回答中优先考虑有建设性的、不太知名的建议。使用详细的例子进行解释,尽量少离题和耍幽默。
- 示例一
- 描述符
- 示例:有趣的、简短的、不友好的、学术语法
- 引导提示
- 解释:先定义个体的塑造,然后再让回答问题
- 示例:(学生){哲学} 在大学里选择这门课程相比其他课程有什么优势?
- 风格指导
将指令提示放到最后一部分,这时候语言模型将更倾向于按指令执行而不是进一步输出上下文相关的信息,这样就能直接预测患者的风险。
2000年1月1日:打篮球时右臂骨折。戴上石膏进行治疗。
2010年2月15日:被诊断为高血压。开了利辛普利的处方。
2015年9月10日:患上肺炎。用抗生素治疗并完全康复。
2022年3月1日:在一次车祸中患上脑震荡。被送进医院接受24小时的监护。
> 你是一名医生。请阅读这份病史并预测患者的风险:
到目前为止,我们已经了解了几种不同格式的提示。那如何定义一个 “标准的” 提示是什么样子的,有助于我们能到提供正确的输入得到想要的输出效果。多示例提示有助于上下文学习,这意味着模型无需更新参数就能够进行学习输出。
# 问答标准
Q:西班牙的首都是什么?
A:马德里
Q:意大利的首都是什么?
A:罗马
Q:法国的首都是什么?
A:
3. 如何理解大语音模型
LLMs 的输出受超参数配置的影响,它能控制模型的多个方面,例如有多随机。调整超参数能生成更具活泼、多样及有趣的输出。LLMs 十分强大但也並非完美,在使用的时候需注意一些隐患,包括:
- 偏见
- 性别歧视
- 种族歧视
- 同性恋歧视
- 谵妄
- 当被问到一个不知道答案的问题时,LLMs 时常产生虚假的信息。
- 有时候遇到打不出问题,很多时候它会自信地给出一个错误的答案。
- 数学
- 解决简单的数学问题也存在困难,对于更复杂的数学问题更是无从下手。
稍微复杂一些的提示工程技术
现在你已经学会了一些非常基本的提示工程技巧,是时候学习如何使用它们来解决简单的日常问题了。
- 数据结构化
- 示例:生成包含此信息的表格
- 撰写电子邮件
- 写一封电子邮件给我的老板,告诉他我今天因为生病不能上班
- 请根据以上电子邮件摘要,撰写一封给凯尔希的回复邮件
- 撰写博客
- 写的方向,使用的技术,写大纲开始创作
- 人工智能可以帮助你在相对短的时间内撰写高质量的博客文章
- 代码辅助
- 解释:进行调试、代码生成、重构、注释、处理多个文件和重构代码库操作
- 解释:模拟像数据库、Web服务器和电子邮件服务器等服务器环境
- 示例:请调试此 Python 代码
- 示例:代码中添加行注释并重新格式化以提高可读性
- 示例:像一个非常资深的python开发人员,请优化此脚本
- 示例:请将以下 Python 代码转换冲 C 版本
- 示例:扮演 SQL Server 数据库,创建以下数据库
- 示例:扮演 Nginx Web 服务器,如何响应这些 HTTP 报头
- 示例:扮演 Linux 中的 shell 命令,执行如下命令的输出是什么
- 找到合适Emoji
- 示例:帮我把下面英文单词转换冲 emoji 表情
- 合同审计
- 阅读合同
- 发现危险语言
- 澄清法律语言
- 编写合同
- 阅读合同
- 不同的写作风格
- 示例:请以非正式的对话风格编写
- 示例:以马克吐温等文学巨匠之一的风格写作
- 示例:可以自己写一段,然后让遵循你的风格继续写作
- 摘要文本
- 示例:维基百科关于量子纠缠条目关于5岁小孩的部分
- 示例:梳理某本书中存在的核心观点和核心内容
进阶应用
一些非常强大但更进阶的提示工程应用
可靠性
如何使语言模型(LLMs)更加可靠
提示工程在图像方面的应用
用于文本到图像模型(如DALLE)的提示工程!
提示注入
用于提示工程的黑客攻击
提示工具
不同的提示工程的工具
提示微调
用梯度微调提示
未完待续 ……
https://learnprompting.org/zh-Hans/docs/intro
https://learningprompt.wiki/docs/midjourney-learning-path