159 lines
4.5 KiB
Markdown
159 lines
4.5 KiB
Markdown
# 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实现了一个完整的多智能体协作平台,通过精心设计的模块化架构,支持复杂任务的规划和执行。 |