我用 Claude Code 构建了一个多代理求职系统 — 631 次评估,12 种模式
Source: Dev.to
请提供您希望翻译的正文内容,我将按照要求保留源链接并翻译文本。
我构建的内容
一个拥有 12 种运行模式的多代理系统,每种模式都是一个拥有独立上下文和规则的 Claude Code 技能文件。不是单一脚本——而是一个能够对问题域进行推理的代理。
关键架构选择: 使用模式而非一个长提示。
career-ops/
├── modes/
│ ├── _shared.md # 北极星原型,证明点
│ ├── auto-pipeline.md # 完整流水线:JD → 评估 → PDF → 跟踪器
│ ├── oferta.md # 单一报价评估(A‑F)
│ ├── batch.md # 使用工作者的并行处理
│ ├── pdf.md # 针对每个报价的 ATS 优化简历
│ ├── scan.md # 门户发现
│ ├── apply.md # Playwright 表单填写
│ └── ... (共 12 个)
├── reports/ # 631 个评估文件
├── output/ # 生成的 PDF
├── applications.md # 中央跟踪器
└── scan-history.tsv # 680 条去重 URL
为什么使用模式? 每个模式只加载它所需的上下文。auto‑pipeline 跳过联系规则,apply 跳过评分逻辑。上下文越少 → LLM 做出更好的决策。
10 维度评分
每个 offer 都会通过加权评估框架进行评估。
| Dimension | What It Measures | Weight |
|---|---|---|
| Role Match | Alignment with CV proof points | Gate‑pass |
| Skills Alignment | Tech stack overlap | Gate‑pass |
| Seniority | Stretch level | High |
| Compensation | Market rate vs target | High |
| Geographic | Remote/hybrid feasibility | Medium |
| Company Stage | Startup/growth/enterprise fit | Medium |
| Product‑Market Fit | Problem domain resonance | Medium |
| Growth Trajectory | Career ladder visibility | Medium |
| Interview Likelihood | Callback probability | High |
| Timeline | Hiring urgency | Low |
Role Match 和 Skills Alignment 为 gate‑pass 维度——如果未通过,最终得分会下降,无论其他得分如何。 74 % 的评估 offer 得分低于 4.0。
管道
auto‑pipeline 是旗舰模式。一个 URL 输入,输出如下:
- 提取 JD – Playwright 导航到该 URL,提取结构化内容。
- 评估 10D – Claude 阅读 JD + CV + 作品集,生成评分。
- 生成报告 – Markdown 包含六个块:摘要、简历匹配、级别、薪酬、个性化、面试概率。
- 生成 PDF – HTML 模板 + 关键字注入 + Puppeteer 渲染。
- 注册跟踪器 – 通过 Node.js 脚本自动合并 TSV。
- 去重 – 检查
scan-history.tsv中的 680 个 URL。零次重新评估。
批处理
对于大批量,批处理模式 会启动一个指挥者来协调并行工作者。
# conductor spawns N workers, each an independent Claude Code process
./batch-runner.sh --input batch/batch-input.tsv --workers 4
# Each worker:
# 1. Claims a URL from the queue (lock file prevents doubles)
# 2. Runs auto-pipeline
# 3. Writes result to batch-state.tsv
# 4. Picks next URL
- 并行处理 122 个 URL。
- 容错:单个工作者的失败不会阻塞其他工作者。
- 可恢复:读取状态并跳过已完成的项目。
AI 简历生成器
通用 PDF 往往失效。Career‑Ops 为每个职位生成不同的 ATS‑优化简历:
- 从职位描述(JD)中提取 15‑20 个关键词。
- 检测语言(例如,英文 JD → 英文简历)。
- 检测地区(美国 → Letter 纸张,欧洲 → A4 纸张)。
- 检测原型(6 种预设:AI 平台、Agentic、PM、SA、FDE、Transformation)。
- 按相关性挑选 3‑4 个项目。
- 重新排序要点——最相关的经验排在前面。
- 渲染 PDF——使用 Puppeteer、自托管字体、单栏 ATS 安全格式。
同一份简历,六种不同的呈现方式。全部真实——关键词会被重新表述,绝不捏造。
结果
两个月的生产(真实数据,非演示):
- 631 份报告已生成
- 68 份申请已发送
- 354 份 PDF 已生成
- 680 个 URL 已去重
- 0 次重新评估
What I Learned
- 自动化分析,而非决策。 Career‑Ops 评估了 631 份报价;我决定哪些值得投入我的时间。人类在环是设计特性,而不是限制。
- 模式胜过冗长提示。 十二种专注模式的效果优于单一的 10 k token 系统提示。我的早期尝试使用一个巨大的提示,质量非常糟糕。
- 去重比评分更有价值。 680 条去重后的 URL 节省了 680 次不必要的评估——这是回报率最高的枯燥基础设施。
- 简历是论点,而非文档。 针对原型定制论据和表述的效果远胜于千篇一律的 PDF。
- 系统即作品集。 构建一个多代理求职系统本身就是对多代理角色能力的直接证明。
技术栈
- Claude Code – LLM 代理:推理、评估、内容生成
- Playwright – 浏览器自动化:门户扫描和表单填写
- Puppeteer – 从 HTML 模板渲染 PDF
- Node.js – 实用脚本:merge‑tracker、cv‑sync‑check
- tmux – 并行会话:批量的指挥者 + 工作者