- NOVA + SPIKE + AETHER β A Non-Transformer AI Stack
NOVA + SPIKE + AETHER β A Non-Transformer AI Stack
Four CPU-only, GPU-free, transformer-free AI brains β built from scratch, in pure Python.
This repo is a from-scratch exploration of four alternative AI paradigms β none of which use attention, none of which require a GPU, none of which call an external LLM. Together they form a complete stack: hyperdimensional memory, spiking temporal reasoning, brain-inspired cognition, and a hybrid orchestrator that combines them all.
TL;DR
| Brain | Substrate | Memory | Learning | Latency | RAM |
|---|---|---|---|---|---|
| NOVA | Hyperdimensional Computing (HDC) | Sparse Distributed Memory (Kanerva SDM) | One-shot SDM write | ~80 ms | ~57 MB |
| SPIKE | Spiking Neural Network (LIF + STDP) | CSR sparse synapses | One-shot imprint + STDP + R-STDP | ~20 ms | 0.45 MB |
| AETHER | HDC + cognitive loop + brain modules | SDM + KB triples + episodic | One-shot teach + attractor | ~300 ms | ~30 MB |
| HYBRID | NOVA + SPIKE | Both | Double-write | ~80 ms | ~58 MB |
| Generative | AETHER + pre-trained corpus | SDM + HD n-gram LM | One-shot + corpus pre-train | ~300 ms | ~30 MB |
All five are auto-contained (no API), run on a single CPU core, and learn new facts in under 1 ms per fact (300 ms for AETHER/Generative's full cognitive loop).
Generative is the closest to an LLM: it reasons, generates text token-by-token, writes stories and poems, summarizes, explains β all without a transformer.
Why?
Modern LLMs are extraordinary β but they all share five structural locks:
- GPU dependency β giant matmul O(nΒ²Β·d) per attention layer
- Slow learning β backprop over billions of weights, thousands of epochs
- Frozen reasoning β feed-forward, no genuine temporal dynamics
- Catastrophic forgetting β knowledge is compressed into weights
- Black box β hard to audit, hard to debug
This repo asks: what if we threw away the transformer entirely? What can we build using only biologically-plausible primitives β hyperdimensional vectors, sparse distributed memory, leaky integrate-and-fire neurons, spike-timing-dependent plasticity, attractor networks, global workspace, predictive coding?
The answer is four working AI systems. None of them will replace GPT-4. But they prove that the transformer is not the only path to useful artificial intelligence.
Architecture
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β HYBRID BRAIN (orchestrator) β
β ββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββ
β β SPIKE (SNN) β β NOVA (HDC) ββ
β β βββββββββββββββββββββββ β β ββββββββββββββββββββββββββββββββ ββ
β β β Sensory (600) β β β β HD vectors D=10000 β ββ
β β β β (CSR sparse) β β β β β bind / bundle β ββ
β β β Associative (1500) β β β β SDM (50000 loc) β ββ
β β β β + direct skip β β β β β cleanup β ββ
β β β Motor (600) β β β β Recall + Learn β ββ
β β βββββββββββββββββββββββ β β ββββββββββββββββββββββββββββββββ ββ
β β STDP + R-STDP + Dream β β One-shot, noise-robust ββ
β β Lazy spike buffer β β Save / Load ββ
β β Agentic tool layer β β Agentic tool layer ββ
β ββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββ
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β AETHER (v4 brain-inspired) β β
β β ββββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββ β β
β β β VSA / HDC β β Cognitive Loop β β Agentic Tools β β β
β β β 4096-dim Β±1 β β PERCEIVE β β β calc/time/recall β β β
β β β bind/bundle β β RETRIEVE β β β teach/python/ β β β
β β β permute β β DELIBERATE β β β list_kb/compare β β β
β β ββββββββββββββββββ β ACT β ββββββββββββββββββββ β β
β β ββββββββββββββββββ ββββββββββββββββββ β β
β β β SDM (Kanerva) β βββββββββββββββββββββββββββββββββββββββββββ β β
β β β + KB triples β β Brain-inspired v4 modules: β β β
β β β + Episodic β β β’ Kuramoto oscillators (binding) β β β
β β β + Attractors β β β’ Attractor networks (stable thoughts) β β β
β β ββββββββββββββββββ β β’ Global Workspace (Baars) β β β
β β β β’ Predictive coding (Friston) β β β
β β β β’ Hierarchical cortex (4 levels) β β β
β β β β’ Neuromodulators (dopamine, serotoninβ¦) β β β
β β β β’ Comprehension integrator β β β
β β β β’ Consciousness module (self-model) β β β
β β βββββββββββββββββββββββββββββββββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Worked examples: β
β > teach Paris is the capital of France β
β β AETHER stores triple (paris, capital_of, france) in SDM β
β > What is the capital of France? β
β β AETHER cognitive loop retrieves "paris" in ~300 ms β
β > calcule 15 fois 3 β
β β SPIKE/NOVA/HYBRID agentic layer dispatches to calculator β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The Four Paradigms
1. NOVA β Neural Oscillatory Vector Architecture
Substrate: Bipolar hyperdimensional vectors (D = 10,000 dimensions, Β±1 entries).
| Operation | Complexity | Property |
|---|---|---|
bind(a, b) (element-wise product) |
O(D) | Self-inverse: bind(bind(a,b), b) β a |
bundle(*vs) (sum + sign) |
O(D) | Lossy superposition, ~1/βn similarity to components |
permute(v, k) (cyclic rotation) |
O(D) | Order marker for sequences |
similarity(a, b) (cosine) |
O(D) | Semantic distance |
Memory: Sparse Distributed Memory (Kanerva 1988). N=20,000 hard locations scattered in HD space. Write diffuses the value across the top-k=32 nearest locations. Read averages them back. Content-addressable, one-shot, gracefully degrades when saturated.
Reasoning: A continuous-time resonator β a D-dim state field evolving under dx/dt = -x/Ο + WΒ·x + I(t) + Ο(x), where W is sparse (1% connectivity). Attractors emerge as "thoughts".
Learning: Pure one-shot. No backprop. Writing a fact to SDM is O(DΒ·k).
2. SPIKE β Spiking Pattern Intelligence with Kernel Execution
Substrate: Leaky Integrate-and-Fire (LIF) neurons, vectorized in NumPy.
Ο_m Β· dV/dt = -V + R Β· I(t)
if V >= V_thresh: emit spike; V β V_reset; refractory for Ο_ref
Three populations wired together:
- Sensory (600 neurons) β text input via Poisson rate coding
- Associative (1500 neurons) β recurrent reservoir, 2% connectivity
- Motor (600 neurons) β token slots + tool slots, decoded by spike counts
Propagation: Event-driven. When neuron i spikes, we add the i-th row of the sparse weight matrix W to the post-synaptic currents. No matmul ever β only indexed additions, which CPUs excel at.
Figure 1: Spike raster. Top: sensory neurons fire in Poisson patterns driven by the input text "le chat dort". Middle: associative reservoir shows sparse, structured activity. Bottom: motor neurons emit spikes decoded into tokens.
Learning: Three mechanisms, all local:
- One-shot imprint β explicit
learn(fact, value)directly writes strong synapses along the path sensory(fact) β associative β motor(value). Plus a direct sensory β motor bypass for stronger recall. - STDP (Spike-Timing-Dependent Plasticity) β every tick, synapses whose pre and post neurons fired in close succession are strengthened (LTP) or weakened (LTD). Trace-based, O(nnz) per tick.
- R-STDP (Reward-modulated STDP) β eligibility traces accumulate per synapse; weights only change when a global reward signal arrives. Enables reinforcement learning without backprop.
Figure 2: STDP in action. Mean synaptic weight per group over 100 ticks of simulation. Sensoryβassociative and associativeβmotor potentiate as correlated activity is discovered. The direct sensoryβmotor pathway (red) holds steady because it was imprinted, not learned.
Synaptic weights: All stored as scipy.sparse.csr_matrix. Connectivity is ~1β10% depending on the layer.
Figure 3: Weight heatmaps (top-left 100Γ100 submatrix of each synaptic group). Sparse structure is clearly visible. Direct sensoryβmotor bypass carries the strongest imprinted weights.
3. AETHER β Adaptive Emergent Thinking Hyperdimensional Engine for Reasoning
Substrate: Hyperdimensional Computing (4096-dim bipolar vectors) + a brain-inspired cognitive architecture.
AETHER is the most ambitious of the three β it adds brain-inspired modules on top of the HDC + SDM foundation:
| Module | Inspired by | Role |
|---|---|---|
kuramoto.py |
Kuramoto oscillators | Cognitive binding via phase synchrony |
attractor.py |
Hopfield / ring attractors | Stable discrete + continuous thought patterns |
global_workspace.py |
Baars' Global Workspace Theory | Conscious broadcast + ignition |
predictive.py |
Friston's predictive coding | Free energy minimization |
hierarchy.py |
Predictive cortex | 4-level hierarchy (sensory β feature β concept β abstract) |
neuromodulators.py |
Dopamine / serotonin / ACh / NE | Modulates learning rate + attention |
comprehension.py |
Multi-indicator understanding | Integrates coherence, novelty, prediction |
consciousness.py |
Self-model + metacognition | Self-awareness, narrative buffer |
episodic_memory.py |
Hippocampal episodic memory | Time-stamped episodes |
causal.py |
Causal reasoning | A causes B relations |
counterfactual.py |
What-if reasoning | Counterfactual scenarios |
mental_simulation.py |
Mental simulation | "Imagine ifβ¦" |
commonsense.py |
Common-sense KB | Basic world knowledge |
curiosity.py |
Curiosity-driven exploration | Novelty seeking |
meta_learning.py |
Learning to learn | Adaptive learning strategies |
self_modify.py |
Self-modification | Introspective code changes |
socratic.py |
Socratic dialogue | Question-driven reasoning |
language_model.py |
HD n-gram LM | Free-form generation |
composer.py |
Tool composition | Multi-step tool pipelines |
multimodal.py |
Multi-modal | Image + audio HD encoders |
web.py |
RAG | Offline Wikipedia KB |
pretrained.py |
Pretrained KB | Concept taxonomy, synonyms, antonyms |
Cognitive loop: AETHER's reasoning is iterative β PERCEIVE β RETRIEVE β DELIBERATE β ACT, running until the "thought" HD vector stabilizes (similarity between consecutive thoughts > 0.92) or max cycles exhausted.
Figure 4: AETHER cognitive loop in action. Three different queries, each showing how the working-memory HD vector converges over cycles. The "thought" stabilizes as the loop retrieves relevant memories and deliberates.
Attractor networks: AETHER stores patterns as attractors β noisy inputs converge back to the learned pattern:
Figure 5: Attractor network convergence. A pattern is stored, then queried with 20% of its bits flipped. In a few steps, the network recovers the original pattern β this is the HD analog of Hopfield networks.
4. HYBRID β Best of Both Worlds
The HYBRID brain writes facts to both SPIKE (fast temporal recall) and NOVA (robust long-term HD memory). On recall, SPIKE runs first; if its motor activity is too low, NOVA is consulted as fallback.
from hybrid import HybridBrain, HybridConfig
from spike import SpikeConfig
from nova import NovaConfig
brain = HybridBrain(HybridConfig(
spike=SpikeConfig(n_sensory=300, n_associative=800, n_motor=300),
nova=NovaConfig(D=3000, sdm_locations=5000),
))
brain.learn("Einstein", "physicien, relativitΓ©")
print(brain.chat("que sais-tu sur Einstein"))
# [mΓ©moire] physicien, relativitΓ© (confiance: high)
Memory & Recall
When you tell any brain a fact, it's stored in under 1 ms. Asking about it later triggers a recall:
Figure 6: SPIKE motor activity per token during three different recalls. The correct value token dominates each time (high score), validating that the imprinted pathway reliably reactivates the right motor slot.
For NOVA, recall is content-addressable β the query is encoded into HD space, the SDM is read at that address, and a cleanup pass finds the closest stored value. Robust to ~30% noise in the query.
For AETHER, recall goes through the cognitive loop β multiple cycles of retrieval and deliberation, with attractor networks stabilizing the answer.
Population Dynamics
A key property of SNNs is genuine temporal dynamics. SPIKE continues to exhibit activity after the input is removed:
Figure 7: SPIKE population dynamics. Input is active for ticks 0β30, then removed. The associative reservoir (yellow) sustains activity well past input offset β this is the "echo state" property. Motor output (red) tracks the reservoir's evolving state. This temporal persistence is impossible in feed-forward transformers.
NOVA's resonator exhibits a similar property β its state field converges towards attractor basins:
Figure 8: NOVA resonator energy and state norm over 50 integration steps. Energy decreases as the field settles into an attractor; the state norm stabilizes. This is the continuous-reasoning analog of "the network is thinking about something."
Agentic Tool Calling
All four brains share a common agentic layer. Each tool has:
- An HD / sensory signature built from its keywords
- A regex pattern for argument extraction
- A Python executor
Tools fire when either (a) the symbolic regex matches, or (b) the motor activity in the tool's slot crosses a threshold. No LLM is consulted to decide tool invocation.
Available tools (union across all brains):
calculator/calcβ arithmetic, supports French words ("fois", "plus", "racine carrΓ©e")pythonβ subprocess-isolated Python executiontimeβ current date/timelsβ directory listingfile_readβ text file readerrecallβ search episodic memory by HD similarityteachβ parse + store triple/episode (AETHER)list_kbβ list all known triples (AETHER)compare/explain/summarize/translate/define/forget/count(AETHER)
Example session (AETHER):
> teach Paris is the capital of France
learned triple: (paris, capital_of, france) + episode + attractor
> What is the capital of France?
It's Paris.
> calc 2+2*5
2+2*5 = 12
> list
(paris, capital_of, france)
...
Example session (SPIKE/NOVA/HYBRID):
> apprends que Paris est la capitale de la France
[appris] Paris = la capitale de la France (28 ms)
> que sais-tu sur Paris
[mΓ©moire] la capitale de la France (score=86.2) (90 ms)
> calcule 15 fois 3
[outil:calculator] 15 * 3 = 45 (12 ms)
> python: print([x**2 for x in range(5)])
[outil:python] [0, 1, 4, 9, 16] (45 ms)
Distributed Mode
A multi-brain orchestrator routes requests to specialized brains:
from distributed import DistributedBrain
dist = DistributedBrain()
# 3 brains: math (SPIKE), memory (NOVA), general (HYBRID)
dist.chat("calcule 2+2") # β routed to math
dist.chat("que sais-tu sur Mars") # β routed to memory
dist.chat("bonjour") # β routed to general
Routing is regex-based. If the routed brain fails, fallback to general. Apprenticeship writes go to both memory and general in parallel.
Web Dashboard
A FastAPI + WebSocket server streams spikes in real time to a Canvas-based dashboard:
python web/server.py
# β http://localhost:4141
Features:
- Live raster plot (sensory / associative / motor)
- Per-population activity bars
- Global stats (vocab, synapse count, latency, dreams, rewards)
- Brain switcher (SPIKE / NOVA / HYBRID)
- One-click buttons: send, dream, reward (+1), reset
Benchmark
Four tasks Γ four brains. All run on the same CPU.
Figure 9: Benchmark v2 results. Top-left: accuracy per task β SPIKE and HYBRID win on arithmetic, NOVA wins on memory recall and robustness. Top-right: latency (log scale) β SPIKE is fastest on arithmetic, NOVA on memory. Bottom-left: memory footprint β SPIKE is the lightest (0.45 MB), AETHER is comparable (30 MB), NOVA/HYBRID heaviest. Bottom-right: learn vs recall time β AETHER's cognitive loop is slowest but most thorough.
| Task | SPIKE | NOVA | AETHER | HYBRID |
|---|---|---|---|---|
| Arithmetic | 100% | 100% | 60% | 100% |
| Memory recall | 60% | 100% | 60% | 60% |
| Tool calling | 100% | 100% | 0%* | 100% |
| Robustness (paraphrase) | 100% | 100% | 20% | 60% |
| RAM (MB) | 0.45 | 57.5 | ~30 | 58.0 |
*AETHER's tool calling accuracy is 0% in the benchmark due to format mismatch (AETHER uses English, the benchmark used French phrasing). AETHER's own tool registry works correctly β see scripts/test_aether.py for native demos.
Key insights:
- SPIKE is 130Γ lighter than NOVA/HYBRID (0.45 vs 57 MB)
- NOVA wins on robustness (variations of phrasing) thanks to HD similarity
- AETHER is the most cognitively rich β Kuramoto + attractors + GWT + consciousness
- HYBRID doesn't automatically combine the best of both β better fallback logic is an active area
Installation
git clone <this repo>
cd my-project
pip install numpy scipy fastapi uvicorn websockets matplotlib pillow
Python 3.12+. No GPU. No CUDA. No external API keys.
Quick Start
CLI β interactive
# SPIKE β spiking neural network
python spike_cli.py --small --demo
# NOVA β hyperdimensional
python nova_cli.py --small --demo
# AETHER β brain-inspired cognitive agent
python -m aether
# Or with cognitive trace:
python -m aether --explain
API β Python
# SPIKE
from spike import SpikeBrain, SpikeConfig
brain = SpikeBrain(SpikeConfig(n_sensory=600, n_associative=1500, n_motor=600))
brain.learn("le chat", "un animal qui miaule")
print(brain.chat("que sais-tu sur le chat"))
# [mΓ©moire] un animal qui miaule (confiance: high, score=92.5)
# NOVA
from nova import Nova, NovaConfig
nova = Nova(NovaConfig(D=10000, sdm_locations=20000))
nova.learn("Paris", "la capitale de la France")
print(nova.chat("rappelle Paris"))
# [mΓ©moire] la capitale de la France (confiance: high)
# AETHER
from aether import AETHER
agent = AETHER()
agent.teach("Paris is the capital of France")
print(agent.ask("What is the capital of France?"))
# It's Paris.
print(agent.ask("calc 1234 * 5678"))
# 1234 * 5678 = 7006652
# HYBRID
from hybrid import HybridBrain, HybridConfig
hybrid = HybridBrain() # uses defaults
hybrid.learn("Einstein", "physicien, relativitΓ©")
print(hybrid.chat("que sais-tu sur Einstein"))
# Distributed
from distributed import DistributedBrain
dist = DistributedBrain()
print(dist.chat("calcule 2+2"))
Generative AI mode β the real LLM-like experience
For the first time in this stack, the GenerativeBrain wraps AETHER with a pre-training corpus and exposes a unified API for reasoning, generation, creative writing, and analysis β all without a transformer.
# Interactive CLI
python generative_cli.py
from generative import GenerativeBrain, GenerativeConfig
# Initialize + pre-train on built-in corpus (76 sentences, ~42s)
brain = GenerativeBrain(GenerativeConfig(verbose=True))
# Reasoning (cognitive loop, multi-cycle)
print(brain.reason("What is the capital of France?"))
# It's Paris.
# Free-form generation (token-by-token with temperature)
print(brain.generate("The cat", max_tokens=20))
# is the capital of the earth is about 2 million people...
# Creative writing
print(brain.write_story("a lonely robot"))
# Once upon a time, there was The who lived in an ancient temple...
print(brain.write_poem("the ocean"))
# Roses are red,
# Violets are green,
# the ocean is fair,
# And so are you.
# Analysis
print(brain.summarize("The cat sleeps all day and hunts at night."))
print(brain.explain("the brain"))
# One-shot teaching (instant learning)
brain.teach("Tokyo is the capital of Japan")
print(brain.reason("What is the capital of Japan?"))
# The capital of japan is Tokyo.
# Natural chat (auto-routes to the right mode)
print(brain.chat("Tell me about Python"))
# Here's what I know about python:
# - It is a programming language.
# - It is a high-level programming language.
# - It is a widely used in.
CLI commands:
/reason <question> Reason about a question
/gen <prompt> Generate text token-by-token
/story [theme] Write a short story
/poem <topic> Write a poem
/essay <topic> Write an essay
/summarize <text> Summarize text
/explain <topic> Explain a topic
/teach <fact> Teach a fact
/train <text> Train on a text block
/stats Show brain statistics
The brain starts with a 76-sentence built-in corpus (cats, dogs, Paris, water, Einstein, Earth, computers, Python, the brain, math, music, literature, science, history, ocean, trees, the heart, dreams). You can extend it with brain.train_on_text(your_text) or brain.train_on_file("corpus.txt").
Web dashboard
python web/server.py
# open http://localhost:4141
Project Structure
my-project/
βββ nova/ # NOVA β Hyperdimensional brain (HDC + SDM + resonator)
β βββ hd.py # HDC primitives (bind, bundle, permute, similarity)
β βββ memory.py # Sparse Distributed Memory (Kanerva SDM)
β βββ tokenizer.py # Word-level tokenizer + item memory
β βββ encoder.py # Text β HD vectors (TPR encoding)
β βββ decoder.py # HD β text (cleanup + greedy generation)
β βββ resonator.py # Continuous-time dynamic field (attractors)
β βββ agent.py # Agentic tool layer
β βββ brain.py # Orchestrator
β
βββ spike/ # SPIKE β Spiking neural brain (LIF + STDP)
β βββ core.py # LIF neuron vectorized
β βββ network.py # 3-population network + CSR synapses
β βββ stdp.py # Spike-timing-dependent plasticity
β βββ rstdp.py # Reward-modulated STDP (eligibility traces)
β βββ lazy.py # Async spike buffer for large networks
β βββ bpe.py # BPE subword tokenizer
β βββ visual.py # Image β spikes (multi-modal)
β βββ coder.py # Text β spike encoder/decoder
β βββ agent.py # Agentic tool layer
β βββ brain.py # Orchestrator
β
βββ aether/ # AETHER β Brain-inspired cognitive agent (v4)
β βββ hd.py # HDC primitives (4096-dim)
β βββ memory.py # SDM + Associative Memory
β βββ encoder.py # Text β HD vectors
β βββ semantic.py # Char n-grams + semantic tagging
β βββ reasoning.py # Cognitive loop (PERCEIVE/RETRIEVE/DELIBERATE/ACT)
β βββ tools.py # Agentic tool registry (calc/time/recall/teach/...)
β βββ inference.py # Inference engine + proof steps
β βββ planner.py # Multi-step planner + executor
β βββ context.py # Conversation context
β βββ generator.py # Response generator
β βββ # v3 modules
β βββ pretrained.py # Semantic KB + concept taxonomy
β βββ language_model.py # HD n-gram language model
β βββ composer.py # Tool composition (multi-step pipelines)
β βββ web.py # RAG (offline Wikipedia)
β βββ multimodal.py # Image + audio HD encoders
β βββ # v4 brain-inspired modules
β βββ kuramoto.py # Kuramoto oscillator network
β βββ attractor.py # Discrete + ring + sheet attractors
β βββ global_workspace.py# Baars' Global Workspace Theory
β βββ predictive.py # Friston's predictive coding
β βββ hierarchy.py # 4-level predictive cortex
β βββ neuromodulators.py # Dopamine / serotonin / ACh / NE
β βββ comprehension.py # Multi-indicator understanding
β βββ consciousness.py # Self-model + metacognition
β βββ episodic_memory.py # Time-stamped episodes
β βββ causal.py # Causal reasoning
β βββ counterfactual.py # What-if reasoning
β βββ mental_simulation.py# Mental simulation
β βββ commonsense.py # Common-sense KB
β βββ curiosity.py # Curiosity-driven exploration
β βββ meta_learning.py # Learning to learn
β βββ self_modify.py # Self-modification
β βββ socratic.py # Socratic dialogue
β βββ ... (58 modules total)
β βββ agent.py # AETHER top-level orchestrator
β
βββ hybrid/ # HYBRID β NOVA + SPIKE orchestrator
β βββ __init__.py
β
βββ distributed/ # Multi-brain router (math/memory/general)
β βββ __init__.py
β
βββ web/ # FastAPI + WebSocket dashboard
β βββ server.py
β βββ static/index.html
β
βββ scripts/ # Demos and tooling
β βββ demo.py # NOVA demo
β βββ spike_demo.py # SPIKE demo
β βββ spike_v2_demo.py # SPIKE v2 features demo
β βββ v3_demo.py # All v3 features demo
β βββ visualize.py # Generates all PNG figures (8 plots)
β βββ benchmark.py # SPIKE vs NOVA vs AETHER vs HYBRID
β βββ test_aether.py # AETHER 8-part demo
β βββ cognitive_tests.py # AETHER cognitive tests
β βββ gpt4_benchmark.py # AETHER vs GPT-4o benchmark
β βββ quick_iq_test.py # AETHER IQ test
β βββ ... (15 scripts total)
β
βββ docs/images/ # Figures used in this README (10 PNGs)
β
βββ nova_cli.py # NOVA interactive CLI
βββ spike_cli.py # SPIKE interactive CLI
βββ README.md # This file
Feature Matrix
| Feature | NOVA | SPIKE | AETHER | HYBRID |
|---|---|---|---|---|
| One-shot learning | β | β | β | β |
| STDP (online) | β | β | β | β |
| R-STDP (reward-modulated) | β | β | β | β |
| Lazy spike buffer | β | β | β | β |
| Direct sensoryβmotor bypass | β | β | β | β |
| Dream mode (replay consolidation) | β | β | β | β |
| Save / Load | β | β | β | β |
| Agentic tools | β | β | β | β |
| Multi-modal (images) | β | β | β | β |
| BPE subword tokenizer | β | β | β | β |
| Cognitive loop (multi-cycle) | β | β | β | β |
| Kuramoto oscillators | β | β | β | β |
| Attractor networks | β | β | β | β |
| Global Workspace Theory | β | β | β | β |
| Predictive coding | β | β | β | β |
| Hierarchical cortex | β | β | β | β |
| Neuromodulators | β | β | β | β |
| Consciousness module | β | β | β | β |
| Episodic memory | β | β | β | β |
| Causal / counterfactual | β | β | β | β |
| Mental simulation | β | β | β | β |
| Curiosity-driven exploration | β | β | β | β |
| Meta-learning | β | β | β | β |
| Self-modification | β | β | β | β |
| Socratic dialogue | β | β | β | β |
| HD language model | β | β | β | β |
| Tool composition | β | β | β | β |
| Web dashboard | β | β | β | β |
| Distributed routing | β | β | β | β (via orchestrator) |
Limitations & Honest Assessment
This is a research prototype, not a production system. Known limitations:
- No free-form text generation. Neither NOVA nor SPIKE generates fluent prose like an LLM. AETHER has a basic HD n-gram language model but it's trigram-grade.
- Tiny vocabulary. Word-level tokenizers saturate around a few hundred words. The BPE tokenizer helps but isn't yet wired into the main brains.
- No pretraining. The brains only know what you tell them. AETHER has a small pretrained KB (concept taxonomy, synonyms) but no web-scale corpus.
- STDP is slow to converge. Random initial weights mean SPIKE's "reasoning" is mostly noise until enough imprinting happens. The dream mode helps but it's not reinforcement learning yet.
- HYBRID is not smarter than its parts. The current fallback logic is too simplistic β better routing and confidence estimation are needed.
- AETHER's cognitive loop is slow (~300 ms). It runs up to 8 cycles, each retrieving from SDM and deliberating. Faster convergence is an active area.
- Single-threaded. Lazy spikes and distributed mode open the door to parallelism, but the current implementation is sequential.
What this project does prove:
- You can build useful AI without transformers
- You can learn one-shot without backprop
- You can reason temporally without RNNs
- You can call tools without an LLM
- You can fit a working brain in 0.45 MB of RAM
- You can implement brain-inspired modules (GWT, predictive coding, attractors, neuromodulators) in pure Python
Roadmap
- Wire BPE tokenizer into NOVA and SPIKE (replace word-level)
- Better HYBRID fallback (confidence-based, not just low-activity threshold)
- Real image classification via multi-modal path (MNIST demo)
- Multi-threaded lazy spike propagation
- Web dashboard: stream STDP weight changes in real time
- Pre-train SPIKE on a small corpus (Wikipedia FR subset) via STDP
- R-STDP agent that learns to call the right tool over many trials
- Wire AETHER's cognitive loop into the HYBRID orchestrator
- Benchmark vs GPT-4o-mini on the same agent tasks (see
scripts/gpt4_benchmark.py) - Add AETHER's consciousness module to the web dashboard
Theoretical References
- Kanerva, P. (1988). Sparse Distributed Memory. MIT Press.
- Kanerva, P. (1996). Binary Spatter-Coding of Ordered K-tuples. ICANN.
- Plate, T. (1995). Holographic Reduced Representations. IEEE TR.
- Gayler, R. (1998). Multiplicative Binding, Representation Operators, and Analogical Inference. ETII.
- Frady, E. P., Kleyko, D., & Sommer, F. T. (2021). Variable Binding for Sparse Distributed Representations. Neural Computation.
- Maass, W. (2002). Liquid State Machines. Motivation, Theory, Applications.
- Bi, G. Q., & Poo, M. M. (1998). Synaptic Modifications in Cultured Hippocampal Neurons: Dependence on Spike Timing. J. Neuroscience.
- Baars, B. J. (1988). A Cognitive Theory of Consciousness. Cambridge UP.
- Friston, K. (2010). The Free-Energy Principle: A Unified Brain Theory. Nature Reviews Neuroscience.
- Kuramoto, Y. (1984). Chemical Oscillations, Waves, and Turbulence. Springer.
This project stands on the shoulders of ideas that predate the transformer by decades β and asks why we forgot them.
License
MIT β see LICENSE.
Acknowledgments
Built across multiple brainstorm-to-code sessions, July 2026.
This project stands on the shoulders of ideas that predate the transformer by decades β and asks why we forgot them.








