AI Job Hunter — AI辅助求职全流程工作流
⚡ 首次使用必读(环境依赖)
Agent执行前必须先检查以下依赖,缺失时提醒用户安装。
基础依赖(猎聘/智联/社交平台/搜索引擎 抓取必需)
# macOS / Linux
pip3 install requests beautifulsoup4
# Windows
pip install requests beautifulsoup4
BOSS直聘依赖(可选,仅抓取BOSS时需要)
# macOS / Linux
pip3 install undetected-chromedriver selenium
# Windows
pip install undetected-chromedriver selenium
还需安装 Chrome浏览器(BOSS抓取依赖Chrome)。
一键环境检查
# macOS / Linux
python3 scripts/check-env.py
# Windows
python scripts/check-env.py
此脚本会自动检查所有依赖,缺失的提示安装。
概述
本skill提供一套结构化的AI辅助求职方法论,将求职从"盲目投递"转变为"目标驱动的自我调节过程"。核心原则:先理解人,再搜索岗位;策略质量 > 活动数量。
方法论基于5个学术框架:
- 自我调节求职理论(Kanfer):策略质量比投递数量更重要,组合策略成功率75-85%
- 花图法(Bolles《你的降落伞是什么颜色》):7维度自我分析
- 冰山模型(McClelland):显性素质+隐性素质分层匹配
- 奥德赛计划(斯坦福 Burnett & Evans):3个5年版本设计+原型对话验证
- 招聘漏斗:投递→筛选→面试→offer转化率追踪
6步闭环流程
Step 0 自我认知 → Step 1 岗位搜索 → Step 2 智能初筛 → Step 3 深度整理 → Step 4 智能建议 → Step 5 投递执行 → Step 6 反馈迭代 → (回到Step 0)
Step 0:自我认知(一切真正的起点)
关键原则:先理解人,再搜索岗位。盲搜 = 浪费时间。
0.1 收集用户信息
向用户收集以下信息(可分批询问,不要一次问太多):
- 简历文件:让用户提供PDF/Word简历
- 核心需求:想做什么方向?不想做什么?为什么?
- 硬性条件:城市、薪资底线、通勤上限、住址区域
- 工作价值观:什么最重要?(稳定/成长/高薪/意义感/自由度)
0.2 花图法7维度分析
基于收集的信息,完成以下7维度画像:
| 花瓣 | 维度 | 分析要点 | |------|------|---------| | 花蕊 | 可迁移技能 | 从简历提取核心可迁移技能(课程设计/培训讲授/项目管理等),按权重排序 | | 花瓣1 | 领域 | 想在什么领域工作?优先→可接受→备选 | | 花瓣2 | 工作条件 | 薪资/工作时间/福利/责任层级/是否一线 | | 花瓣3 | 人 | 喜欢和什么人共事?独立/团队/跨部门? | | 花瓣4 | 环境 | 办公室/远程/出差?城市/区域偏好? | | 花瓣5 | 价值观 | 什么最重要?成长/稳定/高薪/意义感/自由度? | | 花瓣6 | 地理 | 具体城市和区域偏好 | | 花瓣7 | 使命 | 想解决什么问题?3-5年后想成为什么样的人? |
0.3 冰山模型深层分析
水面以上(简历能展示的):
知识 + 技能 → 搜索关键词映射
水面以下(简历展示不了的):
能力(可培养)→ 面试考察
价值观(需匹配)→ 公司选择
特质(较稳定)→ 岗位适配
动机(最核心)→ 长期满意度
关键:识别用户表面需求背后的深层动机。例如"不想一线上课"可能不只是工作偏好,而是"从执行者→赋能者"的动机转变。
0.4 奥德赛计划
帮用户设计3个不同的5年版本:
| 版本 | 设定 | 思考方式 | |------|------|---------| | V1 | 当前路径的延伸 | 继续当前行业,升级角色 | | V2 | 如果V1的行业消失了 | 用可迁移技能进入新领域 | | V3 | 不受任何约束 | 真正想做的事 |
每个版本评估3个维度(1-10分):🟢资源匹配度、🔵信心水平、🟡价值观一致性
0.5 输出:个人画像
将完整画像写入workspace的 MEMORY.md,包含:
- 花蕊可迁移技能 + 搜索词映射
- 花瓣7维度偏好
- 冰山深层动机和价值观
- 奥德赛3版本
- 硬性需求清单
- 简历短板识别
Step 1:岗位搜索(多渠道组合策略)
核心数据:组合策略成功率75-85% > 单一策略45-60%。
1.1 三大渠道
| 渠道 | 覆盖 | AI能做的 | 需要用户做的 | |------|------|---------|-------------| | A:招聘平台 | 20-30% | 自动抓取猎聘/BOSS/智联 | BOSS首次登录 | | B:社交平台 | 20-30% | 抓取小红书/知乎/脉脉招聘信息 | 无 | | C:搜索引擎 | 10-20% | web_search搜索事业单位/编制/人才引进 | 无 |
1.2 搜索关键词生成
从花蕊技能 × 花瓣1领域 × 花瓣2工作条件 × 花瓣6地理 自动生成:
规则:可迁移技能 × 目标领域 × 岗位类型 × 城市限定
示例:
课程设计 × 教育行业 × 督导/研发 × 北京 → "教学督导 北京" "课程研发 北京"
培训讲授 × 医疗康复 × 培训师 × 北京 → "康复培训师 北京" "康复培训 北京"
排除词:基于花瓣2工作条件自动生成(如"不想一线上课"→排除"治疗师""训练师",除非含"督导""主管")
1.3 平台抓取技术
渠道A:招聘平台
| 平台 | 方式 | 可获取 | 不可获取 | 脚本 |
|------|------|--------|---------|------|
| 猎聘 | web_fetch 或脚本直接抓 | 职位/公司/薪资/地区/经验/学历 | 部分职位描述 | scripts/scrape-liepin-zhaopin.py --platform liepin |
| BOSS直聘 | headed+API+cookie | 职位/公司/地区/经验/学历/技能/规模/行业/福利 | 薪资(服务端隐藏)/职位描述 | scripts/scrape-boss.py |
| 智联招聘 | web_fetch 或脚本直接抓 | 职位/公司/薪资/地区/经验/学历 | 部分职位描述 | scripts/scrape-liepin-zhaopin.py --platform zhaopin |
渠道B:社交平台
| 平台 | 方式 | 可获取 | 不可获取 | 脚本 |
|------|------|--------|---------|------|
| 小红书 | web_search 或脚本 | 招聘帖摘要/公司评价/薪资分享 | 帖子正文 | scripts/scrape-social.py --platform xiaohongshu |
| 知乎 | web_search 或脚本 | 行业招聘汇总/公司评价/职业经验 | 专栏正文 | scripts/scrape-social.py --platform zhihu |
| 脉脉 | web_search 或脚本 | 公司评价摘要/薪资爆料 | 完整评价 | scripts/scrape-social.py --platform maimai |
渠道C:搜索引擎(事业单位/编制/特殊渠道)
| 搜索方向 | 搜索词模板 | 脚本 |
|---------|-----------|------|
| 事业单位/编制 | "{城市} 事业单位 招聘 {专业}" | scripts/scrape-social.py --platform gov |
| 教育系统直招 | "{城市} 教委 特殊教育 招聘" | scripts/scrape-social.py --platform gov |
| 人才引进 | "{城市} 人才引进 {学历/专业}" | scripts/scrape-social.py --platform talent |
| 高校人才网 | "{专业方向}" | scripts/scrape-social.py --platform gaoxiao |
1.4 抓取脚本使用指南
所有脚本位于 scripts/ 目录,跨平台兼容(macOS / Windows / Linux)。
1.4.1 环境检查(首次必做)
# macOS / Linux
python3 scripts/check-env.py
# Windows
python scripts/check-env.py
Agent应在首次使用skill时自动运行此脚本,检查依赖是否齐全。
1.4.2 猎聘/智联抓取(无需登录)
# 猎聘
python3 scripts/scrape-liepin-zhaopin.py --platform liepin --keyword "教学督导" --city "北京"
# 智联
python3 scripts/scrape-liepin-zhaopin.py --platform zhaopin --keyword "课程研发" --city "北京"
# 指定页数
python3 scripts/scrape-liepin-zhaopin.py --platform liepin --keyword "感统教研" --city "北京" --pages 3
# 指定输出文件
python3 scripts/scrape-liepin-zhaopin.py --platform liepin --keyword "教学主管" --city "北京" --output jobs.json
1.4.3 BOSS直聘抓取(需首次登录)
# 首次登录(弹出浏览器,手动登录后cookie自动保存)
python3 scripts/scrape-boss.py --login
# 后续抓取(使用已保存cookie,窗口移出屏幕不打扰)
python3 scripts/scrape-boss.py --keyword "教学督导" --city "北京"
# 指定页数
python3 scripts/scrape-boss.py --keyword "感统教研" --city "北京" --pages 3
BOSS抓取注意事项:
- 薪资字段被服务端隐藏,API返回为空——用猎聘同岗位薪资参考
- Cookie可能过期(通常1-7天),过期需重新
--login - Windows用户确保Chrome已安装且为默认浏览器
- 首次
--login需要用户在场手动操作
1.4.4 社交平台+搜索引擎抓取
# 小红书搜索
python3 scripts/scrape-social.py --platform xiaohongshu --keyword "特教 招聘 北京"
# 知乎搜索
python3 scripts/scrape-social.py --platform zhihu --keyword "儿童康复 招聘"
# 脉脉搜索(公司评价/薪资)
python3 scripts/scrape-social.py --platform maimai --keyword "XX公司 薪资"
# 事业单位/编制搜索
python3 scripts/scrape-social.py --platform gov --keyword "特殊教育 事业单位 北京"
# 人才引进搜索
python3 scripts/scrape-social.py --platform talent --keyword "北京 人才引进 心理学"
# 高校人才网直接抓取
python3 scripts/scrape-social.py --platform gaoxiao --keyword "特殊教育"
1.5 替代方案:用Agent内置工具抓取
如果不想运行脚本,Agent也可以直接使用内置工具抓取:
| 工具 | 适用平台 | 方式 |
|------|---------|------|
| web_fetch | 猎聘/智联/高校人才网 | 直接抓取HTML,Agent解析 |
| web_search | 所有平台 | 搜索引擎索引,获取摘要 |
| execute_command + 脚本 | 所有平台 | 运行本目录的Python脚本 |
推荐优先级:
- 先用
web_fetch直接抓猎聘/智联(最简单) - BOSS用
execute_command运行脚本(需要cookie) - 社交平台/事业单位用
web_search或脚本均可
1.6 去重合并
| 规则 | 处理 | |------|------| | 同公司+同岗位名 | 合并为一条,标记多平台来源 | | 同公司+不同岗位名 | 保留为独立条目 | | 不同公司+同岗位名 | 保留为独立条目 |
1.7 输出格式
每条岗位标准化为JSON:
{
"id": "平台缩写+序号",
"title": "岗位名称",
"company": "公司名称",
"salary": "薪资范围(可能为空)",
"location": "地区",
"experience": "经验要求",
"education": "学历要求",
"source": "来源平台",
"source_url": "原始链接",
"skills": ["技能标签"],
"company_size": "公司规模",
"industry": "行业",
"benefits": "福利",
"job_desc": "职位描述(可能为空)",
"crawl_time": "抓取时间"
}
Step 2:智能初筛(三层过滤 + 量化评分)
2.1 第一层:硬性排除(直接淘汰)
违反以下任一条件的岗位直接排除:
- 违反花瓣2工作条件(一线上课/薪资过低/城市不符等)
- 违反花瓣7使命(完全无关行业)
- 硬性不符(学历/经验差距过大)
2.2 第二层:需求匹配评分(0-100分)
| 维度 | 分值 | 评分依据 | |------|------|---------| | 花蕊技能匹配 | 30分 | 核心可迁移技能 vs 岗位JD关键词 | | 花瓣1领域匹配 | 20分 | 目标领域 > 相关领域 > 可迁移领域 > 无关领域 | | 非一线程度 | 20分 | 纯管理/研发/培训=20,管理+少量一线=13,主要一线+少量管理=7,纯一线=0 | | 薪资匹配 | 15分 | 下限≥期望=15,70%-100%=10,未知=7,<70%=3 | | 短板可接受度 | 15分 | 无硬性认证=15,优先有=10,必须有=3,无法短期获取=0 |
2.3 匹配度等级
| 等级 | 分数 | 标记 | 行动 | |------|------|------|------| | S级 | 80-100 | 🏆 | 立刻投递,优先准备 | | A级 | 60-79 | ⭐ | 本周投递 | | B级 | 40-59 | 📋 | 备选,有空再投 | | C级 | 20-39 | ⚠️ | 仅在无更好选择时 | | D级 | 0-19 | 🚫 | 排除 |
2.4 第三层:人工复核
AI给出评分 + 理由,用户最终决定是否保留。
Step 3:深度整理 + 多维排序
3.1 岗位信息卡片
每个S/A级岗位生成信息卡片,包含:
┌─────────────────────────────────────────────────┐
│ 🏆 S级 | {岗位名} | {公司名} │
├─────────────────────────────────────────────────┤
│ 💰 薪资:{薪资} 📍 地区:{地区} │
│ 📋 经验:{经验} 🎓 学历:{学历} │
│ 🏢 规模:{规模} 🏭 行业:{行业} │
│ 🔗 来源:{平台} │
├─────────────────────────────────────────────────┤
│ 花蕊匹配:{技能1}✅✅✅ {技能2}✅✅ {技能3}✅ │
│ 花瓣1匹配:{领域} → {分数}/20 │
│ 非一线程度:⭐⭐⭐⭐⭐({描述}) │
│ 冰山分析: │
│ ✅✅✅ 价值观匹配:{分析} │
│ ✅✅ 特质匹配:{分析} │
│ ⚠️ 动机匹配:{风险点} │
├─────────────────────────────────────────────────┤
│ 短板风险:{分析} │
│ 社交渠道:{小红书/知乎/脉脉是否有相关信息} │
└─────────────────────────────────────────────────┘
3.2 多维排序维度
| 维度 | 来源 | 默认权重 | |------|------|---------| | 匹配度 | Step 2评分 | 最高 | | 薪资 | 抓取数据 | 高 | | 非一线程度 | 岗位分析 | 高 | | 价值观匹配 | 冰山分析 | 中 | | 通勤距离 | 地图API(如可接入) | 中 | | 公司规模 | 抓取数据/天眼查 | 中 | | 休息日 | 岗位详情 | 中 | | 公司评价 | 看准网/脉脉(如可接入) | 低 |
3.3 缺失信息标记
对每个缺失字段明确标注,并说明补全方式:
- 薪资缺失 → 用猎聘同岗位参考
- 职位描述缺失 → 提醒用户在APP中查看
- 休息日缺失 → 标注"需确认"
- 公司评价缺失 → 标注"待查"
Step 4:智能建议(花图+冰山驱动)
4.1 每个S/A级岗位的深度建议
包含以下5个模块:
1. 花蕊技能展示策略(简历/面试重点突出什么)
- 将用户的可迁移技能映射到岗位JD关键词
- 给出每个技能的具体展示话术
2. 冰山之下怎么说(面试中展现隐性素质)
- 价值观 → 用故事展现(不是直接说"我重视成长")
- 特质 → 用具体行为证明
- 动机 → 解释转型原因和长期愿景
3. 短板应对策略
- 每个短板给2-3种回应角度
- 强调经验/学习能力/替代优势
4. 定制开场文字
- 针对具体岗位生成30-50字的开场白
- 包含:姓名+核心优势+对岗位的具体兴趣点
5. 简历调整建议
- 推荐使用哪个简历版本
- 需要调整的标题/重点/数据
- ATS关键词优化(从JD中提取)
4.2 简历3版本策略(对应奥德赛计划)
| 版本 | 对应奥德赛 | 标题方向 | 重点 | |------|-----------|---------|------| | V1版 | 当前路径延伸 | 行业内的升级角色 | 管理+培训+研发 | | V2版 | 跨领域转型 | 可迁移技能导向 | 技能通用性+学习力 | | V3版 | 自由/创业 | 个人品牌导向 | 项目经验+影响力 |
4.3 ATS优化要点
- 从目标岗位JD中提取关键词,确保简历中包含
- 用简单格式,避免表格/图片/特殊字体
- 最相关经验放在最前面
- 每条经验都有量化数字
Step 5:投递执行
5.1 投递材料生成
为每个S/A级岗位生成:
- 定制开场文字(30-50字)
- 推荐简历版本
- 如需调整简历,给出具体修改建议
5.2 投递方式
| 方式 | 推荐 | 说明 | |------|------|------| | 平台手动投递 | ✅ 推荐 | AI生成开场文字,用户粘贴投递 | | 内推 | ✅ 最佳 | 需要用户主动联系内部人 | | 邮件投递 | ✅ 可行 | 公司留了邮箱时可用 | | AI自动投递 | ⚠️ 不推荐 | 平台风控可能封号 |
推荐方式:AI生成定制材料,用户手动投递。
5.3 投递节奏
| 周次 | 投递量 | 重点 | |------|--------|------| | 第1周 | 3-5个 | S级岗位,建立信心 | | 第2周 | 5-8个 | S+A级,扩大范围 | | 第3周 | 3-5个 | 根据面试反馈调整 | | 第4周 | 按需 | 补充+新发现 |
Step 6:反馈迭代(自我调节闭环)
6.1 求职漏斗追踪
追踪以下数据,计算转化率:
搜索发现 → 投递 → 面试邀约 → 面试 → 终面 → Offer
正常转化率参考:
发现→投递:15-25%
投递→面试:20-30%
面试→终面:40-50%
终面→Offer:20-40%
6.2 动态调整规则
| 信号 | 诊断 | 调整 | |------|------|------| | 投递0回复 > 5个 | 简历/开场文字有问题 | 修改简历关键词、调整开场策略 | | 面试邀约 < 投递的15% | 目标岗位不匹配 | 降低标准或换搜索方向 | | 面试通过率 < 30% | 面试表现/短板暴露 | 准备短板应对话术、模拟面试 | | 面试通过但无Offer | 薪资谈判/竞争 | 分析失败原因、调整预期 | | 持续2周无新进展 | 策略失效 | 重新评估花图7维度,考虑换奥德赛版本 |
6.3 每周复盘清单
- 本周投递多少?收到多少回复?
- 哪个渠道效果最好?
- 面试反馈了什么?(记录Q&A)
- 短板暴露了什么?
- 需要调整什么?(搜索词/简历/面试策略/目标方向)
执行检查清单
Phase 0:自我认知(首次必做)
- [ ] 运行
scripts/check-env.py检查环境依赖 - [ ] 收集简历+需求+硬性条件
- [ ] 完成花图7维度分析
- [ ] 完成冰山模型深层分析
- [ ] 设计奥德赛3版本
- [ ] 画像写入 MEMORY.md
Phase 1:岗位搜索
- [ ] 读取画像,确认搜索方向
- [ ] 生成搜索关键词
- [ ] 渠道A-猎聘:
web_fetch或scripts/scrape-liepin-zhaopin.py --platform liepin - [ ] 渠道A-智联:
web_fetch或scripts/scrape-liepin-zhaopin.py --platform zhaopin - [ ] 渠道A-BOSS直聘:
scripts/scrape-boss.py --login(首次)→scripts/scrape-boss.py --keyword - [ ] 渠道B-社交平台:
scripts/scrape-social.py --platform xiaohongshu/zhihu/maimai - [ ] 渠道C-搜索引擎:
scripts/scrape-social.py --platform gov/talent/gaoxiao - [ ] 去重合并
Phase 2:初筛
- [ ] 三层过滤
- [ ] 标注S/A/B/C/D等级
- [ ] 排除D级
Phase 3:深度整理
- [ ] 按匹配度排序生成报告
- [ ] 生成岗位信息卡片
- [ ] 标注缺失信息
Phase 4:智能建议
- [ ] 每个S/A级岗位生成5模块建议
- [ ] 选择简历版本
- [ ] ATS关键词优化
Phase 5:投递
- [ ] 生成定制开场文字
- [ ] 用户确认后投递
- [ ] 记录投递时间
Phase 6:反馈迭代(每周)
- [ ] 更新漏斗数据
- [ ] 识别瓶颈
- [ ] 调整策略
- [ ] 更新 MEMORY.md
脚本文件索引
| 文件 | 用途 | 依赖 | 跨平台 |
|------|------|------|--------|
| scripts/check-env.py | 环境依赖检查与自动安装 | 无额外依赖 | ✅ macOS/Windows/Linux |
| scripts/scrape-liepin-zhaopin.py | 猎聘/智联岗位抓取 | requests, beautifulsoup4 | ✅ macOS/Windows/Linux |
| scripts/scrape-boss.py | BOSS直聘岗位抓取(需登录) | undetected-chromedriver, selenium, Chrome | ✅ macOS/Windows/Linux |
| scripts/scrape-social.py | 社交平台+搜索引擎抓取 | requests, beautifulsoup4 | ✅ macOS/Windows/Linux |
参考资源
详细的方法论说明、评分标准示例、简历模板等,参见 references/ 目录:
references/methodology.md:完整的理论框架说明和学术引用
Scan to join WeChat group