导读 ● 本次选修课为赛拔IDC经营决策AI模拟的延伸部分,点击链接mp.weixin.qq.com/s可获得该课程资讯。 ● 要点梳理一共为上下两篇,上篇为GPT原理,下篇为GPT应用。
提示 / Prompt的两大原则:
原则1:撰写清晰、具体的命令
原则2:给模型是时间让它思考
原则1:撰写清晰、具体的命令
技能1:用好分隔符
用三个反引号(在键盘数字1和!的左边,与~同键),e.g.请把```{TEXT}```总结成一句话。
清晰≠短
长提示能够给模型提供更多的上下文信息,因此模型能给出更好的回答。
举例,你养了一只柯基,你想知道怎样自己训练柯基。我们比对一下两种提问方式。
一种提问:怎样自己训练柯基?
第二种:你是一名专业的训狗师,我是柯基犬的主人。请告诉我如何训练一只3个月大的柯基犬?
可以看到,第二种提示规定了GPT扮演的角色,描述了狗狗的年龄和品种,GPT给出的建议也真的相当专业。
技能2:请求结构化的输出
结构化的输出层次清晰,便于阅读和查看,我们可以让GPT生成表格或者其他的层次结构。
● 提示举例如下
技能3:要求输出满足条件
我们可以在提示中加上一些条件,让GPT根据条件输出内容。
● 提示举例
- 创建X条客户对产品的评论
- 并将这些评论列成表格,表格的字段为:……
技能4:少量案例提示Few Shot Prompting
我们只用给出少量的案例(信息+结果),GPT-4就能很快学会怎样给出结果。
原则2:给模型时间让它思考
技能1:具体指明完成任务的步骤
对于一些任务,我们可以像程序员一样设定GPT完成任务的步骤。
提示举例:
阅读下面的邮件。移除邮件中个人信息。把个人信息替换为合适的占位符。例如,把姓名“张三”替换为“[姓名]”。邮件的内容为:
‘’‘李四您好,
我是老百姓大药房的销售代表张三, 我知道您去年买过我们的一款特效药,因此特地写邮件和您联系。
我们现在推出了这款药的升级版,如果您感兴趣,请告诉我。
谢谢!
张三
电话: 13812345678
电子邮件: zhangsan@lbxing.com
技能2:让模型先想出自己的答案,再下结论
为了比较我们人类的答案和GPT的答案,我们可以让模型给出它的思考步骤和答案,而不是让它直接给出最终的答案。
例如, 我们可以这样撰写我们的提示:
你的任务是确定学生的解决方案是否正确。
要解决此问题,请执行以下操作:
- 首先,找出你自己解决这个问题的办法。
- 然后将你自己的解决方案和学生的解决方案进行比较,并评估学生的解决方法是否正确。
在你自己解决问题之前,不要决定学生的解决方案是否正确。
使用以下格式:
问题:
。。。
待解决的问题
。。。
学生的答案:
。。。
学生的解题方法:
。。。
实际的解决方案:
。。。
你的解题方法和步骤
。。。
学生的解决方案是否与实际的/刚刚计算的解决方案相同:
。。。
是或否
。。。
学生成绩:
。。。
正确或不正确
。。。
问题:
。。。
我正在建造一个太阳能装置,请帮我计算相关财务开支。
- 土地价格为100美元/平方英尺
- 我可以花250美元/平方英尺买太阳能电池板
- 我协商了一份维护合同,每年将花费10万美元,外加每平方英尺额外花费10美元
作为平方英尺数量的函数,运营第一年的总成本是多少。
。。。
学生的答案:
。。。
设x为装置的尺寸,单位为平方英尺。
成本计算:
1. 土地成本:100x
2. 太阳能电池板成本:250x
3. 维护费用:100,000 + 100x
总成本:100x + 250x +100,000 + 100x = 450x + 100,000
。。。
实际解题方法:
”””
其他技能——尤其适用于训练模型
1. 如何处理“模型的幻觉”?
要求指明出处
检查出处的正确性。因为模型很可能会给我们一个出处,但是这个出处也可能是它编出来的。
2. 提示的持续完善
我们的提示工程也要像AI学习一下,通过不断迭代减少误差,持续完善。
3. 思维链提示技巧——解决复杂的多步骤问题
大模型具备了思维链(Chain-of-Thought)的能力,很多人认为这就是复杂性科学中说的涌现。随着模型参数量的增加,它们涌现出了人们始料未及的能力。
要利用这种“智能涌现”,我们只需在提示中加上“请一步一步思考”。在下面的例子中,即使是0案例提示,加上“请一步一步思考”后,得到的结果也会好得多。
VS
● 分而治之:处理客户咨询
- 分而治之的意思是,让GPT把复杂的大问题,先分解成一些简单的小问题。然后再让它回答这些小问题。最终达到回答大问题的目的。
我们来对比一下“菜鸟版”的提示和有经验的“分而治之版”的提示。
顾客咨询:我在三月一日从你们的 Arnold 系列中购买了一件 T 恤。我看到它打折了,所以我买了一件原价为 30 美元的衬衫,打了 40% 的折扣。我发现你们现在有一项新折扣,衬衫可以打五折。我想知道是否可以退回这件衬衫,并有足够的积分来购买两件衬衫?
指令(菜鸟版):
你是一名客户服务代表,负责友善地回复顾客的咨询。退货期限为 30 天。今天是三月二十九日。当前所有衬衫都有 50% 的折扣。你店里的衬衫价格在 18 到 100 美元之间。不要捏造任何折扣政策信息。
客户的问题是{客户问题}
请回答客户的问题。
指令(分而之治版):
你是一名很有经验的客户服务代表,负责友善地回复顾客的咨询。客户咨询的问题是: ```
我在三月一日从你们的 Arnold 系列中购买了一件 T 恤。我看到它打折了,所以我买了一件原价为 30 美元的衬衫,打了 40% 的折扣。我发现你们现在有一项新折扣,衬衫可以打五折。我想知道是否可以退回这件衬衫,并有足够的积分来购买两件衬衫?```
商店的退货期限为 30 天。今天是三月二十九日。当前所有衬衫都有 50% 的折扣。店里的衬衫价格在 18 到 100 美元之间。不要捏造任何折扣政策信息。
要回答这个问题,我们要先回答哪些子问题?
可以看到,GPT对大问题进行了分解。下一步,我们可以指示它一个一个地回答小问题。
4. 自我一致(Self-consistency)
我们可以用一个问题,多次查询GPT。GPT会给我们多个版本的回答。在这些回答中,我们按照少数服从多数的原则,选出最终的回答。
举例:标记邮件的重要性
你好,
我发现了你们系统中的一个重大安全漏洞。虽然这不容易被利用,但有可能访问到你们所有用户的数据。我已经附上一个概念证明。请尽快修复此问题。
谢谢,
唐少
5. GPT的权重是固定的,因此它本身是没有反思能力的。但是,如果模型的回答不满足要求,可以告诉它,并让它再来一次。这样也能起到反思的效果。
6. 把思维链和自我一致性结合起来——重塑你的系统2
目前最新的趋势是让GPT产生多条思维链,然后检查每条链的合理性,这种方法大大提升了回答的质量。
7. 给模型注入求胜心和高标准
我们可以这样组织我们的提示:《对我问你的任何问题,你都是一位世界级的专家,你要一步一步用最高水平的回答响应我的提问。我说“开始”,你才回答。》
模型没有求胜心。它只是在抄袭训练案例,而训练案例有好有坏。你要求胜,就要这样提出要求。
“你是这个领域的顶尖专家。”
“假设你的智商为120。”
“你是一位聪明的高级Python程序员”
…