244 lines
5.5 KiB
Markdown
244 lines
5.5 KiB
Markdown
|
|
# 多智能体系统使用指南
|
|||
|
|
|
|||
|
|
## 📋 目录结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
AI_CrewAI/
|
|||
|
|
├── generated_output/ # 生成的代码和文档输出目录
|
|||
|
|
│ └── task_YYYYMMDD_HHMMSS/ # 每次任务的时间戳目录
|
|||
|
|
│ ├── PRD_产品需求文档.md # 产品需求文档
|
|||
|
|
│ ├── QA_测试计划.md # 测试计划文档
|
|||
|
|
│ ├── Dev_技术方案.md # 技术方案文档
|
|||
|
|
│ ├── Final_交付报告.md # 最终交付报告
|
|||
|
|
│ └── events_log.json # 完整事件日志
|
|||
|
|
├── code_docs/ # 文档目录
|
|||
|
|
├── example_usage.py # 使用示例脚本
|
|||
|
|
├── main.py # FastAPI服务入口
|
|||
|
|
└── USAGE_GUIDE.md # 本文件
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🚀 快速开始
|
|||
|
|
|
|||
|
|
### 1. 配置 API Key
|
|||
|
|
|
|||
|
|
编辑 `.env` 文件,设置您的阿里百炼 API Key:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
DASHSCOPE_API_KEY=sk-your-actual-api-key-here
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
获取 API Key: https://dashscope.console.aliyun.com/
|
|||
|
|
|
|||
|
|
### 2. 安装依赖
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
pip install -r requirements.txt
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 启动服务
|
|||
|
|
|
|||
|
|
**方式一:直接运行 Python**
|
|||
|
|
```bash
|
|||
|
|
python main.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**方式二:使用 uvicorn**
|
|||
|
|
```bash
|
|||
|
|
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 访问服务
|
|||
|
|
|
|||
|
|
- **API 文档**: http://localhost:8000/docs
|
|||
|
|
- **测试 UI**: http://localhost:8000/test-ui
|
|||
|
|
|
|||
|
|
## 📝 使用方法
|
|||
|
|
|
|||
|
|
### 方法一:通过 Web UI(推荐)
|
|||
|
|
|
|||
|
|
1. 访问 http://localhost:8000/test-ui
|
|||
|
|
2. 在输入框中输入您的需求,例如:
|
|||
|
|
```
|
|||
|
|
开发一个简单的在线待办事项应用(Todo App),包含以下功能:
|
|||
|
|
1. 用户可以注册和登录
|
|||
|
|
2. 创建、编辑、删除待办事项
|
|||
|
|
3. 标记事项为完成/未完成
|
|||
|
|
4. 按优先级和截止日期排序
|
|||
|
|
5. 基本的搜索和过滤功能
|
|||
|
|
|
|||
|
|
技术栈要求:
|
|||
|
|
- 后端:Python FastAPI
|
|||
|
|
- 数据库:SQLite
|
|||
|
|
- 前端:简单的 HTML/CSS/JavaScript
|
|||
|
|
```
|
|||
|
|
3. 点击"启动任务"按钮
|
|||
|
|
4. 实时查看各 Agent 的执行过程
|
|||
|
|
5. 完成后查看生成的文档
|
|||
|
|
|
|||
|
|
### 方法二:通过 API 调用
|
|||
|
|
|
|||
|
|
使用 curl 或任何 HTTP 客户端:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 启动任务
|
|||
|
|
curl -X POST http://localhost:8000/api/run_task \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-d '{
|
|||
|
|
"user_requirement": "开发一个博客系统",
|
|||
|
|
"skip_confirmation": true
|
|||
|
|
}'
|
|||
|
|
|
|||
|
|
# 返回示例:
|
|||
|
|
# {"task_id":"uuid","status":"started","message":"..."}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
然后订阅 SSE 流:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -N http://localhost:8000/api/stream/{task_id}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 方法三:使用示例脚本
|
|||
|
|
|
|||
|
|
运行提供的示例脚本:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
python example_usage.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
这会自动保存生成的内容到 `generated_output/` 目录。
|
|||
|
|
|
|||
|
|
## 📊 生成的内容
|
|||
|
|
|
|||
|
|
每个任务会生成以下文档:
|
|||
|
|
|
|||
|
|
### 1. PRD_产品需求文档.md
|
|||
|
|
- 项目概述
|
|||
|
|
- 功能需求列表(按优先级)
|
|||
|
|
- 用户故事和用例
|
|||
|
|
- 验收标准
|
|||
|
|
- 风险评估
|
|||
|
|
|
|||
|
|
### 2. QA_测试计划.md
|
|||
|
|
- 测试策略
|
|||
|
|
- 测试用例(正常场景 + 异常场景)
|
|||
|
|
- 性能测试方案
|
|||
|
|
- 自动化测试建议
|
|||
|
|
|
|||
|
|
### 3. Dev_技术方案.md
|
|||
|
|
- 系统架构设计
|
|||
|
|
- 技术栈选择
|
|||
|
|
- 数据库 Schema
|
|||
|
|
- API 接口设计
|
|||
|
|
- 核心代码实现
|
|||
|
|
- 部署方案
|
|||
|
|
|
|||
|
|
### 4. Final_交付报告.md
|
|||
|
|
- 交付摘要
|
|||
|
|
- 一致性检查
|
|||
|
|
- 质量评估
|
|||
|
|
- 风险提示
|
|||
|
|
- 后续行动建议
|
|||
|
|
|
|||
|
|
## 🔍 查看生成的文件
|
|||
|
|
|
|||
|
|
生成的文件保存在 `generated_output/task_YYYYMMDD_HHMMSS/` 目录下。
|
|||
|
|
|
|||
|
|
**Windows 用户**:
|
|||
|
|
```powershell
|
|||
|
|
# 打开最新生成的目录
|
|||
|
|
explorer (Get-ChildItem generated_output -Directory | Sort-Object LastWriteTime -Descending | Select-Object -First 1).FullName
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Linux/Mac 用户**:
|
|||
|
|
```bash
|
|||
|
|
# 打开最新生成的目录
|
|||
|
|
xdg-open $(ls -td generated_output/task_* | head -n1) # Linux
|
|||
|
|
open $(ls -td generated_output/task_* | head -n1) # Mac
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
或者直接在文件管理器中浏览 `generated_output/` 目录。
|
|||
|
|
|
|||
|
|
## 💡 实用技巧
|
|||
|
|
|
|||
|
|
### 1. 实时监控任务进度
|
|||
|
|
|
|||
|
|
在另一个终端窗口查看日志:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Docker Compose 方式
|
|||
|
|
docker-compose logs -f multi-agent-system
|
|||
|
|
|
|||
|
|
# 直接运行
|
|||
|
|
# 日志会自动输出到控制台
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 自定义输出目录
|
|||
|
|
|
|||
|
|
修改 `example_usage.py` 中的 `output_dir` 参数:
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
await save_generated_content(task_id, output_dir="my_custom_output")
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 批量处理多个需求
|
|||
|
|
|
|||
|
|
创建批处理脚本:
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
requirements = [
|
|||
|
|
"需求 1...",
|
|||
|
|
"需求 2...",
|
|||
|
|
"需求 3..."
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
for req in requirements:
|
|||
|
|
task_id = await run_multi_agent_task(user_requirement=req)
|
|||
|
|
await save_generated_content(task_id)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## ⚠️ 常见问题
|
|||
|
|
|
|||
|
|
### Q: 为什么没有生成文件?
|
|||
|
|
|
|||
|
|
**A**: 确保:
|
|||
|
|
1. API Key 已正确配置
|
|||
|
|
2. 网络连接正常
|
|||
|
|
3. 任务执行完成(看到"任务执行完成"事件)
|
|||
|
|
|
|||
|
|
### Q: 生成的内容在哪里?
|
|||
|
|
|
|||
|
|
**A**:
|
|||
|
|
- 默认在 `generated_output/task_时间戳/` 目录
|
|||
|
|
- 可以通过 Web UI 直接查看
|
|||
|
|
- 或在控制台查找保存路径
|
|||
|
|
|
|||
|
|
### Q: 如何重新查看生成的内容?
|
|||
|
|
|
|||
|
|
**A**:
|
|||
|
|
1. 找到对应的任务时间戳目录
|
|||
|
|
2. 打开相应的 .md 文件
|
|||
|
|
3. 使用 Markdown 阅读器或 VS Code 查看
|
|||
|
|
|
|||
|
|
### Q: 可以修改生成的文档吗?
|
|||
|
|
|
|||
|
|
**A**: 当然可以!生成的文档是 Markdown 格式,可以使用任何文本编辑器修改。
|
|||
|
|
|
|||
|
|
## 🎯 最佳实践
|
|||
|
|
|
|||
|
|
1. **明确需求描述**:需求越详细,生成的文档越准确
|
|||
|
|
2. **指定技术栈**:明确说明使用的技术和框架
|
|||
|
|
3. **设定约束条件**:如性能要求、安全要求等
|
|||
|
|
4. **迭代优化**:根据生成结果调整需求描述
|
|||
|
|
|
|||
|
|
## 📞 技术支持
|
|||
|
|
|
|||
|
|
如有问题,请查看:
|
|||
|
|
- API 文档:http://localhost:8000/docs
|
|||
|
|
- 项目 README:README.md
|
|||
|
|
- 日志输出:控制台或 Docker 日志
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**祝您使用愉快!** 🎉
|