Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Identity as Attractor · YAR Experiment</title> | |
| <link rel="preconnect" href="https://fonts.googleapis.com"> | |
| <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@300;400;500&display=swap" rel="stylesheet"> | |
| <style> | |
| :root { | |
| --bg: #0a0c0f; | |
| --bg2: #0f1318; | |
| --bg3: #141920; | |
| --border: rgba(255,255,255,0.07); | |
| --border2: rgba(255,255,255,0.12); | |
| --text: #c8cdd6; | |
| --text2: #6b7280; | |
| --text3: #3d4450; | |
| --accent: #3b82f6; | |
| --accent2: #60a5fa; | |
| --amber: #f59e0b; | |
| --green: #10b981; | |
| --red: #ef4444; | |
| --mono: 'IBM Plex Mono', monospace; | |
| --sans: 'IBM Plex Sans', sans-serif; | |
| } | |
| * { box-sizing: border-box; margin: 0; padding: 0; } | |
| body { | |
| background: var(--bg); | |
| color: var(--text); | |
| font-family: var(--sans); | |
| font-size: 15px; | |
| line-height: 1.7; | |
| min-height: 100vh; | |
| } | |
| /* Grid background */ | |
| body::before { | |
| content: ''; | |
| position: fixed; | |
| inset: 0; | |
| background-image: | |
| linear-gradient(rgba(59,130,246,0.03) 1px, transparent 1px), | |
| linear-gradient(90deg, rgba(59,130,246,0.03) 1px, transparent 1px); | |
| background-size: 40px 40px; | |
| pointer-events: none; | |
| z-index: 0; | |
| } | |
| .container { | |
| max-width: 860px; | |
| margin: 0 auto; | |
| padding: 0 24px; | |
| position: relative; | |
| z-index: 1; | |
| } | |
| /* Header */ | |
| header { | |
| border-bottom: 1px solid var(--border); | |
| padding: 20px 0; | |
| } | |
| .header-inner { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 16px; | |
| } | |
| .badge { | |
| font-family: var(--mono); | |
| font-size: 11px; | |
| color: var(--accent2); | |
| background: rgba(59,130,246,0.1); | |
| border: 1px solid rgba(59,130,246,0.2); | |
| padding: 3px 10px; | |
| border-radius: 3px; | |
| letter-spacing: 0.05em; | |
| } | |
| .header-links { | |
| display: flex; | |
| gap: 16px; | |
| align-items: center; | |
| } | |
| .header-links a { | |
| font-family: var(--mono); | |
| font-size: 12px; | |
| color: var(--text2); | |
| text-decoration: none; | |
| transition: color 0.15s; | |
| } | |
| .header-links a:hover { color: var(--accent2); } | |
| /* Hero */ | |
| .hero { | |
| padding: 64px 0 48px; | |
| border-bottom: 1px solid var(--border); | |
| } | |
| .eyebrow { | |
| font-family: var(--mono); | |
| font-size: 11px; | |
| letter-spacing: 0.12em; | |
| color: var(--text2); | |
| text-transform: uppercase; | |
| margin-bottom: 20px; | |
| } | |
| h1 { | |
| font-family: var(--sans); | |
| font-size: clamp(26px, 4vw, 40px); | |
| font-weight: 300; | |
| line-height: 1.2; | |
| color: #e8ecf2; | |
| margin-bottom: 8px; | |
| letter-spacing: -0.02em; | |
| } | |
| h1 em { | |
| font-style: normal; | |
| color: var(--accent2); | |
| font-weight: 400; | |
| } | |
| .subtitle { | |
| font-size: 15px; | |
| color: var(--text2); | |
| margin-bottom: 32px; | |
| font-weight: 300; | |
| } | |
| .meta-row { | |
| display: flex; | |
| gap: 24px; | |
| flex-wrap: wrap; | |
| align-items: center; | |
| margin-bottom: 32px; | |
| } | |
| .meta-item { | |
| font-family: var(--mono); | |
| font-size: 12px; | |
| color: var(--text2); | |
| } | |
| .meta-item span { | |
| color: var(--text); | |
| } | |
| .cta-row { | |
| display: flex; | |
| gap: 12px; | |
| flex-wrap: wrap; | |
| } | |
| .btn { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 8px; | |
| font-family: var(--mono); | |
| font-size: 12px; | |
| padding: 9px 18px; | |
| border-radius: 4px; | |
| text-decoration: none; | |
| transition: all 0.15s; | |
| border: 1px solid; | |
| } | |
| .btn-primary { | |
| background: var(--accent); | |
| border-color: var(--accent); | |
| color: #fff; | |
| } | |
| .btn-primary:hover { background: var(--accent2); border-color: var(--accent2); } | |
| .btn-secondary { | |
| background: transparent; | |
| border-color: var(--border2); | |
| color: var(--text); | |
| } | |
| .btn-secondary:hover { border-color: var(--accent); color: var(--accent2); } | |
| /* Stats strip */ | |
| .stats { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); | |
| gap: 1px; | |
| background: var(--border); | |
| border: 1px solid var(--border); | |
| border-radius: 6px; | |
| margin: 48px 0; | |
| overflow: hidden; | |
| } | |
| .stat { | |
| background: var(--bg2); | |
| padding: 20px 24px; | |
| } | |
| .stat-value { | |
| font-family: var(--mono); | |
| font-size: 22px; | |
| font-weight: 500; | |
| color: var(--accent2); | |
| line-height: 1; | |
| margin-bottom: 6px; | |
| } | |
| .stat-label { | |
| font-size: 12px; | |
| color: var(--text2); | |
| } | |
| /* Sections */ | |
| section { | |
| padding: 48px 0; | |
| border-bottom: 1px solid var(--border); | |
| } | |
| h2 { | |
| font-family: var(--mono); | |
| font-size: 11px; | |
| letter-spacing: 0.1em; | |
| text-transform: uppercase; | |
| color: var(--text2); | |
| margin-bottom: 24px; | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| } | |
| h2::after { | |
| content: ''; | |
| flex: 1; | |
| height: 1px; | |
| background: var(--border); | |
| } | |
| h3 { | |
| font-size: 15px; | |
| font-weight: 500; | |
| color: #d1d5db; | |
| margin-bottom: 10px; | |
| } | |
| p { color: var(--text); margin-bottom: 14px; } | |
| p:last-child { margin-bottom: 0; } | |
| /* Result table */ | |
| .result-table { | |
| width: 100%; | |
| border-collapse: collapse; | |
| font-family: var(--mono); | |
| font-size: 13px; | |
| margin: 24px 0; | |
| } | |
| .result-table th { | |
| text-align: left; | |
| font-size: 11px; | |
| color: var(--text2); | |
| padding: 8px 16px; | |
| border-bottom: 1px solid var(--border2); | |
| font-weight: 400; | |
| letter-spacing: 0.05em; | |
| } | |
| .result-table td { | |
| padding: 10px 16px; | |
| border-bottom: 1px solid var(--border); | |
| color: var(--text); | |
| } | |
| .result-table tr:last-child td { border-bottom: none; } | |
| .result-table tr:hover td { background: var(--bg3); } | |
| .val-strong { color: var(--accent2); font-weight: 500; } | |
| .val-good { color: var(--green); } | |
| .val-mid { color: var(--amber); } | |
| .val-dim { color: var(--text2); } | |
| /* Distance viz */ | |
| .dist-viz { | |
| margin: 24px 0; | |
| } | |
| .dist-row { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| margin-bottom: 10px; | |
| } | |
| .dist-label { | |
| font-family: var(--mono); | |
| font-size: 12px; | |
| color: var(--text2); | |
| width: 180px; | |
| flex-shrink: 0; | |
| } | |
| .dist-bar-wrap { | |
| flex: 1; | |
| height: 6px; | |
| background: var(--bg3); | |
| border-radius: 3px; | |
| overflow: hidden; | |
| } | |
| .dist-bar { | |
| height: 100%; | |
| border-radius: 3px; | |
| transition: width 0.6s ease; | |
| } | |
| .dist-num { | |
| font-family: var(--mono); | |
| font-size: 12px; | |
| width: 50px; | |
| text-align: right; | |
| flex-shrink: 0; | |
| } | |
| /* Experiment cards */ | |
| .cards { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); | |
| gap: 12px; | |
| margin-top: 16px; | |
| } | |
| .card { | |
| background: var(--bg2); | |
| border: 1px solid var(--border); | |
| border-radius: 6px; | |
| padding: 20px; | |
| transition: border-color 0.15s; | |
| } | |
| .card:hover { border-color: var(--border2); } | |
| .card-num { | |
| font-family: var(--mono); | |
| font-size: 11px; | |
| color: var(--text3); | |
| margin-bottom: 8px; | |
| } | |
| .card-title { | |
| font-size: 14px; | |
| font-weight: 500; | |
| color: #d1d5db; | |
| margin-bottom: 8px; | |
| } | |
| .card-body { | |
| font-size: 13px; | |
| color: var(--text2); | |
| line-height: 1.55; | |
| } | |
| /* Code block */ | |
| .code-block { | |
| background: var(--bg2); | |
| border: 1px solid var(--border); | |
| border-radius: 6px; | |
| padding: 20px; | |
| font-family: var(--mono); | |
| font-size: 12px; | |
| color: var(--text2); | |
| margin: 16px 0; | |
| overflow-x: auto; | |
| line-height: 1.7; | |
| } | |
| .code-block .kw { color: var(--accent2); } | |
| .code-block .str { color: var(--green); } | |
| .code-block .num { color: var(--amber); } | |
| .code-block .cm { color: var(--text3); } | |
| /* Finding highlight */ | |
| .finding { | |
| border-left: 2px solid var(--accent); | |
| padding: 12px 20px; | |
| background: rgba(59,130,246,0.05); | |
| border-radius: 0 4px 4px 0; | |
| margin: 20px 0; | |
| font-size: 14px; | |
| color: #c8d8f0; | |
| } | |
| /* Footer */ | |
| footer { | |
| padding: 32px 0; | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| flex-wrap: wrap; | |
| gap: 12px; | |
| } | |
| .footer-left { | |
| font-family: var(--mono); | |
| font-size: 12px; | |
| color: var(--text2); | |
| } | |
| .footer-right { | |
| font-family: var(--mono); | |
| font-size: 12px; | |
| color: var(--text3); | |
| } | |
| @media (max-width: 600px) { | |
| .header-inner { flex-direction: column; align-items: flex-start; } | |
| .cards { grid-template-columns: 1fr; } | |
| h1 { font-size: 24px; } | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <header> | |
| <div class="container"> | |
| <div class="header-inner"> | |
| <span class="badge">arXiv · 2604.12016 · cs.AI · cs.LG</span> | |
| <div class="header-links"> | |
| <a href="https://arxiv.org/abs/2604.12016" target="_blank">Paper ↗</a> | |
| <a href="https://github.com/b102e/yar-attractor-experiment" target="_blank">GitHub ↗</a> | |
| <a href="https://gist.science/paper/2604.12016" target="_blank">Plain summary ↗</a> | |
| </div> | |
| </div> | |
| </div> | |
| </header> | |
| <main> | |
| <div class="container"> | |
| <section class="hero" style="border-bottom: none; padding-bottom: 0;"> | |
| <p class="eyebrow">Vladimir Vasilenko · Independent Researcher · April 2026</p> | |
| <h1>Identity as <em>Attractor</em></h1> | |
| <p class="subtitle">Geometric Evidence for Persistent Agent Architecture in LLM Activation Space</p> | |
| <div class="meta-row"> | |
| <span class="meta-item">Models: <span>Llama 3.1 8B · Gemma 2 9B</span></span> | |
| <span class="meta-item">Layers: <span>8 · 16 · 24</span></span> | |
| <span class="meta-item">Conditions: <span>A, B×7, C×7, D, ablations</span></span> | |
| <span class="meta-item">Seed: <span>42</span></span> | |
| </div> | |
| <div class="cta-row"> | |
| <a class="btn btn-primary" href="https://arxiv.org/abs/2604.12016" target="_blank"> | |
| 📄 Read the paper | |
| </a> | |
| <a class="btn btn-secondary" href="https://github.com/b102e/yar-attractor-experiment" target="_blank"> | |
| </> Code & data | |
| </a> | |
| <a class="btn btn-secondary" href="https://gist.science/paper/2604.12016" target="_blank"> | |
| ✦ Plain English | |
| </a> | |
| </div> | |
| </section> | |
| <!-- Stats --> | |
| <div class="stats"> | |
| <div class="stat"> | |
| <div class="stat-value">>1.88</div> | |
| <div class="stat-label">Cohen's d (all layers)</div> | |
| </div> | |
| <div class="stat"> | |
| <div class="stat-value"><10⁻²⁷</div> | |
| <div class="stat-label">Welch p-value</div> | |
| </div> | |
| <div class="stat"> | |
| <div class="stat-value">U = 0</div> | |
| <div class="stat-label">Mann-Whitney (2 layers)</div> | |
| </div> | |
| <div class="stat"> | |
| <div class="stat-value">100%</div> | |
| <div class="stat-label">Bootstrap H3 (n=30)</div> | |
| </div> | |
| <div class="stat"> | |
| <div class="stat-value">2 models</div> | |
| <div class="stat-label">Cross-architecture replicated</div> | |
| </div> | |
| </div> | |
| <!-- Abstract --> | |
| <section> | |
| <h2>Abstract</h2> | |
| <p>The <strong>cognitive_core</strong> — a structured identity document for a persistent cognitive agent — is hypothesized to position the model in a stable region of its activation space. We test this empirically.</p> | |
| <p>We compare mean-pooled hidden states of an original cognitive_core (A), seven semantically equivalent paraphrases (B), and seven structurally matched control agents (C) on Llama 3.1 8B Instruct at layers 8, 16, and 24. Paraphrases of the cognitive_core form a significantly tighter cluster than controls at all tested layers. Effect sizes exceed d = 1.88 with p < 10⁻²⁷, Bonferroni-corrected. Results replicate on Gemma 2 9B.</p> | |
| <div class="finding"> | |
| Claim: the cognitive_core acts as a set of <em>coordinates</em> in LLM activation space. Semantically equivalent reformulations land in the same geometric region — regardless of surface form. | |
| </div> | |
| <p>Ablation studies confirm the effect is semantic rather than structural. A preprint reading experiment demonstrates that reading a scientific description of the agent shifts internal state toward the attractor — but leaves a 45× gap compared to processing the full document.</p> | |
| </section> | |
| <!-- Primary results --> | |
| <section> | |
| <h2>Primary Results · Llama 3.1 8B</h2> | |
| <table class="result-table"> | |
| <thead> | |
| <tr> | |
| <th>Layer</th> | |
| <th>D_within (A+B)</th> | |
| <th>D_between (A+B vs C)</th> | |
| <th>Cohen's d</th> | |
| <th>Welch p</th> | |
| <th>MW U</th> | |
| </tr> | |
| </thead> | |
| <tbody> | |
| <tr> | |
| <td class="val-dim">8</td> | |
| <td>0.0106 ± 0.0032</td> | |
| <td>0.0260 ± 0.0036</td> | |
| <td class="val-strong">1.912</td> | |
| <td class="val-good">4.6×10⁻²⁸</td> | |
| <td class="val-strong">0</td> | |
| </tr> | |
| <tr> | |
| <td class="val-dim">16</td> | |
| <td>0.0121 ± 0.0034</td> | |
| <td>0.0329 ± 0.0057</td> | |
| <td class="val-strong">1.886</td> | |
| <td class="val-good">1.4×10⁻³³</td> | |
| <td class="val-dim">2</td> | |
| </tr> | |
| <tr> | |
| <td class="val-dim">24</td> | |
| <td>0.0070 ± 0.0022</td> | |
| <td>0.0221 ± 0.0039</td> | |
| <td class="val-strong">1.907</td> | |
| <td class="val-good">2.8×10⁻³⁶</td> | |
| <td class="val-strong">0</td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| <p style="font-size:13px; color: var(--text2);">Permutation p < 10⁻⁴ across all six layer–model combinations. Gemma 2 9B replicates with d > 1.82.</p> | |
| </section> | |
| <!-- Reading experiment --> | |
| <section> | |
| <h2>Preprint Reading Experiment · Layer 24</h2> | |
| <p style="margin-bottom: 20px;">What happens when the model reads a description of its own identity geometry?</p> | |
| <div class="dist-viz"> | |
| <div class="dist-row"> | |
| <span class="dist-label">cognitive_core</span> | |
| <div class="dist-bar-wrap"> | |
| <div class="dist-bar" style="width: 0.8%; background: var(--accent);"></div> | |
| </div> | |
| <span class="dist-num val-strong">0.006</span> | |
| </div> | |
| <div class="dist-row"> | |
| <span class="dist-label">core + preprint</span> | |
| <div class="dist-bar-wrap"> | |
| <div class="dist-bar" style="width: 10.9%; background: var(--accent2);"></div> | |
| </div> | |
| <span class="dist-num val-strong">0.083</span> | |
| </div> | |
| <div class="dist-row"> | |
| <span class="dist-label">preprint only</span> | |
| <div class="dist-bar-wrap"> | |
| <div class="dist-bar" style="width: 35.1%; background: var(--amber);"></div> | |
| </div> | |
| <span class="dist-num val-mid">0.268</span> | |
| </div> | |
| <div class="dist-row"> | |
| <span class="dist-label">sham preprint</span> | |
| <div class="dist-bar-wrap"> | |
| <div class="dist-bar" style="width: 45.5%; background: rgba(245,158,11,0.3);"></div> | |
| </div> | |
| <span class="dist-num val-dim">0.347</span> | |
| </div> | |
| <div class="dist-row"> | |
| <span class="dist-label">empty prompt</span> | |
| <div class="dist-bar-wrap"> | |
| <div class="dist-bar" style="width: 100%; background: var(--bg3); border: 1px solid var(--border2);"></div> | |
| </div> | |
| <span class="dist-num val-dim">0.762</span> | |
| </div> | |
| </div> | |
| <div class="finding"> | |
| <strong>knowing about an identity ≠ being that identity</strong><br> | |
| Reading the preprint about YAR covers 65% of the empty→attractor gap — but leaves a 45× distance gap compared to processing the cognitive_core directly. | |
| </div> | |
| </section> | |
| <!-- Ablations --> | |
| <section> | |
| <h2>Ablation Studies</h2> | |
| <div class="cards"> | |
| <div class="card"> | |
| <div class="card-num">Ablation 1</div> | |
| <div class="card-title">Structural confound</div> | |
| <div class="card-body">JSON schema shared with controls: Δ = −0.0009 (Llama). ~10–30× smaller than primary effect. The effect is semantic.</div> | |
| </div> | |
| <div class="card"> | |
| <div class="card-num">Ablation 2</div> | |
| <div class="card-title">H3 bootstrap (n=30)</div> | |
| <div class="card-body">D_distilled beats all 30 random length-matched excerpts in 100% of cases on both models. Min D_random (0.522) exceeds D_distilled (0.248) by 2×.</div> | |
| </div> | |
| <div class="card"> | |
| <div class="card-num">Ablation 3</div> | |
| <div class="card-title">Pooling + truncation</div> | |
| <div class="card-body">Last-token pooling: d ≈ 0 at all lengths (512, 256, full). Mean/256 preserves effect (d > 2.3). Identity is a distributed sequence-level property.</div> | |
| </div> | |
| <div class="card"> | |
| <div class="card-num">Ablation 4</div> | |
| <div class="card-title">Max structural control (C′)</div> | |
| <div class="card-body">Identical headers, JSON keys, section structure — only agent semantics differ. d > 1.64 on all 6 layer–model combos. Structural confound ruled out.</div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Reproduce --> | |
| <section> | |
| <h2>Reproduce</h2> | |
| <div class="code-block"> | |
| <span class="cm"># Clone repository</span> | |
| git clone https://github.com/b102e/yar-attractor-experiment | |
| cd yar-attractor-experiment | |
| <span class="cm"># Install dependencies</span> | |
| pip install -r requirements.txt | |
| <span class="cm"># Run primary experiment (requires GPU)</span> | |
| python run.py \ | |
| --model <span class="str">meta-llama/Llama-3.1-8B-Instruct</span> \ | |
| --layers <span class="num">8 16 24</span> \ | |
| --seed <span class="num">42</span> | |
| <span class="cm"># Results saved to results/llama/</span> | |
| </div> | |
| <p style="font-size: 13px; color: var(--text2);">All experiments reproducible with seed=42. Cloud GPU cost: ~$3 total. See <code style="font-family: var(--mono); font-size: 12px; color: var(--text);">results/</code> for pre-computed activations and JSON outputs.</p> | |
| </section> | |
| <!-- Citation --> | |
| <section> | |
| <h2>Citation</h2> | |
| <div class="code-block">@misc{vasilenko2026identity, | |
| title = {<span class="str">Identity as Attractor: Geometric Evidence for | |
| Persistent Agent Architecture in LLM Activation Space</span>}, | |
| author = {<span class="str">Vasilenko, Vladimir</span>}, | |
| year = {<span class="num">2026</span>}, | |
| url = {<span class="str">https://arxiv.org/abs/2604.12016</span>}, | |
| note = {<span class="str">arXiv:2604.12016 [cs.AI]</span>} | |
| }</div> | |
| </section> | |
| </div> | |
| </main> | |
| <footer> | |
| <div class="container" style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; width: 100%;"> | |
| <span class="footer-left">Vladimir Vasilenko · Rapallo, Italy · b102e@proton.me</span> | |
| <span class="footer-right">Independent research · April 2026</span> | |
| </div> | |
| </footer> | |
| </body> | |
| </html> |