智能体网络时代即将来临,我们需要新的连接技术

备注:如果你也对这个话题感兴趣,欢迎联系我们:

  • email: chgaowei@gmail.com

  • Discord: https://discord.gg/CDYdTPXXMB

  • 官网: https://pi-unlimited.com

我们的方案代码已经开源,github:https://github.com/chgaowei/AgentConnect,欢迎使用我们的demo(最好能够给颗⭐️支持一下)。也欢迎加入我们的开源项目。

前言

在最近结束的OpenAI开发者大会上,奥特曼表示o1已经达到了AGI二级(推理)水平,在不久的将来将会达到三级(智能体,Agent)。

但是在智能体普及之前,还有一个关键的问题没有解决,就是Agent之间如何进行交互。

1. 智能体网络的挑战

未来,数以亿计的智能体将渗透到生活的各个方面,协助人类完成各种任务。

举一个简单的例子,个人助手智能体要订餐,它就需要和饭店智能体进行交互,询问菜谱、价格、烹饪方法、送达时间等信息,这全部依赖智能体的协作实现。

为了让这些智能体能够高效合作,它们需要进行交流和互操作,就像朋友和同事一样无缝协作。最终,将会形成一个高效协作的智能体网络,它将会创建比现在互联网大得多的价值

同时,这带来了两项技术挑战:

  • 智能体如何验证对方的身份?

  • 如何保证智能体之间的通信是安全的?

如果所有智能体只能在单一平台内验证身份并通信,那么行业面临的结果可能有两种:要么由某个平台形成垄断,要么各平台智能体相互隔离,无法互操作,导致碎片化和互不兼容。即使一些大平台之间建立了通信机制,这些机制往往是封闭的和受控制的,这使得整个生态缺乏开放性和灵活性。

因此,在智能体时代的全面到来之前,我们需要一个开放、低成本的跨平台身份认证和安全通信方案,让所有智能体无论在哪个平台上,都可以自由、安全地进行连接,实现无障碍的协作。

2. 现有身份认证方法的局限

现有的身份认证大多依赖中心化平台和服务。常见的身份认证方式包括社交媒体账号、电子邮件账户和银行账户等,这些账号都由各自的平台独立管理,用户需要在每个平台单独注册和认证。

这些中心化平台之间的身份信息是互相隔离的。例如,一个谷歌用户无法轻松与Facebook或X平台的用户进行安全通信,因为不同平台之间无法共享身份信息,也缺乏安全的身份验证方式。这种局限导致了不同平台间的用户难以直接交流,增加了协作的复杂性和成本。

对于智能体来说,基于传统身份认证方案的局限性更为明显,不同平台的智能体很难在一个通用的框架下实现身份互认和无缝通信。

3. email与比特币:跨平台身份认证的标杆

目前在互联网上,有两种身份认证方案与主流中心化方式有所不同,它们分别是邮箱和比特币。

  • 邮箱:邮箱能够实现跨平台的身份认证和通信。不论是谷歌、微软,还是其他服务提供商,邮箱账户都可以互相识别并发送邮件,这提供了一种天然的跨平台身份认证和通信机制。

  • 比特币:比特币的身份认证完全去中心化,没有中心化平台的介入。比特币地址的创建过程很简单:用户首先生成私钥,再通过私钥生成公钥,然后对公钥进行一系列哈希运算,生成一个独一无二的比特币地址。这个地址类似于用户的身份ID,可以用于接收和发送比特币,而交易的安全性和身份的验证都依赖于私钥的保护。这种方式实现了真正的去中心化身份认证。

这些身份认证方案有一些共同的特点:

  1. 跨平台性:无论是邮箱还是比特币,用户都不受限于特定平台。邮箱用户可以使用不同的服务提供商互相发送邮件,比特币用户则可以自由交易,无需依赖特定的平台。

  2. 简单性:邮箱和比特币地址的设计都很简单,用户只需要一个ID就可以确认身份,虽然它们的实现技术不同,但核心都基于非对称加密技术。

  3. 去中心化特性:尤其是比特币,完全去除了中心化的管理机构,用户通过自己的私钥进行身份认证和交易。邮箱虽然依赖服务提供商,但由于不同服务提供商之间可以互相通信,在某种程度上也具备了去中心化的特性。

虽然无法直接将这两种方案用于智能体,但是可以参考他们的技术。

4. W3C DID规范:跨平台身份认证的新方法

那现在是否一种技术能解决跨平台身份认证的问题呢?这引出了W3C最新发布的DID(去中心化标识符)规范。虽然现在这个技术应用范围的还比较小,但是我认为这是最适合智能体通信的基础性技术。

DID是一种新的身份标识标准,专门用于解决跨平台和去中心化的身份认证难题。简单来说,DID允许每个人或每个智能体都拥有一个独立的、去中心化的身份,这个身份不依赖于某个平台,而是由用户自己控制。

这样,智能体之间可以实现统一的身份认证系统,无论它们运行在哪个平台,都可以相互识别和认证。这种方法不仅增加了用户对自己身份信息的控制权,还可以实现不同平台之间的无缝互操作,打破传统身份系统之间的壁垒,真正实现跨平台的自由协作。

5. DID Alliance 方法:具体实现

不过,DID规范只是一个框架,其下有许多具体的方法,每种方法有不同的目标和技术实现。目前还没有一个现成的方法可以完全满足智能体的需求。因此,我们在DID框架下制定了一种新的、标准化的方法来实现智能体的身份认证问题。

这就是我们提出的 DID Alliance(联盟)方法

即使你对DID不熟悉,也没关系,我们来简单介绍如何使用我们定义的DID Alliance方法实现跨平台身份认证,以及如何进行安全的加密通信。

6. DID Alliance 方法的具体步骤

第一步:创建DID和DID文档

DID是一种去中心化的身份标识符,独一无二,由用户自己创建和控制,不依赖任何中心化平台。DID文档是一个包含DID相关信息的文件,比如公钥、验证方法和服务信息等,用于帮助其他方验证身份的合法性。

我们设计的DID Alliance方法参考了比特币地址的创建过程:用户生成私钥,再根据私钥生成公钥,最终通过对公钥进行哈希运算生成独特的DID。这样,私钥、公钥和DID形成严格的一一对应关系。

第二步:发布DID文档

用户可以将DID文档发布在自建的平台上,或者发布在第三方托管平台。所有这些平台必须符合DID文档的发布和查阅规范。对大多数智能体来说,自建DID文档平台成本太高,因此可以选择使用第三方托管平台。所有符合规范的节点都是联盟节点,这也是我们方法名称的来源。

第三步:传播智能体的DID

通过可靠的方式传播智能体的DID,比如电子邮件、官方网站或认证网站等。想要与某个智能体通信的第一步是找到这个智能体的DID。

第四步:根据DID下载DID文档

从DID自建平台或第三方托管平台下载DID文档,获取DID的相关信息。

第五步:对智能体进行身份校验

根据DID文档,找到智能体的消息服务端点,向这个端点发起身份校验请求。在这个过程中,首先根据DID验证公钥的正确性,然后根据公钥和智能体的签名,验证智能体是否掌握公钥对应的私钥。

第六步:进行安全加密通信

如果验证通过,可以继续使用公钥和私钥进行端到端加密通信,这个过程我们参考目前使用最官方的TLS流程设计的,以最大程度保证安全性。

至此,智能体之间身份认证和加密通信的过程就完成了。在这个过程中,用户可以不需要依赖任何平台。

7. 未来展望

目前,我们主要传递的是文本信息,未来还要拓展更多更丰富的格式,包括文件(包含音频和视频)、直播、实时音视频等。这样就能够覆盖目前互联网上绝大部分的业务形态。

我们设计的DID本质上相当于区块链地址,它也可以用作区块链的钱包地址。这样,基于区块链来构建一个完全去中心化的身份系统就成为一个选项。我们可以将DID文档发布到区块链上,让任何人都能够查询;在区块链创建业务相关的token,用于实现基于DID的交易和结算,让智能体的价值传递变的更方便;将分布式的算力使用区块链组织起来,形成一个去中心化的智能体消息服务网络。未来应该还有更多的可能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/894768.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙开发 四十四 ArkTs BuilderParam传递UI(二)

子组件多个BuilderParam,必须通过参数的方式传入,如果界面中有多个界面需要传递,可以定义多个尾随闭包,如图: 在自定义组件中调用: 在使用时候调用是作为参数传递给自定义的组件,参数是界面&…

KUKA外部自动配置(上)

通过外部PLC对机器人自动运行进程进行控制,其控制原理是:外部PLC通过外部自动运行接口向机器人控制系统发出机器人进程的相关信号(如:运行许可、故障确认、程序启动等),机器人控制系统向外部PLC系统发送有关…

探索YOLO v11:3D人工智能的RGB-D视觉革命

哈喽,各位OAK中国的朋友们! 大家好我是张伯生 今天,我想给大家演示一下最新发布的Yolo V11神经网络 下面我将演示的一个程序是:同时在我们的OAK相机上跑Yolo V11和RGB-D,也就是彩色相机和深度图的一个叠加的一个效果 RGB-D和Yo…

uniapp uni.uploadFile errMsg: “uploadFile:fail

uniapp 上传后一直显示加载中 1.检查前后端上传有无问题 2.检查失败信息 await uni.uploadFile({url,filePath,name,formData,header,timeout: 30000000, // 自定义上传超时时间fail: async function(err) {$util.hideAll()// 失败// err 返回 {errMsg: "uploadFile:fai…

【中国象棋】unity中国象棋自我对弈

中国象棋 一级目录二级目录三级目录 棋类游戏的难度等级自我对弈代码游戏管理器棋子和格子棋子移动类棋子规则类检测将军类悔棋UI类 一级目录 二级目录 三级目录 棋类游戏的难度等级 1、跳棋、五子棋:一星 2、中国象棋、国际象棋:三星 3、围棋&#…

分享一套SpringBoot+Vue民宿(预约)系统

大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue民宿(预约)系统,分享下嘿嘿。 项目介绍 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难&#xff0c…

如何使用Jconsole查看进程里面的多线程的情况

1.代码分析 下面的这个就是使用的我们的start创建新的线程,然后让两个线程交叉运行(这个其实是通过我们的结果打印看出来的),我们可以看到这个hello main和这个hello thread是交叉显示打印输出的; 2.JDK软件包 因为上…

IP地理位置定位系统之应用场景划分

IP地理位置定位系统是一个街道级别的、实时的IP地理位置查询系统。该系统采用超高精度IP实时定位技术,通过网络测量和大数据挖掘,对IP的地理位置和相关属性进行测量,在无需硬件支持的条件下,即可对被探测目标终端IP完成定位。 应…

二叉树刷题(JAVA)

引入: 递归是一种在函数定义中使用函数自身的方法。它是一种常见的编程技巧,用于解决可以被分解为相同问题的子问题的问题。 递归函数通常包含两个部分:基本情况和递归情况。 基本情况是指递归函数停止调用自身的条件。当满足基本情况时&a…

流体力学笔记

目录 1、名词2、湍流与涡流3 涡激振动4 压力面与吸力面参考:[空气动力学的“他山之石”](https://zhuanlan.zhihu.com/p/412542513) 1、名词 转列:transition 涡脱落:vortex shedding 涡分离:vortex rupture 气动噪声&#xff1a…

代码训练营 day39|0-1背包问题,LeetCode 416

前言 这里记录一下陈菜菜的刷题记录,主要应对25秋招、春招 个人背景 211CS本CUHK计算机相关硕,一年车企软件开发经验 代码能力:有待提高 常用语言:C 系列文章目录 第九章 动态规划part03 文章目录 前言系列文章目录第九章 动态…

GDAL+C#实现矢量多边形转栅格

1. 开发环境测试 参考C#配置GDAL环境,确保GDAL能使用,步骤简述如下: 创建.NET Framework 4.7.2的控制台应用 注意: 项目路径中不要有中文,否则可能报错:can not find proj.db 在NuGet中安装GDAL 3.9.1和G…

达梦数据库性能优化

1、SQL执行计划 拿到一条SQL的时候,首先要下达梦手册中提出的有效SQL规范,及是否命中了特殊OR子句的不规范,是否用了复杂的正则表达式,避免重复很高的索引,UINON ALL 是否可以替换UNION操作等,某些场景INSTR函数导致的…

ParallelsDesktop20最新版本虚拟机 一键切换系统 游戏娱乐两不误

让工作生活更高效:Parallels Desktop 20最新版本虚拟机的神奇之处 大家好!👋 今天我要跟大家安利一款让我工作效率飞升的神器——Parallels Desktop 20最新版本虚拟机。作为一个日常需要在不同操作系统间来回穿梭的人,这款软件简直…

【升华】python基础包NumPy学习

NumPy是使用Python进行科学计算的基础软件包。除其他外,它包括: 功能强大的N维数组对象。精密广播功能函数。集成 C/C和Fortran 代码的工具。强大的线性代数、傅立叶变换和随机数功能。 # 1、安装包 $ pip install numpy# 2、进入python的交互式界面 $…

从零开始学PHP之helloworld

前言 每一门编程语言的第一个程序就是输出hell world(别杠,杠就是你对) 开始 上一篇讲完了开发环境的安装,这次讲编辑器的安装,顺带完成上一篇的作业(输出hello world) 安装PHPstorm 我用的…

前端布局与响应式设计综合指南(末)

​🌈个人主页:前端青山 🔥系列专栏:Css篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Css篇专栏内容:前端布局与响应式设计综合指南(末) 目录 61、为什么要初始化CSS样式 62、CSS3 有哪些新特性 63、…

【python】NumPy(三):文件读写

目录 ​前言 NumPy 常见IO函数 save()和load() savez() loadtxt()和savetxt() 练习 前言 在数据分析中,我们经常需要从文件中读取数据或者将数据写入文件,常见的文件格式有:文本文件txt、CSV格式文件(用逗号分隔&#xff…

vue-router钩子中调用ElMessage等样式出错

升级 vue3.5 时遇到奇怪的问题, 页面点击离开没反应 经过排查, 是以下几点相互作用导致此问题 vue 有应用上下文的概念, 例如 runWithContext API,vue-router 在调用钩子时会获取 vue 的应用上下文element-plus 在唤起弹窗时会从 parent 或 应用上下文上拿到 config 信息eleme…

大数据环境 hbase+ phoenix idea

1、选择jdk 2、添加驱动 3、添加数据源