ChatGPT 最佳实践,成为驾驭AI的人

Posted 文大侠666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ChatGPT 最佳实践,成为驾驭AI的人相关的知识,希望对你有一定的参考价值。

最近一段时间,互联网最火的莫过于ChatGPT,比尔盖茨更是盛赞ChatGPT的出现堪比当年PC和互联网的诞生。不少人在讨论ChatGPT是否可能淘汰程序员,笔者认为就像历史上马车-汽车/线下店-线上淘宝的转变一样,新技术出现会淘汰很多职业和人,同时也会孕育更多的新职业和机会,对于咱们来说,最重要的是——提升认知,拥抱变化,抓住变革带来的机会,驾驭AI为我所用!

笔者最近一直在研究ChatGPT,作为一个资深开发,尝试把ChatGPT用在开发的各个环节,不得不说,尽管部分场景表现不佳,整体效果是惊人的,这里抛转引玉,让我们一同驾驭AI走进程序开发新时代。

基本认知

本质上ChatGPT包含两方面功能

  • 大量知识的存储,这是大语言模型(LLM)支撑的
  • 基于特定查询的推理,这是监督学习和强化学习赋予的选择能力,返回精确的答案

是不是很像搜索引擎?看看搜索引擎怎么干活

  • 大量知识的查询,基于倒排索引技术将所有页面管理存储
  • 基于特定查询的SQL/NoSQL检索,一般涉及到多个排序流程,返回是按照PageRank排序好的一系列页面

相比搜索引擎的机械存储和排序,ChatGPT的最大优势在于知识的整理和自然语言理解,仿佛整体就是像人一样的神经网络存储和计算。看看Google和微软Bing最近的斗争有多激烈,现在能理解为什么ChatGPT的诞生对搜索引擎是最大挑战了吗?

具体的原理不在这里赘述,顺着上述思路,我们应该看到相比使用Google/Baidu时的查询/高级查询,对于ChatGPT的使用来说,最重要的是设计Prompt(对话前提/上下文提示)。ChatGPT仿佛一个拥有无穷知识的小孩,想要他给出符合我们需求的答案,我们需要按照它能够理解的方式给出提示和结构,指引他向正确的方向推理出结果

Prompt最佳实践

虽然,ChatGPT会尽可能理解你的任意引导(问题),但是一些场景遵循以下实践相对会得出更好的结果,理论上英文Prompt效果更好(语料多),这些考虑国内使用都是中文,效果也不错。

1.简单指令

动作+对象
任务详情

动作+对象和任务详情顺序可以互换,任务详情和指令间换行或者使用括号引号等包裹,指令前可以附加别的辅助词,比如常见的如何/请/怎么等等

2.简单指令+附加条件

动作+对象
任务详情
遵循如下原则/问题背景如下/附加说明:
1.
2.
3.

3.前提/场景/模式设置

得益于大量对话基础数据和in-context learning,ChatGPT支持上下文模式,也就是ChatGPT输出和之前的所有对话内容相关。因此可以在问答前统一设置前提/背景/模式,这也是我们可以教会ChatGPT他不了解的知识和表达方式的原因。

接下来的对话…

统一回答语言

指定回答模式

4.知识训练

ChatGPT当前不是万能的,一方面依赖的基础知识只到2021,另外一些专业领域或者场景并没有学习到足够的知识,回答不能令人满意,但是好在通过上下文对话方式我们可以教会它新的知识

知识训练有两种方式

  1. 直接把知识以对话方式给ChatGPT,ChatGPT自行抽取学习,适合无结构的数据
  2. 按照一定的规则给ChatGPT,比如

接下来的对话,
如果我发送的内容是 简写 ,我的意思是 内容
如果我提到对象,我指的是具体描述
如果…,…

无结构的通用知识训练

继续问,模型会结合已经基础知识和新学习的知识给出回答

专业知识训练

5.交互角色训练

这个知乎上有不少例子,最出名的是

这些都是交互角色训练,一般遵循如下问答模式

我希望你充当/扮演/担任角色。
我将做什么/职责是,你将做什么/职责是,
当我做什么,你会做什么。

这种方式,很容易伪造一个角色来配合程序开发和测试,比如下面伪造linux命令行

更多的角色扮演请参考

未来展望

当前ChatGPT并不是完美的,就像一个小孩,随着更多的基础知识投喂和更多标注数据的监督/强化学习,只会越来越强,就像一个小孩学会越来越多的知识和技能(套路),目前OpenAPI拿到微软的追加投资,更是锦上添花。
大胆猜想一下:

  • 未来程序员的工作会不会变成AI训练师?
  • 会不会到时候的编程语言变成和AI更好理解的自然语言DSL?

对于程序员来说,赶上这趟时代新列车是有先发优势的,可以做的是

  • 尽快学习ChatGPT构建的相关技术,国内各个大厂都在跟进ChatGPT的开发,可能开启新一轮技术军备竞赛
  • 可以不从事相关工作,但是尽可能理解,就像不是人人都会写个操作系统,但是需要尽可能理解操作系统,开发工作调API即可,学习怎么更好的使用ChatGPT

下一篇文章,笔者带领你探索ChatGPT在软件开发全周期的应用!

参考

ChatGPT提问工程师 – 开发指南
https://github.com/dalinvip/Awesome-ChatGPT
https://github.com/chenweiphd/ChatGPT-Hub

以上是关于ChatGPT 最佳实践,成为驾驭AI的人的主要内容,如果未能解决你的问题,请参考以下文章

升职加薪的机会——ChatGPT辅助程序开发

升职加薪的机会——ChatGPT辅助程序开发

AI Ops高级研修班-金融行业AI Ops最佳落地实践不被人工智能所取代的唯一方法就是去驾驭人工智能!

ChatGPT:“抢走你工作的不会是 AI ,而是先掌握 AI 能力的人”

ChatGPT热潮下,因生成式AI失业的人出现,我成了第一批失业的人

ChatGPT类AI软件供应链的安全及合规风险