找工作麻煩的地方通常不是「不會投履歷」,而是流程太碎:職缺分散在不同網站,履歷要依照職缺調整,求職信要重寫,投完還要記錄結果。時間一長,就會變成一堆分頁、幾個版本的 PDF 和沒人維護的表格。
MadsLorentzen/ai-job-search 的做法是把這些動作放進 Claude Code。它會先建立個人求職檔案,再搜尋職缺、打分排序、生成客製 CV 和 Cover Letter,最後把申請結果記錄回系統。它更像一套求職工作流模板,不是一鍵海投工具。
它解決什麼問題
ai-job-search 主要處理四件事:
- 把你的經歷、技能、教育背景和寫作風格整理成結構化資料;
- 批量搜尋職缺,並按匹配度篩出值得投的機會;
- 針對單一職缺生成更貼合的 CV 和求職信;
- 投遞後記錄結果,用真實回饋校準下一輪申請。
這個設計很務實。它沒有承諾自動幫你拿 offer,而是把求職中重複、容易漏、容易亂的部分交給 AI 輔助。
核心流程
核心命令是 /setup、/scrape、/rank 和 /apply。
1. /setup:建立你的求職檔案
第一次使用時,在 Claude Code 裡執行:
|
|
它可以讀取 documents/ 裡的 CV、LinkedIn 匯出、學歷證明、推薦信和過往申請,也可以匯入貼上的 CV,或透過問答逐步建立檔案。這一步越真實、越完整,後面的評分和文案就越有用。
2. /scrape:搜尋職缺
檔案準備好後:
|
|
專案自帶的搜尋工具偏向丹麥市場,例如 Jobindex、Jobnet、Akademikernes Jobbank 等。LinkedIn public job listings 則更通用。如果不在丹麥,可以參考它的結構替換成本地招聘網站,或直接把職缺描述貼給 /apply。
3. /rank:先排優先順序
搜尋結果太多時,先執行:
|
|
它會根據技能、經驗、文化、地點和職涯方向等維度給職缺打分。很多申請失敗不是履歷太差,而是把力氣花在明顯不匹配的職缺上。
4. /apply:生成 CV 和求職信
選定職缺後:
|
|
如果網址抓不到,也可以貼完整職缺描述:
|
|
/apply 會解析職缺、評估匹配度、生成客製 CV 和 Cover Letter、呼叫 reviewer agent 審查、修訂、編譯 LaTeX PDF、檢查 ATS 可讀性,最後輸出材料和檢查清單。
ATS 檢查為什麼重要
很多 PDF 看起來漂亮,但 ATS 解析時可能讀不到正確文字。圖示字型、多欄排版、特殊符號和 LaTeX 輸出都可能讓信箱、電話或技能關鍵字變亂。
ai-job-search 可以用 pdftotext 檢查 PDF 文字層,確認聯絡方式、閱讀順序和職缺關鍵字覆蓋。README 也明確要求:不支援的技能要保留為差距,不能硬塞進履歷。
其他命令
/outcome:記錄面試、offer、拒信或無回覆;/expand:從 GitHub、作品集、Kaggle、Google Scholar 等公開資料補充能力;/upskill:把職缺差距整理成學習計畫;/add-template:註冊自己的 LaTeX CV 或求職信模板;/add-portal:為本地招聘網站建立搜尋技能;/reset:清理資料,重新開始。
安裝和依賴
專案需要 Claude Code CLI、Python 3.10+、Bun、LaTeX 發行版,以及可選的 pdftotext。
|
|
接著安裝各個職缺搜尋工具依賴,再進入 Claude Code 執行 /setup。
這套依賴對非技術使用者不算輕。它比較適合已經會用命令列、願意配置 Claude Code 和 LaTeX 的人。
適合誰
它適合正在密集求職、需要定制履歷和求職信、已經在用 Claude Code、重視 PDF 品質,並且想長期記錄申請結果的人。
不太適合只投一兩個職缺、不想碰命令列、期待一鍵海投,或不願意整理真實經歷的人。
總結
ai-job-search 的價值不在於「讓 AI 替你找工作」,而在於把求職流程拆成可重複的步驟:建檔、找職缺、排優先級、定制材料、檢查 PDF、記錄結果、復盤回饋。
如果你已經會用 Claude Code,並且正在認真求職,它是一個很值得參考的開源框架。
參考來源: