智能体框架#代码智能体

ai-job-search:把求职申请变成可检查的流程

ai-job-search 用 Claude Code 串起岗位筛选、简历定制、独立评审和 PDF 校验;69 份申请、20 场首轮面试是作者个人案例。

项目资料

GitHub Ecosystem
仓库地址github.com/MadsLorentzen/ai-job-search
许可证
MIT
主语言
Python
星标
49,003
核查时间
2026-10-17

以上快照资料以核查当日为准,可能随版本或运营策略变化。

求职时最耗时的部分常常发生在按下“申请”之前:筛职位、对照要求改简历、检查 PDF,再准备面试。Mads Lorentzen 的 ai-job-search 是一套运行在本机的 Claude Code 求职工作流,先评估岗位匹配度,再生成材料并让另一名 agent 复核。作者在 README 中报告自己提交了 69 份定制申请、获得 20 场首轮面试,并于 2026 年 6 月签下一份 AI 工程师职位;这是一段个人经历,不是项目的成功率承诺。截至 2026-10-17,仓库有 49,003 颗星,使用 MIT 许可,主要语言为 Python。

核心功能

  • 先整理候选人资料:/setup 可读取简历、LinkedIn 导出、学历材料和过往申请,也可以导入单份简历或通过访谈建档。生成的资料文件成为申请内容的事实依据,项目要求 agent 不添加档案里不存在的技能或经历。
  • 先判断岗位是否值得申请:/scrape 从已配置的招聘网站收集职位并去重,/rank 按技能、经验、地点、薪酬、语言等条件排序;硬性条件不符的职位可以直接淘汰。这个步骤有助于把时间留给更匹配的机会。
  • 草拟与复核分开:/apply 会根据职位描述定制简历和求职信,再由新上下文中的评审 agent 检查空泛表达、缺失关键词和没有依据的主张,随后才修订材料。候选人资料里找不到的经验会作为缺口留下,不会用关键词填补。
  • 检查最终 PDF:简历用 LaTeX 编译后会检查页数、分页、字体和文字层;ATS 检查会抽取 PDF 文本,确认联系方式和职位关键词确实可读。需要 lualatex、xelatex 和 LaTeX 发行版,pypdf 是可选依赖。
  • 把申请跟进留在同一套记录里:/interview 从已经投递的材料整理面试准备,/outcome 记录面试和录用状态,/gmail-sync 读取邮件并先要求人工确认才写入追踪记录。后两个流程不会替你发送申请或跟进邮件。

典型使用场景

  • 海外技术岗求职:作者随仓库提供丹麦招聘网站的搜索工具,也包含面向多地区的 LinkedIn 与 freehire 搜索入口。其他地区可以用 /add-portal 生成招聘网站接口;使用前仍要核对网站条款。
  • 申请材料容易走样的人:若简历总在页数、换页或 ATS 文本抽取上出问题,编译和解析检查可以把这些问题放到提交之前发现。
  • 想让申请过程可追溯的工程师:个人档案、职位、不同版本的简历和结果以本地文件保存,适合愿意维护自己的 Git 工作流的人。

它依赖 Claude Code 订阅或 Anthropic API 额度,也需要 Python、Bun 和 LaTeX 环境;多轮草稿与评审会产生模型费用。仓库原生招聘网站主要面向丹麦市场,扩展其他地区通常还要适配本地招聘站点。想比较不同的编码 agent 工程配置,可以接着看 Everything Claude Code;agent-skills 则把代码开发纪律拆成独立技能。

快速上手

先克隆仓库、运行门户工具安装脚本,再在 Claude Code 中创建候选人档案:

gh repo clone MadsLorentzen/ai-job-search
cd ai-job-search
python3 tools/install_portal_clis.py
claude

进入 Claude Code 后运行 /setup,完成后用 /scrape 搜索职位、用 /rank 排序,再对选中的岗位运行 /apply <职位链接>。README 要求 Python 3.10 以上、Bun 和同时支持 lualatex / xelatex 的 LaTeX 环境;部分职位网站会拦截自动抓取,此时可粘贴职位描述。

小结

ai-job-search 适合熟悉命令行、愿意维护本地职业档案,并希望在人工决定投递前自动完成筛选和材料校验的求职者。它不会替你判断人生方向,也不会自动点击提交;岗位匹配标准、材料真实性和最终投递仍由本人负责。

隐私设置尤其要仔细处理:公开仓库的 fork 无法改成私有,/setup 写入的候选人资料又可能进入 Git 跟踪文件。项目建议个人使用时新建私有仓库,并把原仓库设为 upstream;敏感申请附件和追踪数据另有 .gitignore 规则。仓库由独立作者维护,与 Anthropic 没有官方从属关系。它采用 MIT 许可,主要代码为 Python,作者案例不代表每位使用者都能获得同样的面试或录用结果。