WorkBuddy批量简历筛选实战:从标准到Skill的自动化流程

发布时间:2026/9/19 3:56:07
WorkBuddy批量简历筛选实战:从标准到Skill的自动化流程 上周朋友扔给我 50 份简历让我当天给出初筛结论。我盘算了一下手头的工具最后选了 WorkBuddy 来搭批处理流程——30 分钟跑完全部简历还自动生成了带评分卡的评估报告。这不是把简历一篇篇丢给大模型聊天而是把筛选标准和评估报告先定义成一套可复用的工作流让 WorkBuddy 按一个稳定节奏批量执行。整个过程跑下来不只是省时间更让我确认了一件事这类重复、规则密集、又需要统一口径的初筛任务恰恰是 WorkBuddy 这类 AI 工作台最值得投入的场景。这篇文章我把整套流程完整拆开从选型逻辑、环境准备、筛选标准转译到自定义 Skill 的写法、批量执行和报告生成每一步都附上我当时踩过的坑和实测数据。如果你手里也攒着一堆简历、问卷、报名表或文档需要批量初筛这套思路可以直接搬走改一改就能用。1. 为什么用 WorkBuddy 干简历筛选而不是直接问大模型先说结论直接用网页版聊天窗口把简历粘进去是我最早用过、也是最早放弃的方式。三个问题很致命。1.1 直接把简历丢给大模型的三个坑第一是上下文窗口。一份稍微像样的简历转换成纯文本少说 800 到 1500 token技术岗写过项目详情的能到 2500 token 以上。一次聊 5 份就接近上限后面内容开始健忘早期几份规模的信息会逐渐失真。50 份根本不是一次对话能扛下来的。第二是输出格式不稳定。同一个问题换一天问可能得到完全不同的排版和结论。今天给个五维雷达图明天就变成三段式描述后天又改成一张表。批量初筛最忌讳的就是口径不统一每个候选人没法放在同一个维度下对比那这份评估的价值就归零了。第三是根本没有批处理的概念。你让聊天窗口继续处理下一份它往往不理解你处于哪个批次阶段甚至会重复读上一份。50 份简历这种体力活需要的是一个能按目录遍历文件、按固定流程执行、失败了自己知道重试的工具而不是一个对话窗口。1.2 WorkBuddy 在这类任务上正好补位WorkBuddy 的产品形态是一个 AI 工作台它可以访问本地文件目录能按我写的指令执行多步骤任务还支持把整套流程封装成 Skill自定义指令反复调用。也就是说我可以把简历筛选这件事的所有规则和输出要求写成一整套指令之后每次有新简历只需要把它丢进固定目录跑一次 Skill 就能得到统一格式的结果。这和问大模型是本质区别。大模型是我给你材料你给我观点WorkBuddy 是我给你规则、目录、批处理逻辑你在无人值守的情况下把活干完并按我的格式交付。前者的结果是一次性的后者的结果是可复制、可沉淀、可复盘的。整个链路里 WorkBuddy 扮演的是调度员角色决定先读哪些文件、按什么顺序分析、把中间结果缓存到哪里最后再驱动模型生成评分卡和汇总报告。1.3 和 Claude Code、CodeBuddy 这类工具比差异在哪经常有人问 WorkBuddy 和 Claude Code、CodeBuddy 有什么区别。我的理解是Claude Code 和 CodeBuddy 更偏向写代码、改代码、Debug它们的强项是工程上下文WorkBuddy 更偏向自动化执行重复任务比如文件批处理、跨平台抓取、文档批量生成这一点从它集成了 Skill 机制和本地目录操作就能看出来。做简历筛选这种任务代码助手类工具不是不能用但需要你额外写一堆脚本来处理文件遍历和格式转换门槛高了不少。WorkBuddy 直接用自然语言描述目录和规则就能跑省掉了中间这层编程工作。当然如果任务本身需要复杂代码逻辑WorkBuddy 也能调用代码执行只是那种场景我会先把代码写好再交给它跑。1.4 这个方案也有不适合的场景需要泼一盆冷水WorkBuddy 再能打也不适合所有简历筛选场景。候选人隐私要求极高的岗位或简历里包含大量身份证号、家庭住址这类敏感信息的我会建议先做脱敏再喂给工具。还有一种情况是简历格式极其混乱扫描版 PDF、手写体、图片型附件扎堆这时解析环节的准确率会明显下降需要大量人工纠错反而不如直接人看。所以我给的判断标准是简历格式相对规范、数量大、需要统一评分口径的任务最适合 WorkBuddy少量精品简历或格式极端混乱的人工处理反而更快。2. 环境准备安装、模型接入与目录权限这一关工欲善其事必先利其器。WorkBuddy 装上之后不是马上就能用有几个环境层面的细节会直接决定你后面跑批顺不顺利。2.1 不同平台的安装要点我主力环境是 macOS 和一台 Linux 服务器Windows 上也帮朋友配过一次三个平台都走过一遍说下区别。macOS 安装相对无脑下载安装包拖进 Applications 就行但首次打开如果提示无法验证开发者需要去系统设置-隐私与安全性里手动允许一次。Windows 安装完注意不要装到带中文或空格的路径下虽然大多数情况下没事但 AI 工具调用 shell 时偶尔会被路径里的空格坑到。重点说 Linux 版。WorkBuddy 有对应的 Linux 版本装好之后核心配置文件在用户目录下类似~/.workbuddy/这样的结构。需要注意如果服务器是精简版系统缺少一些字体库或解析库读取 PDF 时会报错缺什么补什么即可最常缺的是poppler-utils和libxml2。2.2 模型接入DeepSeek 是批处理性价比之选WorkBuddy 本身是工作台框架真正干活的是底层大模型。默认模型可以用但批量处理 50 份简历这种任务我强烈建议接一下 DeepSeek 的 API。理由只有一个成本。简历筛选不需要顶尖的数学推理能力需要的是稳定的指令跟随和格式输出DeepSeek 在这两块的表现在我实测中是够用的价格却低一大截。把 model 配置切到 DeepSeek 之后我跑完 50 份简历加一轮汇总全程 token 消耗折算下来成本可以忽略不计这个量级对个人或小团队来说几乎无感。接入方式不复杂在配置里添加模型提供商填 API Key 和 base URL 就行。需要注意选对模型名称填错了会反复报错别问我怎么知道的。2.3 最容易被忽略的 502 Write EACCES 错误我第一次跑批就撞上了502 write eacces这个错。看到 502 第一反应是网络问题结果排查了半天发现根本不是是输出目录没有写权限。WorkBuddy 在执行批量任务时会把中间产物、处理日志、最终报告写到指定目录。如果这个目录不存在或者当前用户没有写权限就会以 502 的形态报错误导性极强。解决办法很简单提前建好目录并赋权。我在 Linux 上执行的是mkdir -p ~/resume_project/{raw,processed,reports,logs} chmod -R urw ~/resume_projectmacOS 和 Windows 一般不会遇到权限问题但如果用了外接硬盘或者公司网络盘同样可能触发类似的写权限报错。遇到 502 类错误先不要怀疑网络优先检查输出目录的权限。2.4 目录结构与测试文件我强烈建议在正式开始前准备一个小规模测试集不要一上来就跑 50 份。我的目录结构是这样的resume_project/ ├── raw/ # 原始简历PDF 或 Word 都行 ├── processed/ # 已处理的避免重复读 ├── reports/ # 单份摘要和汇总报告 ├── logs/ # 执行日志 └── jd.md # 岗位描述筛选用先放 2 到 3 份测试简历进去跑通全流程再上量。这一步能帮你提前发现格式兼容和指令问题省得 50 份跑完后发现标准不对要全部重来。3. 筛选标准转译把 HR 的模糊需求变成可执行的评分规则很多人在这一步翻车了。拿到一个 JD 就急着让 AI评估一下匹配度结果 AI 给出的结论主观且跳跃。原因在于人的评估背后有一套没写出来的标准而 AI 不知道这套标准只能靠猜测。所以把 HR 的模糊需求转译成明确的评分规则是整个方案里最有价值的一步。3.1 从 JD 里提取四类信息我会把 JD 拆成四个桶硬性条件、软性条件、加分项、一票否决项。硬性条件是客观可判的比如统招本科以上学历3 年以上 Python 开发经验有云计算项目经验。软性条件是主观但关键的比如沟通能力强抗压能力好自驱力强。加分项是有从 0 到 1 搭建系统经验发表过核心期刊论文这类锦上添花的内容。一票否决项是频繁跳槽平均在职不足 1 年学历造假嫌疑完全无相关经验等。这个拆解动作非常关键因为 AI 的评分需要锚点。没有锚点它只能给你感觉还挺合适这种不可量化的答案。比如这份 JD 里写3 年以上 Python 开发经验转译成可执行标准就是工作经历中出现 Python 相关职责且累计年限 3 年5 分有 Python 经验但年限在 1-3 年之间3 分仅课程项目或自学无企业级实践2 分完全无 Python 经验0 分每个关键维度都按这种粒度拆开AI 的评估才能落地。3.2 三层评分体系我用的评分结构是三层资格预检、维度评分、综合结论。资格预检是布尔判断任何一个一票否决项触发直接标记不通过不再进入后续评分。维度评分是 0-5 分的逐项打分覆盖学历背景、工作经验、技能匹配、项目深度、稳定性等维度。综合结论由前两层共同决定同时允许 AI 标注建议人工复核的高风险项。这套三层结构的好处是即使 AI 打分有波动资格预检保证了底线综合结论保证了排序中间任何一层的误差都不会直接毁掉整个流程。3.3 评估维度表下面是我给这个筛选项目设计的维度表可以直接抄走。表里的权重可以根据具体岗位调整比如招算法工程师时技能匹配权重可以拉到 45%招项目经理时软性素质和稳定性就要往上调。维度权重评分逻辑一票否决触发条件学历与教育背景10%博士/硕士/统招本科/专升本/其他逐级降分学历造假嫌疑工作年限与经历20%相关岗位年限、职级成长曲线、每段在职时长频繁跳槽且无合理解释技能匹配度35%关键词命中、技能熟练度表述可信度、工具链完整度核心技能完全缺失项目经验深度20%项目规模、个人角色主导/参与/协助、结果数据项目描述空洞无数据软性素质10%沟通协作、自驱力、抗压性在文字中的体现无明确负面信号稳定性5%在职时长、跳槽频率、职业路径连贯性连续多段短周期经历这张表用 Word 也好、用 Markdown 也好反正要让它变成 Skill 指令的一部分成为 AI 评分时的固定参照系。4. 核心动作编写简历筛选 Skill自定义指令WorkBuddy 最值钱的机制就是 Skill。它的本质是把一套角色 任务流程 输出规范打包成一个可重复调用的指令集以后每次做类似任务不用重新描述规则一个命令就能唤起整套流程。4.1 Skill 该怎么设计我在写 Skill 时遵循四个组成部分角色约束、任务流程、输出格式、边界守则。这四个部分缺一不可。角色约束是告诉 AI 它现在是什么身份这决定了它评分时的语感和侧重点。我用的角色定义是资深 HR 技术面试官 招聘团队助理这能让 AI 在评估技术岗位时兼顾专业度和用人部门的实际诉求。任务流程是核心要一步步说清楚先读哪个文件再做什么决定中间产出什么最后汇总成什么。不确定性要给到最低基本做到 AI 没有决策空间的地步。输出格式要精确到字段级别。我会规定好单份摘要卡必须包含哪些字段、汇总表必须有哪些列这样 AI 就不会自由发挥。边界守则是告诉 AI 什么不能做。比如我的简历筛选 Skill 里明确写着不评判候选人个人道德、不推测性别年龄宗教、不输出未经简历佐证的主观臆断、每项结论必须标注信息来源。这能有效压制 AI 的脑补倾向。4.2 一份可复制的简历筛选 Skill 参考下面是我实际在用的 Skill 精简版去掉了涉及具体岗位的内容你可以按自己的 JD 修改后直接用。name: resume-screener description: 批量筛选简历并输出评分卡与汇总报告适用于初筛阶段的候选人评估。 instruction: | 你是一名资深技术面试官正在为用人部门进行简历初筛。 你需要在给定目录中逐份读取简历对每一份简历完成以下固定任务 1. 先读取 jd.md提取硬性条件、软性条件、加分项、一票否决项。 2. 逐份读取 raw/ 目录下的简历文件。 3. 对每份简历按评估维度表逐项打 0-5 分并标注结论依据。 4. 若触发一票否决项跳过后续评分直接标记为不通过。 5. 将已处理的简历移动到 processed/ 目录。 6. 全部完成后生成汇总报告到 reports/ 目录。 评估维度表权重可随岗位调整 - 学历与教育背景权重 10% - 工作年限与经历权重 20% - 技能匹配度权重 35% - 项目经验深度权重 20% - 软性素质权重 10% - 稳定性权重 5% 评分规则 - 每项 0-5 分计分公式维度得分 * 权重加权总和为最终百分制得分。 - 90 分以上为 A 类强烈推荐面试 - 75-89 分为 B 类建议面试 - 60-74 分为 C 类暂不推荐 - 60 分以下或触发一票否决为 D 类不通过 单份摘要卡输出格式 ## 候选{姓名或文件名} - 综合得分{0-100} - 推荐等级{A/B/C/D} - 核心亮点{最多 3 条} - 主要顾虑{最多 3 条} - 评分依据{引用简历中的具体描述} 汇总报告输出格式 | 排名 | 文件名 | 综合得分 | 推荐等级 | 核心亮点 | 主要顾虑 | 边界守则 - 只依据简历文本内容做判断不推测候选人未写明的信息。 - 不输出关于候选人性格、家庭、宗教、政治倾向的主观评价。 - 每条评分必须能指出简历中的具体来源。 - 如果简历内容无法解析在报告中标记解析失败不要强行打分。这个 Skill 的关键在于流程闭环。从读取到评分到归档到汇总每一步都有明确出口AI 不会卡在接下来该干嘛的空白处。4.3 让规则后续对所有任务都生效的技巧热搜里很多人问给 WorkBuddy 定几条规则后续对所有任务都生效怎么实现。这其实就是全局指令与项目级 Skill 的配合问题。WorkBuddy 的规则有不同生效层级。写在全局配置里的指令会跟随每一次对话和任务适合放通用原则类的内容比如保持输出简洁拒绝编造事实每次结论给出依据。写在具体 Skill 里的指令只在调用对应 Skill 时生效适合放任务特定规则。我遇到过一个情况某次任务 AI 没遵守我规定的输出格式结果发现是我把格式要求写在了全局指令里和另一个 Skill 的输出要求冲突了。后来我的做法是全局指令只放底线要求具体格式和流程一律放进 Skill层级清晰就不打架。4.4 同一份简历在多轮测试中的稳定性Skill 写完后我先拿同一份简历跑了 5 次检验结果稳定性。原因很简单如果同一个输入每次输出不同后面 50 份跑出来就没法对比了。实测下来有了固定评分表和输出格式之后5 次跑分的极差控制在 4 分以内推荐等级全部一致。这个波动幅度在人工筛选场景下完全可接受。而早期没有 Skill、只用对话式评估时同一份简历一次 78 分一次 62 分波动大到完全没法用。所以如果你发现结果飘忽不定优先检查的是 Skill 里的评分规则是否写清楚了而不是抱怨 AI 能力不行。5. 批量跑通 50 份简历工作流编排与异常处理标准定义好了Skill 写好了接下来就是真正让 WorkBuddy 批量执行 50 份简历的时刻。这一节说的都是实测过程中最实际的问题。5.1 三种批处理模式对比WorkBuddy 执行批量任务大致有三种组织方式。第一种是循环任务式你给它一条指令说对 raw 目录下所有文件逐个执行 resume-screener Skill。WorkBuddy 会自己遍历目录、逐份处理。这是最省事的方式也是我这次用的方式。第二种是文件夹扫描式设置成监控某个目录只要有新文件进去就自动触发一次筛选。适合持续收简历的招聘场景我这次因为是一次性处理 50 份存量没有用这种模式但下次补收简历时我会用。第三种是批量导入式把文件列表预先指定好适合你不需要处理所有文件、只挑部分简历出报告的场景。灵活但需要手动维护列表自动化程度最低。我的建议是存量简历用第一种持续接收用第二种有选择地出报告用第三种。5.2 多轮对话设计比一次性指令更稳跑之前我做了个小设计不让 WorkBuddy 一次把所有事干完而是把它拆成了几个阶段。第一阶段读取 JD 并输出筛选标准摘要让它先确认自己理解了岗位需求。第二阶段逐份读取简历生成单份摘要卡草稿。第三阶段统一对照评分表打最终分。第四阶段生成汇总报告。这样设计的逻辑是第一阶段的输出相当于一次校准如果 AI 对 JD 的理解偏了我看到摘要不对还能及时打断。如果一上来就让它闷头跑 50 份跑到第 30 份才发现标准理解错了前面全都白干。虽然这样多了几次交互但每轮之间是有边界的中间状态可检查。从工程安全角度来说牺牲一点速度换取可控性值。5.3 执行耗时与失败恢复实测数据50 份简历格式以 PDF 为主夹杂 8 份 Word 文档。整个流程跑完耗时 27 分钟接近 30 分钟这个量级。其中有 3 份第一次解析失败原因是扫描版 PDF 没有文字层。失败恢复这块要重点说WorkBuddy 遇到单份文件失败不会让整个批次崩溃会在日志里标出失败文件并继续跑后面的。跑完后我看了 logs 目录3 份失败原因清晰可见。处理办法是我把这几份扫描版 PDF 先用本地的 OCR 工具转成了带文字层的 PDF重新放进 raw 目录单独跑了一次成功出报告。这里给个小建议批处理前先检查一下 PDF 是否有文字层。用pdftotext抽一页看有没有内容输出一秒钟能判断出来省得跑批中途才发现。5.4 分批跑还是全量跑如果简历超过 100 份或者单份文件特别大建议分批处理。每批 30-50 份批次之间清空 processed 目录或按时戳归档避免数据集膨胀导致上下文干扰。我这次 50 份一次跑完没问题但到 100 份以上时汇总阶段的压力会变大。分批跑还有一个好处每一批结束可以快速扫一眼中间报告发现标准需要微调时下一批再改不用全部推倒重来。6. 自动评估报告生成结构、格式与人工复核活儿干完最终交付物才是价值所在。WorkBuddy 自动生成的报告长什么样能不能直接交给用人部门这一节讲清楚。6.1 单份摘要卡 汇总总表的双层结构我让 WorkBuddy 输出两份东西一份是 reports 目录下每份简历的单份摘要卡另一份是全量汇总表格。单份摘要卡的作用是让用人部门不用重读原始简历也能快速 get 候选人核心信息。我设计的字段如下一个字段都不能少综合得分和推荐等级核心亮点 3 条主要顾虑 3 条评分依据引用简历原文汇总表的作用是横向对比。50 份的汇总表一眼看过去A 类有几人、B 类有几人、哪些人分数相近需要细比一目了然。我给汇总表加了排名、文件名、综合得分、推荐等级、核心亮点、主要顾虑这几列排序逻辑默认按得分降序。6.2 评分一致性校验报告出来后我做了个一致性校验。把所有 A 类简历重新人工抽读了 5 份对照 Skill 的评分标准确认 AI 打分是否合理。结果是 5 份中有 4 份我认为实至名归有 1 份偏高了——原因是这位候选人的项目描述写得特别漂亮但实际上项目规模很小AI 被文字的包装感带偏了。这个案例说明了两个问题。第一Skill 的评分规则里如果明确写了项目经验深度评分依据必须包含项目规模或数据佐证AI 追问数据的能力会强很多。第二AI 初筛永远替代不了最后一轮人工把关但它的价值在于帮你把 50 份浓缩成 10 份让你把精力花在最值得看的候选人上。6.3 常见误判与我的修正方案实测中踩到几类典型的误判在这分享下。第一种是把熟悉和精通等量齐观。有些简历通篇写精通有些很保守地写熟悉AI 打分时容易被词频影响。我在 Skill 里加了一条规则技能评分需区分简历表述程度精通对应 5 分上限熟悉对应 3-4 分了解不超过 2 分。加了之后保守型候选人和夸张型候选人的分差就拉出来了。第二种是读不懂技能组合的上下文。比如一个候选人写用 Python 写过数据处理脚本但岗位要的是 Python 后端开发AI 容易只看 Python 关键词就给了高分。修正办法是在评分规则里强调核心技能匹配需考察技能的应用深度而不是单纯关键词命中。第三种是表格型简历解析错位。有些简历用多栏排版AI 解析后信息顺序错乱导致工作经历和公司名称对不上。这类问题无法完全避免我的做法是检测到工作时间和公司名明显不匹配时将文件标记为需人工复核而不是强行评分。6.4 交给用人部门前的人工复核清单最后一步是人工复核我的清单只有三条一复核触发一票否决项的简历确认 AI 的判断依据在原文中真实存在。二复核 A 类和 D 类名单的边界情况特别是 89 分和 90 分、59 分和 60 分这种临界点。三抽查报告中的任意结论看能否回溯到原始简历中的具体描述。说实话这套流程跑到后期我最大的感受是真正耗时耗力的不是 AI 跑批那 30 分钟而是前期定标准和后期人工复核。但即便如此整体效率也比纯人工逐份阅读提升了至少 5 倍关键是把筛选标准一致性这个纯人工很难长期保持的东西固化成了可复制的机制。后来我又把这套 Skill 改了几行用在了别的场景上——把 resume 目录换成报名表目录就是活动人选初筛把评分维度改成商品参数就是简单的选品打分。思路是通用的核心永远在于把模糊任务拆成清晰规则剩下的交给工具去执行。