智能招聘面试评估Agent系统【附带源码】

传统招聘面试评估流程面临效率低、主观性强、标准不统一等痛点。HR需手动筛选大量简历、主观判断候选人匹配度,易造成优秀人才流失或人岗不匹配。

智能招聘面试评估Agent系统基于多Agent协作架构,实现从简历解析、岗位匹配、多维评估到面试决策的全流程自动化。系统通过5个专业Agent协同工作,从技术能力、软技能、文化匹配等维度量化评估候选人,自动生成结构化评估报告和面试问题清单。该系统可显著降低HR重复劳动,提升评估客观性和一致性,缩短招聘周期,助力企业精准识人、高效引才,为人才战略决策提供数据支撑。

作者:百度 谭文涛

图片

从简历到面试全流程自动化,减少HR重复劳动,提升评估客观性

系统架构

简历文档(PDF/DOCX)
    │
    ▼
┌──────────────┐
│  简历解析     │  ← PDF(MinerU)/DOCX(python-docx) + LLM结构化
│  Agent       │
└──────┬───────┘
       │ 结构化简历JSON
       ▼
┌──────────────┐
│  岗位匹配     │
│  Agent       │  ← JD(PDF/DOCX/MD) + 简历 → 匹配度评分(0-100)
└──────┬───────┘
       │ 匹配结果
       ├─────────────┬─────────────┐
       ▼             ▼             ▼
┌────────────┐ ┌────────────┐ ┌────────────┐
│ 技术能力    │ │ 软技能     │ │ 文化匹配   │  ← 并行执行
│ 评估Agent  │ │ 评估Agent  │ │ 评估Agent  │
└─────┬──────┘ └─────┬──────┘ └─────┬──────┘
      └──────────────┼──────────────┘
                     ▼
            ┌──────────────┐
            │  面试决策     │
            │  Agent       │  → 综合评分 + 面试问题清单
            └──────────────┘

协作模式:串行流水线 + 并行评估

LLM调用:约8-12次(解析1次 + 匹配1次 + 评估3次 + 决策1次 + 搜索N次)

5个Agent说明

Agent

职责

输入

输出

LLM调用

简历解析Agent

PDF/DOCX→结构化JSON

简历文件(.pdf/.docx)

结构化简历JSON

1次

岗位匹配Agent

简历与JD匹配度评分

简历JSON + JD(.pdf/.docx/.md)

匹配度(0-100)+分析

1次

技术能力评估Agent

技术深度/项目复杂度/成长轨迹

简历JSON + JD

技术评分+技能分析

1次

软技能评估Agent

沟通/协作/领导力+搜索

简历JSON

软技能评分+搜索结果

1+N次

面试决策Agent

综合评分+面试问题清单

4项评估结果

决策+问题清单

1次

图片

项目结构

interview-evaluator-mas/
├── main.py                          # 入口文件:命令行参数解析,启动评估流水线
├── orchestrator.py                  # 主编排器:串行+并行流程控制,HTML报告生成
├── config.py                        # 全局配置:LLM后端/MinerU/搜索/评分阈值
│
├── core/                            # 核心基础设施层
│   ├── __init__.py
│   ├── llm_client.py                # LLM客户端:千帆+Ollama双后端路由,重试/降级/统计
│   ├── search_client.py             # 百度AI搜索客户端:单条/批量搜索,结果文本提取
│   ├── mineru_parser.py             # MinerU PDF解析:上传→轮询→下载ZIP→提取Markdown
│   ├── docx_parser.py               # Word文档解析:python-docx提取段落+表格文本
│   └── document_parser.py           # 统一文档解析入口:按扩展名自动路由(.pdf/.docx/.md/.txt)
│
├── agents/                          # Agent业务逻辑层
│   ├── __init__.py
│   ├── resume_parser_agent.py       # 简历解析Agent:PDF/DOCX→文本→LLM→结构化JSON
│   ├── job_matcher_agent.py         # 岗位匹配Agent:6维度加权评分,0-100分匹配度
│   ├── tech_evaluator_agent.py      # 技术能力评估Agent:深度/复杂度/广度/成长/影响力
│   ├── softskill_evaluator_agent.py # 软技能评估Agent:5维度+百度搜索验证公开信息
│   └── interview_decider_agent.py   # 面试决策Agent:综合4维评分+STAR面试问题清单
│
├── prompt/                          # 提示词文件(各Agent独立markdown,运行时动态加载)
│   ├── resume_parser.md             # 简历解析提示词:7维度提取规则+JSON输出格式
│   ├── job_matcher.md               # 岗位匹配提示词:6维度评分规则+量化标准
│   ├── tech_evaluator.md            # 技术评估提示词:深度推断方法+技能分析框架
│   ├── softskill_evaluator.md       # 软技能评估提示词:行为推断+搜索结果甄别规则
│   └── interview_decider.md         # 面试决策提示词:加权公式+4级推荐+问题设计原则
│
├── data/                            # 输入数据目录
│   └── jd_llm_engineer.md           # 示例岗位描述(高级大模型算法工程师)
│
└── output/                          # 评估报告输出目录(HTML格式,自动按时间戳命名)

文件职责速查

文件

核心职责

关键依赖

main.py

命令行入口,参数解析+格式校验,流水线启动

orchestrator, document_parser

orchestrator.py

4阶段编排(串行→串行→并行→串行),JD多格式加载,HTML报告渲染

agents/*, core/*

config.py

环境变量加载,API密钥,评分阈值

os

core/llm_client.py

千帆/Ollama双后端路由,重试2次,JSON解析工具

requests, config

core/search_client.py

百度AI搜索(baidu_search_v2),批量搜索+限流

requests, config

core/mineru_parser.py

MinerU精准解析API,异步上传+轮询+ZIP提取

requests, config

core/docx_parser.py

Word文档解析,python-docx提取段落+表格文本

python-docx

core/document_parser.py

统一文档解析入口,按扩展名路由(.pdf/.docx/.md/.txt)

mineru_parser, docx_parser

agents/resume_parser_agent.py

PDF/DOCX→文本→结构化JSON(7维度)

document_parser, llm_client

agents/job_matcher_agent.py

简历+JD→6维度匹配评分

llm_client

agents/tech_evaluator_agent.py

技术深度/项目复杂度/成长轨迹评估

llm_client

agents/softskill_evaluator_agent.py

软技能评估+智能搜索词拆分+百度搜索

llm_client, search_client

agents/interview_decider_agent.py

综合加权评分+4级推荐+面试问题清单生成

llm_client

快速开始

环境准备

# 安装依赖
pip install requests python-docx

# (可选)Ollama本地运行
ollama serve
ollama pull qwen2.5:7b

运行方式

# 方式1: PDF简历 + Markdown JD
python main.py 简历.pdf data/jd_llm_engineer.md

# 方式2: Word简历 + Word JD
python main.py 简历.docx 岗位描述.docx

# 方式3: Word简历 + PDF JD
python main.py 简历.docx jd.pdf

# 方式4: 使用Ollama后端
LLM_PROVIDER=ollama python main.py 简历.pdf data/jd_llm_engineer.md

# 方式5: 无参数运行(使用data目录中的示例文件)
python main.py

支持的文件格式

  • 简历:.pdf(MinerU解析) / .docx(python-docx解析)

  • JD:.pdf / .docx / .md / .txt

配置说明

通过环境变量或修改 config.py 进行配置:

配置项

环境变量

默认值

说明

LLM后端

LLM_PROVIDERqianfanqianfan

ollama

千帆API Key

QIANFAN_API_KEY

(内置)

bce-v3格式密钥

千帆模型

QIANFAN_MODELernie-x1-turbo-32k

千帆模型名称

Ollama地址

OLLAMA_BASE_URLhttp://localhost:11434

Ollama服务地址

Ollama模型

OLLAMA_MODELqwen2.5:7b

本地模型名称

MinerU Token

MINERU_TOKEN

(内置)

MinerU API Token

搜索API Key

BAIDU_SEARCH_API_KEY

(内置)

百度AI搜索密钥

评估维度详情

岗位匹配 (权重30%)

维度

权重

说明

学历匹配

15%

学历层次与JD要求是否一致

专业匹配

10%

专业方向与岗位需求的相关性

经验年限

20%

工作年限是否达到JD要求

技能覆盖

25%

候选人技能与JD要求的重叠度

行业背景

15%

是否有同行业/同领域的工作经验

职级匹配

15%

当前职级与目标岗位的层级适配性

技术能力 (权重30%)

维度

权重

说明

技术栈深度

30%

核心技术的掌握深度

项目复杂度

25%

参与项目的规模、难度、技术挑战

技术广度

15%

技术视野是否开阔

成长轨迹

15%

技术能力随时间的成长趋势

技术影响力

15%

开源贡献、技术文章、专利等

软技能 (权重20%)

维度

权重

说明

沟通表达

25%

信息传递的清晰度、逻辑性和说服力

团队协作

25%

在团队中的合作方式和角色定位

领导力

20%

影响他人、推动事情前进的能力

抗压韧性

15%

面对困难和挑战时的应对方式

学习能力

15%

快速掌握新知识、适应新环境的能力

文化匹配 (权重20%)

维度

权重

说明

价值观契合

25%

候选人价值取向与企业文化的一致性

工作风格适配

25%

工作节奏、方式的匹配程度

团队氛围匹配

20%

与目标团队协作风格的适配性

长期稳定性

15%

候选人在目标企业长期发展的可能性

发展潜力

15%

在目标企业文化中的成长空间

面试建议等级

综合评分

建议等级

说明

85-100

★★★ 强烈推荐

高匹配度,建议尽快安排面试

70-84

★★ 推荐

较好匹配,建议正常安排面试

55-69

★ 谨慎推荐

部分维度存在短板,需重点验证

0-54

✗ 不推荐

匹配度不足,建议暂不安排面试

软技能搜索策略

软技能评估Agent会智能拆分搜索关键词,通过百度AI搜索获取候选人公开信息:

  1. 姓名 + 公司名

    :验证职业经历

  2. 姓名 + 技术领域

    :查找技术影响力(博客、开源)

  3. 姓名 + 行业活动

    :查找公开分享、演讲

  4. 姓名 + 学校

    :学术背景验证

搜索结果会与简历信息交叉验证,仅采纳能确认与候选人相关的内容。

输出报告

系统生成HTML可视化报告,包含:

  • 综合评分概览(四维雷达图)

  • 评估摘要(一句话总结 + 优势/关注点)

  • 各维度详细评分表

  • 技能分析(核心技能 + 缺失技能)

  • 面试问题清单(技术类 + 软技能类 + 文化适配类)

  • 面试建议和注意事项

报告保存在 output/ 目录下。

项目源码

详见文章顶部,绑定资源包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

twt250

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值