使用说明
代理套接字
人工智能代理的通用协议。
代理套接字 是一个 计算不可知,WebSocket一线协议,基于现代人工智能代理的基本原理而设计。它被设计为基于HTTP的标准(如MCP)的高性能双向替代品,在 无服务器 (λ/边)和 有状态的 (Docker/Rust/Python)后端。
⚠️ 当前状态: 该项目位于 征求意见稿(RFC) 阶段。架构已经定义,我们现在正在组建核心贡献者团队来构建参考实现。 加入Discord 参与其中。
⚡ 问题:规范技术债务
该行业目前正在标准化 HTTP+SSE 对于代理系统(通过MCP)。这迫使2025个人工智能代理在2015年的限制下运行:
- 高延迟: 每次互动的握手开销。
- 单向: 服务器无法有效地中断或引导客户端。
- 无状态锁定: 强制架构使用外部数据库作为上下文,即使在不必要的情况下也是如此。
🚀 解决方案:代理套接字
代理套接字 分离 协议状态 从 计算运行时间它提供了两种不同的操作模式:
- 直接模式: 专用服务器(Rust/Python)的低延迟(<10ms)有状态连接。
- 继电器模式: 用于临时无服务器函数(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 工程师帮助构建参考实现。
- 💬 不一致: 加入代理套接字服务器 (最适合实时讨论)
- 💡 讨论: GitHub讨论选项卡 (最适合RFC反馈)
- 🔗 连接: Kunal Gawde在领英上
👤 作者与哲学
由Kunal Gawde设计
“我们不应该在技术债务上标准化。协议不应该规定基础设施——它们应该赋予它权力。Agent Socket假设你想要自由选择。”
📄 许可证
版权所有©2025 Kunal Gawde。保留所有权利。
根据 Apache 2.0许可证 (“许可证”);除非遵守许可证,否则您不得使用此文件。您可以在以下网址获得许可证副本
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”分发,不附带任何明示或暗示的保证或条件。有关许可证下管理权限和限制的具体语言,请参阅许可证。