一、背景和项目介绍
1. 选题背景(为什么要选这个?)
在当前的就业环境下,招聘方和求职者都面临痛点。
-
企业端 :简历筛选量大,初面耗时耗力,且不同面试官的评判标准不一致,难以保证客观性。
-
求职者端 :缺乏真实的面试演练机会,很难在面试后得到具体的反馈和改进建议。
2. 项目介绍(这是什么?)
"智演沙盘"是一个基于 AI 大模型技术的垂直领域应用。它模拟了真实的面试场景,能够扮演专业的"AI 面试官"。
系统不仅能根据候选人的简历和投递岗位自动生成个性化面试题,还能进行多轮深度的技术追问。面试结束后,系统会立即生成一份包含能力雷达图、得分详情和改进建议的专业评估报告。
3. 核心价值
-
提效 :为 HR 自动化完成初筛面试。
-
赋能 :帮助求职者低成本、高频次地进行实战演练。
二、项目流程介绍
用户在我的系统中,会经历一个完整的闭环流程,我将其分为四个阶段:
**第一阶段:**简历解析与定岗 用户上传 PDF 简历,系统通过大模型提取关键技能(如 Python, Vue)和项目经历。用户随后确认目标岗位(如"Python 后端工程师"),系统根据简历和岗位生成匹配的初始题库。
**第二阶段:**沉浸式面试(核心) 进入面试间,AI 面试官发起提问。
-
用户输入回答后,系统进行实时分析。
-
追问机制 :如果用户回答正确但不够深入,或者回答模糊,AI 会像真人一样发起追问,挖掘用户的技术深度。
**第三阶段:**智能评分 每一轮对话结束后,后端都会实时调用大模型进行评分。系统不仅看对错,还评估逻辑性、完整性。所有数据通过流式传输实时反馈。
**第四阶段:**生成报告 面试结束,系统汇总所有维度的得分,生成"雷达图"(能一眼看出用户什么技术栈薄弱),并给出具体的学习建议,存入历史记录供用户复盘。
三、核心模块实现
为了实现上述流程,我重点设计了以下六个核心模块:
**1. AI 面试引擎模块(基于 Dify Workflow)**这是项目的"大脑"。我没有简单调用 ai 接口,而是利用 Dify 编排了工作流。
-
实现细节 :我将"出题"、"评分"、"追问判断"拆解为独立的节点。
-
难点解决 :针对大模型生成慢的问题,我实现了 Streaming 流式传输 。后端与 AI 建立长连接,实时将生成的文字推送到前端,避免了 HTTP 504 超时,也让用户感觉响应速度很快。
2. 追问状态机为了让 AI 不会"乱问",我在后端维护了一个面试状态机,将不可控的对话转化为可控的流程。
-
逻辑 :当用户提交答案后,系统会判断:(1) 当前题目是否已结束? (2) 是否还有追问机会?
-
策略 :如果追问次数 未达到最大追问次数,系统自动触发"追问分支",生成关联问题;否则进入下一题。
3. 评分客观性控制(CoT 思维链) 为了防止 AI 瞎打分(幻觉问题)。
-
实现 :我在 Prompt 中引入了 CoT(Chain of Thought)思维链 技术。
-
效果 :强制要求 AI 在打分前,先列出"用户回答了什么"、"标准答案是什么"、"缺漏了什么",最后才给出分数。这种"先思考后打分"的机制,大大提高了评分的稳定性和可解释性。
4. 简历解析与清洗模块(OCR & NLP) 这是系统的入口,实现了对非结构化数据的处理。
-
功能 :用户上传 PDF/TXT 简历后,系统利用 Coze 的文档处理能力,自动提取出"技术栈"、"项目经历"等关键信息。
-
亮点 :针对大模型输出格式不稳定的痛点,我编写了 鲁棒的正则清洗器(Regex Cleaner) ,能够自动修复 AI 返回的 JSON 格式错误,确保简历解析的成功率接近 100%。
5. 身份认证与权限模块为了保证数据的安全性,我构建了标准的 JWT 认证体系。
-
技术 :Django Rest Framework + SimpleJWT。
-
实现 :用户登录后获取 Token,前端 Axios 拦截器自动将 Token 注入到每个请求头中。后端通过权限类(Permissions)严格控制用户只能查看自己的面试报告。
6. 多维能力评估与可视化模块(数据出口) 这是系统的出口,负责将复杂的面试数据转化为直观的报告。
-
后端实现 :利用 Django ORM 的聚合函数(Aggregation),对面试记录按技术栈进行分组计算,得出"Python基础"、"架构设计"、"项目经验"等不同维度的加权得分。
-
前端实现 :集成 ECharts 图表库,动态渲染"五维能力雷达图",让用户一眼就能识别自己的技能短板,实现所见即所得的复盘效果。
四、相应界面展示
我的前端基于 Vue 3 + Element Plus 构建,主要包含三个核心界面:
- 数据仪表盘(Dashboard)
-
展示内容 :用户登录后的首页。展示了最近的面试场次、平均分趋势图(折线图)以及待进行的面试任务。
-
设计意图 :让用户对自己的练习进度一目了然。

- 智能面试间(Interview Room)
-
展示内容 :这是一个类似聊天窗口的界面。左侧是 AI 的提问和历史对话,右侧是当前题目的倒计时和答题区。
-
交互细节 :采用了流式打字机效果,AI 的回复是一个字一个字蹦出来的,模拟真人打字,增强临场感。

- 评估报告页(Report Detail)
- 展示内容 :页面顶部是一个 ECharts 渲染的能力雷达图,直观展示短板。下方是详细的"题目复盘",每一道题都列出了用户的回答、AI 的点评以及参考答案。

五、总结与收获
通过开发"智演沙盘"这个项目,我不仅完成了一个功能完备的产品,更在技术广度和深度上有了质的飞跃:
-
技术栈的全面掌握 我独立完成了从数据库设计(MySQL)、后端接口开发(Django/DRF)到前端页面构建(Vue3)的全栈开发工作。深刻理解了前后端分离架构下的数据交互和状态管理。
-
AI 应用落地的工程化能力 我不仅学会了怎么调用 API,更解决了 AI 落地中的实际工程问题。比如:
-
通过 流式响应 解决了大模型的高延迟问题。
-
通过 Prompt Engineering 和 CoT 解决了模型输出不可控的问题。
-
通过 状态机逻辑 将不可控的对话变成了可控的业务流程。
- 解决问题的信心 在开发过程中,我遇到了诸如跨域(CORS)、Token 过期处理、数据库连接超时等经典问题。通过查阅文档、调试源码,我一一攻克了这些难点。这让我相信,我有能力应对未来工作中复杂的业务挑战。