之前发过一篇文章,当 ChatGPT 教我学操作系统,被它的回答震惊到了,真的是世界上独一份的支持用户以个性化的方式刨根问底并能给出专业解答的工具,这是任何一本书籍或者博客都做不到的效果。
但是对于纯操作系统小白来说,可能遇到一个问题并没有能力像我一样不断刨根问底深入地问下去,因为他们根本就不知道该问什么,这个时候就又有些迷茫了。
于是我又想到了一个办法,能不能让两个 ChatGPT 对话呢?其中一个作为学生,不断刨根问底提出疑问直到把一个问题搞清楚为止。另一个作为老师,不断解答学生的问题。
我展示一下最终效果,作为用户的我,只需要输入一个问题并按下回车即可,我输入的问题是刚刚那篇文章里的一个问题:
为什么 BIOS 要将操作系统代码加载到 0x7c00 这个内存地址?
此时我按下回车,两个 ChatGPT 就开始一问一答对话起来,我将它们的输出写入了文件,整体过程如下,我完全没有参与。
学生先是把为什么加载到 0x7c00,以及为什么是这个具体的地址而不是别的,以及操作系统具体是如何做到加载这个动作的,三个问题搞清楚了。
随后,学生在搞清楚了 BIOS 加载过程中的细节后,居然进一步问在加载这个动作完成之后会发生什么,如何启动操作系统。然后又进一步问为什么是先读区 MBR 而不是其他扇区,以及多系统启动问题!
随后,学生又非常务实地问了两个操作系统是如何保证其能够正常运行的,遇到一些不正常情况又会如何处理。
接着,直接问到如何优化和加速操作系统启动方式了,好家伙,你这是奔着面试去的呀,太务实了吧!
不过到最后,我的程序还是出现了瑕疵,学生开始问了一个之前早就问过的问题。这是因为为了使得对话持续进行下去以不超过 OpenAI API 的最大 token 限制,我在上下文太长的时候将之前的内容删掉了而不是做总结简化再放回去的原因。
不过,你也可以看到这种方式的魔力了,在你根本不知道问哪些问题一片迷茫的时候,使用这样的两个 AI 来回对话的方式,能够迅速帮你打开视野,起码让你知道围绕着这个问题有哪些比较关键的关注点。
在看完它们的对话之后,你在围绕着对话里没懂的问题,继续通过这样的方式展开思路,很快你就能较为清晰地知道这个问题的关键点在哪里,逐一突破就好了。
有的时候,提出一个问题要比解决一个问题更有价值!用两个 ChatGPT 对话就解决了没有好的老师以及提不出好的问题两个难点。
具体的实现方式很简单,就只有一个 OpenAI 的接口,即。
其他的就是业务逻辑了,怎么让两个机器人交替执行,上下文怎么排布等等。
当然,我这个还很简陋,比如没有做上下文长度校验,可能会超出 token 限制报错停止,后面再慢慢优化吧。
比如有办法能做到上下文总结压缩,并且让提问者不要重复提问之前的内容,甚至还可以调教老师角色让他成为苏格拉底式的老师,激发学生们自己解决问题的能力等等。
再弄个漂亮的页面,再来个文生视频等,这块想象空间也很大!在 AI 技术普通人越来越容易上手的时代,每个人都能做出很有创意的事情!