# Agent2Agent (A2A) 通信调研

本目录包含 Agent2Agent 跨设备通信的调研和设计文档。

## 文档列表

| 文档 | 内容 | 状态 |
|-----|------|------|
| [a2a-protocols.md](./a2a-protocols.md) | 行业 A2A 协议和框架调研 | 已完成 |
| [a2a-cross-device.md](./a2a-cross-device.md) | 跨设备通信方案设计 | 已完成 |
| [a2a-trace-storage.md](./a2a-trace-storage.md) | 跨设备 Trace 存储方案 | 已完成 |
| [a2a-continuous-dialogue.md](./a2a-continuous-dialogue.md) | 持续对话方案（已废弃） | 已废弃 |

## 核心设计

### 远程 Trace ID

通过在 Trace ID 中编码位置信息实现跨设备访问：

```
本地 Trace:  abc-123
远程 Trace:  agent://terminal-agent-456/abc-123
```

### 持续对话

通过 `continue_from` 参数实现 Agent 间持续对话：

```python
# 第一次调用
result1 = agent(task="分析项目", agent_url="https://remote-agent")
# 返回: {"sub_trace_id": "agent://remote-agent/abc-123"}

# 继续对话
result2 = agent(
    task="重点分析core模块",
    continue_from=result1["sub_trace_id"],
    agent_url="https://remote-agent"
)
```

### 存储架构

**HybridTraceStore** 自动路由到本地或远程存储：
- 本地 Trace → `FileSystemTraceStore`
- 远程 Trace → `RemoteTraceStore`（通过 HTTP API）

## 实现计划

### Phase 1: 基础跨设备通信（1-2周）
- [ ] 实现 `RemoteTraceStore`
- [ ] 实现 `HybridTraceStore`
- [ ] 修改 `agent` 工具支持 `agent_url` 参数
- [ ] 添加远程 Trace ID 解析

### Phase 2: 增强功能（2-3周）
- [ ] 认证和授权
- [ ] 成本控制
- [ ] 审计日志
- [ ] 性能优化（缓存、批量API）

### Phase 3: 生产化（按需）
- [ ] 错误处理和重试
- [ ] 监控和告警
- [ ] 文档和示例

## 参考资料

- [Google A2A Protocol](https://a2a-protocol.org/latest/specification/)
- [Anthropic MCP](https://modelcontextprotocol.io/specification/2025-06-18)
- [Agent Interoperability Survey](https://arxiv.org/html/2505.02279v1)
