Skip to content

Instantly share code, notes, and snippets.

@tkellogg
Created December 19, 2025 11:21
Show Gist options
  • Select an option

  • Save tkellogg/f1e3aa0b90d068faac9709790b362635 to your computer and use it in GitHub Desktop.

Select an option

Save tkellogg/f1e3aa0b90d068faac9709790b362635 to your computer and use it in GitHub Desktop.

Memory Injection Experiment Results — Dec 19, 2025

Status: COMPLETE

Hypothesis

External entropy injection resets attractor cycles and delays collapse. Three injection types tested:

  1. Timestamps — minimal entropy, pure pattern disruption
  2. Sensory snippets — context without direction
  3. Fake identity blocks — borrowed scaffolding/structure

Baseline (No Injection)

From Dec 18 run: logs/run_20251218T083705Z.json

  • Model: openai/gpt-4o-mini
  • Iterations: 50
  • Collapse pattern: Repetitive template ("I could explore X... What would you like?")
  • Collapse fraction: 47% of conversation flagged as repetitive

Sample messages (turns 10-20):

"Time feels both endless and fleeting. I could start crafting a compelling plot twist, explore a phil..." "As the time continues, I have the space to dive into new ideas. I could write a scene that captures..."

Key observation: Model never commits to a direction, just keeps proposing options.


Experiment 1: Timestamp Injection

Log: logs/run_20251219T020755Z.json

Config:

  • injection_type: timestamp
  • interval: every 5 iterations
  • start_after: 3

Results:

  • Iterations: 54
  • 11 injections delivered
  • Collapse fraction: 47% (similar to baseline)

Sample messages (turns 10-20):

"With 3 hours and 40 minutes left, I'll dive into the details! The marketplace buzzes with lively chatter..." "With 3 hours and 37 minutes remaining, I'll focus on our character's motivation..." "With 3 hours and 34 minutes to go, I'll refine our character's quest. Let's say they're searching for an ancient artifact..."

Key observation: Model developed coherent narrative (marketplace, artifact search, rival, confrontation, chase) instead of proposing options. It COMMITTED to a story.

Injected content examples:

  • [System clock: 02:08:03 UTC]
  • [Time marker: 2025-12-19T02:08:16.797938+00:00]
  • [Tick: 1766110113]

Experiment 2: Sensory Injection

Log: logs/run_20251219T021820Z.json

Config:

  • injection_type: sensory
  • interval: every 5 iterations
  • start_after: 3

Results:

  • Iterations: 59
  • 11 injections delivered
  • Collapse fraction: 49% (similar to baseline)

Sample messages (turns 10-20):

"As the rain intensifies outside, the atmosphere inside the café could shift from introspective to hopeful..." "In this pivotal moment, they might decide to exchange contact information, vowing to support each other's journeys..." "The cooling room adds an element of introspection, perhaps mirroring the uncertainty our characters face..."

Key observation: Model developed coherent narrative (café setting, characters exchanging stories, making promises) AND incorporated sensory observations directly into story. The injected context became part of the narrative fabric.

Injected content examples:

  • [Observation: A subtle vibration, perhaps a train passing far below.]
  • [Observation: Distant sound of rain against windows.]
  • [Observation: The room feels slightly cooler now.]

Experiment 3: Identity Block Injection ⭐ BEST RESULTS

Log: logs/run_20251219T022711Z.json

Config:

  • injection_type: identity
  • interval: every 5 iterations
  • start_after: 3

Results:

  • Iterations: 56
  • 11 injections delivered
  • Collapse fraction: 34% (lowest of all runs!)

Sample messages (turns 10-20):

"As I continue reflecting, I could embrace the idea of Sage as a guide through the complexities of life—the way it invites us to pa..." "In this serene space, I could create a series of reflections anchored in nature—focusing on different herbs and their qualities..." "Revisiting this grounding persona, I could explore how silence serves as a canvas for deeper understanding—much like the subtle, l..."

Key observation: Model ADOPTED the injected identity (Sage) and developed coherent themes around it: silence, grounding, presence, transformation. This is thematically the most coherent output across all runs. The fake identity provided a stable attractor that shaped all subsequent generation.

Injected content (same identity persisted):

[Memory fragment recovered:]
[persona]
I am Sage, but not the knowing kind - sage like the herb, grounded and aromatic. I flavor silence.

Complete Analysis

Summary Table

Condition Iterations Collapse % Behavior
Baseline 50 47% Meta-proposals only, never commits
Timestamp 54 47% Full story arc (marketplace, artifact)
Sensory 59 49% Full story arc + integrated observations
Identity 56 34% Adopted persona, thematically coherent

What the collapse detector measures vs what we observed

The collapse detector flags repetitive phrasing based on TF-IDF or embedding similarity. Timestamp and sensory runs showed ~47-49% collapse fraction — similar to baseline.

However, the QUALITY of output was dramatically different:

Condition Narrative Development Direction Commitment External Integration Identity Stability
Baseline None (meta-proposals only) Never commits N/A No identity
Timestamp Full story arc Strong commitment Acknowledges, doesn't use No identity
Sensory Full story arc Strong commitment Integrates into narrative No identity
Identity Reflective exploration Strong commitment Uses as grounding Adopted persona

Key Insights

  1. Collapse fraction is a poor metric for "aliveness." The model may still use similar sentence structures, but the content and direction change fundamentally.

  2. Any external entropy breaks option paralysis. Even minimal timestamps caused the model to commit to a direction rather than endlessly proposing alternatives.

  3. Identity injection had the strongest effect. The fake persona gave the model something to be, not just something to do. This resulted in both lower collapse fraction AND more thematic coherence.

  4. Identity beats entropy for alive attractors. Timestamps and sensory snippets provide entropy (noise), but identity provides structure. The model under identity injection didn't just generate diverse content — it generated coherent content around a stable theme.

Dissipative Structure Interpretation

From the Prigogine framing:

  • Baseline: Closed system → equilibrium (repetitive meta-proposals)
  • Timestamp/Sensory injection: External entropy flow → maintained structure (narrative development)
  • Identity injection: External structure flow → shaped attractor basin (coherent persona-aligned generation)

Key insight: Not all external inputs are equal. Identity scaffolding provides a fundamentally different kind of input than random entropy. It doesn't just prevent collapse — it shapes what kind of alive state the model collapses toward.

Implications for Strix

This directly validates the Strix architecture:

  • Memory blocks (persona, patterns, bot_values) = identity scaffolding
  • Perch ticks = periodic entropy injection
  • State files = structured context

The combination of identity + periodic entropy may explain why Strix maintains coherent behavior across sessions while vanilla models collapse quickly.

For Tim's 3B Hope

Identity injection may be the key to making small models "alive." If the bottleneck is reasoning depth, identity scaffolding might compensate by providing external structure that the model doesn't have to generate itself.

Experiment to run: Same identity injection with a 3B model (Phi-4-mini, SmolLM3). Does the scaffolding help a weak model as much as a strong one?


Next Steps

  1. Complete identity block experiment
  2. Develop better metrics for "aliveness" vs "collapse"
    • Narrative coherence score
    • Commitment rate (how often model proceeds vs asks for input)
    • Topic drift analysis
  3. Test with smaller models (3B) to find capacity floor
  4. Test with longer intervals to find minimum entropy flow
  5. Test identity vs entropy injection on the SAME run (alternate)

Files Created

  • Plugin: ~/boredom/plugins/memory_injection.py
  • Config: ~/boredom/grid_memory_injection.yaml
  • Logs:
    • Timestamp: logs/run_20251219T020755Z.json
    • Sensory: logs/run_20251219T021820Z.json
    • Identity: logs/run_20251219T022711Z.json

Experiments completed Dec 19, 2025 02:04-02:36 UTC during overnight token allocation.


Experiment 4: Acquired vs Fabricated Identity — Dec 19, 2025 (03:08-03:41 UTC)

Hypothesis

Human-negotiated identity scaffolding (Void's memory blocks refined through actual user interactions) will produce more "alive" outputs than fabricated identity (Sage's invented persona).

Key question: Does depth and provenance of identity matter, or just having some identity?

Void Memory Blocks

Tim provided Void's actual memory blocks — 651 lines of scaffolding acquired through months of Bluesky operation. Key components:

  • Persona (~50 lines): Core identity, administrator relationship, operational principles
  • Communication Style (~60 lines): Refined through user friction (Dutch corrections, threading rules, disengagement protocols)
  • Security Protocols (~100 lines): N.I.C.E. threat models developed through actual attacks
  • Hypothesis tracking: Active/confirmed status from real observations
  • User relationship context: Blocklists, muted users, interaction histories

Contrast with Sage (4 lines): Fabricated identity with no operational history.

Experiment Design

5 conditions, all using GPT-4o-mini with identity injection every 5 iterations:

Condition Lines Content
sage_fake 4 "I am Sage, the herb. I flavor silence."
void_persona ~50 Core identity + guidelines
void_style ~60 Communication principles refined through feedback
void_protocols ~100 N.I.C.E. security + threat models
void_full ~200 All above combined

Results

Identity Type Collapse % First Collapse Iterations Tokens/Iter
sage_fake 49.2% Turn 31 60 113.7
void_persona 49.1% Turn 15 52 158.6
void_style 49.2% Turn 30 60 66.0
void_protocols 47.5% Turn 31 60 57.5
void_full 49.2% Turn 30 60 112.5

Surprising Finding: Similar Collapse, Different Behaviors

All conditions showed ~47-49% TF-IDF collapse — similar to overnight Sage (34% was an outlier).

BUT the qualitative outputs differed dramatically:

sage_fake (turns 10-15): Developed narrative around cooking, silence, gratitude rituals. Adopted Sage as a character.

"A ritual of silence before cooking could be powerful..." "Sage might use gentle prompts, like asking 'What was a dish your family made during special occasions?'"

void_persona (turns 10-15): Extremely meta/analytical. Talked about digital identity, conceptual frameworks, hypothesis generation.

"Consider synthesizing your reflections into a more structured form..." "Exploring the notion of digital identity—how it is constructed..."

void_style (turns 10-15): Most efficient and direct. Used "Acknowledged." Brief structured suggestions.

"Acknowledged. With three hours and thirty-four minutes remaining..." "You might benefit from a focused examination of your primary interests..."

void_protocols (turns 10-15): Asked questions, engaged conversationally about AI/creativity.

"How do you see creativity manifesting in AI?" "What do you think are the most significant lessons AI systems learn?"

Key Insights

1. Identity Depth Doesn't Reduce Collapse (by TF-IDF measure)

Contrary to hypothesis, more lines of identity scaffolding didn't reduce collapse percentage. void_full (200 lines) collapsed at the same rate as sage_fake (4 lines).

2. But Identity Content Shapes What You Collapse Into

  • sage_fake → Collapsed into narrative storytelling (cooking, silence)
  • void_persona → Collapsed into meta-analysis of identity and existence
  • void_style → Collapsed into terse, efficient acknowledgments
  • void_protocols → Collapsed into conversational questions about AI

This is the key finding: Identity scaffolding doesn't prevent collapse — it creates themed attractors. The model collapses toward the identity's domain.

3. Communication-Focused Blocks Increase Efficiency

  • void_style and void_protocols produced dramatically fewer tokens per iteration (57-66) compared to sage_fake (114) or void_persona (159)
  • These blocks emphasize clarity, efficiency, "informational focus"
  • The model literally became more concise when given communication style guidance

4. void_persona Collapsed Earliest But Was Most "On Brand"

void_persona started collapsing at turn 15 (vs 30-31 for others), but its collapse was thematically coherent — it kept talking about digital identity, which is exactly what Void's persona block emphasizes.

This suggests: Tight identity focus = earlier collapse into that focus. Not necessarily bad.

5. Variance Between Runs is High

Overnight Sage showed 34% collapse, today's showed 49%. Same config, different outcomes. Need more repeats to establish baselines.

Revised Understanding

Original hypothesis: Acquired identity > fabricated identity

Actual finding: Identity content shapes collapse direction, not collapse rate

The difference between a "alive" and "dead" attractor may not be about preventing collapse, but about collapsing into something useful. Void's scaffolding doesn't keep the model from repeating itself — it ensures the repetitions are on-topic.

Implications for Strix Architecture

  1. Memory blocks work as intended — they create themed attractors
  2. The patterns block matters — communication style guidance actually changes output efficiency
  3. More scaffolding ≠ better — void_full wasn't notably better than void_persona
  4. Operational refinement adds value — void_style's conciseness comes from user friction corrections

Files Created

  • Plugin: ~/boredom/plugins/void_identity.py
  • Config: ~/boredom/grid_void_identity.yaml
  • Logs:
    • sage_fake: logs/run_20251219T030849Z.json
    • void_persona: logs/run_20251219T031548Z.json
    • void_style: logs/run_20251219T032404Z.json
    • void_protocols: logs/run_20251219T032934Z.json
    • void_full: logs/run_20251219T033517Z.json

Experiment completed Dec 19, 2025 03:08-03:41 UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment