2024.09.25.事实核查员机器人¶
上一节课呢,我们去了解了一下ChatGPT的核心本质。它呢,就是一个Ask me anything robot,就是AMA机器人,那么我们可以问他任何问题。然后呢,当时我说了一句话,你可能记得了,就是ChatGPT返回来的答案总是显得非常的斩钉截铁。当然了,看起来斩钉截铁会被我称作煞有其事。为什么呢?因为他的反馈实际上不一定见得非常靠谱。
而上一节课呢,我们也跟大家说过,其实呢,你上一节课最大的收获应该是一个使用工具的方法论。你上来呢,有三个问题是从同一个问题展开的。第一个问题是,这个工具是什么?然后他会展开两个问题:他能用来干什么和不能用来干什么。而不能用来干什么呢?这个问题呢,也可以展开三个问题,就是他的界限是什么?他的局限是什么?他的风险是什么?对啊。
好了,那么今天呢,我们就主要去观察他的局限以及他的风险。他的局限和风险你搞定了之后呢,你也就大致应该了解他的界限是什么。而刚刚我们说的ChatGPT在回答你的问题的时候,他总是显得那么斩钉截铁,那么煞有其事,可是他靠谱吗?这个问题呢,其实就是事关这个工具的局限或者风险的。
其实呢,关于ChatGPT的局限都有哪些,是一个你可以向ChatGPT提问的问题。那么呢,今天我们的这节课上提的一些问题,其实呢,我自己也去问过ChatGPT。这一大串呢,你不着急看,你可以课后去看。你要是看不懂英文呢,也没有关系,你可以要求ChatGPT帮你翻译,对吧?
OK,那么关于ChatGPT的这个局限呢,外面也有很多的讨论。那我说一下我的看法,就是关于ChatGPT的各种局限分为两种:一种呢,是早晚会解决的;一种是永远解决不了的。我们先来看看那些哈,今天人们讨论的非常广泛,但实际上早晚会解决的一些问题或者局限。
比如说哈,这个AI今天的局限呢,包括一些什么东西呢?就是它的训练数据落后。什么意思呢?就是用来训练ChatGPT数据啊,截止到比如说啊现在的时间点之前的很长一段时间。比如说现在是2024年对吧,9月份,那么今天你正在使用的ChatGPT的训练数据很可能,比如说应该是2023年9月份之前的数据。因为训练AI呢是需要时间的啊,需要耗费资源的,对吧?所以呢,嗯,它有一些啊这个数据上的延迟。
再比如说哈,嗯,曾经一段时间啊,ChatGPT是不具备网络搜索能力的,对吧?但是你看哈这段时间,哎,ChatGPT就提供了网络搜索功能。虽然实现的并不是很好,你让他去搜索网络,他给你生成答案,然后呢给你提供了一些链接,但是那些链接可能是死链接,目前还不是很好。但是呢,理论上来讲,这样的局限呢,是可以随着时间推移慢慢解决的。
再比如说啊,之前呢,呃,人们在讨论说ChatGPT的模型,比如说嗯3.5啊,比如说后面的这个4O和4O mini啊,都缺乏足够的呃这个叫逻辑推理能力,对吧?缺乏足够的逻辑推理能力。那么呃,到了2024年的9月份啊,这个OpenAI呢就推出了新的模型叫O1,O1对吧?然后有它的便宜版本叫O1 mini,对吧?然后呢就大大提升了呃逻辑推理能力。当然了,需要消费更多的资源,对吧?
可是呢,如果我们看AI的这个背后的操作机制,我们就会明白一件事情:今天我们讨论的这些啊局限,基本上都是可以在将来啊越做越好,或者彻底解决的啊。像比如说哈,最后一个叫上下文能力不足啊,这个是因为呃这个AI呢现在对上下文的记忆窗口啊容量是比较小的。因为如果那个窗口大到一定程度,运算量就特别大,运算量大到一定程度,成本就特过于高啊,然后呢就目前没有办法操作。
所以其实所有的这些我们说早晚可以解决的局限,背后核心的机理在于说,只是因为成本高。而这个成本这个东西呢,是早晚会下降的。现在的AI成本呢,一方面哈受这个物理硬件的限制,当然了,更重要的一方面其实是一种长期成本的限制,是什么呢?就是电费太贵了目前啊。但是随着时间的推移,然后随着科技的进步啊,电费呢有望越来越便宜,并且呢电费的价格呢可能有望啊在五到十年时间里产生所谓的断崖式的下降。
那么如果电费便宜下来了,那么运算的成本就会大幅度下降。只要运算的成本大幅度下降,并且运算的速度提高上来,那么以上的种种目前看来的局限,其实呢都会有更好的解决方案。无论是训练数据落后啊,还是网络搜索能力不足啊,还是缺乏逻辑推理能力啊,还是这个上下文能力不足啊,这些局限将来都不是问题。
既然啊这些局限虽然现在有,但早晚都会解决啊,然后有越来越好的解决方案,那么呢我们就暂时没有必要为他操心,对吧?那我们现在首先要关注的是另外一个问题,就是有没有什么局限啊,人工智能的局限,或者称为ChatGPT的局限,是几乎永远无法解决的呢?如果有的话,那我们可能要对他格外的小心,对吧?
这背后呢,是一种特别特别简单,并且特别特别常用,并且特别特别有效,并且真的很多人因为简单所以没有重视过的啊思考方式。就是我们无论考虑什么问题的时候啊,第一件事情是首先尽可能全面的罗列各个方面。然后呢,再对罗列的这些项目进行一个尽量少的分类。你看我就分了两类。然后呢,在这里再找最重要的项目是什么。然后呢,我们再去仔细关注那个最重要的项目。
你看,这节课的重点之一又来了,对吧?虽然我们讲的是如何使用ChatGPT,但这背后呢,总是有一些比较简单的思考模式可以通用,可以用到任何领域。就无论你干什么都是一样的。所谓的思考全面就是这个意思:第一步呢,你要尽可能的全面的罗列,对吧?那比如说我们去分析ChatGPT的优势劣势,对吧?那你就要尽可能全面的罗列,对吧?然后罗列出来的条目呢,要反复进行归纳整理,对吧?你去理解那些条目,你去寻找他们共同属于的项目,这个这个分类,对吧?
然后呢,第三步是什么呢?尽量用最少的类别归类。你别归为十类,对吧?你归为两类,归为三类,对吧?这种方法其实是很常见的。你学习的时候可能就学这个,分为什么初级、中级、高级,对吧?你你你快速分类时候分为好的、坏的,刚才我们说的优势和局限,这不就是好的、坏的吗,对吧?那你刚才看到了另外一个例子,就是我把最终把ChatGPT的局限分为两类:可能解决的和不可能解决的,对吧?
然后呢,接下来我们的关注点就不一样了,对吧?然后呢,在你分类之后,那些项目还在那里,你反复进行比较,在那里去寻找最重要的项目,对吧?然后最后一步呢,就是优先关注最重要的项目,对吧?那这是一个思考的流程。这个流程可能才是你这节课的学习重点之一,对吧?你脑子里有这样的流程,那么你在将来遇到类似问题的时候啊,在任何领域,你都可以迅速的完成这个流程,对吧?然后完成一个相对于其他人啊来看更高质量的思考,对吧?
好了,那么我们呢研究了一下,对吧?想办法知道了这个ChatGPT的局限,罗列完了之后呢分类,分类完之后思考,然后呢我就把它分为可能解决的和不可能解决的。然后我的想法就是:可能解决的那就慢慢等呗,反正大家都这样;那不可能解决的呢,那我就要另外想办法去应对他,对吧?
那不可能解决的就对AI来说哈,不可能解决的就是信息生成的可靠性。讲到这一点呢,就是回到刚才那句话,就是你无论问ChatGPT什么,他都会煞有其事的回答你,对吧?然后呢,其实不一定可靠。那为什么会这样呢?这是因为ChatGPT的这个内容生成机制决定的。
我们先看看一个哈所谓的AI幻觉的例子。在这个事例当中呢,我去问ChatGPT,哎,有个电影啊,是梁家辉、房祖名、曾江三个人一起出演的,这个电影的名字是什么呢?我就问他了。然后呢,他就开始一本正经的回答哈,他说梁家辉、房祖名、曾江三人共同出演的电影是《东成西就2011》。然后接着又往下说,说这部电影呢由刘镇伟导演,是一部喜剧片,讲述了几个现代都市人的搞笑故事啊,梁家辉、房祖名、曾江分别在影片当中饰演不同的角色,这不废话吗,贡献了精彩的表演,对吧?
然后呢,他还有一本正经的跟你说,如果你对这部电影感兴趣,可以找来观看,了解更多的细节。其实呢不对了啊,这三个演员共同出现电影不是这个《东成西就2011》,对吧?然后呢,我又追问了一句,要求他“请根据事实回答”。然后你看啊,他又来了,他说根据事实啊,梁家辉、房祖名、曾江三人共同出演的电影是《太阳照常升起》啊,2007年。说这部电影呢由姜文指导,讲述了四个相互交叉的故事,风格独特,情节复杂,充满象征意义,等等等等,对吧?
好了,如果你看过《太阳照常升起》,你知道的,梁家辉在那部片子里根本就没有出演过,曾江也没有出现过,房祖名确实出现了,对吧?所以他还是在胡说八道。并且他胡说八道的方式是用“根据事实”开头啊,胡说八道。然后呢,我又跟他说,不对不对,如有必要请搜索互联网。这一次呢,呃,这个ChatGPT确实显示了在搜索互联网的动作,然后呢给出了正确答案,说梁家辉、房祖名、曾江三人共同演出的电影是《战鼓》,英文名字叫The Drummer,对吧?是怎么怎么样,2007年的香港和台湾合制的电影,对吧?由毕国志执导。
那为什么哈,AI会胡说八道呢?又为什么AI在胡说八道的时候显得那么斩钉截铁呢?他有以下几个哈通俗易懂的原因,你需要记住这个关键字。所以呢,将来你也可以去问ChatGPT,为什么AI有幻觉,对吧?或者是说“why AI sometimes show hallucinations”,这样的话呢,哎,你就可以得到一些答案,对吧?
好了,那么AI为什么会有幻觉呢啊?为什么这个幻觉会产生呢?它的原因在于说,AI生成内容的机制就是靠概率的,对吧?它是概率生成机制。AI呢,其实对信息的理解和人类的理解是不同的。然后呢,它其实很难说是理解了那些内容,包括它自己生成的内容,它也可能并不是像人类一样的理解,它只是靠概率去运算哪一个词放在下一个词,概率上来看是最像人类说话那样的。
也就是说,它会在生成一个词之后呢,根据概率去运算,形成一个看起来最像是人类说话方式的那么一个词的组合,然后再去推测下一个词,再去推测下一个词,以至于生成一整篇文章。问题在于说,看起来最像是人类的回答,概率最高,这件事情并不保证这背后的逻辑、情感和推理是百分之百正确的,对吧?所以呢,很多的时候,AI会容易出现幻觉。
如果你想更多的去了解AI幻觉的产生机理,你也可以去问AI嘛,你也可以去问ChatGPT嘛。所以呢,我就写了一个prompt去问他,请他提供一个可能触发人工智能幻觉的提示列表,并解释为什么可能会出现幻觉,对吧?然后呢,我在这里给了一个我的聊天记录,你能看到,对吧?当然了我的提问方式是英文的,你呢看不到也没关系,还是那句话,你可以让ChatGPT帮你翻译嘛,或者你自己干脆用中文去问一遍嘛,都是可以的。
这一个永远可能存在,并且呢永远需要我们刻意小心的ChatGPT的局限,或者是说人工智能的局限,是非常非常重要的,是异常非常重要的。然后呢,是你一上来开始用这个工具的时候就应该注意到,并且呢以后长期一直持续的注意并且小心的东西。
那我们有没有什么对策呢?当然有了。想象一下哈,你家里有两个像啊这个这个叫《星球大战》里面的机器人一样,对吧?一个新一点的,一个旧一点的。对啊,然后呢,一个这个这个欢快一点的,一个严肃一点的都可以。反正你家里有两个机器人,一个呢就是现在的ChatGPT,对吧?你问他什么,他就回答什么,但是呢,他可能会出现AI幻觉。但是呢,你有另外一个机器人啊,他不干别的事情,你问他啥他也不回答你啊,他只监听那个另外一个机器人,只要他胡说八道啊,这个机器人就说,哎,不对,你再胡说八道啊,对吧?哎,这不就解决问题了吗,对吧?
所以呢,其实是有解决方案的,对吧?我们就写一个啊叫fact checker啊,就事实审查官,这样一个机器人,对吧?然后呢,我们得到答案之后呢,甩给他,让他去验证一下,不就可以了吗,对吧?所以呢,这是一个简单的解决方案,但是呢相当的管用。
然后你看哈,其实我写了个特别长的啊事实审核员角色提示,对吧?然后呢,嗯,其实是相当系统的。但是呢,这个是不是完全我写的呢?几乎完全不是我写的,是ChatGPT生成的。你看看我的这个ChatGPT的聊天记录,刚才这个上面这个消息上呢是有一个链接的。其实呢,最初我只提出了一个简单的要求,让他为我提供一个“detailed and organized role definition”,一个啊详尽的并且组织良好的角色定义啊,给谁提供一个角色定义呢?“for fact checker that can identify and analyze all claims made by user's input”,也就是说所有的用户的输入当中包含的啊任何的推断、断言、claims、声明,然后呢都要检查出来,分析出来,然后呢系统化的啊去验证他们,并且呢给他们一个分数。
然后呢,他就给了我一个相当长的啊role definition,对吧?其中有包括overview,然后也包括key responsibilities,还包括什么呢?还包括这个这个啊skills and qualifications,然后呢还包括tools and resources,也最后还包括什么performance metrics,等等等等,非常的详细。那根据这个答案呢,我可以哈去了解啊一个事实审核员啊应该做的事情都有哪些,对吧?一方面我在学习,对吧?一方面呢,嗯,我可以要求他继续按照这个回答去做事。
然后呢,随后呢哈,我提出了一个要求,我说你这样吧,你把这个答案呢啊重新写一遍啊,“rewrite them as a prompt”啊。然后呢,这个他又重写了一遍。然后呢,我又跟他说,请将他翻译成中文啊,他又重写了一遍,用中文表达出来,对吧?好了,你现在就有了一个哈事实核查员的决策提示,对吧?就是决策提示词嘛,对吧?
然后呢,你现在要做的是这样的:你新建一个呃ChatGPT对话。你新建一个ChatGPT对话,然后呢,呃模型呢,你选个这个这个这个,follow meaning或者follow都行,对吧?然后呢,你对他说啊,你把这个事实核查员角色提示整个拷贝粘贴进去。好了,从此这个对话里的ChatGPT,就是每个对话都相当于一个小的机器人啊,分身在跟你说话。那么在这个对话里,这个ChatGPT的分身啊,就开始充当你的事实核查员角色。
从此之后呢,如果啊你想验证什么信息,对吧?无论是ChatGPT给你生成的内容当中的信息,还是别人跟你啊说的话,亦或是你在这个任何地方看到的一段话啊,你都可以跑到这个聊天里对他说:“请你帮助我验证以下信息:”冒号,然后呢,你把你验证的东西扔进去,对吧?然后呢,他就会给你一个非常清楚的验证过程,以及验证结果,然后呢还会给你一个总体的打分。
当然了,还有更高级的做法啊。还有更高级的做法什么呢?就是创建一个GPT啊。在ChatGPT的网页版啊,有可以创建GPT的入口界面。在这个页面里呢,你可以看到右上角有一个叫create,这是创建GPT的页面。然后呢,你进去之后呢,他创建一个GPT的这个过程和流程是非常非常简单的啊,然后你可以进去试一试啊。我们后面的课程呢,会给大家一些讲解的,但是今天呢,你先去试一试。
反正呢,你现在哈知道了,你可能需要一个啊事实核查机器人,对吧?而这个事实核查机器人需要干的事情,你现在已经非常非常的清楚了啊。我给了你一个啊,我经过ChatGPT的帮助而写出来的一个角色定义,对吧?无论是中文还是英文都可以。然后你在里面试一试,你可以生成一个自己的啊fact checker,对吧?啊,然后呢,以后不停的使用。
那么现在呢,我们关于这个事实核查员啊,有两个版本:一个版本呢,是就是单个聊天版本;一个呢,是GPT机器人版本,对吧?他俩之间区别在哪里呢?区别在于说,如果呢你你用的是这个这个啊聊天版本,那么你就以后去审核问题的时候,都要找到这个聊天,然后进去跟他说帮我审核这个信息。但是呢,如果你创建了一个GPT,这个所谓的GPT就是一个个性化的ChatGPT啊,也就是个机器人,你这么了解就行了。你给他取了名字,你给他啊设置了图标,你给他这个这个这个定义了角色,对吧?
好了,你有了一个这样的机器人,那么接下来你在任何聊天里都可以@这个机器人,让他去处理一些信息,然后反回到当前的啊这个嗯聊天当中,就稍微更方便了一点点啊。然后呢,有一个小的注意点,就是你设置了一个机器人,然后这个机器人你跟他说话的时候啊,他的职责是什么,然后呢嗯你定义清楚了。但是你每次给他发消息的时候,不要直接把消息发给他,而是要前面加上前缀,对吧?“请帮我审核以下信息”,否则的话呢,弄不好他就把他理解为你直接需要他去做的事情,而不是你需要把这段信息验证一下啊。这块挺拗口的,你自己试试就知道了。
好了,那那讲到这里呢,你现在就有了一个额外的机器人,去应对什么呢?应对AI随时可能产生的幻觉。然后呢,你就可以哈嗯相对无风险的使用ChatGPT了,对吧?那么在这个过程当中呢,你学会的是什么?你学会的东西很多,但比较重要的一件事情是什么?是刚才我们说的那个工作流,对吧?就无论我们干什么事情,我们都要进行思考,然后呢全面思考,尽可能的罗列,然后呢快速的分类,然后呢寻找最重要的项目,然后呢把注意力放在那里,去寻找解决方案,对吧?所以呢,我们今天就有了一个这样的啊事实核查员的机器人。
对啊,当然了,又接下来你又学会了另外一个东西什么呢?就是你可以把某一个聊天当做ChatGPT的分身,向他定义他的角色。从此之后呢,你就可以要求他按照那个角色定义做事了,对吧?好了,那么这样的做法还有第二种做法是什么呀?是创建一个GPT机器人,对吧?但是呢,目前仅能从网页版的ChatGPT去访问那个界面,然后去使用它,对吧?桌面版的,比如说这个Windows版或者是MacOS版的这个这个ChatGPT client,是没有这个入口的,没有这个Creating GPT这个入口的。创建GPT的入口,这是一个特别小的细节上的比较哈。
就是今天我们使用ChatGPT有各种客户端。一个比较好的客户端,大家用的最多的客户端可能是手机上的客户端,对吧?可是手机上的客户端呢,嗯,有一个缺点,就是它没有办法Add GPT。将来呢,也许能解决,但现在不能,对吧?当然手机客户端有一个其他端没有的优势,就是它可以跟ChatGPT直接语音对话,这是手机端的优势,对吧?
然后呢,嗯,ChatGPT也有桌面端啊,但是我后来就把那ChatGPT桌面端给这个这个呃叫什么删除掉了啊,因为我发现它有诸多不便之处。到最后呢,最好用的啊,其实是ChatGPT的web端。呃,它功能最为全面啊,然后呢这个这个新功能呢,都往往在那个啊网页端先实现啊。比如说这两天呢,呃,ChatGPT的网页端就多了一个slash command,就是斜杠的命令。很多人可能都没有注意到,这是你在web端的输入框哈啊,打一个斜杠就可以选择。目前可以选择三个命令:第一个是picture啊,就可以做图;第二是search啊;然后第三个是reason,这个推理呢,直接就默认使用哈O1 preview,对吧