# 多 Agent 决策工作坊 ## 项目概述 多 Agent 决策工作坊是一个基于 Flask 和 DeepSeek API 的方案评审工具,通过模拟多角色视角的辩论,帮助团队生成全面、客观的决策要点。 ## 核心功能 1. **工作坊创建与管理**:创建新的决策工作坊,设置工作目标和评审范围。 2. **多角色配置**:为每个工作坊配置不同的角色(如产品经理、技术专家、用户代表等),每个角色拥有独特的视角和关注点。 3. **AI 驱动的决策分析**:基于多角色的辩论内容,使用 DeepSeek API 生成全面的决策要点和建议。 4. **智能排序与筛选**:支持按时间(升序/降序)和名称首字母排序工作坊,默认按时间降序显示最新工作坊。 5. **批量操作功能**:支持多选工作坊进行批量删除,勾选框显示在右侧空白处,与工作坊名称高度对齐。 6. **防抖与状态管理**:点击查看结果按钮时,实现防抖功能,避免重复生成结果,并显示加载提示。 7. **结果缓存**:生成AI结果后自动保存,后续点击查看结果时直接显示已保存结果,无需重复生成。 8. **优化的用户界面**:工作坊列表标题与右侧按钮字符中心线对齐,创建第一个工作坊按钮在列表方框中居中显示。 ## 使用场景 - **产品方案评审**:评估新功能或产品方案的可行性和风险。 - **技术选型决策**:在多种技术方案中进行客观比较和选择。 - **项目规划评审**:对项目计划、资源分配等进行多维度分析。 ## 快速开始 ### 环境要求 - Python 3.8+ - uv 虚拟环境管理工具 - DeepSeek API 密钥 ### 安装步骤 1. **克隆项目** 2. **初始化虚拟环境** ```bash uv init ``` 3. **安装依赖** ```bash uv add flask requests python-dotenv ``` 4. **配置 API 密钥** 创建 `.env` 文件,添加以下内容: ``` DEEPSEEK_API_KEY=your_deepseek_api_key ``` 5. **启动应用** ```bash python app.py ``` 6. **访问应用** 打开浏览器,访问 `http://localhost:5000` ## 项目结构 ``` . ├── app.py # 主应用文件 ├── .env # 环境变量配置 ├── README.md # 项目说明文档 ├── Project_Design.md # 项目设计文档 ├── requirements.txt # 依赖项列表 └── templates/ # HTML 模板文件 ├── index.html # 首页 ├── create_workshop.html # 创建工作坊页面 ├── configure_roles.html # 配置角色页面 ├── start_debate.html # 开始辩论页面 └── results.html # 查看结果页面 ``` ## 使用指南 1. **创建工作坊**:在首页点击"创建新工作坊",填写工作坊名称和目标。 2. **配置角色**:为工作坊添加不同的角色,每个角色需要设置名称和视角。 3. **开始辩论**:选择角色,输入该角色的观点和建议。 4. **查看结果**:点击"查看结果"按钮,系统会基于所有角色的辩论内容,生成决策要点和建议。首次点击会生成结果并显示加载提示,后续点击会直接显示已保存的结果。 5. **排序工作坊**:点击"按时间排序"按钮可按创建时间升序排列工作坊,默认状态下工作坊按创建时间降序显示。点击"按名称首字母排序"按钮可按名称字母顺序排列工作坊。 6. **批量操作**:点击"多选"按钮进入多选模式,勾选工作坊后可进行批量删除操作。多选模式下,勾选框会显示在工作坊名称右侧,与名称高度对齐。 7. **保存最终决策**:在查看结果页面,填写最终决策后点击"保存最终决策"按钮,系统会保存决策并自动跳转到首页。 ## 技术栈 - **后端**:Python, Flask - **前端**:HTML, CSS, Jinja2 模板 - **AI 集成**:DeepSeek API - **环境管理**:uv ## 许可证 MIT ## 孙子舒 2411020120 陈敬峰 2411020229 ## 心得 通过本次多 Agent 决策工作坊项目的开发,我深刻体会到了多角色视角在决策过程中的重要性。在实际开发中,我们常常需要从不同角度审视问题,而本系统通过模拟多角色辩论的方式,能够帮助团队更全面地分析方案,避免片面决策。 在技术实现上,我学习了如何使用 Flask 框架快速搭建 Web 应用,并整合 DeepSeek API 实现 AI 功能。同时,通过使用 uv 管理虚拟环境和依赖,使得项目环境配置更加简便和规范。 项目开发过程中,我重点关注了用户体验的优化:从调整工作坊列表的布局对齐,到实现查看结果按钮的防抖功能,再到优化时间排序逻辑,每一个细节的改进都让系统更加易用和直观。特别是在实现 AI 结果缓存功能时,我意识到良好的状态管理对于提升用户体验至关重要,它不仅减少了重复的 API 调用,还让用户能够即时查看已生成的结果。 此外,我还体验了从需求分析、设计、编码到测试的完整开发流程,提高了解决实际问题的能力。在处理多选框布局、排序逻辑等细节问题时,我学会了如何平衡功能实现与视觉效果,确保系统既实用又美观。 在未来的学习中,我将继续探索更多 AI 与 Web 应用结合的场景,提升系统的智能化水平。同时,我也会更加注重用户体验的细节,努力开发出更加人性化的应用。 最后,感谢老师和同学们在项目过程中给予的帮助和指导。