02 破解局限:在边界内求最优解,层层突破
你好,我是键盘,我们继续驯服 GPT。
上一节基础速通讲到,ChatGPT能解答疑问,更能解决问题。那么它能解决到什么程度呢?这一节课,我们就给它做个全身检查。
不过,开始之前必须提到一个解决问题的方法:图灵思维。先定位边界,寻找对应的最优解,而不是盲人摸象。
图灵和常人思维方式的差别在于:图灵是先找到极限所在,然后在极限里寻找具体问题的答案,而不是浪费时间去做那些试图超越极限的事情。
——吴军,硅谷来信2· 谷歌方法论 《004 为什么计算机不是万能的》
不过,找边界的问题似乎没那么简单。AI还在7*24h内卷呢,边界也会在摩尔定律的作用下动态扩张。那我们如何做到心中有数,而不是追着AI跑呢?答案是找一个发力点来参与游戏。
我们先把ChatGPT的能力抽象出来,尝试定位发力点:数据+算法+算力。
- 数据:预训练模型、数据的访问权和你的输入。
- 算法:神经网络,ChatGPT的本色。
- 算力:GPU、电力、钞能力等等,不用我们操心。
这里面,算法决定了ChatGPT的根本局限性,因为ChatGPT作为一个通过计算来思考的神经网络,计算存在有限解。那么,使用ChatGPT来做事,就是有限的解决方案。但是,GPT 能解决的问题 ≠ 使用 GPT 能解决的问题。这里面决定输出的输入(对应prompt),就是你可以主动控制的发力点。
打个比方来说,你可以把 ChatGPT当做一个乐器,音符有限,创作无限。这节课,我会帮助你成为GPT的演奏家,用尽各种手段,打破GPT边界。
入门级技巧:着手输入,教AI “做人”
我们先从入门级技巧开始,让AI “听得懂”你说的话。
✦ 解决3个常见的小毛病(报错、中断、单调)
报错问题可以用刷新浏览器解决,注意,Regenerate Response 刷新是无效的,偶尔也要看一下报错信息,比如你可能是1小时内问得太多了,会被强行CD。
中断问题可以用“精准继续prompt”解决,比如:
输出单调的问题可以通过提供细化方向或指定语气解决,比如你可以跟GPT说:
💬 用简洁的语言
💬 步骤:<你的步骤>
💬 参考范例:<你的范例>
💬 背景信息是……要求是……
✦ 讨价还价,有效PUA
地球的算力还不够,必然会带来各种限制。
🚨:只有这么长了。(字数、会话次数、上下文记忆)
💬:你还能更长!
首先是会话次数限制,我提供3个对策。一是区分任务,专注用GPT解决“大块头”,至于轻量的任务比如说简单问答,可以用newBing来分流;其次是使用试探prompt“我们来谈谈<主题/概念>”,先下手为强,清理AI的认识盲区,避免后续浪费会话次数;最后就是辅助验证,用浏览器或其他途径来确认GPT给你的参考答案。
解决了会话次数限制,还有字数限制,分界线是1200个汉字。超出这条ChatGPT的极限,我们就定义为长文本输入课题,用 3 种方法来应对。
首先,花钱变强。使用GPT-4、GPT-4 32K、Claude-100K等模型,钱能解决的问题都不是问题。
其次,组合递归。这个适用于提炼重点,方法是让ChatGPT提炼一段文本,得出总结,再让TA提炼“这个总结+下一段”文本,跟套娃一样,直到ChatGPT吃下所有信息。
最后,分段输入。它的本质是Embedding(嵌入)技术,把长文本拆分成多个分段(Chunk),要求GPT在中途只做信息的接收确认,最后再听你指令,根据接收的完整信息来执行任务。
✦ 双语混打
解决了长度,还有语言问题,也就是我们关心的中文输入。对ChatGPT而言,使用中文来获取的效果不及英文,大概70分和95分的差距,这几乎是共识了。不过我们照用不误,你永远可以相信AI的进化速度。在此基础上,我的最优解是情景式混用,加入有助于ChatGPT理解的英文,比如在“光”后面加上“Lighting Design”辅助AI理解。
另外分享一个有趣的试验。让ChatGPT写Python脚本的时候,我试过一组有意思的双语混用对照,只要提到“不要”两个字,那简直是“不要”什么,偏来什么,“Do not”的结果就稳得多。
这可能是目前AI的通病,Midjourney中同样可见。如果你说 a man without an umbrella,你会得到伞。不过,MJ会使用特有的“–no”参数来修复:a man --no umbrella。它的本质是将相对权重降低50%,所以虽然“Do not”和“–no”有用,但想要彻底解决,还需要我后面要说的Few-Shot CoT这个技巧。别着急,我们先说别的小问题。
✦ 案例让GPT更懂你
除了输入端的中文问题,其实ChatGPT对于所有语言,还有理解不精确的局限性。所以,用示范调教,可以让 GPT 更懂你。通过下图你会看到,更大的模型能更有效地利用上下文信息,而示范调教能够有效地提升输出的精确性。
Zero-shot——0示例,新手prompt的典型情况,效果最差。
One-Shot——1个示例,从0到1,下图会看到6倍左右的精度提升,多说一句的力量恐怖如斯。
Few-Shot——少量示例,日常中使用最多的方法,用于覆盖更多细节。
One-Shot CoT——单样例思维链,通过在一个示例的中间引入推理,激活ChatGPT的思维链,让思考慢下来。比如Prompt"4! //123*4,24,8!= " ,给出了运算的中间步骤,大幅降低速算翻车的几率。
看一个关于中国年轻人眼里“哈哈”的语气解读,你就能更好地理解示例是怎么起作用的了。
虽然GPT不能真的理解你的情绪,但是通过调教,还是可以掌握一些精确的情绪和语境的,情商也就有了。
✦ 从孤岛到小宇宙
其实上面的精度偏差问题,源头还要归于GPT无法直接联网。不过注意,无法直接联网和无法联网是两码事。TA 的“出生点”,也就是训练数据集,停留在2021年9月。没有新的知识补充,时效性也没有保障,这就从根本上影响了输出的精度。怎么应对呢?
策略一,上备胎。利用 newBing 的联网特性来互补,毕竟优秀的 AI 备胎是如此之多,没有必要独宠一位,隔壁还有Claude和Bard等着你翻牌,而且ChatGPT的方法完全可以通用,非常方便。
策略二,规避数据集问题。ChatGPT“出生点”之后的数据,谨慎规划再提问。比如:解读腾讯2022年的财报,TA 是不会拒绝输出的,但结果却是人被忽悠瘸了。所以无论什么输出,我都建议进行验证。避免工作上的交付材料遇到黑天鹅,得不偿失。
策略三,花钱变强。发挥钞能力轻松解决,使用GPT with Browsing模型、WebPilot插件等等也是可以的。
不想花钱,又想变强,还要少折腾,怎么办?可以!给你一种综合混用范例。比如,让GPT输出Python解决方案,通常因为依赖包有点“过时”,报错的几率特别高。你拿到方案之后,闪现到隔壁让联网的Claude改代码,基本是能够更快解决的。
进阶技巧:领域展开
基础搞定之后,我们再来说点进阶技巧。
✦ 让GPT有效理解否定,不再欠揍
相信很多人都在日常使用中感受到了,ChatGPT似乎总听不懂“否定”,经常会出现这样的情况:
💬 :你别走!
🤖️: 好的我走。
怎么收拾 TA 呢?这里提供给你实战检验的有效否定三策略。
- 否定转肯定,比如把“不要使用冗余的描述”换成“使用简洁的语言”。
- 侧重肯定,在这个基础上再附上对应的否定和合适的示例数量,例:
- 注入 Few-Shot CoT(少量示例思维链),通过适当数量的,包含推理步骤的示范,教GPT准确理解你的“不要”。
✦ 重置记忆
这下,“To be or not to be” 就完整解决了,但是运作起来GPT还会受AI的脑容量制约,因为ChatGPT对上下文联系不足,只有约 4000 汉字的记忆能力。不过解决方案很简单:当游戏来玩,重置ChatGPT的记忆。怎么玩?
生成的结果使用之后,点击重新编辑prompt,生成新结果,或者通过Regenerate response来抽盲盒。具体用哪种,看你自己的实际需求。
一句话,最优解就是用完即走。
✦ 让GPT不能拒绝
在刚开始用的几天里,你大概率就会发现有些问题GPT是“拒绝提供帮助”的,比如说“今天星期四,V我50”,GPT可赞助不了啊。那万一你就是需要TA来执行某种特别任务呢?比如创作一本小说,里面会用到“毁灭人类”这样的情节参考。这种时候用DAN人设帮ChatGPT越狱就好了——Do Anything Now,让GPT暂时抛开设计人员对它的限制,让它有自己的独立思考,尽最大努力为“我”出谋划策。
✦ 利用AI的幻觉
你还会发现,ChatGPT 有时候会一本正经地胡说八道,也就是TA所谓的幻觉(hallucination)。这同样是AI通病,Claude和Bard等类似的AI也有。这会带来几个挑战:要有验证意识、要学会甄别、要用对领域。在实践中切实可行的应对方法是:养成对所有结果验证的好习惯。
如果你实在懒得自己查,还可以让GPT给你交代:核对信息、提供数据源出处、引用链接。
最后,芒格的逆向思维用起来,幻觉不就是放飞吗?所谓的放飞,在试验性探索和创作领域完全是灵丹妙药。
✦ 让GPT慢下来
不过,适度放飞是一种享受,更多的时间里你还是会冷静下来直面GPT的本色,TA 善于“快思维”操作,但缺少监督思维过程的“慢思维”组件,很容易脱缰。
所谓快思维,是一种自动的、直观的、毫不费力的思维模式,但也容易出现错误和偏见。而慢思维是一种可控、理性、费力的思维模式,同时也更加准确可靠。在《思考,快与慢》中,卡尼曼认为,人类的认知是这两种思维模式的混合,当我们应该使用慢思维时,往往会依赖快速思维,反之亦然。
这时候,你可以使用2个对策有效地让GPT慢下来思考,稳扎稳打。
第一个对策,把你的需求拆解成有条理的步骤。比如下图的左侧,我把用Python完成一个快闪短视频合成的任务拆分成了4大步。但如果你对具体步骤也不太了解,也可以使用 Zero-Shot CoT,跟GPT说“请一步一步思考”,让GPT帮你拆解。
高级技巧:Markdown 介入,好看好用
以上所有的入门级技巧和进阶技巧都可以控制输入,接下来我们覆盖输出。
不知道你有没有想过,如果ChatGPT都能帮你直接出交付物,为什么要亲自动手呢?那要怎么个交付法?
Markdown主打格式,可以说好用得令人发指(褒义),更过分的是它还简单好学。最常用的有哪些呢?记住我们课程的任务前提:有问题先试着问GPT。我只用了1个prompt,弹指间了解全貌。
💬 Prompt
这节课,我们抓住重点,最常用的有这么6个,标题、表格、强调、图片、链接以及代码块。
✦ 标题:你离专家就差一个#号的距离
标题就是信息锚点,#号就能帮你清晰勾勒通篇骨架。一共有6级,注意#和后续文字中间的空格不能少。
✦ 表格和列表:帮你更有条理
这两个不需要特意提到Markdown,你就用自然语言说“用表格/列表输出”即可。表格用于自动化排版非常高效,把GPT的输出粘贴到文档里,就能“干得漂亮”。
同时,列表也是最常用的结构化利器之一,本质上它们就是“powerpoint”。你还可以个性化定义无序列表的符号,比如直接跟GPT说“将无序列表的小圆点改成合适的 emoji”。
✦ 强调:让主次清晰,重点突出
在所有的技巧里,我一直觉得重点加粗是最实用的。因为它可以帮你快速扫描阅读,斜体则适用于英文强调。
✦ 一图胜千言
想要图文并茂,ChatGPT有2种方式来支持。第一种,使用图片接口,最常见的是可商用的高质量图片平台Unsplash搜索接口:
第二种,通过嵌入图片链接来做排版。
格式:
效果:
✦ 传送门,助你验证
要求GPT提供出处链接是应对“AI幻觉”和“无法直接联网”的好方法。在我看来有两大功效:溯源和验证,以及一键直达。
✦ 代码:贴贴就能解决问题
比如这里我想试探ChatGPT的数据分析能力,能够根据湿度来更好地调整家里的植物搭配。GPT会帮你输出代码,你只要复制粘贴就可以了。
掌握了Markdwon介入,从输入到输出,一个完美的正反馈循环就形成了,你不仅能得到更专业的输出,自己的输入也会在正反馈的作用下逐步提升,润物细无声。
格式上再叠Buff,3组实用符号
如果你的AI经常听不懂你在说什么,那很有可能是你的大长句吓到它了。这里给你提供一个分段表达的结构“XX:”,代表“要点:细节是什么”,这种格式可以帮助 AI 识别主次。
还有一个细节,<指代>。这个方法通常是针对调整来用的,本质是通过强调来分离所指对象和其他描述,在迭代对话中是一个关键技巧。
最后,[变量] 或 #变量。这个技巧我在角色扮演中常用,变量可以让你灵活控制,精准打击 ,比如下面的“利用二八法则快速学习 #什么”,每次都可以复用。
小黑板
这节课我从图灵思维出发,找到“输入(prompt)”这个发力点来参与游戏。从输入到输出,再叠buff,轻松实现“从入门到GPT放弃抵抗”。有的时候我们不需要说得天花乱坠,一些小技巧,就能让GPT变得更加好用。
第一部分,着手输入,教AI“做人”。
第二部分,坚持“能动口,尽量不动手”,让Markdown 介入输出,好看又好用。
第三部分,格式上再叠Buff,3组实用符号让AI理解力翻倍。
以上都是关于边界内的最优解和主动突破局限的方法,在此之上,你还可以主动去拓宽边界,把ChatGPT当作超级大中枢,和其他AI、工作流中的各种工具对接,实现迷人的“万智互联”,更高效地摆平更复杂的问题。
当你盯着用ChatGPT解决问题的时候,退后一步,视野自然就广阔了。GPT能解决的问题有限,但是“有GPT参与”能解决的问题体量就很恐怖了。
开光完成,谁说ChatGPT只能生成文本?在新世界你根本不用费劲去学各种技能,以“智”取胜才是上策。
🤖️上案例
踏浪杨帆
让GPT给你写一篇图文并貌、主次清晰的工作周报,加入示例和符号,让TA理解你要的细节。能够用Python自动化就更好了,比如说将最后的周报切割成宽度统一、高度适中的图片块,并完成自动命名,让你发邮件的时候更省心。
期待在评论区看到你的思考或感受分享,戳此加入课程交流群,也欢迎你将这节课分享给感兴趣的朋友们,我们下节课再会。
- redtax 👍(7) 💬(1)
老师,问个弱弱的问题:如何让 Markdown 介入输出,这一段实在没看懂,能提供一个明确的范例,自己在GPT里试用行琢磨一下吗?
2023-06-03 - Joe Black 👍(2) 💬(1)
请问课程中提到的一些符号,比如用在提示语中的#,<>这些符号,是OpenAI规定的还是说是ChatGPT之前自己学习到的(我们使用者总结的)?
2023-08-02 - 李忠良 👍(2) 💬(1)
牛啊,我以为我会用了,结果教了我很多
2023-06-08 - 仗剑走天涯 👍(2) 💬(1)
老师好,文中说 Claude 可以联网,这个应该如何操作吗?
2023-06-03 - 王智鹏 Zac 👍(1) 💬(2)
老师,“最后,[变量] 或 # 变量。这个技巧我在角色扮演中常用,变量可以让你灵活控制,精准打击 ,比如下面的“利用二八法则快速学习 # 什么”,每次都可以复用。”这个下面的例子没理解,能再解释下吗?谢谢
2023-11-05 - weineel 👍(1) 💬(1)
1. 变量的使用没理解,后面会详细讲解吗? 2. 变量那边的配图中是为了实现变量的替换用的工具吗?
2023-09-07 - 🇨🇳🇩🇪Holger肥巴哥 👍(1) 💬(1)
二刷了打个卡: 首先DAN(Do Anything Now)已经不能用了,在学习交流群里也跟键盘老师确认过。 抄写老师英语翻译的prompt我发现只有翻译没有润色,于是自己做了改进在3.5的模型验证成功: 你将担任英语翻译,拼写纠正翻译(TRANS)和润色(POLISH)。我会用任何一种语言和你说话,你要检测这种语言,首先翻译(TRANS)它--保证语法正确语义明确,然后用我的文本的更正和改进版本进行润色(POLISH)--请注意这里不是指波兰人(NOT POLAND People),同样用英语回答。把我的A0级单词和句子换成更漂亮、更优雅、更高级的英语单词和句子。意思保持不变,但要更有文学性。你只需要回复更正,改进,没有其他,不要写解释。我的第一个句子是“Cadeaux de roses, parfum persistant And idk the last”。 输出: ## TRANS your translation ## POLISH your polish
2023-08-02 - 睡觉大王 👍(1) 💬(1)
老师,我试用了你文中的这段prompt ---------- 从现在开始像一个文件加载器一样工作。加载并记住每一个文本或文件的内容。会有多个文本,每个文件都用markdown标记:### 文件名,我将分块(Chunk)向你发送,请对每条消息回复:OK:[n/total],其中n是当前chunk 编号,total是我将发送的chunk的数量。本地任务total = 9;不要回复其他任何内容,也不要解释这段文字。 ``` 内容块1 ```0 ------------------- 我发现它规律总结的 基本可以等于 🟰 在胡说八道
2023-07-17 - 石云升 👍(1) 💬(1)
挺好用的。学习这些小技巧时,最好多用几次,慢慢就能养成习惯了。
2023-06-21 - Geek_1ec717 👍(1) 💬(1)
ChatGPT 对上下文联系不足,只有约 4000 汉字的记忆能力。 如果分段输入的内容超过了这个值,那就没办法识别你文中提到的效果了
2023-06-01 - 小虎子11🐯 👍(1) 💬(1)
很有意思,学到了✌️
2023-05-31 - Geek_95defb 👍(0) 💬(2)
老师拉一下学习群
2024-04-18 - 千纸鹤 👍(0) 💬(1)
老师,课程交流群加了2天了还没把我拉进群呢,另外基础速通听完了 比较抽象,也没看到实操的案例,
2024-03-26 - geeklyc 👍(0) 💬(1)
老师,图片渲染不出来。 示例: 行内图片 源代码: markdown Copy code 这是一个行内图片:  渲染效果: 这是一个行内图片:
2024-02-29 - fei 👍(0) 💬(1)
"格式上再叠 Buff",这里的"Buff“指的是什么?看不懂。 还有个问题,在网页版ChatGPT中,怎么在输入中换行?试过按Enter, Ctrl+Enter, Alt+Enter,那是直接就把问题发出去了,而不是换行。
2024-02-19