文号
949095
阅读
588
回复
1
收藏
2
所有教程由网友发布,仅供参考,请谨慎采纳。科创不对教程的科学性、准确性、可靠性负责。
本文在AI协助下创作,作者声明AI的作用仅限于局部修饰性、辅助性工作,文章内容的严肃性由作者负责。
数据分析艺术——以BOSS直聘为例
2026/02/27
原创
IP:广东

前言:

前段时间抓取了BOSS直聘的数据(见数据抓取艺术——以BOSS直聘为例),光有数据不进行分析那数据就躺在硬盘里吃灰了。传统的分词+聚类或者语义情感分析经尝试发现调参难度大,分析效果差,推理时间长,不适合快速迭代快速分析。以GPT为首的大语言模型常看到公众号文章及评分榜盛赞其性能优异,工具调用娴熟,因此使用GPT5对爬下来的数据进行分析。

当然,实际上没有这么顺利,GPT5官方API价格高昂,哪怕是使用GPT5 nano(下面的LLM均为GPT5 nano)这个数据量跑下来也得上百元(如果能分析出些有意义之前没发现的结论,这个价格也不贵,但处于调试阶段就没必要了)了,因此先找到了国内低价API中转平台,然后进行调试。同时由于LLM的输出具有一定随机性,提示词也需要精心设计,同时增加Debug输出便于修改提示词。

本文所提到的数据分析及示例集中在通过原始BOSS直聘数据+LLM分析找到适合自己的工作。


正文:

1、使用的数据如下图,与原始数据相比增加了列名,行数裁剪到48行,下图数据(其实这个数据有瑕疵,有的数据没有抓取全,判断“岗位名称”这个元素加载完成就直接抓取了)会以附件形式给出。

image.png


2、最原始简单的方法无疑是直接将爬下来的Excel文档直接上传给GPT/Gemini等LLM,并附上一段提示词要求LLM对数据进行分析,实测发现无论是使用简单还是复杂的提示词均难以在单轮对话中给出令人满意的数据,错误频出且结果难以稳定复现(即使将温度参数 Temperature 设为0.0)。我认为主要原因在于缺乏人为干预和反馈机制,导致分析过程的思维链未能形成有效(指对外)闭环。(简单来说就是任务过于复杂,GPT认为按照提示词去完成了工作,但不符合用户的要求)


3、原始文档使用GPT直接处理无法实现给出我需要的数据,解决的思路不外乎按行拆分文档or更换更强大的模型(由于价格原因不选择这个思路)。拆分文档指将Excel数据按行读取,并整合成岗位信息数据发送给GPT处理,噪声减少后GPT给出的回答质量明显上升,错误显著减少。如前文所言使用官方API 价格过于高昂,因此寻找到国内API中转站,下图1是国内中转站价格,下图2是官方API价格。经测试,该API应该是逆向接口,支持上千并发(走HK中转),节省大量调试时间。

image.png

image.png


4、Anyway,找到了廉价API接口,接下来就是并发跑测试找到一套合适的提示词。下面将展示针对该文档的提示词工程迭代。

(1)按行将个人简历&岗位信息PUSH到API,提示词集中在要求LLM给出合适度评分。

实测发现同一个LLM对同一个岗位的评分差异较大,Debug后发现LLM对同一个岗位的信息理解偏差较大,A认为符合B认为比较符合C认为不符合。

(2)使用评分表约束LLM评分行为,按行将个人简历&岗位信息&评分表PUSH到API。

评分表可参考下图内容

image.png

实测发现同一个LLM对同一个岗位的评分差异仍然较大,Debug后发现LLM对同一个岗位的信息理解偏差集中在主观部分并且会出现二次推理导致评分差异,如技术栈匹配度就是很主观的内容AB两个LLM评分容易出现非黑即白的情况,拉大方差。


5、考虑到个人信息和评分表有一定重复(评分表由个人信息提炼得出),因此应当给出更客观(此时使用评分规则类似于文本匹配,削弱LLM文本(招聘信息)推理)的评分表,去除个人简历资料。

同时使用三个LLM对同一岗位评分,单一评分项目分数方差还是较大,权衡Token消耗与模型性能,最终选择了Nano模型和“最接近对取平均”策略,如果AI给出的三轮分数是 [+10, +15, 0],系统会识别出0是离群值(幻觉),从而取10和15的平均值。

其实这个就是滤波算法选择了,尝试过直接取三轮平均,评分会受到极值影响,尝试过去极值取平均,发现需要5个AI给出评分结果才比较可信(计算IRR),且对Token消耗较大。


6、接下来使用Python并发请求跑数据就完事了,输出评分排序后使用影刀RPA自动投递即可。

当然,不走LLM路线也可以,纯关键词匹配(精确但僵硬)或LLM模糊匹配+关键词精确匹配加权融合,都是可行的方案。


7、跑出来的数据评分稳定性大幅提升,但仍存在个别岗位评分偏差较大的case(尤其是JD描述很模糊、同时包含多方向需求)。借鉴Coze工作流中常见的“标准样本库 + 动态注入”思路,以及飞书企业级LLM应用中常用的In-context Learning实践,后续构建了一个人工审核的标准样本库。

挑选数十条典型的JD信息作为基准case,人工给出各项评分,并写出简短但关键的打分理由。将其中4条(Nano的上下文比较短,如果模型支持的上下文比较长可以多注入几个样本,对于本文的case注入4个样本就差不多了,样本太多模型的注意力会分散,评分会变不稳定)最有代表性的样本,作为示例注入到每条提示词的最前端。


ps:示例数据

attachment icon251105boss直聘嵌入式软件清洗详细.xlsx69.63KBXLSX6次下载

pps:boss直聘1月底到2月中反爬再次升级,打开控制台或“不加掩饰”地监听事件会强制刷新三次+关闭网页(不过看起来是先加载完数据再close的),禁用JS或JS注入清空window.close等操作也会触发反爬,得模拟真人行为(随机鼠标轨迹、滚动、停顿)。如果还不行就换谷歌浏览器,清Cookie重新试一下,传统的bs4库直接爬取是行不通了,Selenium用下来也很容易触发反爬。薪资加密映射也该了(偏移量和字体映射有变,需重新抓包倒推)。总体看,该网站的反爬强度在国内招聘平台中算顶尖。

ppps:数据艺术系列文章暂时完结,该系列其他文章链接如下

数据抓取艺术 —— 以 KC 网为例

数据抓取艺术 —— 以 BOSS 直聘为例

pppps:单次Token消耗及价格,可以看到这个价格简直是白菜价,5K行的数据跑下来也就几十块,总耗时不过是十来分钟,属于是多快好省了。

image.jpg

ppppps:放只Miku酱

5f1cb4cff22a83518460d8312e58a17a.jpg



[ 修改于8个月5天前 - 2026/02/27 14:22:39 ]
4个月5天前IP:广东
950869
1楼

经过一段时间的使用,现在我使用更简单且高效的方法进行数据分析——应用Codex的Data Analytics插件。

从数据抓取和分析两方面分享下我现在的workflow:

1、数据抓取

见 数据抓取艺术——以BOSS直聘为例 - 科创

结论不变:仍然推荐使用RPA工具进行数据抓取,纯Codex抓取容易被ban,而且存在较高的不确定性。

此外可以使用Codex逆向PRA工具的接口,让Codex调用逆向的接口去完成任务,有以下优势:

(1)调用成品经过众多用户验证过的api,省去大量调试过程(和github那些库相比,稳定性大幅提升)。

(2)可以使用RPA工具GUI查看顶层架构,方便人工review及手动断点调试。

让Codex自由发挥虽然大部分时候也能有80分的交付,但难以修改顶层架构,需要窜梭于代码间人工阅读,哪怕让Codex写个md文档(这玩意一般不说人话,仍然需要花费大量时间回归代码review)看起来也费劲。此时,RPA工具的优势有所显现——GUI界面及高度封装的接口。如一个完整可用的BOSS抓取工具,RPA中的代码行不过区区几十行,暴露的接口也很少(but也足够,都是高频使用的接口),对评审及其友好,完全不需要关注实现细节,出bug也能单步调试人工快速定位问题。毕竟这种个人自用小工具,核心是高度定制,我是不希望将大部分时间花在调试上面。


2、数据分析

这个是Codex大放异彩的领域,传统的数据分析依赖聚类、折线、饼图等方式,难点在于需要人工将数据进行关联,无法做到开箱即用,而且难以联网拓展样本。Codex调用GPT5.5多模态模型能以较快的迭代收敛效率将还过得去的成果呈现于我。我的调教流程如下:

(1)使用渐进式披露,让AI先自行阅读workspace里面的内容。

(2)给出需求,询问AI我需要他进行数据分析,他打算怎么做(这里按照自己的需求来吧,每个人不同)。此时AI会返回个plan(需要保存md)。

(3)让AI先广泛查找行业报告和互联网前人做过的工作,并要求尽可能离线到本地。我个人认为信息置信度:一手招聘原文 > 岗位薪资/重复招聘 > 公司官网/公告 > 行业报告 > 网友经验 > AI 推理,企业真金白银的招聘信息比较可信。

(4)让AI更新下plan(人工review),并定下验收交付标准。

(5)每个月抓取的Excel表,要求AI使用subagent按10行一组阅读(主agent负责协调subagent,主agent充当领导角色),同步更新handoff抽取出plan中计划的元素等信息(可以看每次更新后diff handoff的行数知道是否按要求执行)并整合到html(要求并列项必须使用图表呈现,同时排版简洁),要求AI必须呈现主观设定的比例等参数。

(6)使用subagent根据测试项和验收标准review(要求自行渲染截图,使用图片判断),需要状态空间遍历测试。

(7)询问已完成项,使用list,commit进度,待改进项等

(8)阅读report html,根据主观意见让codex修改。


ps:最终的判断仍然需要人类完成,AI没有你的全部context,无法代替你去感受、理解和选择。

pps:AI时代,只要能被AI快速迭代的领域都会被AI洗牌(指初级中级工程师会被抛弃,只留下高级工程师和AI交互),建议选择和现实强交互、依赖大量闭源仪器仪表的领域,当然,最最重要的是,你愿意为之奋斗的领域,主观认为,如果入行一个个人不感兴趣且能被AI代替的领域很难成为大神,容易被AI锁死上限(这里假设了一个前提,对该行业不感兴趣的人会极度依赖AI完成工作且不会复盘重新理解what why how)。

ppps:建议让ai使用html呈现结论,

pppps:AI与人的边界也是比较重要的论题,需要分辨哪些操作高估了短期收益而低估了长期收益。

ppppps:建议自己写给简短的文档,这个过程比较容易会发现于AI交互的问题,对复盘有利,如果纯让AI写实测几乎不会内化。

建议用Codex官方号,国内或者HK Visa+Google Pay就能买官方20x Pro了(小红书自行查找教程,或者私信我?),换日区支付一个月才1200元,我从来没买过这么划算的商品。

Codex不适合完全接管不稳定的复杂反爬的数据抓取,但很适合接管证据整理、文本分析、报告生成和反复迭代。

人类负责定义问题、审查依据、做最终选择。

引用
评论
2
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的