第二次作业
| 作业所属课程 | https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering24/ |
|---|---|
| 作业要求 | https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering24/homework/15656 |
| 作业的目标 | 完成校园智能助手的构建 |
| 团队名称 | 华恒 |
| 团队成员学号-名字 | 3124004579 陈华毅 |
- 原型设计展示
1.1 原型在线预览
点击这里访问“北理小信使”原型在线预览链接
(注:原型已包含微信小程序前台、Web管理后台以及ESP32硬件交互界面,已测试链接可正常访问)
1.2 原型设计亮点与说明
本次原型设计紧扣“多智能体融合”与“软硬结合”的核心理念,重点突出了以下交互与UI设计:
前台小程序端(极简对话流):
主界面:采用沉浸式对话流设计,底部为全局输入框(支持语音与文本切换)。
智能卡片交互:当意图识别智能体(DeepSeek)分发任务至专业智能体时,回复不再局限于纯文本,而是渲染为“课表卡片”、“场馆预约表单”等结构化UI组件,提升信息获取效率。
多模型状态提示:在复杂推理场景下,界面顶部会动态展示“正在调用Kimi进行深度思考...”的微交互,增强用户对AI处理过程的感知。
Web管理后台(数据可视化与配置):
智能体路由面板:可视化展示意图识别智能体将请求分发给各个子智能体的比例与成功率。
知识库管理:支持教务文档、校园地图等文件的批量上传与解析状态监控。
硬件联动端(ESP32-S3 语音助手):
设计了专属的硬件状态面板,展示麦克风收音波形、ASR/TTS流式传输状态以及设备在线情况。 - 后端概要设计展示
2.1 系统架构设计
“北理小信使”采用主从式多智能体架构,自顶向下分为三层:
前端交互层:微信小程序(文本/语音)、Web管理端、ESP32-S3硬件终端。
智能体核心层(Agent Core):
路由与意图识别引擎:基于DeepSeek,负责解析用户自然语言并分发任务。
专业智能体集群:包含教务课表Agent、场馆预约Agent、学术问答Agent(对接文心一言)、复杂推理Agent(对接Kimi)。
工具调用模块(Function Calling):负责执行具体的API请求(如查课表、控制硬件)。
数据与服务层:腾讯云开发数据库(存储对话历史、用户画像)、外部校园API、硬件设备MQTT通信服务。
2.2 UML设计
2.2.1 用例图 (Use Case Diagram)
学生用户:文本/语音提问、查看课表、预约场馆、管理个人设置。
管理员:查看对话日志、配置智能体参数、更新知识库、管理硬件设备。
智能体系统:意图识别、任务分发、工具调用、长文本推理。
2.2.2 活动图 (Activity Diagram) - 核心对话流转
用户输入消息 -> DeepSeek意图识别 -> 判断意图类型:
[简单问答] -> 直接返回结果。
[教务/生活] -> 路由至对应专业Agent -> 调用外部API -> 组装卡片返回。
[复杂学术问题] -> 路由至Kimi Agent -> 流式输出长文本。
[硬件控制] -> 路由至工具Agent -> 发送MQTT指令至ESP32 -> 返回执行结果。
2.2.3 类图 (Class Diagram) - 核心实体
User:userId, openId, role, preferences
Conversation:convId, userId, createTime, messages[]
Agent:agentId, name, modelType(DeepSeek/Kimi/文心), systemPrompt, tools[]
ToolCall:callId, convId, toolName, parameters, result, status
2.2.4 时序图 (Sequence Diagram) - 多智能体协作流程
User -> MiniProgram -> Backend -> DeepSeek(意图识别) -> 识别为“查课表” -> Backend调用教务API -> 获取数据 -> DeepSeek组装回复 -> MiniProgram渲染课表卡片 -> User。
2.2.5 协作图 (Communication Diagram)
展示 MessageHandler、RouterAgent、SubAgent 和 Database 之间的消息传递顺序,重点体现 RouterAgent 如何根据置信度动态选择 SubAgent。
2.3 数据库设计
2.3.1 ER图
核心实体包括:User(用户)、Conversation(会话)、Message(消息)、AgentConfig(智能体配置)、HardwareDevice(硬件设备)。关系为:一个User拥有多个Conversation,一个Conversation包含多条Message,Message关联特定的AgentConfig。
2.3.2 关系数据模型 (核心表结构)
conversations 表:id (PK), user_id (FK), title, created_at, updated_at
messages 表:id (PK), conversation_id (FK), role (user/assistant/system/tool), content, model_used (deepseek/kimi), tool_calls (JSON), created_at
2.3.3 对象关系映射 (ORM)
采用 Prisma / TypeORM 进行映射,将数据库中的 JSON 字段(如 tool_calls)直接映射为 TypeScript 的 Interface/Class 对象,便于多智能体在处理 Function Calling 时进行结构化数据的解析与传递。 - 团队协作记录
3.1 预期开发计划时间安排
表格
时间节点 里程碑任务 预期产出 负责人
第1周 原型设计与评审 高保真原型、设计说明书 [姓名]
第2周 概要设计与数据库建模 UML图、ER图、数据库设计说明书 [姓名]
第3-4周 核心智能体接入与联调 DeepSeek/Kimi接入、基础对话跑通 [姓名]
第5周 硬件ESP32联动开发 语音交互Demo、MQTT通信 [姓名]
第6周 系统测试与部署上线 测试报告、小程序发布、项目总结 全员
3.2 预期开发计划分工安排
表格
成员姓名 角色 负责详细开发部分
[姓名] 项目经理/架构师 系统架构设计、多智能体路由逻辑、文档统筹
[姓名] 前端/UI工程师 小程序端开发、Web后台开发、原型设计
[姓名] 后端/AI工程师 腾讯云开发部署、API对接、数据库设计
[姓名] 硬件/嵌入式工程师 ESP32-S3固件开发、语音流式传输调试
3.3 协作过程记录
项目管理:使用 GitHub Projects 进行敏捷开发管理,将需求拆解为具体的 Issue 并分配给对应成员。
会议沟通:每周三晚进行线上腾讯会议,同步原型设计进度与UML图评审;每日在微信群进行简短的进度同步。
全员贡献:所有成员均参与了需求讨论与文档编写,并在 GitHub 仓库的 docs 分支提交了设计文档与原型资源,确保全员贡献记录完整。
(此处建议插入:GitHub Contributions 截图、腾讯会议讨论截图或原型设计评审照片) - 附件与资源下载
GitHub团队仓库链接:[填写您的GitHub仓库URL]
《华恒_系统设计说明书.pdf》:[填写云盘下载/在线预览链接]
《华恒_数据库设计说明书.pdf》:[填写云盘下载/在线预览链接]
原型在线预览链接:[填写墨刀/Axure原型链接]
浙公网安备 33010602011771号