# 多Agent系统开发计划对比 - 2025年3月31日 **文档位置**: `/home/xia-lab/wutx/00test/bbav20311/docs/PLAN_COMPARISON_2025-03-31.md` **记录时间**: 2025-03-31 01:54 GMT+8 **记录人**: xialab的幸运星 🧬🤖 --- ## 一、阉割版 vs 完整版对比 | 功能 | 阉割版(7天) | 完整版(1个月) | |-----|--------------|----------------| | **Agent数量** | 2个(Router + Execution) | 9个(全套) | | **意图识别** | 关键词匹配 | LLM+规则混合 | | **任务规划** | 固定流程(identify→phylogeny→motif→domain→structure) | 动态规划,根据需求调整 | | **错误处理** | 失败停止,显示错误 | DiagnosisAgent自动诊断+重试 | | **RAG文献** | ❌ 砍掉 | ✅ 文献问答 | | **记忆学习** | ❌ 无 | ✅ 记住用户偏好 | | **多任务并行** | ❌ 串行执行 | ✅ 并行分析 | | **结果验证** | ❌ 人工检查 | ✅ ValidatorAgent自动验证 | --- ## 二、核心代码对比 ### 阉割版代码 ```python # 阉割版:直接执行固定流程 async def agent_chat(request): intent = simple_keyword_parse(request.message) # 关键词匹配 # 固定流程:identify → phylogeny → motif → domain → structure stages = ["identify", "phylogeny", "motif", "domain", "structure"] for stage in stages: result = await run_cli(stage, intent.params) # 直接调CLI if result.failed: return {"error": result.error} # 失败就停 return {"success": True, "results": results} ``` ### 完整版代码 ```python # 完整版:多Agent协作 async def agent_chat(request): state = await orchestrator.process(request.message) # LangGraph编排 # Router → Planning → Execution → Validator → Learning # 每个Agent都可能介入,动态决策 return state.final_result ``` --- ## 三、阉割版功能边界 ### ✅ 阉割版能做 - 用户说:"分析Ft SPL基因家族" - 系统自动执行:identify → phylogeny → motif → domain → structure - 前端显示进度和结果 ### ❌ 阉割版不能做 - 问:"SPL基因有什么功能"(无RAG) - 自动修复错误(无DiagnosisAgent) - 记住用户偏好(无LearningAgent) - 并行执行多个分析 --- ## 四、7天冲刺计划(阉割版) ### Day 1-2(4月1-2日):核心打通 **目标:ExecutionAgent跑通** | 小时 | 任务 | 产出 | |-----|------|------| | 0-4h | 修改 `/api/agent/chat` 直接调用CLI执行 | Agent输入→实际运行identify | | 4-8h | 前端显示执行进度 | 实时日志推送到对话窗口 | | 8-12h | 测试端到端流程 | "帮我分析Ft SPL"→出结果 | **砍掉**:RouterAgent复杂路由,先用关键词匹配 --- ### Day 3-4(4月3-4日):多阶段串联 **目标:一个指令完成多阶段分析** | 小时 | 任务 | 产出 | |-----|------|------| | 0-6h | PlanningAgent简单实现 | "分析SPL基因家族"→自动拆分为identify→phylogeny→motif | | 6-12h | 阶段自动流转 | identify完成自动触发phylogeny | **砍掉**:复杂的错误恢复,失败就停 --- ### Day 5-6(4月5-6日):RAG问答 **目标:文献问答可用** | 小时 | 任务 | 产出 | |-----|------|------| | 0-6h | 接入已有RAG | 问"SPL基因功能"能检索文献回答 | | 6-12h | 前端切换模式 | 技能模式🔧/文献模式📚切换 | --- ### Day 7(4月7日):测试收尾 - 完整流程测试 - 修复阻塞性bug - 写使用文档 --- ## 五、完整版开发计划(1个月) ### 第一阶段:核心集成(3月31日-4月6日) **目标**: 将前端Agent调用接入完整的Orchestrator编排流程 | 任务 | 优先级 | 预计时间 | 产出 | |-----|--------|---------|------| | 1. 修改 `/api/agent/chat` 使用Orchestrator | 🔴 P0 | 1天 | 后端API调用完整MAS流程 | | 2. 统一意图解析逻辑 | 🔴 P0 | 0.5天 | 删除重复代码,统一走RouterAgent | | 3. 实现ExecutionAgent与CLI集成 | 🔴 P0 | 2天 | Agent能实际执行分析任务 | | 4. 添加Agent执行状态反馈 | 🟡 P1 | 1天 | 前端实时显示当前处理Agent | --- ### 第二阶段:协作机制(4月7日-4月13日) **目标**: 实现多Agent协作完成复杂任务 | 任务 | 优先级 | 预计时间 | 产出 | |-----|--------|---------|------| | 5. 完善PlanningAgent任务分解 | 🟡 P1 | 2天 | 复杂任务自动拆分子任务 | | 6. 实现Agent间消息传递 | 🟡 P1 | 1天 | Agent可以协作通信 | | 7. 添加DiagnosisAgent错误处理 | 🟡 P1 | 2天 | 自动诊断和修复建议 | | 8. 集成RAG到KnowledgeAgent | 🟢 P2 | 1天 | 文献问答质量提升 | --- ### 第三阶段:优化完善(4月14日-4月20日) **目标**: 提升系统稳定性和用户体验 | 任务 | 优先级 | 预计时间 | 产出 | |-----|--------|---------|------| | 9. 完善记忆系统跨会话保持 | 🟢 P2 | 2天 | 用户历史偏好被记住 | | 10. 实现LearningAgent反馈学习 | 🟢 P2 | 2天 | 从用户纠正中学习 | | 11. 添加Agent性能监控 | 🟢 P2 | 1天 | 响应时间、准确率统计 | | 12. 编写Agent单元测试 | 🟢 P2 | 2天 | 测试覆盖核心Agent逻辑 | --- ## 六、关键决策选项 ### 选项A:阉割版(推荐) - **时间**: 7天 - **结果**: Agent能自动执行完整分析流程 - **风险**: 低,功能明确 ### 选项B:先阉割后扩展 - **时间**: 7天基础版 + 后续迭代 - **结果**: 先让Agent能干活,再慢慢加功能 - **风险**: 最低,可快速验证 ### 选项C:只做一个阶段 - **时间**: 3天 - **结果**: 只自动跑identify - **风险**: 功能太弱,演示效果差 --- ## 七、技术债务记录 ### 阉割版产生的债务 1. 意图解析只用关键词,后续需升级为LLM+规则 2. 错误处理简单,后续需添加DiagnosisAgent 3. 无记忆功能,后续需添加MemoryManager集成 4. 无学习功能,后续需添加LearningAgent ### 偿还计划 - 第2周:添加DiagnosisAgent基础错误处理 - 第3周:集成MemoryManager - 第4周:升级为完整Orchestrator流程 --- ## 八、参考文档 - **当前状态**: `docs/AGENT_STATUS_2025-03-31.md` - **修订记录**: `docs/CHANGELOG_2025-03-30.md` - **架构设计**: `memory/modules/overview.md` --- **建议**: 选择 **选项B(先阉割后扩展)**,7天内让Agent真正可用,再逐步完善。 **下一步**: 等待用户确认选项,立即开始编码。