# smart-hiring-pipeline **Repository Path**: hacker__007/smart-hiring-pipeline ## Basic Information - **Project Name**: smart-hiring-pipeline - **Description**: No description available - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-30 - **Last Updated**: 2026-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多Agent智能招聘管道系统 > **Smart Hiring Pipeline** - 企业级5-Agent协作招聘自动化系统 > > Python (CrewAI + LangGraph) / Java (Spring AI Alibaba) / Go (Eino) 三种语言实现 > > 附完整面试指南:简历模板 + STAR法话术 + 八股文35题 + 项目问答30题 --- ## 这个项目是什么? 这是一个**企业级多Agent智能招聘管道系统**,用5个AI Agent自动完成招聘全流程: ``` 招聘需求(JD) → 搜索候选人 → 筛选简历 → 安排面试 → 生成面试题 → 通知候选人 ``` **适合谁用这个项目:** - 正在找工作,想在简历上写一个**有含金量的AI项目** - 想学习**多Agent系统**的架构设计和实现 - 想掌握 **Python / Java / Go** 三种语言实现同一系统的方法 - 想准备**AI Agent方向的面试**,需要项目经历和八股文 --- ## 目录 - [项目亮点](#项目亮点) - [系统架构](#系统架构) - [5个Agent介绍](#5个agent介绍) - [快速开始](#快速开始) - [Python版(推荐新手)](#python版推荐新手) - [Java版(企业级)](#java版企业级) - [Go版(高性能)](#go版高性能) - [Docker一键启动](#docker一键启动) - [项目结构](#项目结构) - [面试指南](#面试指南) - [技术栈](#技术栈) - [常见问题FAQ](#常见问题faq) - [参考资料](#参考资料) --- ## 项目亮点 | 特性 | 说明 | |------|------| | **5-Agent Pipeline** | 搜索/筛选/排期/面试/沟通,覆盖招聘全流程 | | **三种语言实现** | Python + Java + Go,对照学习,适配不同岗位 | | **多模型支持** | MiniMax / OpenAI / Ollama 一键切换,改配置不改代码 | | **完整面试指南** | 简历模板 + STAR法 + 八股文35题 + 项目问答30题 | | **面向小白** | 从零开始,每一步都有详细说明 | | **企业级架构** | Pipeline编排 + 状态管理 + 错误隔离 + 条件路由 | | **低成本** | 完整Pipeline一次运行 < $0.10 (Token费用) | --- ## 系统架构 ``` ┌─────────────────────────────────────────────────────────┐ │ JD 输入 │ └────────────────────────┬────────────────────────────────┘ ▼ ┌──────────┐ ┌───────────┐ ┌────────────┐ ┌──────────┐ │ Sourcing │──▶│ Screening │──▶│ Scheduling │──▶│Interview │ │ 搜索候选人│ │ 筛选评分 │ │ 面试排期 │ │ 生成面试题│ └──────────┘ └───────────┘ └────────────┘ └──────────┘ ↕ ↕ ↕ ↕ ┌──────────────────────────────────────────────────────────┐ │ Communication Agent (全程并行发送邮件) │ └──────────────────────────────────────────────────────────┘ │ ▼ ┌──────────────┐ │ 招聘决策报告 │ └──────────────┘ ``` **编排模式:** Pipeline(主流程顺序执行)+ 并行(Communication Agent贯穿全程) **条件路由:** 如果筛选阶段没有候选人通过(全部 < 60分),Pipeline自动终止,不浪费后续Token。 > 详细架构文档见 [docs/architecture.md](docs/architecture.md) --- ## 5个Agent介绍 ### 1. Sourcing Agent(简历搜索) - **做什么:** 根据JD从多渠道搜索匹配候选人 - **输入:** JobDescription - **输出:** 候选人列表(含基本信息) - **实际对接:** LinkedIn API / Boss直聘 / 拉勾(本项目用LLM模拟) ### 2. Screening Agent(简历筛选) - **做什么:** 解析简历,与JD匹配评分 - **输入:** 候选人 + JD - **输出:** 评分报告(0-100分 + 推荐意见 + 理由) - **评分权重:** 技能60% + 经验30% + 学历10% ### 3. Scheduling Agent(面试排期) - **做什么:** 协调候选人和面试官日历,安排面试 - **输入:** 通过筛选的候选人 + 面试官信息 - **输出:** 面试时间表(含会议链接) - **实际对接:** Google Calendar API(本项目支持mock和live模式) ### 4. Interview Agent(面试辅助) - **做什么:** 根据JD和候选人画像生成个性化面试题 - **输入:** 候选人画像 + JD + 筛选报告 - **输出:** 面试题包(技术题/行为题/系统设计题/编程题) - **特色:** 针对候选人弱项重点出题 ### 5. Communication Agent(沟通) - **做什么:** 全流程自动发送6类邮件 - **邮件类型:** 简历收到 / 筛选通过 / 筛选未通过 / 面试邀请 / 面试反馈 / Offer或婉拒 - **特色:** 并行运行,不阻塞主Pipeline --- ## 快速开始 ### 前置条件 你需要准备一个LLM的API Key(三选一): | 模型 | 费用 | 推荐度 | 说明 | |------|------|--------|------| | **MiniMax M2.7** | 付费(有免费额度) | 推荐 | 国内速度快,成本低 | | **OpenAI GPT-4o** | 付费 | 好 | 质量最高 | | **Ollama (本地)** | 免费 | 适合学习 | 需要本地安装,数据不出境 | --- ### Python版(推荐新手) **Step 1: 克隆项目** ```bash git clone https://github.com/bcefghj/smart-hiring-pipeline.git cd smart-hiring-pipeline/python ``` **Step 2: 创建虚拟环境** ```bash python -m venv venv # Mac/Linux: source venv/bin/activate # Windows: venv\Scripts\activate ``` **Step 3: 安装依赖** ```bash pip install -r requirements.txt ``` **Step 4: 配置API Key** ```bash # 复制示例配置 cp .env.example .env # 编辑 .env 文件,填入你的API Key # 例如使用MiniMax: # LLM_PROVIDER=minimax # LLM_BASE_URL=https://api.minimax.chat/v1 # LLM_MODEL=MiniMax-M2.7 # LLM_API_KEY=你的API Key ``` **Step 5: 运行** ```bash python main.py ``` **Step 6: 运行测试(可选)** ```bash # 不需要API Key的单元测试 pytest tests/test_models.py -v # 需要API Key的集成测试 pytest tests/test_pipeline.py -v ``` --- ### Java版(企业级) **Step 1: 克隆项目** ```bash git clone https://github.com/bcefghj/smart-hiring-pipeline.git cd smart-hiring-pipeline/java ``` **Step 2: 配置API Key** 编辑 `src/main/resources/application.yml`: ```yaml spring: ai: openai: base-url: https://api.minimax.chat/v1 # 或 https://api.openai.com/v1 api-key: 你的API Key chat: options: model: MiniMax-M2.7 # 或 gpt-4o ``` **Step 3: 编译运行** ```bash # 需要 Java 17+ 和 Maven mvn spring-boot:run ``` --- ### Go版(高性能) **Step 1: 克隆项目** ```bash git clone https://github.com/bcefghj/smart-hiring-pipeline.git cd smart-hiring-pipeline/go ``` **Step 2: 配置环境变量** ```bash export LLM_PROVIDER=minimax export LLM_BASE_URL=https://api.minimax.chat/v1 export LLM_MODEL=MiniMax-M2.7 export LLM_API_KEY=你的API Key ``` **Step 3: 运行** ```bash cd cmd/server go run main.go ``` --- ### Docker一键启动 ```bash git clone https://github.com/bcefghj/smart-hiring-pipeline.git cd smart-hiring-pipeline # 编辑 .env 文件配置API Key cp python/.env.example .env # 一键启动Python版 docker-compose up python-app # 一键启动Java版 docker-compose up java-app # 一键启动Go版 docker-compose up go-app ``` --- ## 项目结构 ``` smart-hiring-pipeline/ │ ├── README.md ← 你正在看的这个文件 ├── LICENSE ← MIT开源协议 ├── .gitignore ├── docker-compose.yml ← Docker一键启动 │ ├── docs/ ← 文档 │ ├── plan.md ← 项目计划 │ ├── architecture.md ← 架构设计详解 │ └── interview-guide/ ← 面试指南(重点!) │ ├── resume-template.md ← 简历怎么写 │ ├── star-method.md ← STAR法面试话术 │ ├── baguwen.md ← 八股文35题 │ └── project-qa.md ← 项目问答30题 │ ├── python/ ← Python版 (CrewAI + LangGraph) │ ├── README.md │ ├── requirements.txt │ ├── .env.example ← 配置模板 │ ├── main.py ← 入口文件 │ ├── src/ │ │ ├── agents/ ← 5个Agent实现 │ │ │ ├── sourcing_agent.py │ │ │ ├── screening_agent.py │ │ │ ├── scheduling_agent.py │ │ │ ├── interview_agent.py │ │ │ └── communication_agent.py │ │ ├── pipeline/ │ │ │ ├── orchestrator.py ← LangGraph编排器(核心!) │ │ │ └── state.py ← Pipeline状态定义 │ │ ├── tools/ ← 工具集 │ │ │ ├── resume_parser.py ← 简历解析(PDF/Word/OCR) │ │ │ ├── calendar_tool.py ← 日历集成 │ │ │ ├── email_tool.py ← 邮件发送 │ │ │ └── search_tool.py ← 候选人搜索 │ │ ├── models/ ← Pydantic数据模型 │ │ │ ├── candidate.py ← 候选人模型 │ │ │ ├── job_description.py ← JD模型 │ │ │ └── interview.py ← 面试相关模型 │ │ └── config/ │ │ └── llm_config.py ← 多模型配置 │ ├── tests/ ← 测试 │ └── examples/ │ └── sample_jd.json ← 示例JD │ ├── java/ ← Java版 (Spring AI Alibaba) │ ├── pom.xml │ ├── src/main/java/com/hiring/ │ │ ├── HiringApplication.java ← Spring Boot入口 │ │ ├── agent/ ← 5个Agent │ │ ├── pipeline/ ← Pipeline编排 │ │ ├── model/ ← 数据模型 │ │ └── config/ ← LLM配置 │ └── src/main/resources/ │ └── application.yml ← 配置文件 │ └── go/ ← Go版 (Eino框架) ├── go.mod ├── cmd/server/main.go ← 入口 └── internal/ ├── agent/ ← 5个Agent ├── pipeline/orchestrator.go ← Pipeline编排 ├── model/types.go ← 数据模型 └── config/config.go ← 配置 ``` --- ## 面试指南 > 这是本项目最有价值的部分!从简历到面试全覆盖。 ### 简历模板 → [docs/interview-guide/resume-template.md](docs/interview-guide/resume-template.md) 教你怎么把这个项目写进简历: - 通用写法(适用所有岗位) - Python版差异化亮点 - Java版差异化亮点 - Go版差异化亮点 - 量化指标怎么写(招聘周期缩短42%、效率提升3倍...) ### STAR法话术 → [docs/interview-guide/star-method.md](docs/interview-guide/star-method.md) 5个核心STAR故事(必背): 1. 项目整体介绍 2. 技术选型决策(为什么选LangGraph) 3. 最大技术挑战(评分一致性问题) 4. 并行Communication设计 5. 多模型切换实现 6个高频追问应对(为什么5个Agent、如何保证可靠性...) ### 八股文 → [docs/interview-guide/baguwen.md](docs/interview-guide/baguwen.md) 35道核心题目,覆盖7大方向: 1. 基础概念(Agent/Tool/Memory/Planning) 2. 框架对比(CrewAI vs LangGraph vs AutoGen) 3. 架构设计(Pipeline/DAG/状态管理) 4. Prompt工程(设计方法/Temperature/格式保证) 5. 生产化(错误处理/成本控制/监控/人工兜底) 6. 数据模型(Pydantic/状态机) 7. 系统设计(扩展性/安全性/多租户) ### 项目问答 → [docs/interview-guide/project-qa.md](docs/interview-guide/project-qa.md) 30道最常被问到的项目问题: - 架构设计类(整体架构、状态管理、Agent数量选择...) - 技术实现类(评分算法、简历解析、多模型切换...) - 性能优化类(延迟优化、瓶颈分析、streaming...) - 对比选型类(vs ChatGPT、vs传统ATS、三语言对比...) - 扩展思考类(V2改进、多行业支持、局限性...) --- ## 技术栈 ### Python版 | 技术 | 用途 | 版本 | |------|------|------| | Python | 主语言 | 3.10+ | | LangGraph | Pipeline编排 | 0.2+ | | LangChain | LLM接入 | 0.3+ | | CrewAI | Agent设计理念 | 0.80+ | | Pydantic | 数据模型 | 2.0+ | | PyPDF2 | PDF解析 | 3.0+ | | Rich | 终端美化输出 | 13.0+ | ### Java版 | 技术 | 用途 | 版本 | |------|------|------| | Java | 主语言 | 17+ | | Spring Boot | 框架 | 3.3 | | Spring AI Alibaba | Agent编排 | 1.0 | | Apache Tika | 简历解析 | 2.9 | | Lombok | 代码简化 | - | ### Go版 | 技术 | 用途 | 版本 | |------|------|------| | Go | 主语言 | 1.22+ | | Eino | Agent框架 | 0.3 | | go-openai | LLM接入 | 1.28+ | | Hertz | HTTP框架 | 0.9 | ### 通用 | 技术 | 用途 | |------|------| | MiniMax M2.7 / OpenAI / Ollama | LLM(三选一) | | Google Calendar API | 日历集成 | | SendGrid / SMTP | 邮件发送 | | Docker Compose | 容器化部署 | --- ## 常见问题FAQ ### Q: 我是纯小白,该从哪个语言版本开始? **A:** 推荐Python版。Python版代码最简洁,社区资源最多,LangGraph/CrewAI文档丰富。学完后再看Java/Go版对照学习。 ### Q: 没有API Key能运行吗? **A:** 部分功能可以。测试用例中有不需要API Key的单元测试(数据模型测试、工具测试)。完整Pipeline需要LLM API Key。推荐用Ollama本地模型(免费)。 ### Q: MiniMax的免费额度够用吗? **A:** 够。一次完整Pipeline运行大约消耗20-30次模型调用。4500次额度可以运行约150次Pipeline。 ### Q: 这个项目能真的用于生产环境吗? **A:** 项目架构是生产级的,但一些细节需要补充: - Sourcing Agent需要对接真实招聘平台API - 需要加入持久化存储(数据库) - 需要加入用户认证和权限控制 - 需要更完善的错误处理和监控 ### Q: 面试时怎么说不会被拆穿? **A:** 关键是**真正理解代码**,不要只背答案。建议: 1. 亲自运行一遍完整Pipeline 2. 修改一个Agent的Prompt,观察输出变化 3. 尝试加一个新的Agent(比如Background Check Agent) 4. 读懂每个文件的代码逻辑 ### Q: 三种语言版本有什么区别? **A:** - **Python版**:代码最完整,功能最丰富(异步/测试/CLI界面) - **Java版**:Spring生态企业级架构,适合Java岗位面试 - **Go版**:高性能设计,利用goroutine并发,适合Go岗位 三个版本的**业务逻辑和架构设计完全一致**,只是语言和框架不同。 --- ## 参考资料 ### 项目灵感来源 - [CrewAI Recruitment Example](https://github.com/crewAIInc/crewAI-examples/tree/main/crews/recruitment) - CrewAI官方招聘示例 - [HireGenAI](https://github.com/chakrikaguttameedi/hiregenai-ai-hiring-intelligence) - AI招聘智能平台 - [Talent-Acquisition-Agent](https://github.com/ahmedeltaher/Talent-Acquisition-Agent) - 自动化招聘Agent ### 框架文档 - [LangGraph 文档](https://python.langchain.com/docs/langgraph) - Pipeline编排引擎 - [CrewAI 文档](https://docs.crewai.com/) - Agent角色定义 - [Spring AI Alibaba](https://github.com/alibaba/spring-ai-alibaba) - Java Agent框架 - [Eino 文档](https://www.cloudwego.io/docs/eino/overview/) - Go Agent框架 ### 学习资源 - [Multi-Agent AI in 2026](https://dev.to/ottoaria/multi-agent-ai-in-2026-build-production-systems-with-crewai-langgraph-autogen-5e40) - 2026多Agent系统综述 - [Agentic AI面试题](https://agenticcareers.co/blog/agentic-ai-interview-questions-2026) - 2026最新面试题 - [如何在ML面试中谈多Agent系统](https://interviewnode.com/post/how-to-talk-about-multi-agent-systems-and-orchestrations-in-ml-interviews) --- ## Star / Fork 如果这个项目对你有帮助,请给一个 Star,让更多人看到! 有问题可以提 Issue,欢迎 PR 贡献! --- ## License [MIT License](LICENSE) - 随意使用,注明出处即可。