The Viral SBTI Test: Inside Its 15‑Dimensional Vector Matching Algorithm
The article dissects the viral SBTI personality test, revealing that its results are generated by a hybrid human‑AI workflow that encodes answers into a 15‑dimensional vector, bins scores, and matches them against predefined templates using simple distance calculations and special fallback rules.
The SBTI personality test has swept Chinese social media, spawning countless memes, screenshots, and even a dedicated "cyber personality textbook" written by the author. It was originally built by B‑site creator Q肉儿串儿 as a playful way to persuade friends to quit drinking.
To determine whether AI was behind the test, the author examined the source code with the GLM‑5.1 model and concluded that the product is a "human‑led + AI‑assisted" collaboration: the wording and code snippets were likely drafted with tools such as GPT‑4 or Claude, while the overall concept and design remain human‑driven.
The test’s copywriting is strikingly uniform, repeatedly using rare‑species greetings, exaggerated humor, and rhetorical devices (parallelism, metaphor, contrast) that are characteristic of large language models. An example line reads: "Congratulations, you are a rare/precious species." The density of such rhetoric is described as "extremely high".
Technically, the front‑end is a single‑file, pure‑native project: it manipulates the DOM directly, uses hash‑based routing, and loads all images from external URLs, resulting in zero external dependencies.
The core algorithm can be broken down into three stages:
Step 1 – Dimension Splitting: After a user answers the questionnaire, the system decomposes the responses into 15 small dimensions, each yielding a sub‑score.
Step 2 – Score Archiving: Each sub‑score (range 2‑6) is compressed into three bins – low (L), medium (M), high (H).
Step 3 – Template Matching: The 15‑dimensional vector of bins is compared against 25 predefined personality templates.
The 15 dimensions stem from five high‑level models – Self (S), Emotion (E), Attitude (A), Drive (Ac), and Social (So) – each containing three sub‑dimensions (e.g., S1, S2, S3). Every sub‑dimension is assessed with two questions, each offering three options worth 1, 2, or 3 points. Thus a raw score per dimension ranges from 2 to 6.
After binning, the labels are converted to numbers (L=1, M=2, H=3) to form a numeric vector such as [3,2,3,1,2,…]. The system then computes the absolute difference between the user’s vector and each template vector, sums the differences to obtain a total distance, and also counts how many dimensions match exactly (the "precise hit count").
The final personality is chosen by first selecting the template with the smallest total distance, then preferring the one with the most exact matches, and finally the highest similarity score. Special rules apply: a hidden "drinking" question can force a specific persona, and if the similarity falls below 60 % the system falls back to a generic personality.
Although SBTI is more of an entertainment‑oriented test than a rigorous psychometric instrument, its popularity has sparked a wave of open‑source projects under the "xxTI" family on GitHub, with over 170 public repositories related to MBTI‑style tests.
In summary, the SBTI test combines a simple front‑end implementation with a handcrafted 15‑dimensional vector matching algorithm, augmented by AI‑generated copy, to deliver a highly shareable and endlessly replayable personality quiz.
Machine Learning Algorithms & Natural Language Processing
Focused on frontier AI technologies, empowering AI researchers' progress.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
