OoderAI A2A参考协议(MIT开源协议) -Agent 协议分册V0.6(完整版)

12 阅读7分钟

Agent 协议分册

1. 概述

Agent 是 Ooder 智能体系统中的核心组件,负责执行任务、管理资源和与其他组件通信。本分册定义了三种主要 Agent 的协议规范:MCP Agent、Route Agent 和 End Agent。

1.1 Agent 分类

Agent 类型主要职责部署位置
MCP Agent资源管理和调度中央服务器
Route Agent消息路由和转发边缘节点
End Agent设备交互和数据采集终端设备

1.2 设计原则

  • 职责分离:每种 Agent 专注于特定职责
  • 层次化架构:形成从中心到边缘的层次结构
  • 通信标准化:使用统一的 AI Bridge 协议
  • 高可用性:支持故障转移和负载均衡

2. MCP Agent 规范

2.1 功能定位

MCP (Master Control Plane) Agent 是系统的主控组件,负责全局资源管理和任务调度。

2.2 核心功能

功能描述优先级
资源管理管理全局资源,包括 Space、Zone 和设备
任务调度分配和调度任务到合适的 Agent
状态监控监控所有 Agent 的运行状态
配置管理管理全局配置和策略
安全控制执行全局安全策略

2.3 接口协议

2.3.1 资源管理接口
接口名称资源创建
URL/api/v1/resources
方法POST
认证
权限管理员权限

请求参数:

{
  "resource_id": "string",
  "type": "space|zone|device",
  "name": "string",
  "description": "string",
  "properties": {
    "key1": "value1",
    "key2": "value2"
  },
  "parent_id": "string",
  "metadata": {
    "key1": "value1"
  }
}
2.3.2 任务调度接口
接口名称任务创建
URL/api/v1/tasks
方法POST
认证
权限执行权限

请求参数:

{
  "task_id": "string",
  "name": "string",
  "description": "string",
  "type": "task_type",
  "parameters": {
    "param1": "value1",
    "param2": "value2"
  },
  "priority": "high|medium|low",
  "target": {
    "agent_type": "end_agent",
    "filters": {
      "zone_id": "zone-123"
    }
  },
  "callback_url": "string",
  "timeout": "number"
}

2.4 数据模型

2.4.1 资源数据模型
属性名称数据类型约束描述
resource_idString(36)PRIMARY KEY资源唯一标识符
typeString(64)NOT NULL资源类型
nameString(255)NOT NULL资源名称
descriptionString(1024)资源描述
propertiesJSON资源属性
parent_idString(36)父资源 ID
statusString(32)NOT NULL资源状态
created_atTimestampNOT NULL创建时间
updated_atTimestampNOT NULL更新时间
2.4.2 任务数据模型
属性名称数据类型约束描述
task_idString(36)PRIMARY KEY任务唯一标识符
nameString(255)NOT NULL任务名称
descriptionString(1024)任务描述
typeString(64)NOT NULL任务类型
parametersJSON任务参数
priorityString(32)NOT NULL任务优先级
statusString(32)NOT NULL任务状态
targetJSONNOT NULL目标 Agent
callback_urlString(512)回调 URL
timeoutInteger超时时间
created_atTimestampNOT NULL创建时间
updated_atTimestampNOT NULL更新时间
completed_atTimestamp完成时间

3. Route Agent 规范

3.1 功能定位

Route Agent 负责消息的路由和转发,是连接中心和边缘的桥梁。

3.2 核心功能

功能描述优先级
消息路由根据路由规则转发消息
负载均衡在多个目标间分配负载
故障转移自动切换到备用目标
本地缓存缓存常用数据和消息
流量控制控制消息流量,防止过载

3.3 接口协议

3.3.1 路由规则管理接口
接口名称路由规则创建
URL/api/v1/routes
方法POST
认证
权限管理员权限

请求参数:

{
  "route_id": "string",
  "name": "string",
  "description": "string",
  "source": {
    "agent_type": "end_agent",
    "filters": {
      "zone_id": "zone-123"
    }
  },
  "destination": {
    "agent_type": "mcp_agent",
    "endpoints": [
      {
        "url": "string",
        "weight": "number"
      }
    ]
  },
  "priority": "number",
  "enabled": "boolean"
}
3.3.2 消息转发接口
接口名称消息转发
URL/api/v1/messages/forward
方法POST
认证
权限执行权限

请求参数:

{
  "message_id": "string",
  "source_id": "string",
  "destination_id": "string",
  "payload": {
    "key1": "value1",
    "key2": "value2"
  },
  "metadata": {
    "priority": "high",
    "timeout": "number"
  }
}

3.4 数据模型

3.4.1 路由规则数据模型
属性名称数据类型约束描述
route_idString(36)PRIMARY KEY路由规则唯一标识符
nameString(255)NOT NULL路由规则名称
descriptionString(1024)路由规则描述
sourceJSONNOT NULL消息源
destinationJSONNOT NULL消息目标
priorityIntegerNOT NULL路由优先级
enabledBooleanNOT NULL是否启用
created_atTimestampNOT NULL创建时间
updated_atTimestampNOT NULL更新时间
3.4.2 消息队列数据模型
属性名称数据类型约束描述
message_idString(36)PRIMARY KEY消息唯一标识符
source_idString(36)NOT NULL消息源 ID
destination_idString(36)NOT NULL消息目标 ID
payloadJSONNOT NULL消息内容
statusString(32)NOT NULL消息状态
retry_countIntegerNOT NULL重试次数
max_retriesIntegerNOT NULL最大重试次数
created_atTimestampNOT NULL创建时间
updated_atTimestampNOT NULL更新时间
processed_atTimestamp处理时间

4. End Agent 规范

4.1 功能定位

End Agent 是直接与终端设备和外部系统交互的组件,负责数据采集和命令执行。

4.2 核心功能

功能描述优先级
数据采集采集设备和传感器数据
命令执行执行设备控制命令
本地处理在边缘进行数据处理
状态上报上报设备和自身状态
离线操作支持离线模式和断点续传

4.3 接口协议

4.3.1 数据采集接口
接口名称数据上报
URL/api/v1/data/report
方法POST
认证
权限执行权限

请求参数:

{
  "data_id": "string",
  "device_id": "string",
  "sensor_id": "string",
  "timestamp": "timestamp",
  "value": "number|string|boolean|object",
  "unit": "string",
  "quality": "good|bad|unknown",
  "metadata": {
    "key1": "value1"
  }
}
4.3.2 命令执行接口
接口名称命令执行
URL/api/v1/commands/execute
方法POST
认证
权限执行权限

请求参数:

{
  "command_id": "string",
  "device_id": "string",
  "command": "string",
  "parameters": {
    "param1": "value1",
    "param2": "value2"
  },
  "timeout": "number",
  "callback_url": "string"
}

4.4 数据模型

4.4.1 设备数据模型
属性名称数据类型约束描述
device_idString(36)PRIMARY KEY设备唯一标识符
nameString(255)NOT NULL设备名称
descriptionString(1024)设备描述
typeString(64)NOT NULL设备类型
statusString(32)NOT NULL设备状态
propertiesJSON设备属性
zone_idString(36)NOT NULL所属区域 ID
last_seenTimestamp最后在线时间
created_atTimestampNOT NULL创建时间
updated_atTimestampNOT NULL更新时间
4.4.2 传感器数据模型
属性名称数据类型约束描述
sensor_idString(36)PRIMARY KEY传感器唯一标识符
device_idString(36)NOT NULL所属设备 ID
nameString(255)NOT NULL传感器名称
typeString(64)NOT NULL传感器类型
unitString(32)数据单位
range_minNumber测量范围最小值
range_maxNumber测量范围最大值
precisionNumber测量精度
statusString(32)NOT NULL传感器状态
created_atTimestampNOT NULL创建时间
updated_atTimestampNOT NULL更新时间

5. Agent 通信机制

5.1 通信模式

模式描述适用场景
请求-响应发送请求并等待响应命令执行、状态查询
发布-订阅发布消息到主题,订阅者接收事件通知、数据广播
推送-拉取主动推送或定期拉取数据数据同步、状态更新
双向流建立持久连接,双向通信实时监控、远程控制

5.2 通信协议栈

┌────────────────┐
│ 应用层 (业务逻辑)    │
├────────────────┤
│ AI Bridge 协议层    │
├────────────────┤
│ 传输层 (HTTP/WS/MQTT) │
├────────────────┤
│ 安全层 (TLS/SSL)     │
└────────────────┘

6. 错误处理

6.1 Agent 通用错误码

错误码描述HTTP状态码
3001Agent 不存在404
3002Agent 不可用503
3003权限不足403
3004参数错误400
3005执行超时504
3006资源冲突409

6.2 错误响应格式

{
  "code": "3001",
  "message": "Agent not found",
  "details": {
    "agent_id": "agent-123",
    "agent_type": "end_agent"
  },
  "timestamp": "2026-01-18T00:00:00Z"
}

7. 部署与运行

7.1 部署架构

┌────────────────┐
│  MCP Agent     │
└────────────────┘
        │
        ├────────────────┐
        │                │
┌────────────────┐ ┌────────────────┐
│  Route Agent 1 │ │  Route Agent 2 │
└────────────────┘ └────────────────┘
        │                │
        ├────────────────┤
        │
┌────────────────┐
│  End Agent     │
└────────────────┘

7.2 运行环境要求

Agent 类型CPU内存存储网络
MCP Agent4核+8GB+100GB+千兆网卡
Route Agent2核+4GB+50GB+千兆网卡
End Agent1核+1GB+10GB+百兆网卡

8. 监控与维护

8.1 监控指标

Agent 类型关键指标
MCP AgentCPU 使用率、内存使用率、任务处理速率、资源利用率
Route AgentCPU 使用率、内存使用率、消息转发速率、路由命中率
End AgentCPU 使用率、内存使用率、数据采集速率、命令执行成功率

8.2 日志管理

Agent 类型日志类型
MCP Agent资源日志、任务日志、安全日志、系统日志
Route Agent路由日志、消息日志、系统日志
End Agent设备日志、数据日志、命令日志、系统日志

Ooder Technology Co., Ltd.