AI代理通信协议

Agent Socket是一种计算无关、基于WebSocket的现代AI代理通信协议,支持高性能双向通信,适用于无服务器和有状态后端。

  • by KG-Strategist
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 KG-Strategist/agentsocket

使用说明

代理套接字

人工智能代理的通用协议。

代理套接字 是一个 计算不可知,WebSocket一线协议,基于现代人工智能代理的基本原理而设计。它被设计为基于HTTP的标准(如MCP)的高性能双向替代品,在 无服务器 (λ/边)和 有状态的 (Docker/Rust/Python)后端。

⚠️ 当前状态: 该项目位于 征求意见稿(RFC) 阶段。架构已经定义,我们现在正在组建核心贡献者团队来构建参考实现。 加入Discord 参与其中。


⚡ 问题:规范技术债务

该行业目前正在标准化 HTTP+SSE 对于代理系统(通过MCP)。这迫使2025个人工智能代理在2015年的限制下运行:

  • 高延迟: 每次互动的握手开销。
  • 单向: 服务器无法有效地中断或引导客户端。
  • 无状态锁定: 强制架构使用外部数据库作为上下文,即使在不必要的情况下也是如此。

🚀 解决方案:代理套接字

代理套接字 分离 协议状态 从 计算运行时间它提供了两种不同的操作模式:

  1. 直接模式: 专用服务器(Rust/Python)的低延迟(<10ms)有状态连接。
  2. 继电器模式: 用于临时无服务器函数(Lambda/Workers)的持久状态管理。

📐 建筑深潜

Mode 1: Direct Architecture (Rust/Python) - Click to Expand
Designed for maximum performance (<10ms) using long-lived TCP connections handled directly by the SDK.
sequenceDiagram
    autonumber
    participant C as 📱 Client
    participant S as 🦀 Agent Runtime (Rust/Python)
    participant LLM as 🧠 LLM / Tools

    Note over C, S: ⚡ Mode 1: Direct State | <10ms Latency
    
    C->>S: GET /ws (Upgrade: websocket)
    S-->>C: 101 Switching Protocols (Sec-WebSocket-Protocol: asp-v1)
    
    note right of C: Persistent TCP Session
        
    loop Heartbeat (Every 30s)
        C-->>S: [0x9 PING]
        S-->>C: [0x10 PONG]
    end

    C->>S: [0x02 INVOKE] Binary Frame (MsgPack)
    activate S
    S->>S: Deserialize & Validate
    S->>LLM: Stream Inference
    
    loop Token Stream
        LLM-->>S: Token "A"
        S-->>C: [0x03 STREAM] Token "A"
    end
    
    S-->>C: [0x06 COMPLETE] Execution Metrics
    deactivate S
Mode 2: Relay Architecture (Serverless) - Click to Expand

专为AWS Lambda和边缘环境而设计。Relay保持连接,防止冷启动惩罚影响客户端握手。

sequenceDiagram
    autonumber
    participant C as 📱 Client
    participant R as 🔄 Socket Relay (Edge)
    participant L as λ Serverless Fn

    Note over C, R: 🚀 Mode 2: Relay | Zero Cold-Start
    
    C->>R: Connect (WSS)
    R-->>C: [0x01 HELLO] ConnectionId: 7f8a...
    
    note right of C: Connection State Held at Edge
        
    C->>R: [0x02 INVOKE] Payload
    
    Note over R, L: Map WebSocket Frame -> HTTP Event
    R->>L: POST /invoke (Body: {cid: 7f8a, payload: ...})
    
    activate L
    L->>L: 🧊 Init / Re-hydrate Context
    L->>L: Execute Logic
    
    loop HTTP Chunked Transfer
        L-->>R: HTTP Data Chunk
        R-->>C: [0x03 STREAM] Binary Frame
    end
    
    L-->>R: 200 OK (X-Cpu-Time: 45ms)
    deactivate L
    
    R->>C: [0x05 TOOL_DEF] Async Push

⚔️ 代理套接字与MCP(HTTP)

功能 代理套接字(此协议) MCP(HTTP+SSE)
运输 WebSockets(二进制) HTTP(文本/JSON)
延迟 <10ms-30ms 100ms+(根据请求)
沟通 真正的全双工 请求/响应
灵活性 通用 (服务器或无服务器) 以服务器为中心
发现 异步/准时制 正面/静态
开销 最小化 (二进制帧) 繁重(HTTP标头)

✨ 核心功能

1.真正的全双工通信

与HTTP不同,在HTTP中,客户端必须在服务器说话之前询问,Agent Socket允许代理异步推送更新、请求澄清或发现工具,而无需新的请求周期。

2.自适应运行时支持

  • 在Docker上运行? 使用Rust/Python SDK获得原始性能。
  • 在Lambda上运行? 使用中继模式来维护状态,而无需为空闲服务器时间付费。

3.二元效率

通过消除重复的HTTP标头并使用优化的二进制帧,Agent Socket将网络带宽使用量减少了高达 50% 与HTTP协议上冗长的JSON相比。


🗺️ 路线图

  • [x] 第一阶段: 架构与理论验证(2025年12月完成)
  • [ ] 第二阶段: 正式规范白皮书(2026年第1季度)
  • [ ] 第三阶段: 参考实现(Types/Rust/Python/Node.js)(2026年第1季度)
  • [ ] 第四阶段: Python SDK、Rust SDK和基准测试

🤝 社区与贡献

我们正在积极寻求 锈, python,以及 TypeScript 工程师帮助构建参考实现。


👤 作者与哲学

由Kunal Gawde设计

“我们不应该在技术债务上标准化。协议不应该规定基础设施——它们应该赋予它权力。Agent Socket假设你想要自由选择。”


📄 许可证

版权所有©2025 Kunal Gawde。保留所有权利。

根据 Apache 2.0许可证 (“许可证”);除非遵守许可证,否则您不得使用此文件。您可以在以下网址获得许可证副本

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”分发,不附带任何明示或暗示的保证或条件。有关许可证下管理权限和限制的具体语言,请参阅许可证。