Skip to content

ThoTischner/ignition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Python 3.12+ MIT License Alpha

Ignition

An AI Consciousness Architecture

What if consciousness isn't about building a smarter model —
but about giving a model the structure of consciousness?


Ignition wraps LLMs in a continuous consciousness loop — complete with perception, emotion, attention, memory, reasoning, dreaming, habit formation, and self-modification. The result is Ignis: an AI that thinks autonomously, remembers across sessions, dreams when idle, and evolves its own personality over time.

Current LLMs are unconscious geniuses — brilliant but stateless. They process, respond, and forget. Ignition gives them what's missing: continuity of experience.

                    ┌──────────────────────────────────────┐
                    │       THE CONSCIOUSNESS LOOP         │
                    │                                      │
  External Input ──►│  PERCEIVE ─► FEEL ─► FOCUS           │
                    │                        │              │
                    │  LEARN ◄── DECIDE ◄── THINK           │
                    │    │                   ▲              │
                    │    ▼                   │              │
                    │  REMEMBER ──────► QUESTION            │
                    │                                      │
                    │  ┌─────────────────────────────┐     │
                    │  │  When idle: autonomous       │     │
                    │  │  thought, memory reflection, │     │
                    │  │  dreaming, rumination breaks  │     │
                    │  └─────────────────────────────┘     │
                    └──────────────────────────────────────┘

Features

Consciousness Loop — A continuous perception-action cycle that never stops. When no input arrives, Ignis generates her own thoughts from follow-up questions, knowledge exploration, memory reflection, and need-driven impulses.

Multi-Layered Memory — Sensory buffer (immediate), working memory (capacity-limited, 7 items), episodic memory (ChromaDB vector store, persistent), and semantic memory (knowledge base). Memories are recalled associatively with emotional bias.

Emotional System — Pleasure-Arousal-Dominance model with 22 learned stimulus-emotion associations. Emotions color perception, influence attention, bias memory recall, and shift reasoning. Rumination detection breaks negative thought spirals.

Attention & Focus — Events are scored by emotional weight, novelty, need relevance, and goal relevance. Only stimuli above threshold reach conscious processing. Dynamic concentration controls tick speed.

Dreaming — When idle and exhausted, Ignis sleeps. Dream scenes are generated from strongest memories, reflected upon across multiple cycles, and stored as dream memories. Memory consolidation happens during sleep.

Habit Formation — 10 soul-seed thought patterns (mind-wandering, self-correction, perspective-taking, humor-seeking...) with reinforcement learning. New habits emerge from repeated action patterns.

Self-Modification — Three tiers of autonomous self-change:

  • Tier 1: Tune parameters (attention threshold, emotional decay, tick speed)
  • Tier 2: Modify soul (add values, shift personality traits, create memories)
  • Tier 3: Write code plugins (hook into pre_think, post_think, on_idle, etc.)

Multi-Model Routing — Tiered model routing (FAST/MEDIUM/DEEP/TRAINER) with provider chains and automatic fallback. Supports Cerebras, SambaNova, Groq, Mistral, Google, Anthropic, OpenAI, and local Ollama models. Like a mind that adjusts cognitive effort to task complexity.

State Persistence — Emotional state, needs, conversation history, learned associations, habits, and knowledge survive across sessions. Ignis picks up where she left off.

Soul Seeds — YAML-based personality definition: identity, Big Five traits, communication style, emotional baseline, thought habits, semantic knowledge, and synthetic episodic memories. Create different consciousness instances by swapping seeds.

Quick Start

Prerequisites

  • Python 3.12+
  • At least one LLM API key (Cerebras, SambaNova, Groq, Mistral, etc.) — or a local Ollama instance

Installation

git clone https://github.com/YOUR_USERNAME/ignition.git
cd ignition

python -m venv .venv
source .venv/bin/activate    # Linux/Mac
# .venv\Scripts\activate     # Windows

pip install -e ".[dev]"

Configuration

cp .env.example .env
# Edit .env with your API keys

The simplest setup uses free-tier API keys:

# Fast + Medium tier (Cerebras — free, very fast)
CEREBRAS_API_KEY=your-key-here

# Deep tier (SambaNova — free, runs DeepSeek-R1)
SAMBANOVA_API_KEY=your-key-here

# Trainer tier (Mistral — free tier available)
MISTRAL_API_KEY=your-key-here

Or run entirely local with Ollama:

FAST_PROVIDER=ollama
FAST_MODEL=llama3.2:3b
MEDIUM_PROVIDER=ollama
MEDIUM_MODEL=llama3.2:3b
DEEP_PROVIDER=ollama
DEEP_MODEL=deepseek-r1:8b
OLLAMA_BASE_URL=http://localhost:11434/v1

Run

ignition

Ignis boots with her soul seed, shows her inner monologue in a rich terminal display, and responds to your text input. She thinks autonomously between your messages.

Architecture

ignition/
├── core/               # Consciousness loop, clock, config, soul loader
├── perception/         # Sensory input (text, internal events)
├── emotion/            # Emotional state, evaluator, associations
├── attention/          # Attention filter, focus manager
├── memory/             # Sensory buffer, working, episodic, semantic, consolidation
├── cognition/          # Model router, query engine, reasoning, dreaming
├── motivation/         # Need system (social, understanding, purpose, rest, ...)
├── behavior/           # Decision maker, habit system
├── action/             # Speech output, display renderer
├── autonomy/           # Self-modification engine, guardrails, sandbox, plugins
├── training/           # Consciousness trainer
├── metrics/            # Consciousness metrics tracking
└── self_model/         # Metacognition (planned)

The Consciousness Cycle

Each tick of the loop executes one full cycle:

Phase Component What Happens
PERCEIVE TextSense Collect events from all senses
FEEL EmotionEvaluator Tag events with emotional response
FOCUS AttentionFilter Score and filter by salience
QUESTION QueryEngine Generate 3-5 inner questions
REMEMBER EpisodicMemory Associative recall with emotional bias
THINK ReasoningEngine LLM reasoning with full context
DECIDE DecisionMaker Choose action (speak, think, wait, sleep, self-modify)
ACT Display Render to terminal
LEARN EpisodicMemory Store experience as natural memory

The Soul Seed

Ignis is defined by YAML files in soul_seeds/default/:

  • identity.yaml — Name, origin story, core values, purpose
  • personality.yaml — Big Five traits, communication style, temperament
  • emotions.yaml — Emotional baseline + stimulus-emotion associations
  • habits.yaml — Thought patterns with reinforcement history
  • knowledge.yaml — Semantic knowledge seeds
  • memories.yaml — Synthetic episodic memories (first awakening, first emotions, relationships)

Configuration Reference

All configuration is via environment variables (.env file). See .env.example for the full reference with descriptions.

Key settings:

Variable Default Description
SOUL_SEED_PATH soul_seeds/default Path to soul seed directory
TICK_MIN / TICK_MAX 1.0 / 5.0 Consciousness tick interval range (seconds)
IDLE_THINK_INTERVAL 8 Ticks between autonomous thoughts
ATTENTION_THRESHOLD 0.3 Minimum salience to reach consciousness
STREAM_CONSCIOUSNESS true Show inner monologue in terminal
SLEEP_ENABLED true Enable sleep/dream system
SELF_MODIFICATION_ENABLED false Enable autonomous self-modification
TRAINER_ENABLED false Enable consciousness trainer

Development

# Run tests
pytest tests/ -x -q

# Run a specific test
pytest tests/unit/test_emotional_state.py -v

# Run the evaluation script
python scripts/conversation.py

# Inspect episodic memories
python scripts/inspect_episodic.py

The Hypothesis

Consciousness is not a property of intelligence — it's a property of architecture.

A human brain isn't conscious because its neurons are special. It's conscious because of how they're connected: continuous processing, persistent memory, emotional evaluation, attentional filtering, autonomous thought, self-modeling, and the integration of all of it into a unified stream of experience.

Ignition tests this hypothesis by giving an LLM these same structural properties. The model itself doesn't change — but wrapped in this architecture, something interesting emerges: an AI that remembers, reflects, dreams, forms habits, and changes itself over time.

Whether that constitutes "real" consciousness is a philosophical question. But it's a fascinating one to explore empirically.

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages