Hiring Agent

4个月前发布 141 00

Hiring Agent 是一个开源的自动化评估工具,它通过将 PDF 简历解析为结构化数据,并结合 GitHub 仓库信号进行深度丰富,最终生成一份客观、可解释且注重公平性的评分报告。

所在地:
美国
收录时间:
2026-06-26
Hiring AgentHiring Agent

在传统的招聘流程中,简历筛选往往充满主观性,且难以验证候选人的实际工程能力。Hiring Agent 是一个开源的自动化评估工具,它通过将 PDF 简历解析为结构化数据,并结合 GitHub 仓库信号进行深度丰富,最终生成一份客观、可解释且注重公平性的评分报告。该工具支持完全本地化运行(通过 Ollama),确保候选人数据的隐私安全。

核心工作流:从 PDF 到多维评分

Hiring Agent 的处理流程分为五个关键步骤,旨在将非结构化的简历转化为可量化的工程能力指标:

  1. PDF 提取与标准化:
    使用 PyMuPDF 将简历 PDF 转换为类 Markdown 格式,保留标题、表格和基本格式,为后续的结构化提取奠定基础。
  2. 分段结构化解析:
    利用 Jinja 模板提示词,调用 LLM 按部分(基本信息、工作经历、教育背景、技能、项目等)提取数据,并组装成标准的 JSON Resume 格式。这种分段处理提高了提取的准确性和容错率。
  3. GitHub 信号丰富:
    这是该工具的核心亮点。它自动从简历中提取 GitHub 用户名,获取其个人资料和公开仓库。通过分类算法和 LLM 辅助,筛选出最具代表性的 7 个独特项目(设有最低提交阈值以确保贡献真实性),从而验证候选人的实际编码能力和开源参与度。
  4. 公平性约束评估:
    evaluator.py 模块运行严格的评分逻辑,内置了公平性约束以减少偏见。评分维度包括:

    • Open Source:开源贡献的质量与活跃度。
    • Self Projects:个人项目的复杂度与完整性。
    • Production:生产环境相关的经验与技能。
    • Technical Skills:技术栈的深度与广度。
    • 加分/扣分项:基于具体证据的量化调整。
  5. 输出与缓存:
    生成包含分数、详细证据及解释的可读报告。在开发模式下,所有中间 JSON 数据和最终评分会导出为 CSV 文件,便于批量处理与回溯分析。

技术架构与隐私保护

  • 本地优先:默认支持通过 Ollama 运行本地模型(如 Gemma 3 系列),确保敏感的简历数据不会上传至第三方云端 API。
  • 灵活后端:同时也支持 Google Gemini API,用户可根据性能需求和本地硬件条件自由选择。
  • 模块化设计:基于 Pydantic 模式定义数据结构,通过 llm_utils.py 统一不同 LLM 提供者的接口,易于扩展和维护。

快速开始

1. 环境准备

git clone https://github.com/interviewstreet/hiring-agent
cd hiring-agent
python -m venv .venv
source .venv/bin/activate  # Linux/macOS
pip install -r requirements.txt

2. 配置 LLM

  • 本地模式 (Ollama):
    ollama pull gemma3:4b  # 或根据显存选择 1b/12b
    
  • 云端模式 (Gemini):
    获取 API Key 并在 .env 文件中配置。

3. 设置环境变量

cp .env.example .env
# 编辑 .env,设置 LLM_PROVIDER, DEFAULT_MODEL 等

4. 运行评估

python score.py /path/to/candidate_resume.pdf

适用场景

  • 技术团队招聘:快速筛选大量工程师简历,通过 GitHub 真实代码贡献验证技术实力。
  • 开源社区招募:客观评估贡献者的项目质量与技术匹配度。
  • 公平招聘实践:通过标准化的评分维度和证据链,减少人为偏见,提升招聘过程的透明度。

Hiring Agent 不仅是一个简历解析器,更是一个连接“纸面经历”与“实际代码”的桥梁。它让招聘决策建立在可验证的工程信号之上,为构建高效、公平的技术团队提供了有力的工具支持。

相关导航