
最近把自己的 AI 求职工具重新整理了一遍,发现它已经不太像几个零散脚本,而是逐渐形成了四条可以独立运行、又能够串起来使用的工作流。
前三条已经完成实际交付:搜索职位、生成简历模板、根据职位生成定向简历。最后一条招聘沟通辅助还在开发中,而且它最难的地方并不完全在代码。
这套工程目前还在继续整理,后续计划逐步开源到 GitHub。
目录
- 1. 为什么要拆成四条工作流
- 2. Job Search:先把职位变成可信数据
- 3. Resume Template Generation:把参考图变成模板
- 4. Targeted Resume Generation:根据职位准备简历
- 5. Agent Conversation:仍在开发的一环
- 6. 为什么招聘沟通验证得很慢
- 7. 收个尾
1. 为什么要拆成四条工作流
求职看起来是一件事,实际包含几类完全不同的问题:
1 | 找到值得看的职位 |
如果把它们塞进一个 Agent,它既要操作浏览器,又要理解职位、修改简历、处理文件,还要接触真实招聘对话。上下文会越来越长,权限也会越来越大,任何一个环节出错都可能污染整条流程。
所以项目没有做成一个「全自动求职机器人」,而是拆成四条工作流。每条工作流有自己的输入、状态、测试和恢复方式,需要时再组合起来。
2. Job Search:先把职位变成可信数据
第一条工作流负责获取、校验、筛选职位,并生成可以追溯的报告。
浏览器采集和模糊语义判断由外部 Agent 完成;URL 规范化、去重、字段校验、确定性筛选、结果合并、报告生成和中断恢复由 Python 程序负责。
流程大致是:
1 | 采集职位 |
这里最重要的不是让 Agent 决定一切,而是把确定和不确定的部分分开。学历、城市、薪资格式等稳定规则交给程序;岗位方向、经历是否匹配等模糊问题,再交给 Agent 或人工判断。
3. Resume Template Generation:把参考图变成模板
第二条工作流接收一张简历参考图,生成两类可复用模板:
| Backend | 主要产物 |
|---|---|
| Design | 可编辑的 PPTX、字段绑定和预览图 |
| Code | HTML/Jinja、CSS、字段绑定和预览图 |
Codex 负责观察参考图、创建模板和检查最终预览;程序负责图片查重、文件校验、模板注册、状态和哈希。
模板必须经过真实渲染和人工验收,才能进入正式模板库。它不是把参考图整张贴成背景,而是保留可编辑文字、图片槽和结构化字段,让后面的简历生成工作流可以重复使用。
4. Targeted Resume Generation:根据职位准备简历
第三条工作流读取三类输入:
1 | 个人事实 |
有目标职位时生成定向简历,没有职位时生成通用简历。
Agent 负责理解职位、选择和压缩内容、生成草稿并完成内容与视觉 Review;程序负责冻结输入、检查事实来源、防止编造、渲染文件、记录状态和验证产物哈希。
Design 和 Code 两个 Backend 使用同一份冻结内容,分别生成 PPTX/HTML、PDF、DOCX 和 PNG。只有用户明确接受后,一次运行才会进入完成状态。
前三条工作流到这里已经能够串起来:
1 | Job Search 找到职位 |
5. Agent Conversation:仍在开发的一环
第四条工作流是招聘沟通辅助,目前仍处于实验和开发阶段。
它的目标不是让 Agent 冒充本人自动聊天,而是根据职位、简历和已有对话生成建议或消息草稿,帮助整理沟通内容和后续行动。
任何真正发送给招聘方的消息都必须经过人工确认。职位搜索、简历生成和招聘沟通也继续保持独立,不能因为前三条已经完成,就默认授权第四条自动发送。
6. 为什么招聘沟通验证得很慢
这一部分最难的不是写一个消息输入框,也不是调用发送接口,而是缺少稳定、可反复使用的真实测试环境。
BOSS 对自动化行为的风控比较严格,页面、登录态和会话都有可能在测试过程中发生变化。动作过快或模式异常,还可能触发平台限制。
更重要的是,招聘沟通面对的是真实的人。不能为了测试一个功能,随便找一位招聘者发送无意义消息;也不能把别人的时间和正常招聘流程当成测试数据。
因此这条工作流只能分两部分验证:
| 可以在本地反复测试 | 需要在真实求职中谨慎验证 |
|---|---|
| 消息解析、会话状态、命令路由 | 页面和登录状态 |
| 草稿生成、人工确认门禁 | 真实发送链路 |
| Mock Runtime、错误恢复 | 平台风控表现 |
真实部分只能随着自己的应聘逐步推进,在正常投递和沟通过程中顺便验证。这样开发速度会慢,但至少不会为了追求测试覆盖率,给无关招聘者制造实际影响。
7. 收个尾
这个工程目前已经形成四条边界不同的工作流:
| 工作流 | 当前状态 |
|---|---|
| Job Search | 已交付 |
| Resume Template Generation | 已交付 |
| Targeted Resume Generation | 已交付 |
| Agent Conversation | 开发中 |
前三条处理的是可以冻结、校验和重复验证的数据与文件;第四条接触的是真实平台和真实的人,所以它需要更慢、更谨慎地推进。
对这类系统来说,能接上浏览器和模型只是开始。真正决定它能不能长期使用的,是每一步有没有边界、能不能恢复,以及自动化应该在哪一步停下来等人确认。
