Skip to content

Repository files navigation

🧬 Profilology of Foundation Models

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

License: MIT Python 3.9+ PRs Welcome


🎯 What it does

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.

Radar chart — illustrative mock data

🚀 Quickstart

# 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.

Any provider, one command

# 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 meaning

Compare models side by side

profilology \
  --target openai:gpt-4o \
  --target anthropic:claude-3-5-sonnet-latest \
  --target deepseek:deepseek-chat \
  --target moonshot:moonshot-v1-8k

You get one comparison chart — the ideological topography of today's foundation models:

Comparison chart — illustrative mock data

Supported providers

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.

Configuration file

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-chat

🏛 The Theory: Ism-ism (主义主义)

The 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.

🔬 The Method: why logprobs, not answers

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.

Works with every model

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.

📦 Outputs

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

🐍 Python API

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-4

See examples/quickstart.py.

🤝 Contribute

You 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.

🗺 Roadmap

  • 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

📜 The Manifesto

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.

🙏 Acknowledgments

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.

📄 License

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.

About

Profile the ideology of any AI. 24 questions reveal what a model truly believes — one of the 256 ideologies in Ism-ism, the taxonomy of 刘司墨(未明子). Any model. | 侧写任何 AI 的意识形态。24 个问题,看出一个模型真正相信什么——刘司墨(未明子)的主义主义里 256 种主义之一。任何模型。

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages