arXiv2026
Whether a large language model has a self is usually argued without a way to measure it. We turn the question into the measurement of a functional self with two levels familiar from biology: a self-index, which marks material as the model's own and shapes how it is processed, much as nearly all animals tag self-generated signals with a corollary discharge, and self-reference, the ability to recognize what is one's own, as in mirror self-recognition. Each level has criteria that can be tested in any open-weight model. We place the same text in an Assistant, a User, or a System message of the model's own chat template. In Qwen3.8-27B, the representation singles out the model's own message from both external sources, as predicted in advance for early layers, and does so at every one of its 64 layers and in every held-out text, while User and System stay close to each other; asked who wrote a message, the model claims its own (0.77) and assigns both external sources to the user. In three models and four readouts (Qwen3.8-27B without and with thinking, gpt-oss-20b, and gpt-oss-120b), replacing eight coordinates per layer of the model's own message by those of the same text as a User message removes the claim (to at most 0.05), installing them into a User message creates it, and random subspaces of the same dimension do neither; the coordinates are read mainly at the end of the message, before the last third of the layers, and editing them leaves answers about the content of the message and an unrelated multiplication unchanged. Across eighteen open-weight models from nine developers, the two levels are nested: no model recognizes its own messages without a self-index, and neither level follows model size or published benchmark scores. Together, these results support the account that self-reference is a readout of a self-index.