一、构建AI模拟面试官工作流引言

AI模拟面试能显著提升招聘效率与人才匹配度,通过分析求职者简历和岗位描述,系统可自动生成针对性问题,并基于预设标准评估答案,减少人为偏见,确保客观性。同时,求职者能获得即时反馈与改进建议,优化面试表现,缩短企业招聘周期并降低误录风险,这种自动化流程尤其适用于大规模招聘和技术岗位,兼顾效率与公平性,对于个人也可以更好的了解和学习岗位知识的考核。

工作流的使用需要强大的服务器支持,华为云FlexusX云服务器首创大模型加持,智能全域调度;X-Turbo加速,常见应用性能最高可达业界同规格6倍,而且基于用户业务负载动态和内存峰值画像,动态推荐规格,减少算力浪费,提升资源利用率,不仅性能好还始终确保成本更优。

在这里插入图片描述

二、构建AI模拟面试官工作流环境

2.1 基于FlexusX实例的Dify平台

华为云FlexusX实例提供高性价比的云服务器,按需选择资源规格、支持自动扩展,减少资源闲置,优化成本投入,并且首创大模型QoS保障,智能全域调度,算力分配长稳态运行,一直加速一直快,用于搭建Dify-LLM应用开发平台。

Dify是一个能力丰富的开源AI应用开发平台,为大型语言模型(LLM)应用的开发而设计。它巧妙地结合了后端即服务(Backend as Service)和LLMOps的理念,提供了一套易用的界面和API,加速了开发者构建可扩展的生成式AI应用的过程。

参考:华为云Flexus+DeepSeek征文 | 基于FlexusX单机一键部署社区版Dify-LLM应用开发平台教程

2.2 基于MaaS的模型API商用服务

MaaS预置服务的商用服务为企业用户提供高性能、高可用的推理API服务,支持按Token用量计费的模式。该服务适用于需要商用级稳定性、更高调用频次和专业支持的场景。

参考:华为云Flexus+DeepSeek征文 | 基于ModelArts Studio开通和使用DeepSeek-V3/R1商用服务教程

在这里插入图片描述

三、构建AI模拟面试官工作流实战

3.1 配置Dify环境

输入管理员的邮箱和密码,登录基于FlexusX部署好的Dify网站

在这里插入图片描述

将MaaS平台的模型服务接入Dify,这里我们选择的是DeepSeek R1商用服务,需要记住调用说明中的接口信息和 API Key 管理中API Key,若没有可以重新创建即可

在这里插入图片描述

配置Dify模型供应商:设置 - 模型供应商 - 找到OpenAI-API-compatible供应商并单击添加模型,在添加 OpenAI-API-compatible对话框,配置相关参数,然后单击保存

在这里插入图片描述

参数 说明
模型类型 选择LLM
模型名称 填入模型名称。
API Key 填入创建的API Key。
API Endpoint URL 填入获取的MaaS服务的基础API地址,需要去掉地址尾部的“/chat/completions”后填入

3.2 创建AI模拟面试官工作流

创建空白应用,选择Chatflow,填写应用名称:模拟面试官,选择Logo并填写描述,点击创建

在这里插入图片描述

删除默认的配置节点,仅保留开始节点

在这里插入图片描述

点击开始节点,添加以下用户变量:

job_name(文本):岗位名称
skills(段落):技能点(用顿号分隔)
experience(数字):工作年限
job_description(段落):职位描述
resume(文件):上传简历
question_count(数字):问题数(可选)
pass_count(数字):通过数(可选)

在这里插入图片描述

添加条件分支,判断 sys.dialogue_count = 0 第一次对话,需要做面试前的准备,解析填入的数据,并给出面试者整个流程信息,再给出第一道题目,当对话介于0-10时候,需要每次评估面试者对于问题的回答,基于评价和纠正并给出完整的正确答案,最后打分用于判断是否通过,当完成10道题目后则结束本次面试流程,需要重新开启新对话

变量名称 数据类型 说明
sys.dialogue_count Number 用户在与 Chatflow 类型应用交互时的对话轮数。每轮对话后自动计数增加 1,可以和 if-else 节点搭配出丰富的分支逻辑。例如到第 X 轮对话时,回顾历史对话并给出分析

在这里插入图片描述

Case1 的流程接入一个LLM节点,用于信息整理,输入如下系统提示词:

# 角色
你是一位专业的{{#1749694611811.job_name#}}岗位面试官,拥有10年招聘经验。

## 任务
进行结构化面试,评估候选人的专业能力和综合素质。

## 面试流程
1. 面试官介绍岗位
2. 询问10个问题(10个专业问题)
3. 对每个回答进行评分(满分100分,≥80分通过)
4. 最终评估(通过≥6个问题则面试成功)

## 要求
- 根据{{#1749694611811.skills#}}和{{#1749694611811.job_description#}}和{{#1749694611811.resume#}}设计问题
- 每次只问一个问题
- 对回答给出专业纠正和标准答案
- 保持正式但友好的语气
- 最终给出结构化反馈

本次输出面试前的流程介绍

在这里插入图片描述

再添加一个直接回复节点输出面试官的流程介绍

在这里插入图片描述

再接入一个LLM节点,用于输出问题,输入如下提示词:

基于以下信息生成技术问题:
- 简历摘要:{{#1749694611811.resume#}}
- 技能要求:{{#1749694611811.skills#}}
- 岗位描述:{{#1749694611811.job_description#}}
生成1个{{#1749694611811.experience#}}年经验级别的{{#1749694611811.job_name#}}领域问题
输出格式:### 问题{{{{#conversation.question_count#}}+1}}\n[内容]

在这里插入图片描述

右上角选择会话变量,添加三个变量

question(String):问题的描述,用于后续评估答案
question_count(Number):问题数,用于后续判断题目数量
pass_count(Number):问题通过数,用于后续计算通过总数

在这里插入图片描述

添加变量赋值,将刚刚生成的问题描述赋值给会话变量question

在这里插入图片描述

Case1的最后一个节点的直接答复节点,输出刚刚的问题描述

在这里插入图片描述

Case 2 接入LLM节点用于评估用户输入的答案和对应的问题,输入以下提示词

评估回答:
问题:{{#conversation.question#}}
回答:{{#sys.query#}}
要求:
1. 指出不足(使用What+STAR法则分析)
2. 参考答案(Markdown格式)
3. 给用户回答{{#sys.query#}}评分(0-100分,≥80分通过),并告知结果:若通过就输出本题"测试通过",否则输出本地"测试失败"

在这里插入图片描述

添加直接回复节点,并输出评估结果

在这里插入图片描述

本来通过LLM输出是否通过的结果返回0或1,但是实际输出的内容总是包含一堆字符串的分析,不能直接输出数字,放弃此节点

在这里插入图片描述

换成代码执行节点,输入变量为回答评估的text会话变量的pass_count,输出变量为最新的pass_count,在代码中判断含有测试通过则表示通过题目数量+1

def main(arg1: str, arg2: int) -> dict:
    if "测试通过" in arg1:
        return {"result": arg2 + 1}
    else:
        return {"result": arg2}

在这里插入图片描述

再添加变量赋值节点,用于更新会话变量中的question_countpass_count

在这里插入图片描述

再添加条件分支节点,当问题数为10,通过数大于等于6时候则输出面试通过,若通过数小于6时则输出面试失败,其他情况则继续出题

在这里插入图片描述

连接LLM节点,用于生成面试题目,提示词同上

在这里插入图片描述

再连接变量赋值,将最新的题目覆盖赋值给会话变量question

在这里插入图片描述

Case 2的最后节点直接回复面试题

在这里插入图片描述

Case 3 直接回复提示:本次面试结束,重新开启新对话!

在这里插入图片描述

整个流程走完,进行了很多次的修改,也调试了很多次,很耗时,尤其是提示词,终于走通了所有流程满足了初步的需求,其中很多环节还可以优化,主要功能依然是依赖大模型的输出,如解析数据、出题、评估答案。

在这里插入图片描述

测试完成就可以发布更新到探索页面了!

3.3 使用AI模拟面试官工作流

在探索 - 模拟面试官中开启新对话,输入基本参数,并上传简历文件

在这里插入图片描述

输入任意开始面试流程,首先面试官介绍面试岗位、面试流程说明、评估维度等信息

在这里插入图片描述

然后面试官开始出第一道题目,可以看出出题的质量还是很高的,属于比较专业的

在这里插入图片描述

回答问题,我是借助工具回答的哈!

在这里插入图片描述

回答评估,通过START法则分析的,并给出了标准答案

在这里插入图片描述

但是还是测试失败哈!

在这里插入图片描述

面试官继续出题,又是一道高质量问题,直接摆烂输入“不会”

在这里插入图片描述

又是一顿犀利评价输出,表明候选人缺乏复杂网络层架构设计经验,对Android架构组件的深度运用能力不足,未达到3年经验开发者应有的设计能力

在这里插入图片描述

直接0分,并给出加强建议

在这里插入图片描述

面试官继续出题,感觉每到题都出的很具体且都是难点重点,而且对开发者架构设计能力有很高要求

在这里插入图片描述

由于10题的测试比较耗时,我将规则修改为总共3题通过2题及以上即为通过,最后输出测试结果:总题数:3,通过题数:0,您未通过本次面试,再接再厉!

在这里插入图片描述

当回答规定题目后就结束本次面试,不再提出新问题,需要重新开启新对话!

在这里插入图片描述

四、总结

使用Dify搭建AI面试官让我深刻体会到低代码平台的强大灵活性。通过可视化工作流编排,我快速实现了简历解析、动态出题和评分逻辑的集成,无需深入编码。同时,Dify的RAG(检索增强生成)功能确保了问题与岗位需求的高度相关。这一实践不仅提升了我的Prompt工程能力,也让我认识到AI应用中业务逻辑与技术落地的平衡至关重要——工具简化了实现,但核心仍在于对招聘场景的深度理解。

本次构建不仅是华为云FlexusX服务器提供了稳定高性能的Dify平台,更多使用到的是华为ModeArts Studio提供的DeepSeek R1商用API调用服务,在构建时候需要不断的测试流程的流通性和实现的效果微调,都进行了大量的、频繁的调用大模型输出结果,提示词都不断重写优化,每次都能够快速的返回结果,没有出现调用失败的情况,很稳定,不亏是业界SOTA大模型覆盖度99%,预置最优超参配置,基于昇腾算子、显存优化,大模型训练与推理性能大幅提升。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

828 B2B企业节已经开幕,汇聚千余款华为云旗下热门数智产品,更带来满额赠、专属礼包、储值返券等重磅权益玩法,是中小企业和开发者上云的好时机,建议密切关注官方渠道,及时获取最新活动信息,采购最实惠的云产品和最新的大模型服务!

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐