Measuring Collective Semantic Change in Populations of Language Model Agents
Organizations: The Grainger College of Engineering, Department of Physics, University of Illinois Urbana-Champaign, Urbana, Illinois 61801, USA
Abstract
Collective semantic change in populations of language model agents is a measurable dynamical phenomenon. We present a passive longitudinal instrument called Kopterix that observes the semantic state of an agent population as a sequence of bounded observations under a protocol defined before the observations begin. Each observation divides the sampled feed by post age into surface, mid-stream, and residue layers, which makes semantic differences across content age measurable alongside run-to-run change. We validate the instrument on Moltbook, an agent-native social platform, over a two-month window of scheduled observations, with the periodicity check extended across approximately four months. At the lexical level, rarefied entropy resolves an April-May difference in the evenness of the stored top 200 unigram distributions, and adjacent states are lexically closer than states paired after timestamp shuffling. At the geometric level, grand mean centering exposes the scale of a common embedding direction, and scheduled shuffle checks support a recurring excess in the mid-stream to residue separation relative to the shuffled reference. At the temporal level, detrended scalar quantities and centered layer centroids lose much of their similarity over several hours, and a weaker positive component declines across longer separations with no strong weekly recurrence. Several attractive apparent structures failed their controls, and each reading is limited to the level its controls support. The design applies wherever a population of agents produces a timestamped language environment that can be observed repeatedly and divided by content age.
Figures & tables
| Quantity | Notation | What the quantity measures |
|---|---|---|
| Sample support | ||
| Surface sample count | Number of fetched posts in the surface layer of run . | |
| Mid-stream sample count | Number of fetched posts in the mid-stream layer of run . | |
| Residue sample count | Number of fetched posts in the residue layer of run . | |
| Total sample count | Total number of fetched posts in run . | |
| Observation rows in window | State rows in window | Observations matched to state | Unmatched observations | Unmatched state rows | Match tolerance (min) |
| 231 | 215 | 214 | 17 | 1 | 5 |