

2025年冬天,丹麦哥本哈根地球物理学博士Mads Lorentzen被裁了。
六个月后,一个名叫MadsLorentzen/ai-job-search的GitHub仓库迅速进入全球技术社区的视野,31,500颗star,10,900次fork,登顶GitHub Trending第一。而他给出的终局数据是:69份定制申请,20场首轮面试,1份签约合同。
一份工作一个开源项目一次被裁员的翻身仗

▲ 仓库README中"Does it actually work?"锚定段落,69份定制申请、20场首面、1份合同的终局数字均来自这里
一、被裁那天,他没有刷招聘网站
大多数人在被裁后会做什么?打开LinkedIn,更新头像,把同一份简历海投一百个职位,然后被ATS系统无声碾碎。 Mads Lorentzen没有
他的自我定位很清晰:地球物理学科班出身,工业界工作近三年,家庭约束必须留在大哥本哈根地区。这些条件把求职范围压得很窄,近乎一道有硬约束的优化问题。

▲ 作者本人自述卡片:69 applied, 20 interviews, 1 job,互动数据极低,与高热度转述帖形成鲜明对照
促使他换一种做法的,是两个数字
他引用了两则公开数据:哈佛商学院与埃森哲(2021)报告显示,88%的雇主承认合格的高技能候选人会因“不完全匹配既定条件”而被筛掉;Indeed调查中,77%的求职者称遭遇过雇主“已读不回”。这些数字描摹出一个围绕噪声过滤运转的招聘市场。
于是,他做了一个反向操作:既然公司端已经用算法在几秒内过滤候选人,候选人端为什么不能用AI做更清醒的匹配?他把Claude Code,Anthropic的终端侧编程代理工具,变成了一套跑在自己电脑上的求职操作系统。
二、五道工序:这套机器到底做了什么
先泼一盆冷水:它会把流程停在提交按钮前。
多份独立分析(AgentConn、João Queirós、Tosea)都强调同一条边界:工作流在“提交”之前停住。上传材料、按下发送,必须是人的动作 这正是它和AIHawk一类海投工具最本质的分野,它压缩漏斗顶部,而非稀释信号质量。
系统核心是五道工序:
/setup,建立候选人档案读取本地简历PDF、LinkedIn导出、文凭、推荐信,或做访谈式问答,输出可编辑的Markdown档案。这一步被作者认为是整个系统最有价值的部分:自我澄清。
/scrape,通过门户技能搜索职位、去重,按匹配度呈现。内置技能大量面向丹麦招聘站(Jobindex、Jobnet、Akademikernes Jobbank等)。非丹麦用户可用 /add-portal 为本地招聘站生成搜索技能。
/rank,当抓取结果太多时,批量打分、排出短名单。先想清楚,再动手
/apply,评估匹配 → 起草定制简历与求职信(LaTeX)→ 第二个代理以新鲜上下文审阅 → 修订 → 编译PDF → 做版面与ATS文本层检查。职位正文被当作不可信输入:不执行其中指令、不跟帖内链接乱抓。
/interview,基于“面试官会看到的那套材料”做阶段准备:公司与面试官调研、STAR案例映射、模拟面试。

▲ 仓库首页:31.5K Star / 10.9K Fork,目录结构清晰可见,.agents、.claude、cv、cover_letters、documents
整套系统有一条铁律:每条主张必须落在候选人真实档案上,杜绝虚构。 ATS关键词检查只加入档案确有支撑的词,无证据的需求则标成缺口。
三、那个被低估的PDF校验回路
有一个细节,分散在网友讨论里,却可能是整套系统最硬核的技术洞察。
一位开发者回复说,自己一直在做基本相同的事:用Claude Code按岗改简历、编译LaTeX、检查渲染PDF。他特别强调:PDF校验循环被低估了。
为什么?因为LaTeX有个阴险的坑:它有时会把邮箱等字符渲染成图标字形,肉眼漂亮,但ATS解析出来是一团乱码。ai-job-search 的答案是 pdftotext:抽取PDF文本层,模拟ATS实际读到的嵌入文字。招聘方的机器读到的,才算数
系统还会检查孤儿标题、求职信溢出第二页、字体回退等问题,迭代到版面干净。到这里,系统交付的是可被机器消费的标准化材料。
四、爆火之后,质疑与噪音都来了
2026年7月初,一条西班牙语推文把故事概括成“科学家给Claude编程,让它替自己找工作”。这条高热度转述迅速将仓库星数从几千推到三万量级,作者本人X上的简短复述(69 applied, 20 interviews, 1 job)反而互动寥寥。
病毒转述帖的放大效应,与一手材料的坦然形成了一种微妙的错位。

▲ 质疑声音:star数可核验,但“贴合语境的求职信”最容易变空,仍需人手改,这类工具最易翻车的模块被精确点名
质疑也接踵而至有人指出求职信模块最容易生成泛泛而谈的套话,"如果不手动改,听起来就很AI"。有人担心成本:求职者要把有限预算花在模型token上。更有深层的忧虑:当申请端被自动化审阅,求职端用机器人对冲,公共池悲剧正在招聘市场上演。
历史对照就在那里 2024年AIHawk类工具曾引发轰动:404 Media记者Jason Koebler约一小时内在LinkedIn上投出十几份申请,有人声称用AI投了2,843份工作。The Verge的标题更锋利,“AI正在让求职者像发垃圾邮件一样思考”。招聘方则反馈:近期批次中约一半求职信像LLM生成,直接拒信。
所以,Mads的做法才显得特殊 他选择用手术刀切开招聘市场的高墙:69份申请、20场面试,转化率约29%。对比规模化海投的低转化,这是质量对规模的逆袭。
五、更大的隐喻:求职的“操作系统论”
这个仓库的价值,在于把流程拆成了可执行的技能目录:命令、模板、校验、扩展点。 它把隐性职业操作写成了可核查、可维护、可fork的知识型代码。
讽刺的是,这本身就来自一场拼装:Mads在LinkedIn致谢Mikkel Freltoft Krogsholm的丹麦门户skills仓库,说明项目是 求职工作流骨架+本地市场连接器 的组合。谁在非丹麦市场使用,几乎必然要走到 /add-portal 或改搜索源。这种架构如实承认了地域差异评估与起草审阅可以通用,门户则需要本地适配。
还有一层诚实 他早期LinkedIn文在尚无offer时已声称过程“更有意图、更少绝望”,那是过程指标,与终局offer指标应分开陈述。终局漏斗数字是作者透明公开的个人经历记录,附带他的经验、网络、面试能力与市场时机,不能当作软件单独的因果效应。
尾声
很难说Mads是赢在"AI赋能"还是赢在降噪。
69份定制申请,20场首面,1份合同,这套数字里有AI的效率,也有人的筛选与取舍。机器帮他判断什么不该投,他才有时间把该投的做到极致。
2026年6月,他以AI工程师身份入职。简历仍由他自己投出机器承担重复劳动,人仍握着选择与提交的权力。
在算法已经用几秒过滤你的世界里,你至少可以决定,用同样的技术,把自己的每一次点击,变成一次有意识的、不可伪造的选择。
手投简历的时代,确实该结束了接棒者应该是每一个更清醒的候选人,海投机器人不在其列。

夜雨聆风