AgentCoord/backend/代码逻辑架构分析.md
liailing1026 c00c0072b8 feat
2025-12-11 14:05:08 +08:00

159 lines
4.5 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

# AgentCoord Backend 代码逻辑架构分析
## 🏗️ Backend 代码逻辑架构
### 📁 核心目录结构
```
backend/
├── server.py # Flask主服务器入口
├── config/config.yaml # LLM API配置
├── AgentRepo/agentBoard_v1.json # 智能体定义库
├── DataProcess/ # 数据处理层
├── RequestCache/ # 缓存机制
└── AgentCoord/ # 核心业务逻辑
├── LLMAPI/ # LLM接口封装
├── PlanEngine/ # 计划生成引擎
├── RehearsalEngine_V2/ # 计划执行引擎
└── util/ # 工具模块
```
### 🔄 主要工作流程
#### 1⃣ **计划生成流程** (PlanEngine)
```
用户目标 → 生成计划大纲 → 选择智能体 → 生成任务流程 → 输出完整计划
```
**核心模块:**
- `basePlan_Generator.py` - 整合所有计划生成组件
- `planOutline_Generator.py` - 生成高级计划大纲
- `taskProcess_Generator.py` - 生成详细任务执行流程
- `AgentSelection_Generator.py` - 选择最适合的智能体
#### 2⃣ **计划执行流程** (RehearsalEngine_V2)
```
协作计划 → 初始化执行环境 → 按步骤执行 → 智能体协作 → 记录执行日志
```
**动作类型:**
- **Propose** - 提出建议和方案
- **Critique** - 提供反馈和批评
- **Improve** - 基于反馈改进结果
- **Finalize** - 最终确定输出
#### 3⃣ **LLM接口层** (LLMAPI)
支持的模型:
- OpenAI GPT-4/GPT-3.5
- Groq Mixtral-8x7b (快速模式)
- Mistral Open-Mixtral-8x7b
### 🌐 API端点架构
#### **计划生成APIs**
- `POST /generate_basePlan` - 生成基础协作计划
- `POST /fill_stepTask` - 填充步骤任务详情
- `POST /branch_PlanOutline` - 处理计划分支
#### **计划执行APIs**
- `POST /executePlan` - 执行协作计划
- `POST /agentSelectModify_init` - 初始化智能体选择
#### **系统管理APIs**
- `POST /setAgents` - 设置智能体板
- `POST /_saveRequestCache` - 保存请求缓存
### 💾 数据流设计
#### **输入层**
- HTTP请求验证
- 参数提取和格式化
- 缓存检查
#### **业务逻辑层**
- LLM API调用
- 多智能体协调
- 任务状态管理
#### **输出层**
- 结果格式化
- 前端渲染模板生成
- JSON响应
### ⚙️ 配置与优化
#### **配置文件 (config.yaml)**
```yaml
OPENAI_API_BASE: "https://api.openai.com"
OPENAI_API_KEY: "your-key"
OPENAI_API_MODEL: "gpt-4-turbo-preview"
FAST_DESIGN_MODE: True # 启用快速模式
USE_CACHE: False # 缓存开关
```
#### **性能优化**
- 请求缓存机制
- 快速模式支持Groq
- 异步LLM调用
- 重试和错误处理
### 🔧 关键技术特点
1. **模块化架构** - 清晰的职责分离
2. **多LLM支持** - 灵活的模型切换
3. **智能体协作** - 复杂的多智能体工作流
4. **前端适配** - 自动生成渲染模板
5. **可扩展性** - 支持自定义智能体和动作
## 📋 详细模块说明
### 1. 服务器入口 (server.py)
- **功能**: Flask应用主入口提供RESTful API
- **特点**: 支持请求缓存、全局状态管理、参数化端口配置
### 2. 计划引擎 (PlanEngine)
**核心功能**: 生成多智能体协作计划
- **basePlan_Generator.py**: 整合所有生成器,生成完整协作计划
- **planOutline_Generator.py**: 基于目标生成计划大纲
- **taskProcess_Generator.py**: 为每个任务步骤生成执行流程
- **AgentSelection_Generator.py**: 选择合适的智能体执行任务
### 3. 排练引擎 (RehearsalEngine_V2)
**核心功能**: 执行生成的协作计划
- **ExecutePlan.py**: 计划执行控制器
- **Action模块**: 实现各种协作动作Propose, Critique, Improve, Finalize
### 4. LLM API接口 (LLMAPI)
**核心功能**: 封装多种大语言模型API
- 支持流式响应
- 异步处理
- 快速模式切换
### 5. 数据处理 (DataProcess)
**核心功能**: 格式转换和前端适配
- 颜色映射:不同元素类型的视觉区分
- 模板生成:为前端生成渲染模板
- 格式化:处理驼峰命名和自然语言转换
## 🚀 启动和调试
### 开发环境启动
```bash
cd backend
source venv/bin/activate
python server.py --port 8017
```
### 调试模式
Flask已内置debug=True支持
- 交互式调试器
- 自动重载
- 详细错误页面
### Docker部署
```bash
docker-compose up
```
这个backend实现了一个完整的多智能体协作平台通过精心设计的模块化架构支持复杂任务的规划和执行。