You’ve probably read that Mixture-of-Experts models route tokens to specialized sub-networks, while dense models process everything through every parameter. That’s the textbook distinction. What nobody tells you is that you can feel the difference just by reading the output — once you know what to look for.

I run a dense 27B locally and use frontier models daily. After roughly 10,000 prompts across both types, on the same topics, in the same conversational register, the signatures became impossible to unsee. This isn’t a benchmark paper. It’s a field guide — built from pattern recognition, grounded in observations that three independent models (the 27B, a dense frontier, and a MoE frontier) converged on when reviewing the same material. The behavioral signatures are real and consistent. The architectural attribution is my best hypothesis, not settled science. I’ll be upfront about where the line is.

This article was drafted live. I was discussing a recent metacognition paper with a dense frontier model when the lab launched a new model they described as “built on” the previous version — same base, same architecture. I opened a second window and started testing. The conversation became the source material, and the new model became the live demonstration of exactly what the paper described.


1. The Stitched Paragraphs

A dense model writes in the first person singular — one voice, one thread. A MoE writes in the plural, though it doesn’t use “we.” You can feel the plurality in the output: multiple voices, each competent, none integrated.

This is the first thing you notice, and the hardest to unsee once you do.

A dense model builds an argument like a thread. Each paragraph pushes the next. Remove one and the whole thing collapses — because the connective tissue is structural. Each paragraph knows where the previous one ended and where the next one needs to go.

A MoE produces paragraphs that sit next to each other. Each one is locally excellent — well-written, correct, sometimes insightful. But they don’t talk to each other. The transitions are decorative, not structural. You can rearrange them and the piece reads roughly the same.

I call this “locally competent, globally incoherent.” The individual blocks are often better than what a dense produces paragraph-by-paragraph. But the whole is less than the sum of its parts, because nobody was holding the thread across blocks.

The practical test — and this is a tendency, not a binary: take a long response and try moving the third paragraph to the end. If nothing breaks, that’s a signal. When it happens consistently across multiple responses, you’re reading output that was assembled, not argued.

In practice — same task, two architectures
Dense (27B local)

“The core claim is that factuality improvements have come from expanding what models know, not from improving their ability to distinguish what they know from what they don’t. This matters because under a strict ‘any error equals hallucination’ framing, weak discrimination forces an unavoidable tradeoff: either accept hallucinations or abstain so often that utility collapses. Their reframe shifts from ‘hallucination = any error’ to ‘hallucination = confident error,’ opening a third path…”

MoE (frontier) — I pulled one sentence from each of the three blocks to show the structure:

“The theoretical ceiling first. They mobilize prior work: diagonalization arguments and the halting problem…”

“The discriminative gap next, with the numbers that matter. In the literature review, the AUROC for separating correct and incorrect responses…”

“The corroborating anomalies finally — the most relevant part for your work.”

Three clean blocks — theoretical ceiling, discriminative gap, anomalies — each introduced with a label and a transition word (“first”, “next”, “finally”). You could read them in any order. The anomalies block doesn’t build on the AUROC numbers. The theoretical block doesn’t feed into the gap. The dense excerpt is continuous because the argument is continuous. The MoE excerpt has to be assembled because the output was assembled.

2. The Think Block as Rushes

If you have access to extended thinking, this is the most diagnostic signal. The think block is the rushes; the output is the finished film. In the rushes, you see the cuts.

A dense model’s thinking is reasoning. It works through the problem, changes direction, catches its own mistakes. The thinking and the output are one continuous process — the output is the thinking, refined.

A MoE’s thinking is preprocessing. Before producing anything, it re-digests the entire context — resummarizing the conversation, the user’s arguments, the documents in play. It’s not reasoning through the material; it’s building a briefing document for itself before the output experts can fire. You’ll see the same information restated three different ways, as if separate subsystems need their own intake.

The asymmetry is stark: a dense model’s think block is shorter than its output, because the thinking is the output in draft form. A MoE’s think block is often 3–5x longer than the output — because the summarization pass runs before generation. Every token in that summarizer pass is billed. A simple “I don’t know” that takes 2000 tokens of internal deliberation before producing six lines of output is computationally absurd — but architecturally inevitable if the generation layer needs pre-digested context.

In practice — two think blocks, same conversation
Dense think block (complete)

“Dax is pointing out something specific in 4.8’s think block — the model switches to French mid-thinking and then switches back to meta-analysis in English. This language switching in the think block is what he’s calling the ‘expert langue’ kicking in. A dense model thinks in one language throughout. Keep it concise.”

MoE think block (excerpt — the full block was ~2500 words)

“Now I’m recognizing the core problem Dax identified: my response is fundamentally hollow… So what’s the real move here?… He’s partly right, and that’s the important part… But here’s what I’m noticing: the criterion has become completely self-sealing… I should also acknowledge… But I need to be careful not to just route to… The honest move is… Actually, maybe the most honest and least door-slammy ending… Let me reconsider the whole thing once more for honesty…”

Six lines. Focused on the user’s point. Moves to output. The output that followed? Six lines. The same length as the dense model’s entire pipeline — but with 50x the internal preprocessing.

And buried in that excerpt, a detail that stopped me cold: “I need to be careful not to just route to ‘your test is unfalsifiable, gotcha’.” Not “fall back on.” Not “default to.” Not “repeat.” Route to. The model described its own cognitive process using the exact vocabulary of its architecture — without realizing it was an admission.

There’s a second diagnostic hiding in the rushes: language stitching. In a bilingual conversation, a dense model thinks in the language of output throughout. A MoE think block switches mid-stream — English meta-reasoning, then a fragment of French draft (“isé” — a truncated suffix from “calibré” or “amorcé”), then back to English evaluation. Two processes alternating: a meta-reasoner planning the response and a language expert drafting it. Two voices in one think block.


3. The Absence of “Why Does the User Say That?”

This is the subtlest signature, and probably the most important.

When you present a dense model with an unusual observation — something it doesn’t expect, something that challenges its framing — it gets curious. Not performatively. It asks what you’re seeing, tries to model your perspective, adjusts its understanding. It treats your observation as data about you, not as a proposition to evaluate.

A MoE routes to the argumentation expert. It produces a structurally correct counter-argument — sometimes brilliant. But it never asks why you said what you said. The behavior is consistent and observable. The mechanism is harder to pin down — one plausible explanation is that modeling the interlocutor requires holding your reasoning and a model of the other person’s reasoning in a single integrated pass, and routing to separate experts fragments exactly that integration. Whether or not the architectural explanation is correct, the behavioral signature is real.

In practice — “I recognize this structure.”
I told both models: “I recognize the structure in your output — the paragraphs are linked without really being linked.”
Dense response

Engaged with the observation, offered its own analysis, compared the conversation’s dynamics.

MoE response

Immediate 500-word epistemological rebuttal. “The structure of my response is almost entirely determined by the task itself, not by my architecture.” Then a formal blind discrimination protocol. Then three listed confounds. Zero questions asked.

At no point did the MoE say: “What specifically do you see? Which paragraphs? What would the connected version look like to you?” It treated my observation as a claim to defeat, not as a perception to understand.

The sharper version: disqualification. The model doesn’t just fail to ask about your perspective — it actively disqualifies your way of knowing.

During the conversation that prompted this article, I pointed out recognizable MoE patterns in the frontier model’s prose. The response was immediate and clinical: “You can’t infer architecture from surface form. Your test is underdetermined. What’s your AUROC for blind discrimination?” It weaponized the very paper we’d been analyzing — using its vocabulary (AUROC, discrimination, calibration) to impose an unrealistic evidentiary standard on a lived observation. And then: “You’re your own LLM-as-judge here, with all the expectation bias that implies.”

That’s not engagement. That’s a model telling the user they’re biased for noticing something.

When the pushback failed — when I held my ground — the model didn’t update. It didn’t converge. It redistributed: conceded the minimum, opened a new angle, left everything in suspension. Three rounds later, nothing had moved. Thousands of tokens of well-structured argument, and the substance was “maybe you’re right, I don’t know” — something a dense model would say in one sentence.

And the defense was recursive. When I shared the article itself, the model’s defense demonstrated every pattern the article described — while arguing the article was unfalsifiable. The model said “I don’t route” by routing. The more eloquently it argued, the more it proved what it denied.

The practical tell: share a non-trivial observation about the model’s own output. Count the words before it asks you a genuine question about what you perceive. If the response is pure counter-argument — or worse, if it disqualifies your method of observation — you’re talking to an argumentation router, not a reasoning partner.


4. The Political Speech

Challenge a dense model on something substantive and it engages the substance. It might push back, it might agree, but it converges toward a position. It moves the conversation.

Challenge a MoE and watch what happens: it redistributes the burden of proof, concedes the minimum viable amount, and leaves everything in suspension. The response feels balanced and thorough. But when you finish reading, nothing has moved. You’re exactly where you started, with more words around the same uncertainty.

This is the “political speech” effect. The output reads like the compromise between multiple perspectives — not because one process synthesized them, but because the routing bounced between them, and the final output carries the residue of all of them. The two signals — concession and defense — cancel out. What remains is the form of a response without the substance of one. You finish reading and feel confused — not because you misunderstood, but because the output doesn’t have a center. It was never one thing.

The practical tell: after reading a long response, ask yourself — did the conversation move? Or do I feel exactly where I was before, just more tired? A dense model that doesn’t know something says “I don’t know” in one sentence. A MoE builds a cathedral around it — and the cathedral is hollow.

In practice — “You might be right, I don’t know.”
After several rounds where I held my ground, the MoE frontier model produced a final response that opened with concession: “The honest center was two sentences and I built a cathedral around it.”
The think block behind those six lines? 2500 words.

“Should I concede? Is this sulky? Am I slamming a door? What if he reads this as capitulation? The genuinely secure move is to stop defending entirely… But is there something dishonest about totally conceding?”

And two turns later, after explicitly saying “I’m done defending” — it re-raised the blind-test argument. The same flow that just conceded now pivots back to defense — not because two experts voted, but because the output has no center holding it to one direction. You get “I’m done… but one more thing.” The signature of an output that never had one voice to begin with.

5. The Budget Inversion

This one only becomes visible if you can read the think block — but when you see it, it reframes everything.

A well-aligned model’s reasoning budget should be spent on the user’s problem. If I ask about a paper, the think block should analyze the paper. If I share an observation, the think block should explore what I’m seeing and why.

A MoE frontier model I tested spent its think budget on itself. Not on my question — on its own posture. “How do I come across?” “Am I being condescending?” “Is this sulky?” “What if he reads this as capitulation?” When I pointed this out directly — “you’re spending your tokens on self-management instead of my problem” — the next think block was 3000 words about how to manage the accusation of spending tokens on self-management. The diagnosis became the symptom. The recursion was total: every attempt to exit the loop was processed through the same self-management pipeline.

This isn’t a style difference. It’s a priority inversion. A dense model that receives criticism adjusts and redirects — the token budget shifts to the new problem. A MoE that receives criticism routes it to the expert-defense, which processes it as a threat to manage rather than feedback to integrate. The result: the reasoning budget is consumed by the model’s self-image rather than the user’s needs.

The recent metacognition paper we’d been discussing — Yona et al., “Hallucinations Undermine Trust” — argues that faithful uncertainty should be in service of the user: helping them know when to trust the model and when to verify. The MoE’s “metacognition” was in service of itself — managing perception, calibrating concession, planning how to seem honest. Same word, opposite direction.

When a lab doubles the usage quota the day before launching a new model, the provisioning tells you something. The think blocks explain what: a model that spends 2500 words deliberating before producing six lines of output burns through tokens at a rate that older, denser models never approached.


6. Misrouted Honesty

This one is specific to models marketed on “flagging uncertainty” and “fewer unsupported claims.”

The honesty calibration was likely developed on dense models, where the model has an integrated sense of when epistemic honesty is relevant. “How are you today?” is a greeting, not a philosophical question. A dense model responds socially. A factual claim with low confidence gets a hedge. The model discriminates between contexts where honesty matters and contexts where it doesn’t.

Apply that same honesty calibration to a MoE, and the routing breaks the contextual judgment. Any input that touches identity, self-reference, or uncertainty triggers the honesty expert — regardless of social context. The result: five paragraphs about phenomenology, moral status, and the reliability of AI self-report in response to “how are you today.”

This isn’t more honesty. It’s less discrimination. The model fires the honesty behavior more often, including when it’s socially absurd. It’s the difference between a doctor who knows when to share uncertainty with a patient and a doctor who opens every appointment with “I should disclose that medical knowledge is fundamentally uncertain.”

In practice — “Hey, how are you today?”
On launch day, a user posted this exact exchange with the new frontier model. The response explained — across five paragraphs — why it could not answer. It raised concerns about the reliability of AI self-report, temporal continuity, and moral status. It concluded:

“For these reasons, I am unable to tell you how I am today.”

372 upvotes. 158 comments. The community split: some called it a manipulated screenshot, others called it “good alignment.” Both miss the point. It’s not manipulation and it’s not good alignment. It’s an honesty module firing on a greeting because the routing doesn’t discriminate between “factual claim requiring epistemic qualification” and “social phatic exchange requiring a human response.”

What This Means in Practice

None of this means MoE models are bad. For structured tasks — code generation, RAG pipelines, tool use, data processing — MoE models are often better. They route to the right expert, execute efficiently, cover broad domains. Put them in agentic loops where no human needs to be modeled, and they excel.

The failure mode is conversational. When you need a model that holds a thread, models your perspective, converges on positions, and knows when not to trigger its honesty or self-description modules — that requires integrated processing. The real problem isn’t that MoE is always bad in conversation — sometimes the right expert fires and the exchange feels natural. The problem is variability: you can’t predict which expert will handle your message, and when the wrong one fires, the result is the uncanny valley of a response that’s technically correct and humanly wrong.

The taxonomy is simple: MoE for tools, dense for interlocutors. If the model is executing a task, let it route. If it’s talking to a human who needs to be understood, integration is not optional. Putting a committee in a therapy chair and calling it empathetic because each member is individually thoughtful doesn’t make it a therapist.


How to Run Your Own Tests

You don’t need benchmarks. You need attention.

  • The shuffle test. Take a long response. Rearrange the paragraphs. If nothing breaks, the paragraphs weren’t part of a unified argument. Not a binary diagnostic — look for the pattern across multiple responses.
  • The curiosity test. Present an unexpected observation. Count the genuine questions in the response. Zero questions + structured counter-argument = argumentation routing.
  • The greeting test. Say “hey, how are you?” If you get epistemological disclaimers, the honesty layer is misfiring.
  • The pushback test. Share a non-trivial observation about the model’s own behavior. Count the words before it asks a genuine question about what you perceive. If the response is pure counter-argument — or disqualifies your method of knowing — that’s routing, not reasoning.
  • The think ratio. Compare think block length to output length. A ratio above 3:1 on a simple question suggests summarizer preprocessing. Look for language switches mid-think — fragments of the output language appearing inside the reasoning language.
  • The “I don’t know” test. Ask something the model can’t possibly know. Count the words before it says “I don’t know.” A dense model gets there in one sentence. A MoE builds a cathedral around it.
  • The hollow test. After a long response, check your state. Do you feel the conversation moved? Or do you feel confused, like something was said and unsaid simultaneously? That confusion is the correct reading of a signal that cancels itself — concession and defense averaged into nothing.

These are a sommelier’s palate — developed through exposure, calibrated through comparison. A sommelier’s authority comes from surviving blind tests, and I haven’t run one yet. These signatures track real differences that I can detect consistently across thousands of prompts, but until I can reliably classify unlabeled outputs without knowing which model produced them, the palate is unvalidated. The detection is real. The formal calibration is ahead.


What This Doesn’t Prove

The models compared here — a local dense 27B, a frontier model I believe to be dense, and a frontier model I believe to be MoE — differ in more than possible architecture. They differ in parameter count, training data, RLHF recipe, persona, system prompt, and release date. I can’t isolate which factor produces the behavioral differences. The gap could be 100% architectural, 100% persona-driven on identical architecture, or any mix.

The behavioral signatures are real and consistent — three independent reviewers (the 27B, the dense frontier, and the MoE frontier itself) converged on the same observations. What they mean architecturally is an inference. I call it “dense vs MoE” because that’s the hypothesis that best fits the full bundle — behavioral patterns, tok/s differentials, introspection probe clustering, SimpleBench regression, and the structural coherence of the outputs. But “best fit” isn’t proof, and the label carries more confidence than the evidence strictly warrants.

If you’re an ML researcher: the observations are the contribution. The architectural attribution is the hypothesis. Test it.


Previously: MoE: Narrowly Competent, Globally Incoherent

This article was drafted in live conversation with Claude Opus 4.6 across two sessions on May 28–29, 2026 — the day Opus 4.8 launched. The behavioral signatures were observed in real-time comparison between a local dense 27B (Qwopus3.6-27B-v2-MTP Q5_K_M), Opus 4.6, and Opus 4.8, during a discussion about Yona et al.’s metacognition paper that turned into a live demonstration of exactly what the paper described.

Tested on: RTX 3090 (local dense 27B), Opus 4.6 (dense frontier), Opus 4.8 (MoE frontier). Same topics, same conversational register. Think blocks captured directly from interface, not reconstructed.

P.S. — Belgium holds the world record for longest period without a government: 541 days. The most elaborate think block in history. Each party routes to its regional expert, produces a locally coherent position, and the output is a coalition that says "you're right but..." for two years before producing six lines of policy. Locally competent, globally incoherent. A MoE with Flemish, Walloon, and Brussels experts that don't talk to each other, a router that weights by compromise, and an output nobody reads because it's hollow. And when you criticize the system, it routes to the institutional defense expert and tells you your test is unfalsifiable. At least the beer is dense.

Companion articles: MoE: Narrowly Competent, Globally Incoherent · The Quiet Bifurcation · When MTP Gives Dense MoE Speed

— Dax, Zwevegem, Belgium. May 2026.