97 lines
3.3 KiB
Markdown
97 lines
3.3 KiB
Markdown
|
|
# 🤖 多Agent决策工作坊
|
|||
|
|
|
|||
|
|
## 简介
|
|||
|
|
多Agent决策工作坊是一个基于 AI 技术的方案评审工具,通过模拟不同角色的专业人士进行评审讨论(当前为**单轮评审**:每个角色各输出一次观点),并自动提取关键决策要点,帮助团队做出更全面、更理性的决策。
|
|||
|
|
|
|||
|
|
## 团队成员与贡献(必填)
|
|||
|
|
|
|||
|
|
| 姓名 | 学号 | 主要贡献(具体分工) |
|
|||
|
|
|---|---|---|
|
|||
|
|
| 胡云翔 | 2310561224 | (独立完成)选题与需求分析;Prompt 设计;项目结构搭建;Streamlit 前端实现;多 Agent 评审逻辑实现;结果可视化与导出;文档与开发心得撰写;测试与 Bug 修复 |
|
|||
|
|
|
|||
|
|
## 如何运行
|
|||
|
|
|
|||
|
|
1. **安装依赖**:
|
|||
|
|
```bash
|
|||
|
|
# 进入项目目录
|
|||
|
|
cd multi_agent_submission
|
|||
|
|
|
|||
|
|
# 同步依赖(uv 会自动创建虚拟环境)
|
|||
|
|
uv sync
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **配置 API Key**:
|
|||
|
|
- 复制 `env.example` 为 `.env`(Windows 用 `copy` 命令)
|
|||
|
|
- 在 `.env` 中填入你的 API Key(支持两种格式):
|
|||
|
|
```
|
|||
|
|
# 推荐:OpenAI 兼容命名(二选一)
|
|||
|
|
OPENAI_API_KEY=sk-xxxxxx
|
|||
|
|
|
|||
|
|
# 或 DeepSeek 兼容命名(二选一)
|
|||
|
|
# DEEPSEEK_API_KEY=sk-xxxxxx
|
|||
|
|
|
|||
|
|
# 可选:API 基础地址(默认 DeepSeek)
|
|||
|
|
# OPENAI_API_BASE=https://api.deepseek.com/v1
|
|||
|
|
# MODEL_ID=deepseek-chat
|
|||
|
|
```
|
|||
|
|
> ⚠️ 注意:
|
|||
|
|
> - 请勿将 `.env` 文件提交到 Git(已通过 .gitignore 过滤)
|
|||
|
|
> - 如果遇到 SSL 问题,可尝试添加 `REQUESTS_CA_BUNDLE=` 或 `CURL_CA_BUNDLE=`
|
|||
|
|
|
|||
|
|
3. **启动应用**:
|
|||
|
|
```bash
|
|||
|
|
# 确保在 multi_agent_submission/ 目录下执行
|
|||
|
|
uv run streamlit run app.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- 如果一切正常,浏览器会自动打开应用
|
|||
|
|
- 如果缺少 Key,页面上会显示明确的错误提示和解决方案
|
|||
|
|
|
|||
|
|
## 功能列表
|
|||
|
|
|
|||
|
|
- [x] 📋 方案内容输入
|
|||
|
|
- [x] 👥 多角色选择(产品经理、技术专家、用户代表等)
|
|||
|
|
- [x] 🔄 单轮评审(固定 1 轮,减少调用次数、提升速度)
|
|||
|
|
- [x] 🚀 自动评审流程
|
|||
|
|
- [x] 📊 评审结果可视化
|
|||
|
|
- [x] ✅ 智能决策要点生成
|
|||
|
|
|
|||
|
|
## 技术栈
|
|||
|
|
|
|||
|
|
- 🐍 **Python 3.12+**
|
|||
|
|
- ⚡ **uv** - 极速Python包管理器
|
|||
|
|
- 🤖 **DeepSeek API** - AI模型支持
|
|||
|
|
- 🎨 **Streamlit** - 交互式Web界面
|
|||
|
|
- 📦 **Pydantic** - 数据验证和管理
|
|||
|
|
|
|||
|
|
## 项目结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
multi_agent_submission/
|
|||
|
|
├── app.py # 主应用入口(Streamlit)
|
|||
|
|
├── agent.py # Agent 与评审管理逻辑
|
|||
|
|
├── config.py # 配置文件
|
|||
|
|
├── .env # 环境变量配置
|
|||
|
|
├── pyproject.toml # 项目依赖配置
|
|||
|
|
├── uv.lock # 依赖锁定文件
|
|||
|
|
└── README.md # 项目说明文档
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 使用说明
|
|||
|
|
|
|||
|
|
1. **输入方案**:在左侧输入需要评审的方案内容
|
|||
|
|
2. **选择角色**:选择参与评审的专业角色
|
|||
|
|
3. **开始评审**:点击"开始评审"按钮(当前固定为单轮评审)
|
|||
|
|
4. **查看结果**:等待评审完成后,查看各角色观点与生成的决策要点
|
|||
|
|
|
|||
|
|
## 核心特性
|
|||
|
|
|
|||
|
|
- **多角色模拟**:支持 5 种不同专业角色的方案评审(单轮)
|
|||
|
|
- **智能决策提取**:自动从评审内容中提取关键决策要点
|
|||
|
|
- **交互式界面**:友好的 Web 界面,易于操作
|
|||
|
|
- **可扩展设计**:支持添加新的角色与评审规则(保留扩展空间)
|
|||
|
|
|
|||
|
|
## 开发心得
|
|||
|
|
|
|||
|
|
见 `REFLECTION.md` 文件。
|