把"夹角打工人"做成了诊断仪:一个爆梗的向量夹角算法之旅

119 阅读9分钟

卷又卷不动,躺又躺不平。2026年最扎心的职场梗,我用余弦夹角公式算出了精确度数,给自己和同事们做一下职场心理健康按摩!解决真实职场痛点就是心理问题!

选题缘起:一个梗值不值得做成工具?

前阵子刷到一个词叫**"夹角打工人"**——形容卡在"内卷"和"躺平"中间、进退两难的打工状态。卷又卷不动,躺又躺不平,精神内耗拉满。

这个词之所以爆,是因为太真实了。身边十个人有八个在这个状态里。

但刷完笑完,我脑子里冒出一个念头:"夹角"本身是个数学概念啊。 如果把"内卷倾向"和"躺平倾向"各做成一个向量,用余弦公式算它们之间的夹角,不就能量化一个人到底有多"夹"吗?

夹角越小 → 内卷和躺平方向越重叠 → 越纠结 → 夹角打工人 夹角越大 → 方向明确 → 要么卷王要么躺平青年

这不是段子,这是线性代数。

于是我决定把它做成一个真正能跑的工具——「夹角打工人诊断仪」。用户回答8个接地气的问题,系统构建五维向量,算出夹角,判断类型,给出诊断报告和处方建议。

它不是又一个"AI算命",而是背后真的有向量运算和余弦夹角算法。


痛点:职场情绪这东西,能不能量化?

打工人的纠结从来不是"要不要努力"这么简单。它是一团乱麻:

  • 加班到几点算"卷"?摸鱼多久算"躺"?
  • 焦虑浓度高但行动力低,算卷还是算躺?
  • 性价比感知低,是不是必然导致躺平倾向?
  • 周末秒回工作群的人,和已读不回的人,"躺度"差多少?

这些维度互相纠缠,手动"感觉一下"根本说不清。

我的想法是:与其让每个人凭感觉判断自己"卷还是躺",不如用多维度向量把职场状态拆成可计算的数据,用夹角公式给出一个量化指标。 你不用纠结自己是卷是躺了——算一下就知道。


开发实操:从梗到可运行Demo的全过程

第一步:设计五维向量模型

这是整个项目的核心。我需要把"职场状态"拆解成可量化的维度。

image.png 我先用 TRAE Work 帮我头脑风暴维度,指令大概是这样的:

我要做一个"夹角打工人诊断仪",核心是把打工人的状态拆成多维度向量,用余弦夹角公式算"内卷向量"和"躺平向量"的夹角。请帮我设计:1)应该有哪几个维度(5-6个);2)每个维度怎么用接地气的问题来测量;3)内卷向量和躺平向量分别应该由哪些维度组成。

它帮我梳理出了五个维度:加班卷度、摸鱼艺术、内驱力、焦虑浓度、性价比感知。然后我做了关键决策:

  • 内卷向量 = [加班卷度, 内驱力, 成长投入]
  • 躺平向量 = [摸鱼度, 周末松弛度, 躺平内驱(100-内驱力)]

注意躺平向量的第三个分量用的是"100-内驱力"——因为内驱力越低,躺平倾向越高,需要反转。这个设计是关键。

第二步:设计8道接地气的问卷

问卷不能像心理量表那么严肃,得有梗。我设计了滑块题和选择题混合的形式:

题目测量维度设计巧思
你这周平均几点下班?加班卷度滑块17:00-23:00,最诚实
每天有效摸鱼多久?摸鱼艺术0-6小时,"带薪拉屎也算"
领导布置新任务第一反应?内驱力4选1,从"终于有表现机会"到"已读不回"
周末群里@你聊工作?周末松弛度秒回vs退群保平安
AI替代你工作的焦虑程度?焦虑浓度0-10级,紧扣2026热点
薪资对得起付出吗?性价比从"血亏"到"超值"
下班后主动学习频率?成长投入卷王DNA检测器
工作有意义吗?意义感0-10分,纯工具人到人生使命

每道题的文案我都反复改过——要够损、够真实、让人一看就笑(然后心酸)。

第三步:实现核心算法

这是真正的代码深度部分。核心是余弦夹角公式:

cos θ = (a · b) / (|a| × |b|)
θ = arccos(cos θ) × 180 / π

具体实现:

  1. 把每个维度分数归一化到0-100
  2. 构建三维的内卷向量和躺平向量
  3. 算点积、模长、余弦值
  4. arccos 转成角度
  5. 同时算两个向量的"强度"(归一化模长),用于判断类型

类型判定逻辑(7种):

类型触发条件
卷王之王内卷强度≥75 且 躺平强度<35
佛系躺平青年躺平强度≥75 且 内卷强度<35
暴风雨前的宁静焦虑≥70 且 内卷强度<50
带薪修行大师摸鱼≥65 且 性价比≤35
精神离职中两边都<40 且 焦虑≥50
职场清醒人夹角≥60 且 各项均衡健康
夹角打工人以上都不满足(默认大众型)

第四步:数据可视化

诊断结果不能只给个数字,得让人看见自己的夹角。我做了三张图:

雷达图——五维状态一览,一眼看出哪根轴拉满、哪根塌了。

夹角示意图——用极坐标系画两个向量箭头,内卷向量粉色朝上,躺平向量绿色偏开一个角度,中间标注θ=xx°。这一张图是最有冲击力的——你能直观看到自己的两个方向夹了多大。

维度条形图——五根彩条,带动画填充,每个维度得分一目了然。

第五步:诊断报告 + 处方建议 + 分享文案

光给个类型标签不够,得有完整的"诊断报告"。我让系统根据夹角区间、焦虑水平、性价比感知,动态生成一段报告文字。

然后给每种类型配了3条"处方建议"——卷王建议"把摸鱼当KPI完成",夹角打工人建议"先选一个方向别两头都不靠",带薪修行大师建议"把摸鱼时间转化为投资时间"。

最后还自动生成一段朋友圈分享文案,测完直接复制去炫耀。


落地成果:一个可交互的完整Demo

最终成品是一个单文件HTML应用,打开即用,不需要后端。完整功能链路:

开场页 → 介绍工具 + 3个卖点卡片 → 开始诊断! image.png 8题问卷 → 滑块+选择题混合,实时记录答案,带进度条!

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

分析动画 → 6步加载文案("构建职场向量→计算内卷强度→计算躺平强度→计算余弦夹角→匹配类型→生成报告"),让等待变成仪式感

image.png 结果页 → 夹角度数大字 + 类型标签 → 五维雷达图 → 夹角示意图 → 维度明细条 → 诊断报告 → 处方建议 → 朋友圈文案卡 → 重新测试/复制分享

image.png

image.png 7种打工人类型,每种都有独立的:

  • emoji + 名称 + 配色
  • 类型描述(自嘲风)
  • 诊断报告逻辑
  • 3条处方建议
  • 专属分享文案

技术栈:纯HTML + CSS + JavaScript + ECharts,单文件,离线可运行,移动端适配。


复用经验:三个可直接照搬的方法论

经验一:把网络梗变成可量化工具的"三步法"

任何爆火的梗,只要背后能找到数学/逻辑模型,就能做成工具:

第1步:拆解梗的核心矛盾(夹角打工人 = 内卷 vs 躺平)
第2步:找到量化模型(向量余弦夹角 = 方向重叠度)
第3步:设计测量方式(8道接地气问题 → 5维分数 → 向量 → 夹角)

照搬案例:精神状态可以用"情绪向量"算、消费习惯可以用"消费画像向量"算、甚至相亲匹配度都可以做向量夹角。

经验二:交互式诊断工具的"仪式感设计"

一个诊断工具要想让人愿意测、测完愿意分享,体验上必须有仪式感。我总结了一个流程模板:

开场(勾起好奇)→ 问卷(接地气到让人笑)→ 
分析动画(制造期待)→ 大字结果(冲击力)→ 
可视化图表(看得见的科学感)→ 报告(深度解读)→ 
处方(实用建议)→ 分享文案(社交货币)

每一环都不能少。少了开场没人点,少了动画太干巴,少了图表没说服力,少了分享文案传播断掉。

经验三:AI辅助开发的"算法+创意"分工法

开发这个demo时,我的分工方式是:

  • 我来定创意和算法逻辑:五维向量怎么分、内卷和躺平各由哪些维度组成、类型判定条件、每道题的文案调性
  • TRAE Work 来写实现代码:HTML结构、CSS样式、JS逻辑、ECharts配置

具体操作:我先把算法逻辑和交互流程用自然语言描述清楚,然后让它逐块实现。比如夹角计算那段,我的指令是:

把answers对象里的分数按以下逻辑计算:内卷向量=[加班卷度,内驱力,成长投入],躺平向量=[摸鱼度,100-周末分数,100-内驱力]。算两个向量的点积和模长,用arccos算夹角并转成度数。同时算两个向量的归一化强度(0-100)。

这种"人定逻辑、AI写代码"的分工,让开发效率提升巨大。整个demo从想法到可运行,一个下午搞定。


写在最后

"夹角打工人"这个词之所以爆,是因为它说出了大多数人的真实状态。而把它做成一个能算出精确度数的工具,是因为量化本身就是一种治愈——当你知道自己的夹角是32°,你的焦虑就从"我到底怎么了"变成了"哦,原来我夹了32度"。

知道数字,就能调整。

如果你也想测测自己的夹角,打开demo试试。测完别忘了看看处方建议——虽然是AI写的,但有几条意外地有用。

最后说一句:夹角小不可怕,卡在中间不动才可怕。先选一个方向,走起来比什么都强。