By now most people have typed their own company name into ChatGPT, just to see what comes back.
Ask about one category, and there you are. Ask about the category right next door, and you’ve vanished.
I’ve watched this happen enough times to stop being surprised (and it’s usually the category I’d have bet on). One question you’re a known name; one question later, nobody’s heard of you.
But it leaves a question I can’t put down: how does a model decide what kind of company you are in the first place?
If there’s a structure behind it, you can work on it. If it’s just noise, you can’t. That’s a real fork in the road.
And a team has now gone and opened up the model to answer exactly that. So let’s look at what they found.
How Does A Model Even Store “Acme Is A Software Company”?
The paper went up on arXiv in April 2026 (R).
The subject is — the work of tying separate facts into one bundle, so that “Acme” and “software company” are held together as a single thing rather than two words floating near each other. Without it nothing else works: you can’t follow a conversation, or even a paragraph, if you can’t keep track of who did what.
Models are already good at reasoning over relationships; what nobody could say was how, on the inside, they were bundling any of it. So the team went at it with — the business of pulling a model apart component by component to find out which bit actually decided the answer. For a marketer that matters, because a mechanism you can name is a mechanism you can eventually measure.
The setup, roughly:
- Two families of models
- A controlled dataset of entities (people, organizations, that sort of thing) with labeled relations
- The question: can you read off “which entity, which relation” from the model’s internal signals alone?
What They Found Was A Filing Cabinet
And what turned up was storage — much tidier storage than I’d have guessed. The team calls it a Cell-based Binding Representation: one small subspace, one “cell”, for every entity-and-relation pair.
Think of a wall of lockers. “Acme, relation 1” has its own locker; “Acme, relation 2” has the one next to it. The attribute lives inside, and when the model answers, it goes and opens that specific door.
The odd part is the geometry. Project those internal signals onto the right plane and the cells line up in a lattice — a grid, basically, like someone folded a sheet of graph paper into the model’s head.
Which cell you’re in turns out to be readable by a simple linear calculation, and that readout held up across different subject domains and across both model families, so it isn’t one model’s quirk.
Change the context and the cells don’t scatter; they shift as a block, related by a single translation. The addresses move together, which means what the model learned in one setting carries over to another.
So this isn’t ad-hoc memorization — it’s closer to a reusable address system.
But Is The Grid Actually Doing Anything?
Here’s where the skeptical reader (correctly) pushes back: pretty patterns are cheap, and finding a lattice doesn’t prove the model uses it. Fair enough — plenty of neat structure in nature turns out to be decoration.
So the team ran : swap part of the internal signal while the model is running, and see whether the answer moves. It’s the difference between “these two things happen to co-occur” and “this thing causes that”, which is exactly the difference you want before you spend a budget on it.
Two results:
- Manipulate the cell subspace, and the model’s prediction about which relation is in play changes systematically
- Wreck that subspace, and its ability to answer relational questions drops
So the grid isn’t decoration; it’s load-bearing. “Acme is a software company” wasn’t coming out of a vibe — the model was pulling it out of one specific drawer.
How Far Should We Push This?
But two caveats are worth keeping, because I’d rather you trust the next thing I write.
This is an analysis of a controlled, labeled dataset across two model families. It’s not a full account of how a production-scale system like ChatGPT behaves in the wild, and the authors don’t claim it is.
And understanding how binding works is a different job from having a reliable method to aim it. “Write it like this and you’ll land in the cell” is a claim nobody has tested yet. Maybe I’m wrong about how quickly that gap closes — but right now it’s open.
Still, “the model’s memory has structure” is not a small finding. Structure means you can watch it, and in principle work on it. Noise gives you neither.
Conclusion: Make The Category Easy To Bind, Then Watch It
So, the marketer’s version. Whether an AI names you as “one of the companies in this category” depends on whether that binding exists inside the model, and if it was never formed, your name simply doesn’t come up there — which makes it a structural problem, not a mood. So the fix is structural too, and it comes down to two moves (I’d genuinely stop at two).
First, make “we are in this category” one consistent, boring, repeated fact — on your own site, and in the third-party writing that talks about you. Same words, same category, no clever variations (the urge to reword it every time is a copywriting reflex, and here it works against you). You’re trying to be easy to bundle.
Second, measure which categories the models are actually putting you in right now. If you’re absent from the one you want to be known for, that’s your signal that the binding is weak, not that the AI is being difficult.
Put the consistent facts out, wait for the rebundling, measure again. The loop looks slow, and it’s still the fastest route I know of. The inside of the model turned out to be a lot more organized than the outside behavior suggests — worth finding out what’s currently filed in your drawer.
Sources
- Qin Dai, Benjamin Heinzerling, Kentaro Inui, “Cell-Based Representation of Relational Binding in Language Models”, arXiv:2604.19052, 21 April 2026, arxiv.org (Mechanistic-interpretability analysis of how LLMs bind entities, relations and attributes. Finds a Cell-based Binding Representation: a low-dimensional linear subspace — one “cell” — per entity × relation-index pair. The index is linearly decodable via PLS regression, holds across domains and model families, and forms a lattice-like geometric pattern in the projected activation space. Context-specific representations are related by translation vectors, allowing transfer across contexts. Activation-patching interventions on the subspace systematically change relation prediction, and destroying it degrades performance — evidence the subspace is causally involved. Scope: two model families and a controlled dataset annotated with entities and relations. Limitation: a controlled-setting analysis that does not fully account for the behavior of production-scale models.)