最近刷屏的 SBTI 人格测试,我扒了一下源码,还原了这个性格测试的完整运作逻辑,包含所有人格说明、刷分路线和算法评价。
一、怎么玩
- 点开始,系统把 30 道普通题随机打乱,在中间某个随机位置插入一道"补充题"(爱好题)
- 每道题选 A/B/C,对应值 1 / 2 / 3
- 全部选完后提交,系统算出你的人格类型
- 维度标签默认隐藏(正式模式),开发者预览模式下才会显示
二、维度体系
测试共 15 个维度,分属 5 大模型,每个维度 2 道题:
| 模型 | 维度代号 | 维度名称 |
|---|---|---|
| 自我模型 | S1 | 自尊自信 |
| 自我模型 | S2 | 自我清晰度 |
| 自我模型 | S3 | 核心价值 |
| 情感模型 | E1 | 依恋安全感 |
| 情感模型 | E2 | 情感投入度 |
| 情感模型 | E3 | 边界与依赖 |
| 态度模型 | A1 | 世界观倾向 |
| 态度模型 | A2 | 规则与灵活度 |
| 态度模型 | A3 | 人生意义感 |
| 行动驱力 | Ac1 | 动机导向 |
| 行动驱力 | Ac2 | 决策风格 |
| 行动驱力 | Ac3 | 执行模式 |
| 社交模型 | So1 | 社交主动性 |
| 社交模型 | So2 | 人际边界感 |
| 社交模型 | So3 | 表达与真实度 |
计分规则
每维度得分 = 该维度两道题的选项值之和(范围 2 ~ 6)
sumToLevel():
得分 ≤ 3 → L(低)
得分 = 4 → M(中)
得分 ≥ 5 → H(高)
三、所有人格一览
Pattern 字段含义:15 位字母,依次对应 S1 S2 S3 E1 E2 E3 A1 A2 A3 Ac1 Ac2 Ac3 So1 So2 So3 的期望档位(L/M/H),中间用
-分组方便阅读,计算时忽略。
正常人格(25种)
| 代号 | 中文 | Pattern | 金句 | 一句话描述 |
|---|---|---|---|---|
| CTRL | 拿捏者 | HHH-HMH-MHH-HHH-MHM | 怎么样,被我拿捏了吧? | 人形任务管理器,宇宙熵增的天然反抗者,全方位高维度,是别人混乱生活的最后备份盘 |
| ATM-er | 送钱者 | HHH-HHM-HHH-HMH-MHL | 你以为我很有钱吗? | 永远在"支付"时间精力情绪的老好人,磐石般可靠,却承受瀑布般的索取 |
| Dior-s | 屌丝 | MHM-MMH-MHM-HMH-LHL | 等着我屌丝逆袭。 | 犬儒主义先贤第欧根尼的精神传人,早已看穿一切"上进"的尽头不过是更高级的牢房 |
| BOSS | 领导者 | HHH-HMH-MMH-HHH-LHL | 方向盘给我,我来开。 | 人形气场发生器,效率是信仰,秩序是呼吸,他的"自我突破"约等于普通人的"自虐" |
| THAN-K | 感恩者 | MHM-HMM-HHM-MMH-MHL | 我感谢苍天!我感谢大地! | 永不枯竭的正能量发射塔,能从墙角霉斑里发现梵高风格的星空图 |
| OH-NO | 哦不人 | HHL-LMH-LHH-HHM-LHL | 哦不!我怎么会是这个人格?! | 能从一个杯子放桌沿推演出世界末日,秩序守护神,神经绷得很直的体面人 |
| GOGO | 行者 | HHM-HMH-MMH-HHH-MHM | gogogo~出发咯 | 世界只有两种状态:已完成,和即将被我完成 |
| SEXY | 尤物 | HMH-HHL-HMM-HMM-HLH | 您就是天生的尤物! | 走进房间照明系统会自动调暗亮度,单是存在本身就是一篇华丽到过分的赋 |
| LOVE-R | 多情者 | MLH-LHL-HLH-MLM-MLH | 爱意太满,现实显得有点贫瘠。 | 情感处理器是彩虹制的,一片落叶都能演绎成十三幕悲喜剧的吟游诗人 |
| MUM | 妈妈 | MMH-MHL-HMM-LMM-HLL | 或许...我可以叫你妈妈吗? | 超强共情力,治愈别人的不开心,但给自己的药总是打了折 |
| FAKE | 伪人 | HLM-MML-MLM-MLM-HLH | 已经,没有人类了。 | 切换人格面具比切换输入法还快,最后发现面具摘完后里面是空的 |
| OJBK | 无所谓人 | MMH-MMM-HML-LMM-MML | 我说随便,是真的随便。 | 都行、随便、无所谓——这不是没主见,这是帝王不在意脚下尘埃的统治哲学 |
| MALO | 吗喽 | MLH-MHM-MLH-MLH-LMH | 人生是个副本,而我只是一只吗喽。 | 灵魂停留在荡秋千时代,看透了所谓文明不过是最无聊的付费游戏 |
| JOKE-R | 小丑 | LLH-LHL-LML-LLL-MLM | 原来我们都是小丑。 | 一层层打开到最里面是空的,用最大的笑声盖住心碎的声音 |
| WOC! | 握草人 | HHL-HMH-MMH-HHM-LHH | 卧槽,我怎么是这个人格? | 表面系统负责"我操牛逼啊?",后台系统冷静分析"果然不出所料" |
| THIN-K | 思考者 | HHL-HMH-MLH-MHM-LHH | 已深度思考100s。 | 审判信息需要论点论据逻辑潜在偏见全套材料,发呆其实是大脑在归档销毁 |
| SHIT | 愤世者 | HHL-HLH-LMM-HHM-LHH | 这个世界,构石一坨。 | 嘴上骂这是屎,手上默默建函数模型收拾烂摊子,冲锋号响了就去拯救世界 |
| ZZZZ | 装死者 | MHL-MLH-LML-MML-LHM | 我没死,我只是在睡觉。 | 死线前29分钟觉醒,不鸣则已一鸣惊人,验证了"什么都不做就不会做错"的真理 |
| POOR | 贫困者 | HHL-MLH-LMH-HHH-LHL | 我穷,但我很专。 | 不是资源少,是把精力全灌进一个坑里,看起来贫困实际上像矿井 |
| MONK | 僧人 | HHL-LLH-LLM-MML-LHM | 没有那种世俗的欲望。 | 已看破红尘,个人空间是结界是须弥山,行星之间亿万公里的距离才是和谐宇宙 |
| IMSB | 傻者 | LLM-LMM-LLL-LLL-MLM | 认真的么?我真的是傻逼么? | 脑内两个战士"我他妈冲了"和"我是个傻逼"永不停歇,内心戏比漫威宇宙所有电影还长 |
| SOLO | 孤儿 | LML-LLH-LHL-LML-LHM | 我哭了,我怎么会是孤儿? | 在灵魂外围建起"莫挨老子"万里长城,满身尖刺是说不出口的"别过来"和"别离开" |
| FUCK | 草者 | MLL-LHL-LLM-MLL-HLH | 操!这是什么人格? | 人形野草无法被除草剂杀死,情绪开关是物理拨片式:FUCK YEAH 和 FUCK OFF |
| DEAD | 死者 | LLL-LLM-LML-LLL-LHM | 我,还活着吗? | 通关所有主线支线隐藏任务删档999次后发现游戏压根没意思,超越欲望的终极贤者 |
| IMFW | 废物 | LLH-LHL-LML-LLL-MLL | 我真的...是废物吗? | 自尊脆弱缺乏安全感,给颗糖能还你一个完全信任的亮晶晶眼神,太没防备太容易认真 |
特殊人格(2种,无法正常匹配到)
| 代号 | 中文 | 触发条件 | 描述 |
|---|---|---|---|
| HHHH | 傻乐者 | 最高匹配度 < 60% 时系统强制分配 | 思维回路过于清奇,标准人格库集体崩溃,哈哈哈哈哈哈就是全部特质了 |
| DRUNK | 酒鬼 | 隐藏彩蛋触发(见下文) | 体内流淌的不是血液是五粮液,烈酒烧喉不得不醉 |
四、隐藏彩蛋:DRUNK 的触发方式
测试中有一道随机插入的"补充题"问你爱好,选"饮酒"(选项C) 后会立刻弹出追加题:
您对饮酒的态度是?
- A. 小酌怡情,喝不了太多。
- B. 我习惯将白酒灌在保温杯,当白开水喝,酒精令我信服。
选 B → 无论其他 30 道题答了什么,直接忽略所有匹配,强制输出 DRUNK(酒鬼),匹配度显示 100%。
若爱好题没选"饮酒",追加题不会出现。
五、怎么刷出特定人格
原理
每道题的选项值是 1/2/3,每个维度 2 道题相加,转为 L/M/H:
| 两题合计 | 档位 |
|---|---|
| 2 或 3 | L |
| 4 | M |
| 5 或 6 | H |
要让某维度出 H:两题各选 3(或一题 3 一题 2) 要让某维度出 M:两题各选 2(或一题 1 一题 3) 要让某维度出 L:两题各选 1(或一题 1 一题 2)
系统然后把你的 15 维档位向量和所有预设人格比距离,取最近的。
刷法示例
想要 CTRL(拿捏者):Pattern = HHH-HMH-MHH-HHH-MHM
→ 大部分题选 3,S3、E2、A1、So1、So3 的两道题各选一个 2 凑出 M
想要 DEAD(死者):Pattern = LLL-LLM-LML-LLL-LHM
→ 大部分题选 1,E3/A2/So2 略高一点选 2,So2 两题选 2+3
想要 GOGO(行者):Pattern = HHM-HMH-MMH-HHH-MHM
→ 多数选 3,S3/E2/A1/A2/So1/So3 各凑一个 M
全选同一个答案的结果(经代码验证)
| 选法 | 结果 | 距离 | 精准命中 | 相似度 | 备注 |
|---|---|---|---|---|---|
| 全选 1 | DEAD(死者) | 5 | 11/15 | 83% | IMSB 距离也是5但命中10,DEAD 稳赢;JOKE-R 距离7更远 |
| 全选 2 | OJBK(无所谓人) | 5 | 10/15 | 83% | 次近是 THAN-K(距离7),差距明显 |
| 全选 3 | CTRL(拿捏者) | 4 | 11/15 | 87% | 所有情况中匹配度最高,ATM-er 距离5为次 |
巧合又合理:选最低=DEAD,选随便=无所谓,选最高=拿捏者。
六、算法准不准?
算法本身
用户向量:[L/M/H 转成 1/2/3] × 15维
预设类型向量:同上
距离 = Σ |user[i] - type[i]| (曼哈顿距离)
相似度 = max(0, round((1 - 距离/30) × 100))%
排序:距离升序 → 精准命中数降序 → 相似度降序
算法本身没毛病,曼哈顿距离用于离散多档位匹配是合理的。
但结果不太准,原因有三
1. 每维度只有 2 道题,信息量太少 2 道题能捕捉的信号极其有限,答案轻微抖动就会改变档位,进而改变最终类型。
2. 选项方向不统一,没有做反向计分 正规心理测试里,同一维度的题目有些正向(选高=高倾向)、有些反向(选高=低倾向),需要翻转后再加总。这个测试没有做反向计分,导致同维度的两道题实际上测的可能是相反的东西,互相抵消。
3. 人格类型是作者创作的,不是心理学模型 MBTI、Big5 等正规测试的类型都有大量实证研究支撑,这个测试的 25 种人格是作者拍脑袋设计的,命名和描述文学性很强,但没有学术依据。
结论
娱乐测试,别当真。 作者自己在结果页写的是:
"本测试仅供娱乐,别拿它当诊断、面试、相亲、分手、招魂、算命或人生判决书。你可以笑,但别太当真。"
题目的文风比算法用心得多,这就是它的价值所在。