当前位置: 首页 > news >正文

群面智伴——项目架构

基于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> <groupId>io.github.givimad</groupId> <artifactId>whisper-jni</artifactId> <version>1.7.1</version> </dependency> // 语音合成配置 (Edge TTS) <dependency> <groupId>io.github.whitemagic2014</groupId> <artifactId>tts-edge-java</artifactId> <version>1.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 17+
  • Node.js 18+
  • MySQL 8.0+
  • Redis 6.0+

后端启动

cd backend # 创建数据库 mysql -u root -p < ../docs/init.sql # 启动应用 mvn spring-boot:run

前端启动

cd frontend npm install npm run dev

总结

本系统通过AI多智能体技术模拟真实群面场景,结合语音交互事件化复盘,为求职者提供了一个低成本、高频次的群面练习平台。

核心创新点:

  1. 五维智能体画像- 从人格、情绪、角色、能力、记忆五个维度建模
  2. Manus Agent架构- 通过工具调用实现复杂决策
  3. 事件化复盘- 每条评分都有原始证据支撑
  4. 实时语音交互- 沉浸式练习体验
http://www.jsqmd.com/news/764206/

相关文章:

  • 新手友好:基于快马平台实现红目香薰基础网页控制功能
  • League Akari:英雄联盟玩家的终极智能助手,全面优化你的游戏体验
  • 2026年4月苗木批发基地供应商推荐,国槐/红叶李/金森女贞/丝棉木/金叶女贞/白蜡/油松,苗木批发基地批发商有哪些 - 品牌推荐师
  • 告别网盘限速困扰:LinkSwift直链下载助手的全平台解决方案
  • 如何让魔兽争霸3焕发新生?终极免费优化方案指南
  • Windows 11安卓子系统WSA完整安装指南:3步免费实现电脑运行手机应用
  • 医学影像分割新革命:MedSAM如何让AI看懂CT、MRI与病理切片?
  • C语言数据结构与算法实战:实现、排序与查找优化
  • Python发邮件又踩坑?QQ邮箱SMTP报错550的完整排查与修复(附Python 3.12代码)
  • 保姆级教程:在RflySim平台用MATLAB/Simulink复现无人机三维比例导引拦截仿真
  • VSCode日志插件开发进入倒计时:2026.1版本将废弃旧式TextDocumentContentProvider——3步完成兼容性重构
  • 通过 curl 命令快速验证 Taotoken API 密钥与端点连通性
  • 2026年物联网设备管理平台厂家推荐:AIRIOT智能设备管理平台/电厂设备管理平台专业选型指南 - 品牌推荐官
  • 中小团队如何利用Taotoken实现AI调用成本的分摊与追溯
  • 3分钟搞定Obsidian笔记内B站视频播放:终极解决方案
  • 别再只改Hello World了!AIDE入门必懂的res文件夹与XML布局文件详解
  • LangChain第二版:从原型到生产级AI应用的架构演进与工程实践
  • Genome-Factory:一站式基因组大模型微调与部署实战指南
  • 让经典魔兽争霸III在现代电脑上流畅运行的终极解决方案
  • Allegro 17.4 铺铜避坑指南:从动态铜皮参数到孤岛删除,一次讲清所有细节
  • 多维度拆透渲染引擎 第九篇【维度:深度·下】GPU-Driven、虚拟化与 Compute 潜力
  • 从零开始手写一个conda环境yml文件:保姆级教程与最佳实践
  • 球形水蛭量化:高效视觉数据离散化技术解析
  • 保定创筑再生资源:涞源电机出售厂家 - LYL仔仔
  • 2026年贵州体育场地建设一站式解决方案:塑胶跑道、硅PU球场、人造草坪深度横评指南 - 企业名录优选推荐
  • 多模态资源池化:MCP-Pool架构设计与Python实现详解
  • D2DX终极指南:三步解决暗黑破坏神2在现代PC上的宽屏与高帧率难题
  • PiliPlus:你的全平台B站观影新选择,告别广告享受纯净体验
  • WonderZoom算法解析:多尺度3D内容生成技术
  • 如何用ScintillaNET在.NET中打造专业级代码编辑器:终极指南