乐于分享
好东西不私藏

丹麦博士被裁后怒写AI求职系统!69份申请斩获20面试,拿下AI工程师offer,GitHub狂飙2.9万星

丹麦博士被裁后怒写AI求职系统!69份申请斩获20面试,拿下AI工程师offer,GitHub狂飙2.9万星

2025年末,一位丹麦地球物理学博士被公司裁了。 家里有年幼的孩子要养,他需要留在哥本哈根,简历投出去的方向从能源到防务到AI咨询横跨五个行业,但他没有像大多数人那样,打开招聘网站,复制粘贴,改简历改到凌晨三点。

他打开了终端,让Claude Code替自己干这件事。

六个月后,结果出来了:69份定制申请,20个首轮面试邀约,1份签约合同,他以AI工程师的身份重新上岗。而他写的这套求职系统,被开源到GitHub上之后,星标冲到了2.9万,fork接近1万。

这个故事的主角在被裁之后,靠造工具证明了自己的工程能力。

▲ GitHub仓库 MadsLorentzen/ai-job-search,约2.9万Star,口号:“The job search that runs on your machine”

他在本地搭了一整条求职流水线

这套流程远超过把JD丢进ChatGPT生成一版简历。

这位叫Mads Lorentzen的博士,搭的是一套可重复运行的求职操作系统它有明确的命令、有规则文件、有质检环节、有反馈循环,全部跑在你自己的电脑上,用的是Anthropic的Claude Code

Claude Code是一个能读写本地文件、执行命令并按指令多步推进的编码代理。你可以把它理解成一个住在终端里的、懂代码也懂语言的超级助手。

Mads把求职拆成了几个斜杠命令:

  • /setup
    :把你的简历、LinkedIn导出、推荐信、旧申请记录全部喂进去,生成一份结构化的"候选人档案",覆盖技能列表、行为风格、能量来源、动机与约束
  • /scrape
    :对多个招聘门户自动搜索,去重,按匹配度排序。
  • /apply
    :解析岗位 → 评估你和这份工作有多匹配 → 起草LaTeX简历和求职信 → 然后启动第二个AI代理来审阅第一个代理的作品 → 找出弱点 → 修订 → 编译PDF → 检查ATS文本层。
  • /interview
    :根据公司和申请材料,生成分阶段面试准备包和模拟问答。

注意最后一步的魔鬼细节:系统会用pdftotext工具把生成的PDF再解析一次,确认ATS(求职者跟踪系统)"看到"的内容和人眼看到的一致。 因为很多漂亮简历的邮箱地址会被图标字体吞掉,你以为对方收到了你的联系方式,其实解析器读到的是一堆乱码。

▲ 第三方指南将整个流程拆解为十步:从建档到ATS检查再到结果反馈,关键词是“Structured / Honest / Repeatable”

“双代理审阅”:一个AI写,另一个AI挑刺

整套系统里最被低估但最有杀伤力的设计,是双代理机制

第一个代理是"起草者",它根据你的档案和岗位要求,选择性地强调不同经历,同一段真实的地球物理项目经验,面向能源公司时强调数据建模,面向AI咨询时强调工程化落地,面向岩土公司时强调现场经验。核心原则是reframing,拒绝fabrication。 档案中缺失的技能会标记为"gap",避免硬塞一个面试时讲不出口的关键词。

第二个代理是"审阅者",它以招聘方视角启动一个独立上下文,调研目标公司、检查求职信有没有虚高表述、挑出遗漏的关键词,然后把批注扔回给起草者修改。

这不就是……一个人写初稿,另一个人红笔批改的数字版本吗?

是的但区别在于:这两个"人"可以在三分钟内完成一轮你可能要花两小时的迭代。 而且每一步的中间产物都是markdown文件,你全部看得到、改得了、存得住。

▲ 西班牙语X帖将项目介绍为"丹麦科学家给Claude编程让它替自己找工作"

自动化之后,他反而更挑剔

不少转发将这个项目理解成了"全自动海投机器人"。一手材料给出的边界截然不同

Mads在LinkedIn长文中明确写道:这套系统故意停在提交按钮之前每一份申请都是他自己点的发送。 他在X上也亲自确认过这一点

▲ 作者Mads本人发帖强调:“I sent every application myself.”69/20/1的数字来自他的真实求职

实际结果是:自动化反而让他变得更挑了。 匹配评估环节会先告诉你"你和这个岗位到底有多契合",他因此跳过了大量弱匹配的岗位。有一次,他甚至在一轮面试之后主动退出了一个不合适的流程

这与GitHub上另一个同量级的项目AIHawk形成了鲜明对照,后者的定位更接近"代理替你完成申请动作",许可证用的是更严格的AGPL-3.0。两者代表了AI求职工具谱系的两个极端:一个是"帮你决定该不该投",另一个是"替你投了再说"。

▲ AIHawk仓库星标同样约3万量级,但产品哲学偏向"自动化申请动作",与AI Job Search形成路线分野

88%的雇主承认:合格的人正在被算法筛掉

Mads在LinkedIn文章里引用了一项哈佛商学院与埃森哲联合发布的研究,他们称之为"Hidden Workers"。研究显示:约88%的受访雇主表示,合格甚至高技能的候选人,会仅仅因为不完全匹配招聘标准而被ATS直接过滤掉。

换句话说,你可能是一个完美适配的候选人,但因为简历里没写某个特定的缩写词,你的材料根本到不了人类招聘官的眼前。

"先评估匹配、再定制材料、最后检查ATS文本层",构成了一种结构性的理性应对。 当公司端已经在用算法几秒钟内过滤你的时候,你用结构化系统来决定把时间花在哪里,这叫对称博弈

另一位使用者:西班牙人用同一套逻辑当上了AI主管

几乎在同一时期,西班牙塞维利亚的Santiago Fernández de Valderrama Aparicio走了一条惊人相似的路。他用约六周时间,同样基于Claude Code,做出了另一套开源求职系统Career-Ops

系统评估了超过740个职位列表,建议申请其中66个,带来12场面试,他最终接受了Head of AI的职位。Business Insider以第一人称报道了他的故事。

▲ Business Insider报道Career-Ops:过滤700+职位,最终当上Head of AI

两个人,两个国家,同一套底层逻辑:被裁→用编码代理把求职工程化→开源→社区复用。 Santiago同样选择不对求职者收费,他说"找工作是基本需求"。

他认为,工具筛出的好岗位帮他拿到了offer;"我能造工具解决自己问题"本身也成了最好的简历。 Mads在面试中公开讨论自己用了这套系统,对方没有扣分,还由此展开了技术层面的深度对话

在AI辅助筛选和AI辅助申请互相对冲的年代,可展示的工程化作品本身就是最强信号。开源求职框架既是生产工具,也是作品集。

开源可用,安装成本依然不低

必须说一个扎心的现实:这套系统的门槛不低。

它需要Claude Code订阅或API用量(会产生真金白银的token费用),需要Python 3.10+,需要Bun,需要带lualatex的LaTeX发行版,还有可选的pdftotext。对非技术用户来说,光是装好环境就可能消耗一个下午。

X上已经有人直接点出了这一点:"拮据的求职者可能还要把钱花在token上。"

▲ 有用户质疑:对经济紧张的求职者来说,token成本本身就是额外负担

开源≠开箱即用MIT许可证降低了法律门槛,本地运行避免了数据泄露风险,但模型费用这道坎没有被消除。 Career-Ops社区用Discord互助来解决安装问题,侧面证明了这个痛点的真实性。

求职军备竞赛的下一章

回头看这十年:从Word模板,到在线简历生成器,到把JD丢进大模型,求职者和招聘系统之间的适配博弈从未停止。

AI Job Search和Career-Ops带来一种范式跳跃:把求职当成可观测、可迭代、可版本管理的工程系统。记忆沉淀在档案里,决策依据写在匹配分里,质检嵌入审阅代理和ATS检查里,结果反馈进下一轮的学习计划。

它已经接近个人求职的小型操作系统,远远超出一次性文案助手的范围。

历史上类似的军备升级也出现在SEO和反垃圾邮件领域:一端过滤,一端适配,最终谁掌握可解释的规则与反馈闭环,谁就更不容易被噪声淹没

一位丹麦博士被裁了,但他没有抱怨算法冷酷,而是用算法回敬了算法。这大概就是2026年最硬核的求职姿势。