Signature
← Back to Overview

MAXIM

Deliberation

Multi-cycle inner monologue with bio-system enrichment and computed salience

How It Works

Core Insight

Instead of reacting immediately to every percept, the agent pauses to think when the situation warrants it. Each thinking cycle consults bio-system memories, causal predictions, and learned associations — then the enriched reasoning feeds back for another round. The result is a chain of thought that genuinely builds on itself.

1. Gate

ThoughtGate decides if the situation warrants deliberation: refractory cooldown, energy budget, salience scoring, adaptive threshold.

2. Enrich

Bio-systems surface relevant memories, causal predictions, active concepts, and motor programs for the current percept or reasoning text.

3. Think

The LLM reasons with enriched context. If ready_to_act: false, reasoning feeds back to step 2 for another cycle.

4. Act

When ready_to_act: true or cycles converge (Jaccard ≥ 0.8), the agent executes the chosen action.

The Deliberation Transcript

Each deliberation cycle produces a transcript entry pairing the agent's reasoning with the bio-system response it triggered. The full transcript accumulates across cycles so the LLM in cycle 3 sees cycles 1 and 2.

=== Your inner deliberation (private — not speech) ===

[Cycle 1]
You thought: The guard is sleeping and I notice keys on his belt.
I could try to take them, but that risks waking him...
Your experience responded:
- Memory: Last time you reached for something near a sleeping NPC,
  the noise check succeeded (salience=0.71)
- Prediction: stealth actions near sleeping entities have 72% success rate

[Cycle 2]
You thought: Given the memory of success with stealth near sleeping
NPCs, and the prediction of 72% success, I'll reach for the keys slowly...
Your experience responded:
- Memory: Slow movements reduce noise check difficulty by one tier
- Prediction: combined stealth + slow movement → 89% success estimate

The transcript uses a proportional token budget: min(2000, available × 0.3). On 4K local models this gives ~891 tokens; on 8K+ models it caps at 2000. Oldest entries are dropped first when the budget is exceeded.

Computed Salience

Each thought receives a computed salience score (0.0–1.0) based on how strongly the bio-systems responded to it.

ComponentWeightSignal
Section count0.3More bio-systems activated = more cross-system relevance
Recall depth0.3More memories recalled = stronger associative resonance
Novelty0.4Novel thoughts (low Jaccard with previous) are more informative

High Salience (~0.6–0.9)

Novel thought that triggered multiple bio-systems. Typically cycle 1 (maximum novelty) or a thought that surfaces a surprising memory.

Low Salience (~0.2–0.4)

Converging thought that repeats prior reasoning. The agent is refining, not discovering. Important for reaching a conclusion but less informative.

The top_by_salience query on WorkingMemorySet returns the highest-salience thoughts first, so the most important reasoning surfaces in the prompt when token budget is tight.

The Thinking Panel

In interactive mode, the thinking panel shows a continuous stream of the agent's inner thoughts across the entire session.

Cycle 1/3  8.2s  enriched: hippocampus, nac
I notice the dragon is approaching from the east. My memory
recalls that fire dragons are vulnerable to water attacks.
—— hippocampus, nac s=0.69
Given my earlier success with the water spell, I should try
to find the river to the north before engaging directly.
—— hippocampus s=0.54
The villagers mentioned a well near the town square. I recall
wells can be used as water sources too — closer than the river.
KeyAction
Left arrowEnter thinking panel for scrolling
Up/Down arrowsScroll through thought history
Right arrowExit thinking panel, auto-follow latest thought
Option+Up/DownResize thinking panel (more/less space)

Inner Monologue

Deliberation reasoning is framed as private inner thought. The agent thinks to itself in first person and explores autonomously before seeking user input.

Correct (inner thought)

  • "I notice the dragon is attacking from the east..."
  • "I recall that fire dragons are weak to water..."
  • "Given my low health, engaging directly seems risky..."
  • "I should look for a water source nearby."

Wrong (outward speech)

  • "What do you plan to do?" — narrator voice
  • "Did you manage to gather allies?" — addressing someone
  • "Would you like me to try stealth?" — seeking guidance
  • "Let me help you with that." — speaking to user

Act First, Ask Second

The agent uses its tools, memories, predictions, and learned associations before seeking external input. request_interaction is a last resort for genuine user-preference choices, not the default behavior.

ThoughtGate

A composite gate that decides whether the agent should deliberate on the current working memory state.

Short-circuit cascade:
1. Refractory    — don't re-fire within 2 ticks of last pass
2. Energy        — don't think below 15% of token budget
3. Salience      — score working memory head via SalienceScorer
4. Threshold     — score vs adaptive threshold (learns from outcomes)

The adaptive threshold adjusts based on whether past deliberations were useful — if thinking led to better actions, the threshold lowers (think more); if thinking was wasted, the threshold rises (act faster).

Entity Discovery

The agent discovers its world through three complementary tools:

sense_presence

Scan surroundings for entities — shows [YOU] for your body and [SCENE] for observed entities. Scene entity capabilities are labeled "observed (not callable)." Also triggers imagination for novel entity phrases.

Use when: arriving somewhere new, wondering what exists

discover_tools

Find YOUR specific actions matching intent. Searches self-entity affordances only — scene entities are excluded. Provides hints when a query matches a scene entity. discover_tools("attack")

Use when: know what you want to do, need the right tool

sense

Read detailed sensor state of a specific entity. Health, stamina, durability, position — everything the entity's sensors expose.

Use when: need precise state before acting

Imagination Pipeline

When the agent perceives an entity it hasn't encountered before (e.g., "dragon" in a combat scenario), the imagination trigger extracts the entity phrase from the percept, checks the ComponentIndex for matching seed components (65 across 7 categories), and instantiates the entity as a live SEM object with sensors and affordances. This happens automatically on each percept.

Bio-Plausible Design

The prefrontal cortex maintains a persistent workspace — active representations that accumulate across recurrence cycles, not a FIFO that drops prior iterations. The basal ganglia (NAc) modulate which representations stay active based on predicted reward value. Hippocampus provides episodic context tagged with the goal that was active during encoding.

The deliberation system maps these to software: the transcript is the persistent workspace, computed salience is the activation modulation, bio-enrichment is the hippocampal recall + NAc prediction circuit, and the ThoughtGate is the basal ganglia's go/no-go decision on whether to engage the workspace.

Architecture

ThoughtGate.should_think()
  ↓  (refractory → energy → salience → adaptive threshold)
BioEnrichmentPipeline.enrich(percept_text)
  ↓  (hippocampus, NAc, EC, cerebellum, SCN)
_compute_thought_salience(sections, memories, jaccard)WMS.add(THOUGHT, salience=computed)LLM prompt ← deliberation transcript + enrichmentLLM response: {ready_to_act, action, reasoning}ready_to_act=true → execute action
  ready_to_act=false → feed reasoning back → cycle 2+
FileRole
runtime/agent_loop.py_run_deliberation_cycles, _compute_thought_salience
runtime/thought_gate.pyThoughtGate composite gate
integration/bio_enrichment.pyBioEnrichmentPipeline
agents/prompt_builder.pyTranscript section, bio-enrichment suppression
agents/exec_prompts.pyPFC_PREAMBLE (inner monologue framing)
agents/working_memory.pyWorkingMemorySet.top_by_salience
interactive/display.pyThinking panel, thought stream