rodspeed
Joined 7 months ago
Joined 7 months ago
I don't think it's anthropomorphizing to study how vocabulary constraints change reasoning quality. The paper doesn't claim LLMs think. It measures accuracy on tasks with known correct answers under different constraints and finds structured patterns.
"Limiting output changes output" is true but undersells what's happening. If you removed random words from a calculator's input language you'd expect degraded or noisy results. Instead, removing possessive "to have" (so the model can't say "the argument has a flaw" and has to say "the argument fails because...") improves ethical reasoning by 19pp across all three models. Removing "to be" helps Gemini by 42pp on that same task but collapses GPT-4o-mini by 27pp on a different one. The cross-model correlation is r=-0.75, meaning the same restriction systematically helps one model and hurts another.
That's not just different output. The restrictions are forcing different reasoning paths depending on the task and the model. Why specific vocabulary removals produce specific, predictable accuracy changes is the question. Running a 15,600-trial follow-up now to dig into it further.
Key findings:
-No-Have improves ethical reasoning by 19pp (p<0.001) and epistemic calibration by 7.4pp across all models -E-Prime improves Gemini's ethical reasoning by 42pp but collapses GPT-4o-mini's epistemic calibration by 27pp -Cross-model correlations reach r=-0.75 — the same constraint helps one model and hurts another -A 3-agent ensemble using linguistically diverse constraints hits 100% coverage on debugging problems vs 88% for the unconstrained control
The idea: for an LLM, language isn't a medium through which cognition passes — it IS the cognition. Designing the vocabulary an agent reasons in is a distinct engineering discipline from prompt or context engineering. I call it "Umwelt engineering" after Jakob von Uexküll's concept of an organism's perceptual world.
Paper: https://arxiv.org/abs/2603.27626 Code + data: https://github.com/rodspeed/umwelt-engineering
The observations layer being append-only is smart, thats basically the same instinct as the tensions log. The raw data stays honest even when the interpretation changes.
The freshness approach and explicit confidence scores probably complement each other more than they compete. Freshness tells you when something was last touched, confidence tells you how much weight it deserved in the first place. A belief you inferred once three months ago should decay differently than one you confirmed across 20 sessions three months ago. Both are stale by timestamp but they're not the same kind of stale.
The other thing is that even if the model handles memory internally, you probably still want the beliefs to be inspectable and editable by the user. A hidden internal model of who you are is exactly the problem I was trying to solve. Transparency might need to stay in the scaffold layer regardless.
The framing assumes github repos are supposed to be products.
An observation from 30 sessions ago and a guess from one offhand remark just sit at the same level. So I started tagging beliefs with confidence scores and timestamps, and decaying ones that haven't been reinforced. The most useful piece ended up being a contradictions log where conflicting observations both stay on the record. Default status: unresolved.
Tiered loading is smart for retrival. Curious if you've thought about the confidence problem on top of it, like when something in warm memory goes stale or conflicts with something newer.