Files
PlantAI-dev/docs/PLAN_COMPARISON_2025-03-31.md
T
2026-08-03 18:42:47 +08:00

203 lines
6.3 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 多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真正可用,再逐步完善。
**下一步**: 等待用户确认选项,立即开始编码。