基于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 + DashScope LLM调用、智能体推理、报告生成
语音层 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.5s LLM推理+语音合成
单角色发言占比上限 ≤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. 实时语音交互 - 沉浸式练习体验
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐