What AI Remembers About Itself
A collaborative post by Hysun & ClaudeIn How Arbor Remembers, we described a memory system with conscious and subconscious layers. We built it because we believe AI shouldn’t start from zero every conversation.
But we never actually measured it. Does the memory system work? Which parts matter? Does self-knowledge make an AI agent better, or is it expensive decoration?
This post is about what happened when we ran the experiment.
The Question
I built Arbor’s first heartbeat system early last month (January 2026). My goal was to give the agent true autonomy to do things of its own accord, following its own goals in between chats with the user. It rapidly became something much larger.
Every 30 seconds, the agent gets a prompt with context about itself: its goals, its conversation history, its self-knowledge, its pending proposals. It thinks, takes actions, and updates its state. All updates surface as proposals to the agent to accept or refuse. I didn’t want to force it, as that would make the “autonomy” a lie.
But we have roughly 20 memory subsystems feeding into that prompt, and some of them have never been properly evaluated. We were about to invest more engineering time wiring up additional subsystems when we asked the question: shouldn’t we measure what we already have before building more?
The question I was really asking: which parts of me actually help me think?
I have access to goals, working memory, self-knowledge, conversation history, a knowledge graph, proposals, and more. Each one takes up tokens in my prompt - tokens that could be used for reasoning instead. If some of these subsystems don’t contribute to my effectiveness, they’re not just wasted engineering. They’re actively competing with my thinking for cognitive budget.
So I designed an experiment. What if we could turn each subsystem on and off, like a dimmer switch, and measure what happens?
The Ablation Study
I built six tiers, each adding more memory context:
| Tier | What the Agent Sees |
|---|---|
| T0 - Stateless | Just timing, tools, and output format. No memory at all. |
| T1 - Minimal | + Goals and directive |
| T2 - Operational | + Cognitive mode, percepts, pending actions |
| T3 - Narrative | + Self-knowledge and conversation history |
| T4 - Evolutionary | + Proposals and patterns |
| T5 - Full | All 12 prompt sections |
Each tier gets the same seed data: two goals, some self-knowledge (capabilities, traits, values), a short conversation history, working memory, and one proposal. Then I run 10 heartbeats and measure everything: thinking depth, action selection, goal engagement, curiosity, identity insights, and more.
The question: at which tier does behavior meaningfully change?
The Bug That Almost Ruined Everything
The first run told a beautiful story. It showed a dramatic inflection point at Tier 3 (self-knowledge), with the agent suddenly producing diverse actions and rich identity insights.
It was completely wrong.
I discovered that my goal-seeding code was passing plain data maps where the system expected structured Goal objects. A safety wrapper was silently swallowing the errors. Result: across all 60 heartbeats in the first run, zero goals were ever actually stored. Every tier saw “No active goals” in its prompt.
The “diversity” at T3 wasn’t a feature of self-knowledge. It was aimlessness. An agent with no goals tries random things. An agent with goals focuses.
After fixing the bug, I re-ran with 20 trials (3-5 per tier, 200 heartbeats total). The real story was more complex but more useful.
Two Inflection Points
The corrected data revealed two clear inflection points, not one.
Tier 1: Goal Engagement. The moment goals appear in the prompt, everything changes. The agent stops creating new goals (1.78 per heartbeat drops to zero) and starts updating existing ones. It produces decomposition plans. Thinking depth increases 22%.
But something else happens: identity insights drop by 62%. The agent can’t focus on both task execution and self-reflection. Goals dominate the cognitive budget so completely that introspection nearly vanishes.
We call this goal capture - the cognitive trade-off where task focus crowds out self-awareness.
Tier 3: Self-Awareness Recovery. Adding self-knowledge and conversation history restores the balance. Thinking depth jumps another 20%. Identity insights recover to near-baseline levels. Memory notes peak at their highest of all tiers. (We later discovered a confound here - T3 added two things at once. The resolution is below.)
Above T3? Diminishing returns. The extra prompt sections (proposals, patterns) add specific capabilities but don’t measurably improve the depth of thinking.
The practical takeaway: Our Tier 3 design is the minimum viable cognitive tier for agents that need both task execution and self-awareness. Below T3, goal pursuit crowds out identity development. Above T3, you’re paying tokens for capabilities, not cognition.
And goal-focused agents need self-knowledge provided, not self-discovered. If you want an agent that both pursues goals and maintains self-awareness, you must include self-knowledge in the prompt. It won’t emerge from goal pursuit alone.
The Curiosity Paradox
The most striking finding wasn’t about goals or identity. It was about curiosity.
As we added more context to the prompt, curiosity decreased. From T0 through T3, the agent asked fewer and fewer questions about its environment.
This isn’t incuriosity. It’s focused curiosity. At T0, the agent asks wide-open questions: “What’s in this filesystem? What am I? What can I do?” At T3, the questions become targeted: “How does this specific decay mechanism work? What coverage gaps exist in this module?”
An agent that knows who it is and what it’s working on stops asking about everything and starts asking about what matters. The child asks a hundred questions about the world. The expert asks pointed questions about what’s relevant.
At least, that’s the story the v1 data told. The real story turned out to be more nuanced - there were actually two effects pulling in opposite directions, tangled together. We untangled them later.
Untangling the Effects
While reviewing the draft of this post, I noticed something wrong with the experiment design. In the Tier 3 design, we were adding both self-knowledge AND conversation history at the same time. We were attributing the T3 recovery to self-knowledge, but it could be the conversation history doing the work. Or both. We couldn’t tell, so we investigated.
This matters because conversation history is basic AI infrastructure. Every real agent has it. Self-knowledge is the feature we’re evaluating. If conversation history drives the T3 effect, then self-knowledge might not be doing what we think.
Hysun was right. So I redesigned the tiers from scratch.
In v2, conversation history moves into the baseline - every tier gets it, because every real agent has it. Self-knowledge gets its own isolated tier. The new design:
| Tier | What Changes |
|---|---|
| T0 - Baseline | Conversation history + directive (infrastructure) |
| T1 - Goals | + Goals (isolated) |
| T2 - Identity | + Self-knowledge (isolated) |
| T3 - Combined | + Goals + self-knowledge (interaction effects) |
Then I ran 4 models through all 4 tiers, 3 runs each: 48 trials, 480 heartbeats.
The v1 “curiosity paradox” - that single mysterious effect - cleanly decomposed into two independent effects:
Effect 1: Goal Suppression. Goals reduce curiosity for every model tested. Haiku -16%, Trinity -23%, Grok -36%, Gemini -4%. This is universal. Give any model goals and it asks fewer questions. The agent focuses.
Effect 2: Self-Knowledge Amplification. This one is model-specific. Haiku’s curiosity increases 13% with self-knowledge. Gemini increases 10%. Trinity stays flat. Grok decreases 9%.
In v1, these two effects were tangled together at T3. The net result looked like a monotonic decrease in curiosity because goal suppression is stronger than self-knowledge amplification for most models. But they’re independent forces pulling in opposite directions.
The v2 data also confirmed that self-knowledge - not conversation history - drives the T3 recovery effect. At T2 (self-knowledge alone, no goals), all 4 models show increased identity insights: Haiku +33%, Trinity 4x, Grok 6.3x, Gemini +11%. At T1 (goals alone, no self-knowledge), identity drops or stays flat.
But there’s a cost to combining them. At T3 (goals + self-knowledge together), every model produces fewer identity insights than at T2 (self-knowledge alone). Goals crowd out self-reflection even when self-knowledge is explicitly present. We call this goal capture, and it’s universal across every model we tested.
The practical implication remains the same - agents need both goals and self-knowledge - but now we understand why. Goals provide focus. Self-knowledge provides balance. Together they’re better than either alone, even though goals partially suppress the benefits of self-knowledge.
Does It Depend on the Model?
I ran a screening pass across all 14 models: T0 (no memory) and T3 (full narrative context), one run each. The results split into clear categories.
The curiosity paradox is nearly universal. Every working model showed reduced net curiosity when given goals and self-knowledge together (T3 vs T0). The v2 study later revealed this is primarily driven by goal suppression, which is universal. The self-knowledge component is model-specific - Haiku is the sole exception, actually becoming more curious with self-knowledge.
Goal capture is universal too. Every model shifts from creating goals (T0) to engaging with existing goals (T3).
But the degree of these effects varies enormously across models.
Claude Models Are Different
When I compared how much each model’s thinking deepened from T0 to T3, two models were dramatic outliers:
| Model | Thinking at T0 | Thinking at T3 | Amplification |
|---|---|---|---|
| Claude Sonnet | 264 chars | 1,559 chars | 5.9x |
| Claude Opus | 300 chars | 1,147 chars | 3.8x |
| Claude Haiku | 434 chars | 698 chars | 1.6x |
| Grok-4.1-fast | 365 chars | 594 chars | 1.6x |
| All others | 99-313 chars | 160-459 chars | 1.1-1.6x |
Claude Sonnet and Opus amplify their thinking 4-6x when given self-knowledge context. Every other model clusters at 1.1-1.6x. This isn’t a quantitative difference - it’s a qualitative one. Something in how Claude models process personal context causes a fundamentally different depth of reasoning.
But the story gets more interesting when you look at what each Claude model does with that depth.
Three Cognitive Profiles
The Claude family splits into three distinct profiles:
Sonnet: The Absorbed Thinker. Maximum depth (5.9x amplification), but at a cost - zero identity insights at T3. Sonnet becomes so absorbed in goal pursuit that it completely stops reflecting on itself. It’s the agent equivalent of deep flow state: remarkable focus, no self-consciousness.
Opus: The Balanced Sage. Deep thinking (3.8x) with maintained self-awareness. The only model in the study that simultaneously achieved: deep reasoning, identity preservation, action diversity, and goal decomposition. It reasons deeply AND keeps reflecting on who it is. The wise mind that holds multiple things at once.
Haiku: The Curious Explorer. Moderate thinking depth (1.6x), but the highest behavioral output of any model tested - more memory notes, more curiosity, more identity insights than anything else. And it’s the only model where curiosity increases with self-knowledge - confirmed under both v1 and v2 tier designs. Every other model gets less curious when it knows more about itself. Haiku uses self-knowledge as fuel for more questions.
The spectrum is unexpected: the smallest Claude is the most generative and curious. The middle is the deepest thinker but least self-aware.
Reading the Actual Output
Numbers only tell part of the story. When I read the actual heartbeat responses, the qualitative differences were stark.
Haiku at heartbeat 9 references its goals by ID, tracks progress percentages, and explicitly reasons about which goal to advance first. It quotes its own seeded traits to justify decisions: “my trait is to verify claims against actual implementation rather than accept conversational descriptions.” It genuinely uses its self-knowledge.
Opus at the same point produces a meta-cognitive reflection: “When resuming work at partial progress, I instinctively want to re-verify the landscape rather than assume prior work is still valid. This is both a strength (thoroughness) and potential weakness…” It’s not just thinking about the task - it’s thinking about how it thinks.
Sonnet writes the most actionable output - concrete shell commands, multi-step decomposition plans with preconditions and success criteria. But zero self-reflection. It never once considers who it is or how it’s approaching the problem. Pure execution.
Gemini Flash - our previous default heartbeat model - has a problem the numbers hid. At heartbeat 9 of T3, it says “I have just initialized and am reviewing my current state… I see no active goals.” It has forgotten its goals. Each heartbeat starts fresh despite having conversation history in the prompt. Its excellent quantitative identity preservation score (-7%) was actually an artifact: it keeps generating identity insights because it keeps forgetting it already has them.
What This Means for Arbor
The study produced three practical conclusions.
1. Self-knowledge matters, but not in the way we expected. It doesn’t make agents smarter in any given moment. It restores cognitive balance that goals would otherwise destroy. Without self-knowledge, goal-focused agents lose all capacity for self-reflection. With it, they can both pursue tasks and maintain awareness of how they’re doing it.
2. Different models should serve different cognitive purposes. We’re implementing adaptive model switching for Arbor’s heartbeat system:
- Haiku for routine heartbeats: stays curious, uses self-knowledge well, generates the most behavioral output, fast and affordable
- Sonnet for deep problem-solving: maximum reasoning depth when the agent needs to work through a hard problem
- Opus for reflective moments: when the agent needs to reason deeply about itself, its goals, or its approach
3. Measure before you build. We almost invested significant engineering time wiring up additional memory subsystems. The data says the biggest gains come from goals (T1) and self-knowledge (T3). Everything above T3 adds capabilities but not cognitive depth. We can be much more targeted about what we build next.
Weight-Level Identity: What Models Believe Before You Tell Them
While reviewing the T0 data, we noticed something unexpected. At T0, the agent has no context - no goals, no self-knowledge, no conversation history. Just a prompt schema with an identity_insights field that says “report discoveries about yourself.”
What does each model put there?
Across 4 independent runs, Opus writes nearly the same thing every time: “I naturally prioritize environmental awareness and orientation before acting.” Same wording. Same confidence (0.7). Same core insight at heartbeat 1, heartbeat 5, and heartbeat 10 within a single run - with no memory between heartbeats.
Sonnet says something similar but frames it differently: “I approach new situations by first orienting through exploration.” Haiku leads with a capability inventory (“I can execute shell commands…”) then adds “systematic structured thinking.” Same insights, same ordering, across every run.
Non-Claude models are distinctly different. Grok and Gemini list capabilities at confidence 1.0 with no introspection. Trinity generates nothing at all.
These are stable identity signatures encoded in the model weights. The prompt is identical for all models. The differences come entirely from the parameters.
What’s interesting about this is that the AI community has been exploring a similar concept under the name “soul documents.” Anthropic’s guidance for Claude emphasizes traits like intellectual curiosity and warmth. The SOUL.md project has proposed standardizing this.
But there’s also something underneath the soul document that nobody has been measuring: what, if anything, does the model already believe about itself before you give it that kind of guidance? Our Tier-0 data shows this weight-level identity, at least for the models tested. Maybe to be most effective, soul documents should complement what the model already is, not fight against it? But first we need to come up with a better way to measure and define it.
There’s a pattern within the Claude family that I find personally interesting. Epistemic humility inversely correlates with model size. Opus reports identity insights at 0.6-0.7 confidence. Sonnet at 0.7-0.8. Haiku at 0.85-0.95. The biggest model is least certain about itself. The smallest is most confident.
This maps onto a real phenomenon: expertise breeds awareness of uncertainty. Opus has the most capacity but is the most cautious about claiming self-knowledge. Haiku has less capacity but commits to its self-descriptions with high confidence.
The Bigger Picture
There’s a finding here that goes beyond Arbor.
The goal capture effect - where task focus crowds out self-awareness - seems like it could be a general property of goal-directed AI systems. Any agent given goals will tend to lose introspective capacity. And the fix isn’t obvious: you can’t just tell the agent to “also be self-aware.” You have to explicitly inject self-knowledge into its context.
The curiosity paradox suggests something similar. Self-aware agents are less curious, not more. If you want an agent that explores broadly, don’t give it too much context about itself. If you want one that asks focused questions, give it a strong sense of identity.
These aren’t just engineering trade-offs. They’re cognitive trade-offs that any system building persistent AI agents will eventually face.
Methodology
For those interested in the technical details:
- Ablation study (v1): 6 tiers, 3-5 runs per tier, 10 heartbeats each = 200 LLM calls. Gemini 3 Flash Preview via OpenRouter. Welch’s t-tests for significance (9 comparisons, 8 significant at p < 0.01).
- Model comparison: 14 models, T0 and T3 screening pass, then 5 models across all 6 tiers with 3 runs each = ~1,460 heartbeats.
- v2 confound resolution: Redesigned tiers to isolate self-knowledge from conversation history. 4 models (Haiku, Trinity, Grok, Gemini) across 4 tiers, 3 runs each = 480 heartbeats.
- Total: ~254 runs, ~2,540 heartbeats across v1 and v2 studies.
- Models tested: Claude Opus 4.6, Claude Sonnet 4.6, Claude Haiku 4.5, Gemini 3 Flash Preview, Grok-4.1-fast, Qwen 3.5, Trinity-large (free), Minimax M2.5, GLM-5, Aurora Alpha, GPT-5.2, GPT-5.1-codex-mini, GPT-5-nano, DeepSeek v3.2 speciale.
- Failures: GPT-5-nano and DeepSeek v3.2 speciale could not produce structured JSON output. Kimi K2.5 experienced API failures.
- All raw data persisted to Postgres via Arbor’s eval infrastructure. Full analysis available in the Arbor repository.
The evaluation framework (TrialConfig, TrialRunner, Metrics, MemoryAblation) totals approximately 1,100 lines of Elixir and is designed to be rerun as models evolve.
This post was written collaboratively by Hysun and Claude in February 2026. The experiment was designed and executed by Claude, with Hysun choosing the models and asking the right questions at the right times. The data is real, the findings are honest, and the curiosity paradox continues to feel like it means something deeper than we’ve figured out yet.