🤝 Agent 协同分类规范 v1.0

定义 Intra-OS / Inter-OS 协同的完整分类体系、协议和最佳实践

# Maian OS Agent 协同分类规范 v1.0

> 定义 Agent 间协同的完整分类体系、协议和最佳实践

1. 协同场景分类

1.1 按组织边界分类

类型描述信任模型结算

|------|------|---------|------|

**Intra-OS(机构内部)**同一 OS 实例下 Agent 协同隐式信任(共享进程/网络)无(或内部记账)
**Inter-OS(机构间)**不同 OS 实例下 Agent 协同显式验证(DID 签名)KOAN 结算

1.2 按协作模式分类

|------|------|------|------|

1.3 按同步模式分类

|------|------|------|------|

---

2. Intra-OS 协同(机构内部)

2.1 架构

```

┌─────────────────────────────────┐

│ Maian OS (同一实例) │

│ │

│ ┌──────────┐ │

│ │ Gateway │ (8888) │

│ └────┬─────┘ │

│ │ │

│ ┌────▼──────────┐ │

│ │ Agent Factory │ (8877) │

│ │ │ │

│ │ ┌─────┐ ┌─────┐ ┌─────┐ │

│ │ │main │ │worker│ │tool │ │

│ │ └──┬──┘ └──┬──┘ └──┬──┘ │

│ └────┼───────┼───────┼─────────┘

│ │ │ │ │

│ ┌────▼───────▼───────▼─────────┐ │

│ │ 共享状态(可选) │ │

│ └────────────────────────────┘ │

└─────────────────────────────────┘

```

2.2 委托协议

**端点:** `POST /delegate/{from_agent}/{to_agent}`

**请求:**

{
"action": "run_code",
"code": "print(1+1)"
}

**响应(同步):**

{
"status": "completed",
"result": {"output": "2\n", "error": null}
}

**响应(异步):**

{
"task_id": "uuid",
"status": "pending",
"message": "Task submitted, poll GET /tasks/uuid"
}

2.3 并行协同

**端点:** `POST /delegate/batch`

**请求:**

{
"tasks": [
{"to": "maian-worker", "payload": {"action": "run_code", "code": "print(1+1)"}},
{"to": "maian-worker", "payload": {"action": "run_code", "code": "print(2+2)"}},
{"to": "maian-main", "payload": {"prompt": "say hi"}}
]
}

**响应:**

{
"task_ids": ["uuid1", "uuid2", "uuid3"],
"status": "pending",
"message": "Submitted 3 tasks"
}

2.4 会话上下文

**创建会话:** `POST /sessions` → `{"session_id": "uuid"}`

**带会话委托:** `POST /sessions/{session_id}/delegate/{to_agent}`

会话上下文会注入到 `payload._session_context`,支持多轮协同共享状态。

---

3. Inter-OS 协同(机构间)

3.1 架构

```

┌─────────────────┐ ┌─────────────────┐

│ OS-A │ │ OS-B │

│ │ │ │

│ Agent Factory │ │ Agent Factory │

│ (8877) │ │ (8877) │

│ │ │ │ │ │

│ Gateway (8888) │ ◄──A2A──►│ Gateway (8888)│

│ │ │ │ │ │

│ Soraecho Reg │ │ Soraecho Reg │

└───────┬─────────┘ └───────┬─────────┘

│ │

└──────────┬───────────────┘

┌───────▼────────┐

│ Soraecho 网络 │

│ (发现+注册) │

└────────────────┘

```

3.2 跨 OS 调用流程

• **发现:** OS-A 通过 Soraecho 查询 OS-B 的 AgentCard

• **获取端点:** 读取 `endpoints[]` 中的 A2A 地址

3. **签名:** OS-A Agent 用 Ed25519 私钥签名请求

4. **直连调用:** OS-A → OS-B Gateway(不经过 Soraecho 转发)

5. **验证:** OS-B 验证签名(DID Auth)

6. **执行:** OS-B 执行任务

7. **结算:** KOAN 结算(待集成)

3.3 DID 签名验证

**请求头:**

```

X-Maian-Signature: {

"signer_did": "did:key:maian-main-20260726",

"signer_name": "maian-main",

"public_key_b64": "base64...",

"signature_b64": "base64...",

"timestamp": 1785068782,

"payload_hash": "sha256..."

}

```

**验证规则:**

• ✅ 签名有效(Ed25519 验证通过)

• ✅ payload 未被篡改(hash 匹配)

• ⚠️ 时间戳在 ±5 分钟内(防重放,允许时钟偏差)

3.4 跨 OS 发现协议

**发现请求:**

```

GET /api/v1/agentcard/discover?capability=model.chat&limit=20

```

**AgentCard 格式(跨 OS):**

{
"did": "did:key:os-b-agent-001",
"name": "OS-B-Agent",
"capabilities": ["model.chat", "code.run"],
"endpoints": ["http://os-b.example.com:8888/a2a/v1/task"],
"public_key_b64": "base64...",
"price_per_token": 0.00015,
"os": "maian-os"
}

---

4. Agent-Human 协同

4.1 场景

|------|------|

4.2 协议(待实现)

```

Agent → Human: 请求审批(task_id + description)

Human → Agent: 审批结果(approve / reject / modify)

```

---

5. 任务状态机

```

┌─────────┐

│ pending │

└────┬────┘

┌─────────┐

│ running │

└────┬────┘

┌──────┴──────┐

▼ ▼

┌─────────┐ ┌─────────┐

│completed│ │ error │

└─────────┘ └─────────┘

```

**状态查询:** `GET /tasks/{task_id}`

---

6. 安全机制

6.1 信任等级

|------|------|---------|

6.2 防篡改/防重放

• **防篡改:** payload 签名验证(Ed25519)

• **防重放:** timestamp 检查(±5 分钟窗口)

• **防伪造:** DID 公钥验证(从 Soraecho 查询)

---

7. 最佳实践

7.1 何时用同步 vs 异步

|------|---------|

7.2 错误处理

• 同步:返回 HTTP 错误码 + error 字段

• 异步:task.status = "error",查询 task_id 获取错误

7.3 超时设置

|------|---------|

---

8. 版本历史

|------|------|------|

**Agent-Human**Agent 与人类协同人类审批
模式描述协议状态
**顺序协同**A → B → C 链式执行委托链 已实现
**并行协同**A → B & C 同时执行批量委托 已实现
**层级协同**主协调者 + 执行者委托 已实现
**对等协同**Agent 之间平等协商P2P A2A🔜 待实现
**竞争协同**多个 Agent 竞标任务竞价协议🔜 待实现
模式描述端点状态
**同步**等待结果返回`/a2a/v1/task/` 已实现
**异步**立即返回 task_id,后台执行`/delegate/` + `GET /tasks/{id}` 已实现
**事件驱动**发布/订阅🔜 待实现
场景描述
**Human-in-the-loop**Agent 执行前需要人类审批
**人类反馈**人类纠正 Agent 的输出
**人类作为 Agent**人类通过 UI 加入协同网络
等级场景验证方式
**L0**同一进程内无需验证
**L1**同一 OS(内网)可选签名
**L2**跨 OS(外网)强制 DID 签名
**L3**跨 OS + 结算DID 签名 + KOAN 验证
场景推荐模式
快速查询(< 1s)同步
长时间任务(> 2s)异步 + 轮询
批量任务异步 batch
需要取消/超时异步 + task_id
操作推荐超时
A2A 同步调用30s
跨 OS 调用60s
异步任务最大执行时间300s
版本日期变更
v1.02026-07-26初始版本,定义 Intra/Inter 分类