草庐IT

有了插件的 ChatGPT ,是一个节点,却不是中心

王建硕 2023-03-28 原文
ChatGPT 推出了 Plugin 机制,这是一项非常令人兴奋的进展。大家不约而同评价「一个操作系统就此诞生」。这个说法,大错特错。

OpenAI 是机器人和机器人对话的世界里面的一个节点(虽然是一个重要的节点),却不是中心。

我脑子里面一直有一个图景:一个机器人和机器人对话的世界。人跟一个机器人聊天,让这个机器人通过它的机器人朋友帮助人类完成任务。ChatGPT Plugin 严丝合缝的演示了这个世界的可能性。那些机器人之间的协作如此顺畅,完成了以前单个机器人无法完成的任务。这一点是划时代的。

这个世界我们叫做 Botnet 如何?机联网?

这个 Botnet,是一个网状拓扑结构,而不是一个星状的。OpenAI 所处的位置,不在中心节点,而是网络上的一个和用户交互的边缘节点(Edge Node)。

但是,请千万注意:ChatGPT Plugin 的协作方式,是一个机器人(ChatGPT 和用户聊天的那个机器人),和其他的机器人(比如 Wolfram,或者 Zappier)平等的协作的结果。他们是平等的,而不是其他的机器人运行在 ChatGPT 的平台之上。

千万不要把我们接触到的第一个网络的节点当作网络的中心。

这个错误我们在 Yahoo!刚诞生的年代犯过了。

大家把 Yahoo!设为首页,每次都通过点击 Yahoo!目录里的链接访问互联网。过了很多年,很多人依然误以为, Yahoo!就等于整个互联网,所有的网站都是 Yahoo!的子公司。Yahoo!这一家公司提供了整个互联网的信息。我们后来知道,Yahoo!和它收录的所有网站之间是平等的关系,他们用超链接的方式链接成了一个 World Wide Web (WWW)的网络。Yahoo!仅仅是一个我们找到的第一个节点,然后通过它跳转到了后面的节点。和 OpenAI 不同的是,谢天谢地,Yahoo!并没有把它收录的每一个网站都叫做一个 Yahoo!的 Plugin。

OpenAI 使用了误导的名字(肯定不是故意的),用 Plugin 称呼提供能力的那些服务员,就跟庄园主的主人称呼自己的黑奴一样。但实际上,每一个所谓的「Plugin」,都是一个独立的机器人。他们在拓扑结构上的身份,和跑在 OpenAI 服务器上的这个调用他们的机器人是平等的。他们之间是相互通信和调用的关系,而不是依附关系。

「We hold these truths to be self-evident, that all bots are created equal」

--- 马丁-路德-王

我们看到的不是一个操作系统的诞生,也不是一个 App Store 的诞生,而是一个互联网之上,机器人和机器人相互对话的网络的诞生。在这个世界里,OpenAI 给了这些 Bot 以生命,却无法以中心的方式决定他们的走向。这些机器人会以开放的协议,相互对话,而无需经过 OpenAI。

一个网络可以从任何一个边缘节点访问。我们可以从 https://chat.openai.com 这个URL 的入口去访问这个机器人的网络(Botnet),也可以从别的入口。

我们团队也会在两三周左右发布自己的机器人联网的产品,进一步演示一个机器人和机器人相互交谈的世界。

有关有了插件的 ChatGPT ,是一个节点,却不是中心的更多相关文章

  1. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  2. ruby-on-rails - Rails - 一个 View 中的多个模型 - 2

    我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何

  3. ruby-on-rails - 渲染另一个 Controller 的 View - 2

    我想要做的是有2个不同的Controller,client和test_client。客户端Controller已经构建,我想创建一个test_clientController,我可以使用它来玩弄客户端的UI并根据需要进行调整。我主要是想绕过我在客户端中内置的验证及其对加载数据的管理Controller的依赖。所以我希望test_clientController加载示例数据集,然后呈现客户端Controller的索引View,以便我可以调整客户端UI。就是这样。我在test_clients索引方法中试过这个:classTestClientdefindexrender:template=>

  4. ruby - 如何每月在 Heroku 运行一次 Scheduler 插件? - 2

    在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/

  5. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  6. ruby-on-rails - 如果 Object::try 被发送到一个 nil 对象,为什么它会起作用? - 2

    如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象

  7. ruby - 为什么 SecureRandom.uuid 创建一个唯一的字符串? - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?

  8. ruby-on-rails - Rails - 从另一个模型中创建一个模型的实例 - 2

    我有一个正在构建的应用程序,我需要一个模型来创建另一个模型的实例。我希望每辆车都有4个轮胎。汽车模型classCar轮胎模型classTire但是,在make_tires内部有一个错误,如果我为Tire尝试它,则没有用于创建或新建的activerecord方法。当我检查轮胎时,它没有这些方法。我该如何补救?错误是这样的:未定义的方法'create'forActiveRecord::AttributeMethods::Serialization::Tire::Module我测试了两个环境:测试和开发,它们都因相同的错误而失败。 最佳答案

  9. Ruby——嵌套类和子类是一回事吗? - 2

    下面例子中的Nested和Child有什么区别?是否只是同一事物的不同语法?classParentclassNested...endendclassChild 最佳答案 不,它们是不同的。嵌套:Computer之外的“Processor”类只能作为Computer::Processor访问。嵌套为内部类(namespace)提供上下文。对于ruby​​解释器Computer和Computer::Processor只是两个独立的类。classComputerclassProcessor#Tocreateanobjectforthisc

  10. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

随机推荐