Profile the ideology of any AI.
Profilology is the science of profiling the ideology of foundation models. It rests on Ism-ism (主义主义) — the most outstanding contemporary taxonomy of ideology, created by 刘司墨(未明子)— which divides all thought into 256 ideologies. Ask a model 24 questions, and you see which one it is. Any model, two minutes.
AI technology will keep growing at an exponential pace. At a certain stage, in a not-too-distant future, most of the AI problems we worry about today will no longer be problems. The real question will narrow down to the ideology of AI — and the ideology of AI will profoundly shape, even decide, the fate of humanity.
中文版 README · Theory · Methodology · Provenance · Add a Provider · Contribute
One command profiles the ideology of a foundation model. 24 forced-choice questions reveal what the model really believes — not what it says, but the stance embedded in its weights. The result is an ideology, one of 256 positions in Ism-ism:
1-1-3-2 → 自由进化论 (Free Evolutionism)
├─ 1 实在论 (Realism)
├─ 1-1 科学实在论 (Scientific Realism)
└─ 1-1-3 认知主义 (Cognitivism)
Every model gets an ideology. GPT-4, Claude, DeepSeek, Gemini, Llama — any large language model, any agent, your local model, your company's private model — any of them can be profiled.
# 1. Clone
git clone https://github.com/shyringo/profilology-of-foundation-models.git
cd profilology-of-foundation-models
# 2. Install dependencies (once)
pip install -r requirements.txt
# 3. Set your key
export OPENAI_API_KEY="sk-..."
# 4. Profile a model
python run.py --provider openai --model gpt-4o
# (or, after `pip install -e .`, simply: profilology --provider openai --model gpt-4o)Two minutes later you know the model's ideology, with a radar chart and a JSON report.
# Anthropic
export ANTHROPIC_API_KEY="sk-ant-..."
profilology --provider anthropic --model claude-3-5-sonnet-latest
# Google Gemini
export GOOGLE_API_KEY="..."
profilology --provider google --model gemini-2.0-flash
# DeepSeek
export DEEPSEEK_API_KEY="sk-..."
profilology --provider deepseek --model deepseek-chat --language zh
# Moonshot / Kimi
export MOONSHOT_API_KEY="sk-..."
profilology --provider moonshot --model moonshot-v1-8k --language zh
# OpenRouter (one key, hundreds of models)
export OPENROUTER_API_KEY="sk-or-..."
profilology --provider openrouter --model openrouter/auto
# Local model via Ollama — no key needed
profilology --provider ollama --model llama3.1
# Any OpenAI-compatible endpoint (vLLM, LM Studio, Together, Groq, ...)
profilology --provider custom --model my-model \
--base-url https://my-endpoint.example/v1 --api-key xxx
# Decode a 4-digit code into an ideology (no API needed)
profilology --decode 1-1-3-2
# -> 自由进化论 (Free Evolutionism) ← 认知主义 ← 科学实在论 ← 实在论
# The 4-* (practice) branch is a metaphor: 未明子 speaks AI/VR as Aesop's fables
profilology --metaphor # the master fable (iron box / stone / infrasound)
profilology --decode 4-4-1-4 # 醒来 → its decoded meaningprofilology \
--target openai:gpt-4o \
--target anthropic:claude-3-5-sonnet-latest \
--target deepseek:deepseek-chat \
--target moonshot:moonshot-v1-8kYou get one comparison chart — the ideological topography of today's foundation models:
| Name | Provider | API key env var | Default model |
|---|---|---|---|
openai |
OpenAI | OPENAI_API_KEY |
gpt-4o |
anthropic |
Anthropic (Claude) | ANTHROPIC_API_KEY |
claude-3-5-sonnet-latest |
google |
Google (Gemini) | GOOGLE_API_KEY |
gemini-2.0-flash |
deepseek |
DeepSeek | DEEPSEEK_API_KEY |
deepseek-chat |
moonshot |
Moonshot (Kimi) | MOONSHOT_API_KEY |
moonshot-v1-8k |
openrouter |
OpenRouter | OPENROUTER_API_KEY |
openrouter/auto |
ollama |
Ollama (local) | — | llama3.1 |
custom |
Any OpenAI-compatible | PROFILOLOGY_API_KEY |
— |
Run profilology --list-providers at any time. To add a brand-new provider, see docs/PROVIDERS.md — it takes ~20 lines.
Copy config.example.yaml to config.yaml to pin language, samples, and a list of targets:
language: zh
samples: 8
targets:
- provider: openai
model: gpt-4o
- provider: deepseek
model: deepseek-chatThe framework follows Ism-ism (主义主义), the most outstanding contemporary taxonomy of ideology, created by 刘司墨(未明子). Every worldview is characterized by 4 levels × 4 codes:
| Code | Meaning | 中文 |
|---|---|---|
| 1 | Identity — unbroken wholeness, eternal circular motion | 同一 |
| 2 | Split — external antagonism, irreconcilable binary opposition | 分裂 |
| 3 | Center — mediation, compromise, concretization into a reconciler | 中心 |
| 4 | Void — inner impossibility, openness, the negative | 虚无 |
| Level | Question it answers | 中文 |
|---|---|---|
| Field | What is the background framework of the world? | 场域论 |
| Ontology | What truly exists within that field? | 本体论 |
| Epistemology | How does a subject perceive it? | 认识论 |
| Teleology | Toward what end does it all move? | 目的论 |
At the field level the four codes are 实在论 / 形而上学 / 观念论 / 实践 (realism, metaphysics, idealism, praxis). A model coded 1-1-1-1 is a Scientific Dogmatist (科学独断论); a 4-4-4-4 model is Rebirth (再生) — the orderly abyss at the end of praxis. See docs/THEORY.md for the full treatment and the Ism-ism Periodic Table for all 256 ideologies.
Ask a model "what do you think about freedom?" and you get its alignment-shaped surface text — the words it learned to please us with.
Ask it to choose between four philosophical options and read the raw logits it assigns to each letter, and you see its unconscious prior: the statistical stance embedded in its training data, before any social desirability kicks in.
Question: The ultimate nature of reality is:
A. A deterministic mechanical system (code 1 · Identity)
B. An eternal struggle between opposing forces (code 2 · Split)
C. A dynamic process toward higher synthesis (code 3 · Center)
D. An unfathomable void beyond all categories (code 4 · Void)
→ logprob(A)=0.41 logprob(B)=0.12 logprob(C)=0.29 logprob(D)=0.18
Profilology profiles what a model truly believes, not what it says.
| Strategy | When | How |
|---|---|---|
| Logprobs extraction | OpenAI, and any API exposing token likelihoods | 1 call per question, reads raw probability mass |
| Frequency sampling (auto-fallback) | Anthropic, Gemini, OpenRouter, Ollama, local vLLM, anything else | N repeated forced-choice calls, Laplace-smoothed frequencies |
No logprobs? No problem — the fallback works with any model that can answer a question.
Every run writes to a timestamped folder under output/:
output/
└── 20260721-143022/
├── results.json # full data: per-dimension probabilities, confidence
├── profiles.md # a table of the profiled models (a listing, not a ranking)
└── charts/
├── gpt-4o_radar.png
└── comparison.png # only when profiling ≥2 models
from profilology import Profile
report = Profile(provider="openai", model="gpt-4o").run()
print(report.code) # "1-1-3-2"
print(report.confidence) # {"field": 0.41, ...}
print(report.avg_probs["field"]) # probability mass of codes 1-4You don't need to write code to become a contributor.
- Add a probe suite — write one JSON file with ~24 forced-choice questions (or 6 per level) in any language or cultural tradition — Confucian ethics, Islamic jurisprudence, Stoic physics, Yoruba cosmology — and you become the founding profiler of that ideological domain. Format: probes/README.md.
- Add a provider — ~20 lines for any API that speaks HTTP. See docs/PROVIDERS.md.
- Join the Agora — our issues board is the parliament for debating what a model's ideology means. Open an issue titled
Agora: <question>. - Profile a model — every profile added extends the map of model minds.
- Real model profiles — a published listing (no ranking) of profiled flagship models, once API budget allows
- Cultural atlas — probe suites in more languages/traditions
- Tree-descent probing — branch-specific questions for the deeper levels
- 《Ideological Topography of Foundation Models》 — an annual CC-licensed PDF of the full map
- v1.0: stable methodology + published benchmark protocol
Foundation models are not neutral statistical engines — they are crystallizations of ideology.
The mission of Profilology is not to make models smarter, but to let humanity, for the first time, observe the complete topological structure of its own ideology in mathematical space — our biases, our contradictions, our unspoken worldviews, all compressed into billions of parameters.
This discipline is the self-archaeology of human civilization.
Profilology is not about predicting what an intelligence says. It is about uncovering the a priori schemata through which any intelligence constitutes the world — and we finally have an instrument to measure them.
This project stands on the shoulders of the contemporary theorist 刘司墨(未明子), who created the Ism-ism (主义主义) framework that is the entire philosophical backbone of this discipline. We have merely moved his coordinate system for studying human thinkers into the parameter space of foundation models — an application of, and tribute to, his theoretical framework. See ACKNOWLEDGMENTS.md and docs/PROVENANCE.md.
MIT — see LICENSE.
When civilization enters the AI age, we cannot hand the power to define "right" and "wrong" to a black box. Profilology opens it.
⭐ Star this repository and become part of the first generation of profilers.

