Agent概述(一)
AI技术基础(一)
JSON-RPC 2.0 协议详解
JSON-RPC 2.0 是一种基于 JSON 的轻量级远程过程调用(RPC)协议,旨在简化跨语言、跨平台的远程通信。以下从协议特性、核心结构、错误处理、批量请求等角度进行详细解析:
一、协议概述
1. 设计原则
• 简单性:协议规范简洁,仅需解析 JSON 即可实现通信。
• 无状态:每个请求独立,服务端不保存客户端状态,适合分布式系统。
• 跨平台:基于 JSON 的通用数据格式,支持 Java、Python、JavaScript 等多种语言。
2. 核心特性
• 轻量级传输:数据量小,适合带宽受限场景(如物联网)。
• 通知机制:无需响应的单向请求(通过省略 id
字段实现)。
• 批量调用:支持单次请求中包含多个独立调用,提升效率。
二、核心数据结构
1. 请求对象
• 必填字段:
◦ `jsonrpc`: 固定为 "2.0",标识协议版本。 ◦ `method`: 调用的远程方法名(区分大小写)。
• 可选字段:
◦ `params`: 参数(数组或对象),若方法无需参数可省略。 ◦ `id`: 唯一标识符(数字/字符串),用于匹配响应;若为通知则省略。
示例:
{"jsonrpc": "2.0", "method": "subtract", "params": [42, 23], "id": 1}
2. 响应对象
• 成功响应:包含 result
字段,值为方法返回值。
• 错误响应:包含 error
字段,描述错误详情(见下文)。
• id
必须与请求一致,用于关联上下文。
示例:
{"jsonrpc"