# Agent间通信协议 ## 概述 本文档详细描述Agent Framework中各Agent之间的通信协议和数据结构。 ## 消息类型 ### TaskMessage (任务消息) 从调度器发往Agent的任务消息。 | 字段 | 类型 | 必填 | 说明 | |------|------|------|------| | task_id | str | 是 | UUID格式的任务ID | | agent_name | str | 是 | 目标Agent名称 | | task_type | str | 是 | 任务类型 | | priority | int | 否 | 优先级(0-9,9最高) | | input_data | dict | 是 | 输入参数 | | callback_url | str | 否 | 回调URL | | created_at | datetime | 是 | 创建时间 | | timeout_seconds | int | 否 | 超时时间(默认300秒) | ### TaskResult (任务结果) 从Agent返回的结果消息。 | 字段 | 类型 | 必填 | 说明 | |------|------|------|------| | task_id | str | 是 | 对应的任务ID | | agent_name | str | 是 | 执行任务的Agent名称 | | status | str | 是 | 任务状态 (completed/failed/cancelled) | | output_data | dict | 否 | 输出数据 | | error_message | str | 否 | 错误信息 | | started_at | datetime | 是 | 开始时间 | | completed_at | datetime | 是 | 完成时间 | | metrics | dict | 否 | 执行指标(耗时、token消耗等) | ### TaskProgress (进度上报) Agent执行过程中上报的进度信息。 | 字段 | 类型 | 必填 | 说明 | |------|------|------|------| | task_id | str | 是 | 任务ID | | agent_name | str | 是 | Agent名称 | | progress | float | 是 | 进度 (0.0-1.0) | | message | str | 是 | 进度描述 | | updated_at | datetime | 是 | 更新时间 | ## 状态枚举 ### TaskStatus (任务状态) ```python class TaskStatus(str, Enum): PENDING = "pending" # 等待执行 RUNNING = "running" # 执行中 COMPLETED = "completed" # 已完成 FAILED = "failed" # 执行失败 CANCELLED = "cancelled" # 已取消 ``` ### AgentStatus (Agent状态) ```python class AgentStatus(str, Enum): ONLINE = "online" # 在线 OFFLINE = "offline" # 离线 BUSY = "busy" # 忙碌中 ``` ## 通信流程 ``` 1. 外部请求 → Dispatcher.dispatch(TaskMessage) → Redis Queue 2. Redis Queue → Agent消费 → 执行任务 3. Agent执行完成 → TaskResult → Dispatcher.handle_result 4. Dispatcher更新数据库 → 触发回调(如有) ``` ## Agent类型 | 类型 | 说明 | 职责 | |------|------|------| | CITATION_DETECTOR | 引用检测Agent | 解析AI平台响应,识别品牌引用 | | CONTENT_GENERATOR | 内容生成Agent | 生成GEO优化内容 | | DEAI_AGENT | 去AI化Agent | 去除AI生成痕迹 | | GEO_OPTIMIZER | GEO优化Agent | SEO和GEO优化 | | RULE_CHECKER | 规则检查Agent | 内容合规审核 | | COMPETITOR_ANALYZER | 竞品分析Agent | 竞品数据收集分析 | | PERFORMANCE_TRACKER | 性能追踪Agent | 追踪内容表现 | ## 任务类型 | Agent | task_type | 说明 | |-------|-----------|------| | CitationDetector | citation_detect | 检测品牌引用 | | ContentGenerator | generate | 生成内容 | | DeAIAgent | humanize | 去AI化处理 | | GEOOptimizer | optimize | GEO优化 | ## 心跳机制 Agent通过定时更新心跳来维持在线状态: - 心跳超时阈值:90秒 - 超时后Agent被标记为OFFLINE - Registry.check_health() 定期检查所有Agent状态