基于 LangGraph 的多智能体求职助手项目实战
基于 LangGraph 的多智能体求职助手项目实战:职位搜索、简历解析、求职信生成一体化
最近基于一个开源多智能体项目,我做了进一步优化,完成了一个 基于 LangGraph 的多智能体求职助手系统。这个项目主要面向真实求职场景,围绕 职位搜索、简历解析、求职信生成、公司调研和问答辅助 等常见需求,构建了一套可交互、可扩展的多智能体协作流程。
项目地址:
GitHub - connwang7/JobAgent-MultiAgent
这篇文章主要想分享三个方面:
- 为什么我会做这样一个项目
- 这个多智能体系统是如何设计的
- 项目目前实现了哪些功能,以及适合哪些同学参考学习
一、项目背景
在真实求职过程中,很多任务其实都比较碎片化。比如要去不同平台搜岗位,要判断岗位描述和自身经历是否匹配,要反复修改简历和求职信,还要额外查公司背景、业务方向和行业情况。整个流程不仅耗时,而且重复劳动很多。README 中也明确总结了几个典型痛点,包括招聘平台碎片化、岗位文本非结构化、求职材料同质化,以及岗位筛选和公司调研带来的高决策成本。
因此,我希望尝试用 LangGraph + Multi-Agent 的方式,把这些原本分散的任务组织成一个协同系统。相比单一 Agent,多智能体架构更适合这类任务边界清晰、工具依赖明显、流程可拆分的应用场景。比如:
- 一个 Agent 负责简历解析
- 一个 Agent 负责职位搜索
- 一个 Agent 负责求职信生成
- 一个 Agent 负责公司信息调研
- 再由一个 Supervisor 进行统一调度
这样做的好处在于,系统的职责划分更清晰,后续扩展新工具和新任务也更方便。

二、项目简介
JobAgent-MultiAgent 是一个基于 LangGraph 和 Supervisor + Multi-Agent 架构实现的智能求职助手系统。它通过中央调度器协调多个专业 Agent,帮助用户完成从简历分析、岗位搜索到求职信生成、企业调研的一站式求职辅助流程。README 中提到,该项目参考了 JobPilot-Multi-agent,并在此基础上结合实际需求进行了重新整理和优化。

三、核心功能
从功能设计上看,这个项目主要覆盖了求职过程中的几个高频环节。README 中给出的核心模块包括以下内容。

1. 智能职位搜索
支持按照行业、技能、地域、工作类型等条件进行搜索和筛选,帮助用户快速找到更匹配的岗位。这个模块的重点不是简单返回搜索结果,而是尽量提升检索效率和岗位匹配精度。
2. 简历智能解析
支持对上传的 PDF 简历进行解析,自动提取技能、项目经历、教育背景、工作经验等信息,为后续岗位推荐和求职信生成提供结构化输入。
3. 求职信生成
基于岗位 JD 和用户简历内容,生成更具有针对性的求职信,而不是通用模板式输出。这个功能比较适合快速准备投递材料。
4. 公司与行业调研
通过搜索与网页抓取能力,对公司背景、业务方向、行业信息进行整理,辅助用户判断岗位价值和公司匹配度。
5. 多轮对话问答
系统支持上下文理解和连续追问,用户可以围绕某个岗位、某份简历或者某个公司继续展开交流,而不需要每次都从头输入完整信息。
6. 可扩展工具层
项目本身采用模块化设计,后续可以继续接入新的数据源、新的智能体或新的工具模块,这一点对于学习 Agent 系统设计特别有参考价值。
四、系统架构设计
这个项目的核心设计是 Supervisor + Multi-Agent。也就是说,系统不是让一个大而全的 Agent 做所有事情,而是让不同 Agent 负责不同子任务,再由 Supervisor 统一编排。README 中已经给出了较清晰的架构说明。
整体流程可以概括为:
- 前端通过 Streamlit 提供上传、对话和结果展示界面
- 用户输入请求后,Supervisor 先进行意图识别
- 然后根据任务类型把请求分发给不同 Agent
- 各 Agent 调用对应工具完成任务
- 最终将处理结果返回给前端展示
1. Supervisor
Supervisor 负责整个系统的“调度中枢”功能,主要承担三件事:
- 意图识别
- 任务分配
- 流程编排
例如用户输入“分析我的简历并推荐合适岗位”,这其实是一个复合任务。Supervisor 会先判断这不是单步请求,然后先调用简历分析 Agent,再根据解析结果调用岗位搜索 Agent。
2. ResumeAnalyzer
这个 Agent 主要负责简历内容的提取和分析,把非结构化的简历文档转成更适合模型理解和后续处理的结构化信息。
3. JobSearcher
这个 Agent 根据用户给出的技能、岗位方向、城市等信息,执行岗位搜索和筛选。
4. CoverLetterGenerator
这个 Agent 用于生成个性化求职信,并支持导出 Word 文档。
5. WebResearcher
这个 Agent 主要负责在线信息检索和整理,比如公司调研、行业资料收集等。
6. ChatBot
这个 Agent 处理一般性的问答与求职咨询,比如岗位选择建议、简历优化方向等。
五、技术栈说明
这个项目用到的技术栈整体比较典型,也很适合作为一个 LangGraph 多智能体实践项目来学习。README 中列出的主要技术包括以下几类。
1. 核心框架
- LangGraph:多智能体工作流编排
- LangChain:LLM 应用开发基础框架
- Streamlit:快速搭建 Web 交互界面
2. 模型支持
- Qwen
- OpenAI GPT
- DeepSeek
项目中通过统一的 LLM 抽象层对不同模型进行了兼容,这样在切换模型提供商时,不需要改动业务逻辑代码。README 中专门给出了通义千问、OpenAI、DeepSeek 等模型的配置示例。
3. 外部服务
- Serper API:用于网络搜索
- FireCrawl API:用于网页内容抓取
4. 数据处理与文档生成
- PyPDF / PyMuPDF:PDF 简历解析
- python-docx:求职信导出
- Pydantic:数据验证与模型定义
六、为什么选择 LangGraph 做这个项目
从这个项目的需求类型来看,LangGraph 很适合做这类多步骤、多角色协作的系统。
1. 适合复杂流程编排
求职辅助并不是一个单任务系统。一次请求可能会涉及简历读取、意图判断、岗位搜索、信息整合、文案生成等多个步骤。LangGraph 在这类需要显式工作流管理的任务中更有优势。
2. 适合多 Agent 分工
如果所有事情都让一个 Agent 完成,提示词会越来越复杂,工具调用逻辑也会变得混乱。而多 Agent 分工后,每个 Agent 的职责边界更清晰,后续调试和扩展也更方便。
3. 更利于后期扩展
未来如果要新增“面试问答模拟”“岗位打分排序”“简历优化建议”等能力,可以继续在现有图结构上扩展,而不需要推翻整体架构重来。
七、项目使用方式
根据 README 的说明,项目的基础使用流程大致如下。
1. 克隆项目
git clone https://github.com/yourusername/JobAgent-MultiAgent.git
cd JobAgent-MultiAgent
如果你是直接使用作者仓库,可以替换为你自己的仓库地址。
2. 安装依赖
pip install -r requirements.txt
3. 配置环境变量
项目支持在 .env 或 .streamlit/secrets.toml 中配置模型 API、搜索服务和网页抓取服务。README 中已经给出了完整示例。
4. 启动应用
streamlit run app.py
启动后即可通过浏览器访问本地 Web 界面,进行简历上传、岗位搜索、求职信生成等操作。
八、几个典型使用场景
README 中给出了几个很典型的使用示例,这里我简单总结一下。
场景一:简历分析
用户上传简历后,可以让系统自动总结当前简历的技能、经历和优势点,帮助快速了解自己在岗位匹配中的核心卖点。
场景二:岗位搜索
例如输入“搜索北京的机器学习工程师岗位”,系统会返回职位名称、公司、地点和申请链接等信息。
场景三:求职信生成
用户可以指定目标公司和岗位,让系统根据简历内容自动生成一份更贴合 JD 的求职信。
场景四:复合任务
例如“分析我的简历并推荐合适岗位”,系统会自动按步骤执行,不需要用户手动拆分流程。
九、项目亮点总结
结合 README 内容,我觉得这个项目比较值得参考的地方主要有以下几点。
1. 多智能体协同而不是单 Agent 堆功能
这是项目最重要的设计特点。它更强调任务分工、流程编排和模块协作,而不是简单把多个工具塞进一个 Agent。
2. 统一模型抽象,便于切换不同大模型
项目对 Qwen、OpenAI、DeepSeek 等模型做了兼容设计,这对于本地实验和后期替换模型都非常方便。
3. 模块化结构清晰
从文件组织来看,项目把 Agent、Chain、Tool、Prompt、Schema、Utils 等模块拆分得比较清楚,代码可读性和可维护性都比较好。
4. 覆盖了真实求职过程中的高频需求
这个项目不是只做某一个点,而是尽量把求职流程中最常见的几个需求串联起来,因此更接近真实应用场景。
十、后续可以继续优化的方向
虽然这个项目已经具备比较完整的基础流程,但从实践角度看,后续还可以继续扩展很多内容,比如:
- 增加岗位匹配评分机制
- 支持多份简历版本管理
- 针对不同岗位自动生成差异化简历
- 增加面试题生成与模拟问答
- 增加投递记录跟踪与管理
- 接入更多招聘平台或信息源
如果后续继续迭代,这个项目完全可以从“学习型 Demo”进一步发展成一个更完整的求职辅助工具。
十一、结语
整体来看,这个 基于 LangGraph 的多智能体求职助手项目,很适合作为以下几类同学的参考案例:
- 想学习 LangGraph 多智能体工作流设计的人
- 想做 LLM 应用落地项目的人
- 想把 Agent 与实际业务场景结合起来的人
- 想做求职辅助、信息检索、文档生成类项目的人
如果你最近也在学习 Agent、LangGraph 或者正在做类似方向的应用,可以看看这个项目的实现方式。
更多推荐


所有评论(0)