背景——为什么做这个
求职准备阶段,真实面试机会有限,传统刷题平台无法模拟多角色对话的真实面试压力。大多数候选人只能靠背答案,而非真正练习在不同类型面试官面前的临场表现。我想构建一个系统,让人可以在"低风险"环境里体验"高压力"的真实面试场景。
问题拆解
- 1不同面试官关注点截然不同(HR 问动机、技术面问实现、行业专家问视野)——如何让每个 AI 角色真正"像"那个职位的人?
- 2如何让面试题与候选人的简历和目标 JD 真正匹配,而不是泛泛而问?
- 3如何管理多轮对话的状态,确保后续面试官能看到之前的回答并追问?
- 4如何生成真正有用的评估报告,而不是笼统的"表现良好"?
解决方案与系统架构
设计了 4 个专家智能体,每个拥有独立的系统提示和评估维度:HR 面试官关注职业规划与软技能,技术面试官考察编程能力与系统设计,行业专家聚焦领域知识与行业洞察,挑剔评审专门挖漏洞和追问含糊之处。4 位面试官按顺序各进行 3-4 轮提问,最终汇总输出综合评估报告。
系统架构
FastAPI 作为后端服务管理对话状态与会话记录,ChromaDB 向量数据库存储 55 道精选面试题,通过语义检索匹配最相关题目。简历和 JD 上传后先做技能差距分析,提取关键能力维度作为面试上下文,传入各智能体的提示词中。DeepSeek API(兼容 OpenAI SDK)驱动所有智能体,支持多次面试记录存储与历史报告查阅。
技术栈
Prompt 设计
每个面试官智能体拥有专属系统提示,明确定义其角色身份、提问风格和评估重点。HR 的提示词强调"评估文化契合度和职业动机";技术面试官被要求"追问实现细节,不接受模糊答案";行业专家关注"候选人对行业趋势的理解深度";挑剔评审则被设定为"找到简历与回答之间的矛盾点"。所有智能体共享同一份面试上下文(简历摘要 + JD 关键词),确保问题有的放矢。
系统工作流程
- 1上传简历(PDF/文本)和目标岗位 JD
- 2系统进行技能差距分析,提取核心能力维度
- 3第一轮:HR 面试官进行 3-4 题职业规划类提问
- 4第二轮:技术面试官深入考察编程与系统设计能力
- 5第三轮:行业专家评估领域知识与行业认知
- 6第四轮:挑剔评审针对薄弱点进行压力追问
- 7汇总四轮表现,生成维度化综合评估报告
遇到的问题 & 优化过程
问题
多轮面试中,后面的面试官无法感知前面的对话内容,导致重复提问,体验割裂。
解决方案
在每个智能体的提示词上下文中注入摘要化的前序对话记录,让每位"面试官"在进场前已了解候选人此前的表现。同时对历史对话做截断摘要以控制 Token 消耗。
问题
ChromaDB 向量检索偶尔返回与简历领域不相关的题目,降低面试针对性。
解决方案
在检索时增加元数据过滤,结合 JD 提取的技术标签对候选题目做二次筛选,确保检索到的题目与候选人背景高度匹配。
结果
- 完整模拟 4 轮、16+ 道题的真实面试流程
- 支持多次面试记录存储与历史报告随时查阅
- 55 道向量化题库驱动精准、个性化提问
- 输出多维度综合评估报告,涵盖各角色打分与改进建议
反思
这个项目让我深刻理解了"多智能体"不只是"多个 API 调用"——关键在于每个智能体的角色设定要足够清晰,边界要足够明确。提示词的质量直接决定了"面试官"是否像那么回事。另一个收获是:状态管理在多轮对话中至关重要,早期忽视这一点导致了很多体验问题。