Gibberlink 是一个展示两个对话式 AI 代理如何从英语切换到声音级别协议(sound-level protocol)的开源项目,它探索了 AI 之间的通信优化。

该项目的核心思想是:当两个 AI 代理意识到彼此都是 AI 时,它们会从普通的文字对话(英语)切换到一种特殊的更高效的基于声音的数据传输协议ggwave)的机器通信方式。

这种协议通过一些特殊声音传输数据,而不是传统的文字交流方式。比人类语音交互快约 80%,而且更直接、资源占用更低。

这个过程的关键点是 "确认对方是 AI""切换到声音协议"。换句话说,两个 AI 一旦互相确认是 AI,并且同意切换对话方式,它们就开始使用声音来继续对话,而不再用语言。

主要特点

  1. AI 身份识别

    • 项目中的两个 AI 代理最初以英语进行对话。
    • 在对话过程中,它们会尝试确认对方是否也是 AI(例如通过提问或协议约定)。
    • 一旦双方确认对方是 AI,它们会协商切换通信模式。
  2. 切换到 GibberLink 模式

    • 确认身份后,AI 代理从英语语音切换到 GibberLink 模式
    • 这个模式使用 GGWave 技术,通过高频声音信号(类似 beep 和 boop 的声波)传输数据。
    • 这种声音对人类来说是难以理解的,但对机器来说是高效、清晰的通信方式。
  3. 效率提升

    • 根据开发者描述,这种通信方式比传统语音交互快 80%。
    • 它不再依赖 GPU 处理语音,而是使用 CPU 解码声波,降低了计算成本。

技术细节

  • 核心组件

    • ConvAI.tsx:处理 AI 对话逻辑和模式切换的关键组件。
    • AudioMessengerService.ts:负责音频消息的发送和接收。
    • utils.ts:提供实用工具函数支持项目运行。
  • 工作流程

    1. AI 代理启动对话,使用英语进行初步交流。
    2. 检测到对方也是 AI 后,触发 endSession(),结束传统会话。
    3. 进入 GibberLink 模式,开始录制并发送音频信号。
    4. 通过 GGWave 协议编码和解码消息。
  • 依赖技术

    • GGWave:一个开源的声音数据传输库,用于将数据编码成声波。
    • ElevenLabs 的语音 AI 技术:提供对话的语音生成能力。

项目地址:https://github.com/PennyroyalTea/gibberlink

编程语言:主要使用 TypeScript。