群面智伴——项目架构
基于AI多智能体的沉浸式群面模拟系统架构设计与实现前言群面无领导小组讨论是互联网大厂招聘中的重要环节但很多求职者缺乏实战机会。本文介绍一个基于AI多智能体的群面模拟系统——群面值班qunmianzhiban通过多个AI智能体模拟真实群面场景帮助求职者低成本、高频次地练习群面技巧。项目概述这是一个由多个AI智能体驱动的沉浸式群面模拟系统支持语音交互与实时字幕5类不同角色的AI候选人智能体事件化复盘与五维能力评估MBTI人格画像可视化技术架构整体架构图系统采用五层架构从前到后依次为┌─────────────────────────────────────────────────────────┐ │ 前端层 (Vue 3) │ │ 会话控制 | 语音交互 | 实时字幕 | 复盘可视化(雷达图/时间线) │ └─────────────────────────────────────────────────────────┘ │ WebSocket ▼ ┌─────────────────────────────────────────────────────────┐ │ 编排层 (Spring Boot) │ │ WebSocket | 事件路由 | 房间状态机 │ └─────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ 引擎层 (Spring Boot) │ │ 多智能体决策 | 抢话裁决 | 阶段调度 | 发言意愿分计算 │ ├─────────────────────────────────────────────────────────┤ │ 智能体模块 │ │ ┌──────────────┬──────────────┬──────────────┐ │ │ │ 面试官智能体 │ 候选人智能体 │ 分析智能体 │ │ │ │ - 开场宣读 │ - 5类角色 │ - 行为标注 │ │ │ │ - 阶段推进 │ - MBTI人格 │ - 证据绑定 │ │ │ │ - 总评汇总 │ - 抢话策略 │ - 评分生成 │ │ │ └──────────────┴──────────────┴──────────────┘ │ └─────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ 语音层 (Whisper Edge TTS) │ │ 语音转写 | VAD断句 | 语音合成 │ └─────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ 数据层 (MySQL 8.0 Redis 6.0) │ │ 题库管理 | 事件存储 | 评估计算 | 报告生成 │ └─────────────────────────────────────────────────────────┘技术选型层级技术栈核心职责前端层Vue 3 Vite Pinia会话控制、语音交互、实时字幕、复盘可视化编排层Spring Boot 3.2 WebSocket长连接管理、事件路由、房间状态机引擎层Spring Boot 异步任务多智能体决策、抢话裁决、阶段调度AI层Spring AI DashScopeLLM调用、智能体推理、报告生成语音层Whisper JNI Edge TTS语音转写、VAD断句、语音合成数据层MySQL 8.0 Redis 6.0题库检索、事件存储、评估计算核心模块详解1. 智能体画像系统每个AI智能体拥有五个核心向量模拟真实候选人的多维度特征// 人格向量 P (Personality) { extraversion: 0.0-1.0, // 外向度 dominance: 0.0-1.0, // 支配度 cooperation: 0.0-1.0, // 合作度 riskPreference: 0.0-1.0, // 风险偏好 organization: 0.0-1.0 // 条理度 } // 情绪向量 E (Emotion) { tension: 0.0-1.0, // 紧张度 confidence: 0.0-1.0, // 自信度 attackLevel: 0.0-1.0, // 攻击性 stability: 0.0-1.0 // 稳定性 } // 角色向量 R (Role) { type: LEADER/COORDINATOR/VIEWPOINT/EXECUTOR/SUPPORTER, stance: 支持方/反对方/中立 } // 能力向量 A (Ability) { logic: 0.0-1.0, // 逻辑思维 communication: 0.0-1.0, // 沟通表达 teamwork: 0.0-1.0, // 团队协作 leadership: 0.0-1.0, // 领导力 professionalism: 0.0-1.0 // 专业度 } // 记忆向量 M (Memory) { recentContext: [], // 近期上下文 counterArguments: [], // 被反驳记录 commitments: [] // 已承诺观点 }2. 发言意愿分计算智能体通过加权评分机制决定是否发言SpeakScore w1*角色驱动 w2*内容相关度 w3*情绪激活 w4*时机窗口 w5*阶段权重 权重配置 - w1 (角色驱动): 0.25 - w2 (内容相关): 0.25 - w3 (情绪激活): 0.15 - w4 (时机窗口): 0.20 - w5 (阶段权重): 0.15 发言阈值: 0.65 (超过则触发发言)3. 五阶段讨论流程阶段时长核心行为智能体策略破冰60s自我介绍展示人格特征建立第一印象观点陈述120s独立陈述基于角色向量输出结构化观点交锋辩论180s反驳与协商根据记忆向量进行针对性反驳收敛决策90s达成共识Leader角色推动共识Supporter提供支持总结陈词60s代表总结综合分析全场观点输出结论4. 事件化复盘系统系统通过事件总线记录所有交互生成包含证据的评估报告✅ 每条评分绑定≥2条原始证据✅ 支持用户追问为什么这个智能体会这样说✅ 生成立即执行和下次重点两类改进建议✅ 五维雷达图可视化能力分布5. 实时语音交互集成Whisper语音转写和Edge TTS语音合成// 语音转写配置 (Whisper JNI) dependency groupIdio.github.givimad/groupId artifactIdwhisper-jni/artifactId version1.7.1/version /dependency // 语音合成配置 (Edge TTS) dependency groupIdio.github.whitemagic2014/groupId artifactIdtts-edge-java/artifactId version1.3.3/version /dependency项目结构qunmianzhiban/ ├── frontend/ # Vue 3 前端 │ ├── src/ │ │ ├── views/ # 页面视图 │ │ │ ├── HomeView.vue # 首页 - 题目选择与配置 │ │ │ ├── RoomView.vue # 房间 - 实时讨论界面 │ │ │ ├── ReviewView.vue # 复盘 - 评估报告 │ │ │ └── AgentChatView.vue # AI对话 - 追问智能体 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── services/ # API服务 │ │ │ ├── api.js # REST API │ │ │ └── websocket.js # WebSocket通信 │ │ └── utils/ # 工具函数 │ └── vite.config.js │ ├── backend/ # Spring Boot 后端 │ └── src/main/java/com/interview/ │ ├── controller/ # REST控制器 │ │ ├── RoomController.java │ │ ├── AgentChatController.java │ │ └── SpeechController.java │ ├── agentManus/ # 智能体引擎 (Manus Agent) │ │ ├── BaseManusAgent.java │ │ ├── ReActManusAgent.java │ │ ├── ReportManusAgent.java │ │ ├── tools/ # Agent工具集 │ │ │ ├── LoadRoomContextTool.java │ │ │ ├── LoadEventStreamTool.java │ │ │ ├── LoadEvaluationTool.java │ │ │ ├── PdfExportTool.java │ │ │ └── MarkdownExportTool.java │ │ └── service/ │ │ └── ReportManusService.java │ ├── websocket/ # WebSocket处理 │ │ ├── RoomWebSocketHandler.java │ │ └── RoomEventListener.java │ ├── event/ # 事件模型 │ │ ├── Event.java │ │ ├── EventType.java │ │ └── Phase.java │ ├── model/ # 数据模型 │ │ ├── vo/ # 视图对象 │ │ └── dto/ # 数据传输对象 │ └── config/ # 配置类 │ ├── WebSocketConfig.java │ ├── DashscopeRestClientConfig.java │ └── RedisConfig.java │ └── docs/ # 项目文档 └── 项目框架说明.md项目亮点1. Manus Agent架构系统采用Manus Agent设计模式通过工具调用Tool Calling实现智能体的复杂决策LoadRoomContextTool- 加载房间上下文LoadEventStreamTool- 加载事件流LoadEvaluationTool- 加载评估结果PdfExportTool/MarkdownExportTool- 导出报告2. 实时通信架构基于WebSocket的长连接管理支持房间状态实时同步语音流实时传输字幕实时显示智能体状态更新3. 量化指标体系指标目标值说明场景初始化成功率≥95%房间创建与智能体初始化抢话裁决时延≤800ms多智能体并发发言处理AI回复延迟≤3.5sLLM推理语音合成单角色发言占比上限≤35%防止某个智能体垄断讨论五维评分完整率100%逻辑、沟通、协作、领导、专业评分一致性标准差≤0.6多次评估结果稳定性快速启动环境要求JDK 17Node.js 18MySQL 8.0Redis 6.0后端启动cd backend # 创建数据库 mysql -u root -p ../docs/init.sql # 启动应用 mvn spring-boot:run前端启动cd frontend npm install npm run dev总结本系统通过AI多智能体技术模拟真实群面场景结合语音交互和事件化复盘为求职者提供了一个低成本、高频次的群面练习平台。核心创新点五维智能体画像- 从人格、情绪、角色、能力、记忆五个维度建模Manus Agent架构- 通过工具调用实现复杂决策事件化复盘- 每条评分都有原始证据支撑实时语音交互- 沉浸式练习体验