山东大学软件学院创新实训——个人博客(一)
日期:2026 年 3 月 29 日
项目:绘画 AI 博弈小游戏 —— 人机对抗绘画猜词与心理解读系统
一、工作内容
本周按照项目开题计划,本人主要完成:项目统筹推进、需求确认、后端架构设计、AI 接口方案确定、文档编写与团队进度管理。
二、技术选型过程与理由
作为后端与项目统筹负责人,本周核心工作是完成技术栈选型论证,确保轻量、易开发、易部署、适配实训周期。
1. 后端框架:为什么选择 Flask
对比选型:Flask vs Django vs FastAPI
- Django:太重,内置 admin、ORM、auth,学习成本高,开发速度慢,不适合短期实训快速上线。
- FastAPI:性能强、自动文档,但异步生态复杂,团队熟悉度低。
- Flask:轻量、灵活、上手快、生态成熟,适合快速搭建 Web 服务与 Socket 通信,完美匹配实训项目规模。
结论:选用 Flask 作为后端主体框架。
2. 数据库:为什么选择 SQLite
对比选型:SQLite vs MySQL
- MySQL:需要部署、配置、启动服务,增加环境复杂度。
- SQLite:单文件数据库、零配置、开箱即用,足够支撑用户、房间、对局记录、绘画报告等数据量。
结论:选用 SQLite 满足项目存储需求,轻量化部署。
3. 实时通信:Flask-SocketIO
绘画同步、联机对战必须低延迟,因此选用 Flask-SocketIO 实现 WebSocket 长连接,保证多人实时画面同步。
三、最终技术栈与优劣分析
本次项目核心技术栈:前端:HTML5 + Canvas + JavaScript + CSS后端:Flask + Flask-SocketIO数据库:SQLiteAI 能力:多模态大模型图像理解 API创新模块:绘画行为特征提取 + 心理投射规则库
优势
- 开发效率高,适合 3 个月实训周期快速迭代
- 部署简单,零环境配置成本
- SocketIO 稳定可靠,联机延迟低
- 前后端分离清晰,便于团队分工
不足
- Flask 高并发能力有限(本项目仅 2–4 人房间,完全足够)
- SQLite 不支持高并发写入(实训演示场景无压力)
- 大模型 API 依赖网络,需做异常处理
四、项目整体架构设计
本周已完成项目整体架构设计,分为五层:
- 前端交互层:Canvas 画板、UI 界面、操作响应
- 实时通信层:WebSocket 同步绘图、房间状态
- 后端服务层:请求处理、接口封装、业务逻辑
- AI 与心理分析层:图像识别、特征提取、报告生成
- 数据存储层:SQLite 存储用户、对局、作品、报告
五、数据流图(核心流程)
本周完成核心数据流设计:
- 用户开始绘图 → Canvas 采集坐标与行为数据
- 数据通过 Socket 实时同步给同房间成员
- 后端接收绘图结果 → 传给多模态大模型识别
- 识别结果返回 → 判定猜词是否正确
- 系统提取绘画行为特征 → 心理分析 → 生成报告
- 对局数据、报告、作品存入 SQLite
六、我的分工与团队协作方式
我的分工
- 项目统筹、需求把控、进度管理
- 后端架构搭建、接口设计、服务开发
- AI 多模态模型 API 对接与调试
- 项目文档汇总、版本管理、验收材料
团队协作方式
- 代码管理:Gitee 统一仓库,Git 分支开发,定期合并
- 沟通协作:腾讯会议周会 + 日常群内同步
- 文档管理:CSDN 团队博客 + 个人博客每周更新
- 规范:统一接口格式、提交信息、代码风格
七、本周总结
本周完成项目立项、需求确认、技术选型、架构设计、数据流梳理、团队分工,项目从创意进入正式开发阶段。
Flask+SocketIO+SQLite 技术栈轻量高效,适合快速实现联机绘画、AI 识别、心理分析三大核心能力。下周将正式进入后端框架搭建与画板基础联调工作。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)