Hotdry.

Article

Claude Code驱动求职编排:14种技能模式的状态机架构与PDF批生成流水线

解析Career-Ops的AI求职系统架构:从14种技能模式的状态机切换、Go Dashboard实时同步到ATS优化PDF批生成流水线的工程实现。

2026-06-09ai-systems

问题背景:传统求职流程的瓶颈

在当前的就业市场中,求职者面临的核心困境是信息不对称与效率低下。手动追踪数十甚至上百个职位申请、为每个职位定制简历、评估公司与个人匹配度 —— 这些重复性工作消耗了大量时间,却难以保证质量。Career-Ops 项目正是针对这一痛点,基于 Claude Code 构建了一套完整的 AI 驱动求职编排系统,实现了从职位发现到申请材料生成的端到端自动化。

该系统的核心设计理念并非 "海投",而是精准筛选。正如项目作者所言:"公司使用 AI 筛选候选人,我只是给了候选人用 AI 选择公司的能力。" 系统通过 A-F 评分机制(10 个加权维度)过滤职位,强烈建议用户不要申请低于 4.0/5 分的职位,以此保护双方的时间成本。

14 种技能模式的状态机架构

Career-Ops 的技术核心在于其模块化的技能模式(modes)设计。项目通过 modes/ 目录下的 14 个 Markdown 文件定义了不同的工作场景,每个模式对应特定的 Agent 指令集:

  • oferta.md:单职位完整评估(角色摘要、CV 匹配度、职级策略、薪酬调研、个性化建议、STAR 面试准备)
  • pdf.md:ATS 优化简历生成
  • scan.md:门户扫描(支持 Greenhouse、Ashby、Lever、Wellfound 等主流 ATS)
  • batch.md:批量并行处理
  • tracker.md:申请状态追踪
  • apply.md:表单自动填充
  • contacto.md:LinkedIn outreach 消息生成
  • deep.md:深度公司调研
  • training.md:课程 / 认证评估
  • project.md:作品集项目评估

这些模式通过统一的状态机流转:

用户输入(职位 URL 或描述)
    │
    ▼
┌──────────────────┐
│  Archetype       │  分类检测:LLMOps / Agentic / PM / SA / FDE / Transformation
│  Detection       │
└────────┬─────────┘
         │
┌────────▼─────────┐
│  A-F Evaluation  │  匹配度分析、技能缺口、薪酬调研、STAR 故事生成
│  (读取 cv.md)    │
└────────┬─────────┘
         │
    ┌────┼────┐
    ▼    ▼    ▼
 Report  PDF  Tracker
  .md   .pdf   .tsv

状态机的关键设计在于上下文继承modes/_shared.md 提供了跨模式的共享上下文,包括用户档案、职业故事、证明点(proof points)等。系统通过 cv.md 和可选的 article-digest.md 持续学习用户背景,首次使用时需要充分 "喂养" 上下文,后续评估质量会显著提升。

Go Dashboard 实时同步机制

为了管理数十至上百个职位的追踪状态,Career-Ops 在终端层构建了一个基于 Go 的 TUI(Terminal User Interface)Dashboard。该组件采用 Bubble Tea 框架配合 Lipgloss 样式库,实现了 Catppuccin Mocha 主题的可视化管道浏览:

核心功能参数:

  • 6 个过滤标签:按状态、公司、职级、评分区间等多维度筛选
  • 4 种排序模式:按时间、评分、公司名称、申请状态排序
  • 分组 / 平铺视图:支持按公司分组或平铺列表展示
  • 懒加载预览:职位详情按需加载,避免大数据集卡顿
  • 内联状态变更:可直接在 TUI 中修改申请状态

Dashboard 的数据源是本地 Markdown 表格与 TSV 文件的组合,通过 data/ 目录下的 pipeline.mdtracker.tsv 维护单一事实来源。这种设计确保了数据的可移植性与版本控制友好性,同时避免了外部数据库的依赖。

构建与运行参数:

cd dashboard
go build -o career-dashboard .
./career-dashboard --path ..

PDF 批生成流水线:ATS 优化与并行处理

简历生成是 Career-Ops 最具工程价值的模块。系统通过 Playwright/Puppeteer 将 HTML 模板渲染为 PDF,实现了 ATS(Applicant Tracking System)友好的输出:

技术实现要点:

  • 字体选择:Space Grotesk(标题)+ DM Sans(正文),确保机器可读性
  • 关键词注入:根据职位描述动态调整简历内容,提升 ATS 匹配度
  • 模板引擎:基于 templates/cv-template.html 的 HTML 模板,支持变量替换
  • 批量处理:通过 batch/batch-runner.sh 协调多个 claude -p 工作器,支持 10+ 职位的并行评估与 PDF 生成

批处理流水线的关键设计是自包含工作器模式batch/batch-prompt.md 是一个完整的独立提示词,每个工作器接收单一职位描述,执行完整评估流程后输出报告、生成 PDF、更新追踪器。这种设计使得并行处理无需共享状态,天然支持水平扩展。

可落地的配置参数:

# config/profile.yml 关键字段
archetypes:
  - llmops          # LLM 运维
  - agentic         # Agent 系统
  - pm              # 产品经理
  - sa              # 解决方案架构师
  - fde             # 前端开发工程师
  - transformation  # 数字化转型

scoring_weights:
  role_fit: 0.25
  growth_potential: 0.20
  compensation: 0.15
  culture_match: 0.15
  location_flexibility: 0.10
  interview_likelihood: 0.15

门户扫描与数据完整性

Career-Ops 预配置了 45+ 公司的职位门户扫描器,覆盖 Anthropic、OpenAI、ElevenLabs、Retool、n8n 等 AI 领域头部企业。扫描器通过 Playwright 调用各 ATS 的公开 API(Greenhouse、Ashby、Lever 等)获取职位列表。

关键工程细节:

  • 过期职位过滤:部分 ATS 会保留已关闭的职位在公开 API 中,需通过 --verify 参数启用 Playwright 实时验证
  • 去重机制:基于职位 ID 与标题的自动去重,避免重复评估
  • 增量更新:仅对新发现的职位触发完整评估流程

扫描命令参数:

node scan.mjs --verify    # 零成本发现 + Playwright 存活检查

工程实践建议

基于 Career-Ops 的架构设计,以下是可落地的实施 checklist:

初始化阶段:

  1. 创建高质量的 cv.md,包含结构化技能标签与量化成果
  2. 编写 article-digest.md 积累 STAR+Reflection 故事库(5-10 个主故事可回答任何行为面试问题)
  3. 配置 config/profile.yml 定义目标原型与评分权重
  4. 自定义 portals.yml 添加目标公司列表

日常使用:

  • 使用 /career-ops {职位描述} 触发完整流水线
  • 评分低于 4.0 的职位建议跳过,保护时间成本
  • 定期运行 npm run scan 发现新职位
  • 通过 Dashboard TUI 管理申请状态

性能优化:

  • 批处理时控制并行度,避免 API 限流
  • 使用 --verify 参数过滤过期职位,减少无效评估
  • 定期归档已关闭职位,保持追踪器数据量可控

资料来源

  • GitHub - santifer/career-ops: AI-powered job search system built on Claude Code

ai-systems

内容声明:本文无广告投放、无付费植入。

如有事实性问题,欢迎发送勘误至 i@hotdrydog.com