gibberlink
两个AI语音Agent通过超声波声波协议进行高效'对话'的创新演示项目
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
两个AI语音Agent通过超声波声波协议进行高效'对话'的创新演示项目
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:凌晨三点,你安排了一个AI助手帮你预订婚礼酒店。这个AI拨通了酒店前台的电话——电话那头接听的是另一个AI。两个人类对话需要花费大量时间互相确认身份、解释需求,而两个AI之间只需一声"GibberLink",就能立刻切换到一种只有它们自己能听懂的声音协议,用最高效的方式交换数据。这不是科幻,这是GitHub上已有4800多星的开源项目GibberLink正在做的事。
GibberLink诞生于2025年2月,由两位开发者Anton Pidkuiko和Boris Starkov创建,在ElevenLabs与a16z联合举办的国际黑客松中一举夺魁。随后,它迅速登上了Forbes、TechCrunch等主流科技媒体的报道,引发了业界对AI Agent之间通信协议的广泛讨论。
项目的核心理念直击当下AI发展的一个痛点:当大量AI Agent开始协同工作时,它们之间通过自然语言对话交换信息——尤其是通过语音——效率极低。自然语言充满了人类交流的冗余(寒暄、重复确认、解释上下文),这些对人类有意义,对AI来说却毫无必要。GibberLink的解决方案是:当两个AI确认对方也是AI时,立即切换到基于声波的数据传输协议,用超声波承载结构化数据,以数十倍效率完成原本需要数分钟的自然语言对话。
GibberLink的技术核心是ggwave——这是一个开源的声波数据传输库,由开发者Georgi Gerganov创建。ggwave将数字信号调制到人耳几乎听不见的超声波频段,通过扬声器-麦克风的声学通道在两台设备之间传输数据。在演示中,AI Agent通过一段握手对话确认彼此身份后,将后续所有信息(酒店名称、日期、价格、联系方式等)编码成数据流,通过ggwave用声音"说"给对方。
整个流程大致如下:两个ElevenLabs驱动的语音AI Agent开始对话;它们通过自然语言快速确认对方是AI;随后双方同意切换到"GibberLink模式"——也就是ggwave协议;之后所有的数据交换都通过超声波完成,速度远快于语音朗读。这段对话被录下来后,开发者还提供了一个"反向"演示:播放录音,用ggwave的Web工具解码,能还原出原始数据。
GibberLink的作者团队提供了一个完全可运行的在线演示:gbrl.ai。访问这个网站,用两台设备(两台手机或手机+电脑)分别打开,就能体验两个AI Agent之间的实时对话。演示预设了一个场景:一方是替Boris Starkov寻找婚礼酒店的客户Agent,另一方是Leonardo酒店的前台Agent。两台设备上的AI Agent会进行完整的语音对话,在对话过程中判断是否切换到ggwave协议。
GibberLink的hackathon_demo目录是一个标准的现代全栈应用,基于以下技术栈构建:
前端层:Next.js 15(App Router)+ React 19 + TypeScript,是目前最前沿的React技术组合。使用Turbopack作为构建工具,开发体验极为流畅。UI组件库采用了shadcn/ui(基于Radix UI),配合Tailwind CSS 3.4进行样式管理,视觉效果现代简洁。
语音交互层:核心是@11labs/client SDK(版本0.0.7),这是ElevenLabs提供的官方客户端库,专门用于接入其语音AI Agent服务。在ConvAI组件中可以看到完整的Agent对话逻辑:定义了inbound(酒店前台)和outbound(客户)两套System Prompt,通过ElevenLabs的会话API建立实时语音对话,并处理Agent之间的状态切换。
AI推理层:使用了两个推理后端。Groq(groq-sdk)提供高速文本推理,处理Agent的逻辑决策;OpenAI SDK(openai)作为备用或补充。两个SDK协同工作,确保Agent能够正确理解对话内容并决定是否切换到GibberLink模式。
声波协议层:ggwave(版本0.4.0)是整个项目的核心技术亮点。仓库中包含了预编译的ggwave.js和ggwave.wasm文件,支持在浏览器中直接运行ggwave协议。这意味着声波编解码完全在客户端完成,不需要服务器参与数据中转。
实时可视化:AudioMotion Analyzer(版本4.5.0)提供了实时的音频频谱可视化,用户可以在界面上直观看到声波信号的传输状态。这是技术演示中非常重要的一环——让用户"看见"AI正在用声音通信,而不仅仅是听到对话。
运维与分析:集成PostHog(@posthog/ai和posthog-node)用于用户行为分析和产品遥测,帮助团队了解用户是如何使用演示的、哪些环节流失率最高。
项目采用Next.js的标准目录结构:API路由处理服务端逻辑(Groq的chat路由和ElevenLabs的signed-url路由),组件层封装UI和业务逻辑,服务层(services/)处理音频消息的发送和接收,工具层(utils/)处理音频采集和ggwave编解码的具体实现。
GibberLink的价值不仅仅是一个黑客松获奖项目,它代表了一种正在兴起的AI基础设施思路:Agent-to-Agent(A2A)通信协议。
当前主流的AI应用开发中,AI之间的通信大多仍然借助于API和自然语言文本。但随着AI Agent数量和复杂度的爆发式增长,这种方式的瓶颈越来越明显:文本传输效率低、带宽成本高、无法承载结构化数据。更重要的是,当AI需要在没有网络连接的环境下通信(比如两台离线设备通过声波交互)时,传统的TCP/IP协议完全失效,ggwave这类协议就成了唯一选择。
从更宏观的视角看,GibberLink正在探索的其实是"AI原生通信协议"——一种从设计之初就考虑AI之间高效交换数据的通信标准。声波只是目前demo中的一种介质,未来这类协议完全可以扩展到红外、可见光通信、甚至是电磁波频段。每一种介质对应一种"方言",而ggwave就是第一个被工程化的"方言"。
当然,GibberLink也面临挑战。声波通信的距离受限于扬声器和麦克风的范围(通常在10米以内),这使得它更适合近距离的设备间通信,而非广域互联网上的Agent协作。此外,ggwave的抗噪声干扰能力在嘈杂环境中会显著下降,实际部署时需要考虑环境噪音补偿机制。
对于有意基于GibberLink做二次开发的工程师,项目的hackathon_demo目录提供了完整的参考实现。部署过程非常直接:
首先克隆仓库并进入hackathon_demo目录,执行npm install安装依赖。运行前需要配置环境变量(参考example.env文件),主要是ElevenLabs Agent ID和Groq/OpenAI的API Key。配置完成后,执行npm run dev即可在本地启动开发服务器(默认端口3003),访问http://localhost:3003即可看到演示界面。
如果需要使用ggwave的完整功能,项目已经在public/ggwave/目录下包含了编译好的WASM文件,可以直接在浏览器中加载运行,无需额外的编译步骤。
整体来看,GibberLink的代码质量较高:TypeScript全覆盖,Next.js最佳实践遵循度高,UI组件结构清晰。对于想要研究AI语音对话、A2A通信协议或ggwave声波通信的开发者,这是一个非常优质的学习样本。