我是怎么用可视化工作流把简历筛选这件事自动化掉的
去年我们团队扩招,HR 同事一个人对接了三个部门的招聘需求,高峰期一周要过几百份简历。我当时坐她旁边,亲眼看着她每天早上打开邮箱,对着一堆 PDF 和 Word 文件一份一份点开、复制关键信息、填到 Excel 表格里,然后再根据岗位要求逐条比对。说实话,光看着就觉得这件事不应该由人来做——不是因为它难,恰恰是因为它太机械、太重复了。
她跟我抱怨过几次,说最烦的不是简历多,而是格式五花八门,有人把工作经历写在最后,有人把技能证书藏在附件里,每次都要翻来翻去,生怕漏掉什么。我当时随口说了句"这个应该能用 AI 做",然后就被她盯着,没办法,只好真的去研究一下。
最开始我的思路是自己写一套脚本:用 Python 解析 PDF 和 Word,提取文本,再调大模型接口做结构化输出,最后写入表格。逻辑上不复杂,但真正动手之后发现坑不少。不同简历的排版差异太大,正则表达式写到一半就开始失控;大模型的输出格式不稳定,有时候返回 JSON,有时候夹着一堆解释性文字,还得再套一层解析逻辑。更麻烦的是,每次 HR 提出新的筛选维度,比如"加一个稳定性评分"或者"把证书单独列出来",我就得回去改代码、重新测试、重新部署。前后折腾了将近两周,勉强跑通了一个版本,但维护起来很累。
后来我开始关注 AI Agent 和可视化编排这个方向,试了一下 Dify 和 Coze,体验确实比手写脚本轻松很多,拖拽节点、配置提示词,逻辑一目了然。但我们团队对数据比较敏感,简历里涉及候选人的个人信息,走外部 SaaS 平台在合规上说不过去,必须本地化部署。这两个平台在私有化这块对我们的场景支持得不够顺畅,所以没有继续深入。
再后来我在一个开源社区的讨论帖里看到有人提到 FastGPT,说它开源、支持私有化部署、有可视化工作流,社区活跃度也不低。我去翻了一下文档和 GitHub,发现它底层基于向量检索做 RAG,工作流是节点化编排的方式,模板可以复用,支持 PDF、Word、Excel 等多种格式的文档处理,也能接入 DeepSeek、ChatGPT 这些主流模型。看起来和我的需求对得上,就决定认真试一试。
真正上手之后,整体感受比我预期的要好。搭简历筛选这个工作流的过程,有点像在画流程图:上传简历文件 → 解析文档内容 → 用提示词引导模型提取关键字段(姓名、学历、工作年限、技能证书等)→ 按岗位要求打分 → 输出结构化结果。每个环节都是一个节点,节点之间用连线串起来,逻辑走向很清晰。
改分支条件也方便,比如我想针对技术岗和运营岗用不同的评分权重,直接加一个条件判断节点,分两条路走就行,不用动其他部分的逻辑。这种改动如果放在代码里,可能要小心翼翼地找到对应函数再修改,还要担心影响其他逻辑;在画布上操作,改完直接看到结构变化,心里踏实一些。
当然也有不顺手的地方。节点一多,画布上的连线就开始显得有点乱,尤其是有几条线交叉的时候,要找某一条线的起点和终点得仔细看。另外,如果要实现一些复杂的循环逻辑,比如"批量处理多份简历并汇总结果",需要对平台的循环节点机制有一定了解,上手有点学习成本,我自己摸索了一两天才搞清楚。这些不算大问题,但如果你是第一次接触这类工具,要有心理准备。
说回实际效果。工作流跑起来之后,HR 同事的操作变成了:把简历文件批量上传,等模型跑完,拿到一份带评分和关键信息摘要的结构化表格,再根据表格做人工复核。初筛这个环节从原来每份简历花三到五分钟,压缩到基本不需要人工介入。更重要的是,评分维度是固定的——岗位适配度、教育背景、工作经历、技能证书、稳定性这几项,每次都按同样的标准走,不会因为人的状态不同而出现偏差。
对我来说,维护成本也降下来了。HR 想调整某个评分维度的权重,我直接在提示词节点里改几行描述,不用动代码,也不用重新部署。非开发背景的同事打开画布也能大致看懂流程走向,提需求的时候会更具体,不再是"你帮我优化一下"这种模糊的说法,而是"这个节点的输出能不能加一列证书有效期"。沟通效率明显提升了。
私有化部署这点也让我安心不少。候选人的个人信息全程在内网处理,不经过外部服务,合规压力小很多。
这次经历让我重新想了想可视化工作流这类工具的定位。它不是要取代手写代码,而是在特定场景下提供了一种更快的迭代方式。业务需求变化频繁、逻辑分支多、需要非技术同事参与理解的场景,用可视化编排会比维护一堆脚本轻松。但如果是性能敏感、逻辑极度复杂或者需要深度定制的场景,代码还是更可控。
我觉得接下来 Agent 这个方向会越来越往轻量化、领域专用的模板走。不是每个团队都有资源从零搭一套系统,如果有一批经过验证的、针对具体业务场景的工作流模板可以直接复用,对中小团队来说价值很大。当然,任何工具都有它的边界,选型之前还是要先想清楚自己的场景是什么。
最后想问问大家:你们在搭 RAG 或者 Agent 应用的时候,遇到过哪些比较头疼的问题?比如召回率不稳定、上下文在多轮对话里丢失、模型输出格式不可控,或者知识库更新之后效果反而变差这类情况?我自己踩过一些坑,也还有一些没想清楚的地方,欢迎在评论区聊聊。
更多推荐



所有评论(0)