# L06-multi-agent-paralle **Repository Path**: codecomb/l06-multi-agent-paralle ## Basic Information - **Project Name**: L06-multi-agent-paralle - **Description**: 多智能体 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-20 - **Last Updated**: 2026-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Multi-Agent Parallel System 基于 Spring AI Alibaba 的多智能体并行系统,用于生成综合性的方案策划。 ## 相关文档 - [Spring AI Alibaba 官方文档](https://java2ai.com/) - [DeepSeek API 文档](https://dash.deepseek.cn/docs) - [Spring AI 官方文档](https://spring.io/projects/spring-ai) ## 项目简介 本项目实现了一个并行多智能体协作系统,通过三个专业智能体(创意策划、预算规划、执行规划)并行工作,并由整合智能体生成最终的完整方案。 **✨ 2026 年更新**: 项目已完成前后端分离改造! - **前端**: Vue 3 + TypeScript + Vite + Pinia - **后端**: Spring Boot 3.x + Spring AI Alibaba - **通信**: REST API + SSE (Server-Sent Events) ## 系统架构 ``` 用户输入 ↓ SequentialAgent (串联执行) ├── Phase 1: ParallelPlanAgent (并行执行) │ ├── CreativeAgent → creative_ideas │ ├── BudgetAgent → budget_plan │ └── ExecutionAgent → execution_steps │ └── Phase 2: CompleteAgent (整合所有输出) └── complete_plan ↓ 最终输出 ``` ## 技术栈 ### 后端 - **编程语言**: Java JDK 21+ - **构建工具**: Maven 3.6+ - **框架**: Spring Boot 3.x - **AI 框架**: Spring AI Alibaba - **并发框架**: Java CompletableFuture ### 前端 - **框架**: Vue 3.5 + TypeScript - **构建工具**: Vite 8.x - **状态管理**: Pinia 3.x - **路由**: Vue Router 5.x - **HTTP 客户端**: Axios 1.x - **样式**: TailwindCSS 4.x ## 快速开始 ### 方式一:前后端分离开发模式(推荐) #### 1. 启动后端 ```bash mvn test -Dtest=DeepSeekTest -q mvn test -Dtest=CreativeAgentTest#testCreativeAgentCall -DfailIfNoTests=false mvn test -Dtest=CreativeAgentTest#testCreativeAgentDeepSeek 2>&1 mvn checkstyle:check -Dcheckstyle.config.location=checkstyle/aliyun.xml -Dcheckstyle.suppressions.location=checkstyle/suppressions.xml ``` ```bash cd /Volumes/ORICO/code/L06-multi-agent-paralle mvn compile export DASHSCOPE_API_KEY=your-api-key-here mvn spring-boot:run ``` ```bash curl -s "http://localhost:8080/api/plan/generate?topic=%E6%96%B0%E4%BA%A7%E5%93%81%E5%8F%91%E5%B8%83%E4%BC%9A%E7%AD%96%E5%88%92" -H "Accept: application/json" curl -X POST http://localhost:8080/api/test/creative-agent \ -H "Content-Type: application/json" \ -d '{"topic": "公司年会活动策划"}' curl -X POST http://localhost:8080/api/test/creative-agent/sync \ -H "Content-Type: application/json" \ -d '{"topic": "公司年会活动策划"}' ``` 后端将在 `http://localhost:8080` 启动 #### 2. 启动前端 ```bash cd frontend npm install npm run dev ``` 前端将在 `http://localhost:5173` 启动,并通过 Vite 代理访问后端 API ### 方式二:仅运行后端(使用原有 HTML 界面) #### 1. 环境要求 - JDK 21+ - Maven 3.6+ - DashScope API Key (阿里云通义千问) #### 2. 配置 API Key 设置环境变量: ```bash export DASHSCOPE_API_KEY=your-api-key-here ``` 或者在 `application.properties` 中配置: ```properties spring.ai.alibaba.dashscope.api-key=your-api-key-here ``` #### 3. 构建项目 ```bash mvn clean install ``` #### 4. 运行应用 ```bash mvn spring-boot:run ``` 应用将在 `http://localhost:8080` 启动 ## API 使用 ### 生成方案策划 **GET** `/plan/generate` 参数: - `topic`: 策划主题(必填) 示例请求: ```bash curl "http://localhost:8080/plan/generate?topic=公司年会策划方案" ``` 响应: ```json { "status": "SUCCESS", "executionTime": 5000, "creative": "创意策划内容...", "budget": "预算规划内容...", "execution": "执行计划内容...", "integratedPlan": "完整的整合方案文档..." } ``` ### SSE 流式接口 **GET** `/plan/stream?topic=xxx` 参数: - `topic`: 策划主题(必填) 实时返回各智能体的执行进度和最终方案,使用 Server-Sent Events 协议。 **前端调用路径**: `/api/plan/stream?topic=xxx`(通过 Vite 代理转发到后端) ### 健康检查 **GET** `/plan/health` 检查系统是否运行正常。 ### 系统信息 **GET** `/plan/info` 获取系统版本和状态信息。 ## 项目结构 ``` multi-agent-paralle/ ├── src/main/java/com/example/multiagent/ │ ├── agent/ # 智能体配置 │ │ ├── BudgetAgentConfig.java │ │ ├── CreativeAgentConfig.java │ │ └── ExecutionAgentConfig.java │ ├── config/ # 配置类 │ │ ├── AiConfig.java │ │ ├── AppConfig.java │ │ └── WebConfig.java # CORS 配置 │ ├── controller/ # Web 控制器 │ │ ├── PlanController.java │ │ └── PlanStreamController.java │ ├── dto/ # 数据传输对象 │ │ ├── PlanRequest.java │ │ └── PlanResponse.java │ ├── exception/ # 异常处理 │ │ └── GlobalExceptionHandler.java │ └── MultiAgentApplication.java # 应用入口 │ ├── com/alibaba/cloud/ai/graph/agent/ # Spring AI Alibaba 相关类 │ └── ReactAgent.class │ ├── frontend/ # Vue 3 前端项目 │ ├── public/ │ │ ├── favicon.svg │ │ └── icons.svg │ ├── src/ │ │ ├── assets/ # 静态资源 │ │ │ ├── styles/ │ │ │ │ └── main.css │ │ │ ├── hero.png │ │ │ ├── vite.svg │ │ │ └── vue.svg │ │ ├── components/ # 组件 │ │ │ ├── agents/ # 智能体相关组件 │ │ │ │ └── AgentCard.vue │ │ │ ├── common/ # 通用组件 │ │ │ │ └── StatusBadge.vue │ │ │ └── result/ # 结果展示组件 │ │ │ └── FinalPlanSection.vue │ │ ├── composables/ # 组合式函数 │ │ │ └── useSSE.ts │ │ ├── stores/ # 状态管理 │ │ │ └── plan.ts │ │ ├── types/ # 类型定义 │ │ │ └── plan.ts │ │ ├── utils/ # 工具函数 │ │ │ └── sse.ts │ │ ├── views/ # 页面 │ │ │ └── PlanView.vue │ │ ├── App.vue │ │ ├── main.ts │ │ └── style.css │ ├── .env.example │ ├── .gitignore │ ├── README.md │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── postcss.config.js │ ├── tailwind.config.js │ ├── tsconfig.app.json │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── vite.config.ts │ ├── src/main/resources/ │ ├── prompts/ # 提示词配置 │ │ └── prompts.properties │ ├── static/ # 静态资源 │ │ ├── js/ │ │ │ └── app.js │ │ └── index.html │ ├── templates/ # 模板文件 │ │ └── index.html │ └── application.properties │ ├── docs/ # 文档和图片 │ ├── 核心智能体功能.jpg.png │ └── 流程图.png │ ├── .gitignore ├── README.md └── pom.xml ``` ## 智能体说明 ### CreativeAgent (创意策划师) - **功能**: 生成创新性的策划方案和创意点子,包括活动主题、内容框架、创意点等 - **配置文件**: `agent/CreativeAgentConfig.java` - **输出**: 创意策划内容 ### BudgetAgent (财务规划师) - **功能**: 制定详细的预算分配和成本控制方案,进行成本效益分析 - **配置文件**: `agent/BudgetAgentConfig.java` - **输出**: 预算规划内容 ### ExecutionAgent (执行专家) - **功能**: 制定详细的实施计划和执行步骤,评估技术可行性和执行风险 - **配置文件**: `agent/ExecutionAgentConfig.java` - **输出**: 执行计划内容 ### SequentialAgent (串联执行) - **功能**: 协调多个智能体的执行流程,先并行执行三个专业智能体,再整合结果 - **流程**: 1. 并行执行 CreativeAgent、BudgetAgent、ExecutionAgent 2. 整合三个智能体的输出,生成最终方案 - **技术**: 使用 Spring AI Alibaba 的流式 API 和 Java CompletableFuture 实现并行处理 ## 配置说明 ### 超时配置 - 单个智能体超时:20 秒 - 重试次数:2 次 可在 `application.properties` 中调整: ```properties ai.timeout.millis=20000 ai.retry.max-attempts=2 ``` ### 模型配置 使用 Qwen 模型,可在配置中修改: ```properties spring.ai.alibaba.dashscope.chat.options.model=qwen3-max spring.ai.alibaba.dashscope.chat.options.temperature=0.7 spring.ai.alibaba.dashscope.chat.options.max-tokens=4096 ``` ### 跨域配置 ```properties frontend.url=http://localhost:5173 ``` ## 开发指南 ### 运行测试 ```bash mvn test ``` ### 代码质量检查 ```bash mvn clean verify ``` ### 前端开发 ```bash cd frontend npm install npm run dev # 开发模式 npm run build # 生产构建 ``` ## 未来规划 - [x] 前后端分离改造 - [ ] 添加更多专业智能体 - [ ] 实现智能体插件化 - [ ] 添加缓存机制 - [ ] 实现成本监控和告警 - [ ] 添加可视化监控界面 ## 许可证 本项目采用 MIT 许可证。 ## 联系方式 如有问题或建议,请提交 Issue。