ai-job-search:把求职这件事交给 Claude Code,你只负责最后一公里的判断
如果你最近刷过 LinkedIn,大概率见过这样一条动态 ——
“Three months ago, my position was cut.”
发这条的人是 Mads Lorentzen,一位哥本哈根的地球物理博士。三个月前被裁员后,他没有继续海投简历,而是花了整整一个季度把求职这件事整个搬到了 Claude Code 上。然后把代码以 MIT 协议扔到了 GitHub。
到今天为止,他的仓库 MadsLorentzen/ai-job-search 拿下了:
- ⭐ 单日 2,514 stars—— 登顶 GitHub Trending 全语言第一
- ⭐ 5,700+ stars / 2,400+ forks
- 史上第一次被 Trendshift 评为 #1 TypeScript Repository Of The Day
- Reddit r/ClaudeAI、Instagram、Facebook、Threads 几乎全平台刷屏
一个被裁员的博士,靠一套开源 AI Agent 把” 找工作” 这件事跑成了产品。今天我们就来拆开看看,这套 drafter + reviewer 双 Agent 协作的求职流水线,到底强在哪。
项目背景:当” 找工作” 变成一门流水线生意
把这件事放回行业看,问题比想象中更荒诞。
岗位匹配本来就是 AI 最该干的事,却没人在认真做。 LinkedIn 的” 求职助手” 每天把 200 条不相关的岗位塞进你邮箱;Indeed 的” 匹配评分” 严重注水;猎头公司的顾问一天要给 30 个候选人发” 标准化模板”。求职者真正想要的是 ——
“告诉我哪些岗位我真的值得投,帮我只改一次简历就能精准命中 JD,最后输出一份能直接发出去的 PDF。”
这件事 2023 年以前的工具都做不好,因为它们都是 SaaS 黑盒:上传 JD、点按钮、出来一份” 看起来还行” 的简历,没有任何一个环节能让你审核 AI 的判断逻辑。
而 Mads Lorentzen 的解法是 —— 别给我 SaaS,把整个工作流交还给我自己。
他用 Claude Code 的 Slash Commands + Skills + Sub-agents 三件套,把求职这件事拆成了 5 个可审计的阶段:
1 | /setup /scrape /apply /upskill /add-template |
每一个阶段都是一条你看得见、审得了、改得了的命令。这种” 开源 + 本地 + 可审计” 的范式,正在重新定义 AI 求职工具的玩法。
核心功能:5 个让我直呼” 这才叫 Agent” 的细节
1. Drafter + Reviewer 双 Agent 流水线
这是整个项目最硬核的设计。生成申请不是” 一个 AI 写完就交”,而是两个 AI 互相吵架:
- Drafter Agent 拿到你的 profile + JD,生成一版 CV 和求职信
- Reviewer Agent 从” 招聘官视角” 反向审视这版输出 —— 研究公司、质疑措辞、找出伪造经历的风险
- Drafter 收到 reviewer 的批评,进行第二轮修改
- 循环直到 reviewer 满意,最终输出
这种 ** 对抗式生成(adversarial generation)** 在企业级 AI 应用里其实非常常见,但在求职场景被开源出来,等于把 LinkedIn 内部”AI 顾问” 的剧本直接送到了用户手里。
2. PDF 视觉校验循环(最容易被低估的功能)
绝大多数 LaTeX 简历模板的悲剧是:main.tex 看起来漂亮,编译出来的 PDF 一塌糊涂 ——
- 职位标题孤行跳到下一页
- 求职信溢出一行变成两页
- 列表字体默默回退成了正文字体
ai-job-search 的 /apply 命令自带 PDF 视觉校验循环:
lualatex编译 CV,必须严格 2 页xelatex编译求职信,必须严格 1 页,签名可见- 自动应用
\needspace、\enlargethispage、字体匹配包装器 - 直到布局通过校验才输出
这一步直接把 LaTeX 调版从” 玄学” 变成了” 流水线工序”。
3. 三种档案建立方式:/setup 的三条路径
很多人忽略了 /setup 命令的设计。AI 求职工具最容易翻车的点就是用户画像造假 ——AI 不知道你做过什么,于是开始编。
ai-job-search 把这件事堵得死死的,提供了三条路径:
- Path A(推荐):把
documents/文件夹扔进去 ——CV PDF、LinkedIn 导出、学位证书、推荐信、过往申请 - Path B:把一份 CV 直接贴在聊天框里导入
- Path C:和 AI 走一遍结构化面试,让 AI 一问一答地抽取你的经历
所有写入 profile 的内容必须能在源文件里找到出处。AI 从来不编造技能或经历,这一点在合规严格的行业(医疗、法律、金融)尤其关键。
4. 评分系统:6 维度打分 1.0–5.0
岗位匹配不是” 看起来合适” 就完事。ai-job-search 维护了一个 6 维度评分框架:
- 技能匹配度
- 经验相关性
- 文化契合度
- 地点 / 出勤偏好
- 职业发展方向一致性
- 风险与权衡
/scrape 命令抓完岗位后,会按这个评分给你排序好的投递清单,让你把有限的精力集中在分数 ≥ 4.0 的 JD 上。
5. /upskill 命令:把” 被拒” 变成学习路径
求职过程中最沮丧的不是没投中,而是投了 N 家都被同样的短板刷掉。
/upskill 命令做的就是这件事 —— 分析你 profile 和追踪中岗位的差距,输出:
- 优先级排序的技能差距热力图
- 通过 web search 抓来的学习资源链接
- 估算完成时间
等于把” 求职失败” 这条负面反馈闭环变成了一个自我迭代系统。
实战示例:5 分钟让 Claude Code 接管你的求职
我自己 fork 了仓库跑了一遍,下面是完整的 5 分钟上手流程。
第一步:Fork + 克隆 + 安装依赖
1 | # 1. 在 GitHub 上 fork 仓库 |
第二步:准备你的 documents/ 文件夹
把以下材料放到 documents/ 下:
1 | documents/ |
第三步:启动 Claude Code,建立 profile
1 | claude |
Claude 会问你选哪条路径。建议选 Path A(最稳),让 Claude 自己读 documents/ 抽取 profile。
第四步:抓岗位 + 打分排序
1 | > /scrape |
Claude 会调用 .agents/skills/ 下的多个 job portal CLI(LinkedIn、Jobindex、Jobnet 等),去各大招聘网站抓岗位,按 6 维度评分排序,给你一份精选清单。
第五步:对单个岗位生成完整申请
1 | > /apply https://jobindex.dk/job/1234567 |
Claude 会跑完整流水线:
- 解析 JD,提取关键要求
- 用 6 维度框架打分(假设 4.3/5.0)
- Drafter 生成 CV + 求职信(LaTeX)
- Reviewer sub-agent 从招聘官视角审查
- Drafter 修订、循环到通过
lualatex/xelatex编译出 PDF- 视觉校验 + 自动修复直到通过布局检查
- 给你一份带 verification checklist 的最终输出
整套流程完全在本地跑,没有数据上传,没有任何 SaaS 黑盒。
适用场景和限制
✅ 最适合的人
- 被裁员后正在密集求职的人:3 个月期间每周能省下 10+ 小时重复劳动
- 海投但命中率低的人:用 6 维度打分把命中率从 2% 拉到 15%
- 简历排版强迫症的人:PDF 视觉校验循环治好了 LaTeX 调版的焦虑
- 重视数据主权的人:所有 profile、JD、生成内容都在本地,没有任何云端 SaaS 参与
⚠️ 当前限制
- 岗位搜索偏丹麦市场:内置 4 个丹麦招聘网站 CLI(Jobindex、Jobnet、Jobdanmark、Akademikernes Jobbank)+ LinkedIn
- 想搜国内 / 美国 / 欧洲其他国家的岗位:需要照着
.agents/skills/jobindex-search/自己写一个 portal skill - LaTeX 是硬依赖:没有 TeX 环境的用户要先装 MiKTeX 或 TeX Live(Mac 推荐 MacTeX)
- 依赖 Claude Code CLI:必须是 Anthropic 付费用户才能跑完整
/apply流水线 - 路径 C(AI 面试建档)质量波动大:路径 A + 路径 B 更稳
🔧 进阶玩法
- 接 Ollama 跑本地 LLM:把
/apply的 reviewer 改成 Ollama 调度的 Qwen2.5-72B,零 API 成本 - 改造成简历润色工具:只跑 drafter 一轮,跳过 reviewer
- 集成到 Slack bot:每晚自动
/scrape+ 把高分岗位推到你的频道
总结
ai-job-search 让我兴奋的地方,不是它能帮你” 自动投简历”——
而是用 Claude Code 把求职这件高情绪、高重复、高失败率的事情,重构成了一条可审计、可改进、可学习的流水线。
当 LinkedIn 在用闭源 AI 给 200 条不相关岗位打分时,Mads Lorentzen 用 drafter + reviewer 双 Agent + PDF 视觉校验 + 6 维度评分 + /upskill 学习闭环,把整个求职工作流开源出来了。
它也是少数几个让我相信 “Agent + Skills + Slash Commands” 三件套真能落地生产 的项目。Claude Code 不再只是一个聊天 CLI,而是一个可以承载完整业务流的 Agent 运行时。
如果你正在找工作,或者身边有人正在求职 ——fork 它,5 分钟,让 Claude 接管你那 90% 的机械劳动。
你只需要把最后的 10%—— 判断、签发、握手 —— 留给自己。
🔗 仓库地址:github.com/MadsLorentzen/ai-job-search
📜 协议:MIT
🌟 今日 stars:2,514