4.5 KiB
4.5 KiB
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)
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调用
- 重试和错误处理
🔧 关键技术特点
- 模块化架构 - 清晰的职责分离
- 多LLM支持 - 灵活的模型切换
- 智能体协作 - 复杂的多智能体工作流
- 前端适配 - 自动生成渲染模板
- 可扩展性 - 支持自定义智能体和动作
📋 详细模块说明
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)
核心功能: 格式转换和前端适配
- 颜色映射:不同元素类型的视觉区分
- 模板生成:为前端生成渲染模板
- 格式化:处理驼峰命名和自然语言转换
🚀 启动和调试
开发环境启动
cd backend
source venv/bin/activate
python server.py --port 8017
调试模式
Flask已内置debug=True,支持:
- 交互式调试器
- 自动重载
- 详细错误页面
Docker部署
docker-compose up
这个backend实现了一个完整的多智能体协作平台,通过精心设计的模块化架构,支持复杂任务的规划和执行。