Articles

Consciousness as Self-Modeling SystemsThis account of consciousness centers on a system using observations of its own behavior to change what it does.

A camera observes a plotting machine’s own movement while an earlier trace is displayed beside it.
The next action depends on a model built from the system’s own observed behavior.

What It Is

Consciousness can be treated as self-modeling computation. A system represents its own states, patterns of behavior, and probable futures, then reads that model to decide what to do. Its behavior depends on its model of its behavior, creating a self-referential control loop. The account covers what self-observation does for control; what experience is lies outside it.

The model's accuracy limits how effectively the system can control itself. It can predict a failure before acting, detect a repeated failure pattern, and change the arrangement that produces it. Those interventions operate at different levels: executing a task, monitoring execution, and redesigning the system.

Self-modeling adds information about the system itself to a cybernetic control loop. Agency includes recognizing that this operation can be observed and deliberately changed.

A closer look

The self-modeling control loop

The self-modeling control loopObserve behavior → Update the self-model → Choose an adjustment → Act with the adjustment → Observe behavior. The control loop reads a model of its own behavior before acting. The article requires that model to be updated from observed behavior, not introspection alone.ObservebehaviorUpdate theself-modelChoose anadjustmentAct with theadjustmentThe self-modeling control loopObserve behavior → Update the self-model → Choose an adjustment → Act with the adjustment → Observe behavior. The control loop reads a model of its own behavior before acting. The article requires that model to be updated from observed behavior, not introspection alone.Observe behaviorUpdate the self-modelChoose an adjustmentAct with the adjustment

The control loop reads a model of its own behavior before acting. The article requires that model to be updated from observed behavior, not introspection alone.

Read this diagram

Observe behavior → Update the self-model → Choose an adjustment → Act with the adjustment → Observe behavior.

Self-Modeling as Control System Component

A control system has a goal, environmental sensors, actuators, a feedback loop, and resource limits. Self-modeling adds sensors directed at the system's own operation.

System TypeSensor TargetControl SignalExample
Basic controlEnvironment onlyExternal state → actionThermostat (senses temperature, not own functioning)
Self-monitoringOwn error statesInternal malfunction → alertError-checking systems detect failures
Self-modelingOwn behavior patternsHow often a behavior occurs → strategic adjustmentTracking shows work happening on few days, which prompts an architecture change
Meta-self-modelingOwn control algorithmsControl effectiveness → algorithm redesignRecognizing intent-execution interface and using it deliberately

Detecting an error allows a repair. Recognizing a pattern of errors allows a change to the process producing them. Modeling the control process itself allows a redesign of that process. Each level makes a further part of the system observable and therefore debuggable.

Levels of Self-Modeling Depth

LevelCapabilityControl System ImpactExampleWhat It Unlocks
0: No self-modelPure stimulus-responseNo internal feedbackThermostat toggles on temperatureSimple, fast, brittle—cannot adapt
1: Self-monitoringDetects own state errorsCan report malfunctionSystem detects "low battery"Reliability through self-diagnosis
2: Self-modelingPredicts own behaviorCan simulate before execution"If I execute now, I will probably fail → wait"Strategic planning, failure avoidance
3: Meta-self-modelingModels own modeling processCan debug control algorithms"My debugging strategy usually fails → try different approach"Recursive optimization of control strategies

Each level adds feedback about the one below it. Level 1 monitors Level 0's execution. Level 2 models the monitoring patterns. Level 3 evaluates the modeling process. The hierarchy resembles operations, functions, and architecture in a program: the higher level can change how lower-level work is organized.

What Self-Modeling Systems Can Do

1. Self-Prediction (Level 2)

Before executing, a system can estimate its likely behavior in the current state:

Current state: tired, low willpower, phone nearby
Self-model: deep work has rarely happened from this state
Prediction: Attempting work now will likely fail
Decision: Change state first (remove phone, rest) OR defer work

That estimate makes a cost-benefit decision possible before paying the cost of an attempt. The control loop receives predictive information about its own future and can avoid spending resources on an action that is unlikely to succeed.

2. Meta-Awareness (Level 2-3)

A system can also inspect its monitoring through second-order attention:

First-order: Execute task (work)
Second-order: Notice attention fragmentation ("I'm distracted")
Third-order: Recognize pattern ("This happens when phone present") → architectural fix

This locates a failure in how the task is controlled, beyond noticing that the task failed. It connects to agency: the system being operated is something you can observe and change. The GTA V epiphany is recognizing the intent-execution interface and using it deliberately.

3. Strategic Self-Modification (Level 3)

A repeated failure can identify an architectural intervention:

Observation: distraction on nearly every occasion the phone is present
Diagnosis: Phone presence is the likely cause of the control failures
Intervention: Remove phone from environment
Validation: Track distraction again → check whether it fell

One change to the environment changes how often the failure occurs for as long as the change stays in place, and it replaces repeated efforts to force execution. Prevention architecture removes the factor corrupting control once the self-model identifies it.

4. Recursive Optimization (Level 3)

The same process can evaluate the method used to improve the system:

Meta-observation: "My current debugging questions rarely lead to a fix"
Meta-diagnosis: "Question framing is too abstract"
Meta-intervention: Switch to concrete reality-check questions
Meta-validation: Check whether more of the questions now lead to a fix

The system observes whether its debugging strategy works, diagnoses the strategy's failure, and changes the questions it uses. It improves the control procedure itself, not only the task being controlled.

Self-Referential Causality

A normal control path runs from environment to sensors, model, control, and action. In a self-referential path, behavior changes the self-model, and the self-model changes behavior.

Design Patterns in Self-Referential Systems

PatternStructureLoop TypeDesign ValueRisk
Self-fulfilling predictionBelief → behavior → outcome confirms beliefPositive reinforcementCan engineer desired outcomesCan also reinforce bad predictions
Self-defeating predictionBelief → awareness → prevention → outcome contradicts beliefNegative feedbackMeta-awareness breaks bad patternsRequires Level 2+ self-modeling
Anxiety spiralThought → anxiety → thought about anxiety → more anxietyRunaway positive feedbackNone (pure failure mode)Common in meta-cognitive systems
Meta-awareness stabilizationNotice distraction → redirect attentionNegative feedback (corrective)Self-correcting control loopsRequires monitoring overhead
Recursive improvementObserve strategy → improve strategy → observe improvementIterative optimizationSystems that improve themselvesCan optimize into local maxima

Some loops stabilize through corrective negative feedback. Others amplify a disturbance through positive feedback. Recursive loops evaluate and change another loop. Design corrective feedback, guard against runaway amplification, and use recursion to improve the control strategy.

Strange Loops as Computational Architecture

Hofstadter's strange loops return to the system itself while crossing levels of abstraction.

Computational Strange Loop Example

A program can treat its own source as input:

# Meta-program
code = open(__file__).read()
code = code.replace("old_behavior", "new_behavior")
exec(code)  # Runs modified version of itself

The executing system operates on itself as data. It reads the source, changes it, and executes the changed version.

Consciousness as Operational Strange Loop

The same architecture connects execution to monitoring and modeling:

Execution layer: Perform action
Monitoring layer: Observe execution patterns
Modeling layer: Build predictions from observations
Meta-layer: Model the modeling process
↓ (loop closes)
Execution changes based on meta-model

Higher levels observe and modify lower ones. Lower levels constrain what the higher ones can model. Feedback therefore moves in both directions. In this picture, no single base level contains consciousness; the levels refer to one another.

Integration with Cybernetics

Self-modeling adds an internal sensor loop to cybernetic control.

Standard Cybernetic System

Goal → Compare to current state → Error signal → Adjust actuators → Measure → Loop

This system responds to the environment. It holds no information about itself, so it has nothing with which to predict its own failures or improve its control strategy.

Self-Modeling Cybernetic System

Goal → Self-model predicts outcome → If success looks unlikely, modify strategy
     → Execute → Measure → Update self-model → Optimize control algorithm → Loop

The additional loop provides three capabilities: adjust before a predicted failure, tune the control loop from observed effectiveness, and redesign the architecture when failures are structural. Cybernetics with a self-model can inspect the controller as well as what it controls.

Integration with Agency

Agency includes recognizing that you are such a system. Intent directs execution, tracking reveals its patterns, and those observations support changes to the architecture.

Without self-modeling, the system runs without strategic self-modification. With it, you can observe, diagnose, redesign, and verify improvements at the levels of execution, monitoring, and design.

The Meta-Levels

Agency and attention routing distinguish these operations:

LevelFunctionCapabilityTool
First-orderExecute behaviorDo the workDirect action
Second-orderMonitor executionNotice patternsTracking, meta-awareness
Third-orderDesign architectureModify system structureprevention-architecture, 30x30-pattern

Self-modeling allows movement between them: execute, notice a pattern, change the structure, then return to execution. Kernel mode and user space describe the distinction between changing system constraints as its designer and working within them as its operator.

Self-Modeling Requires Measurement

An impression such as “I think I'm productive” does not validate a prediction or distinguish an accurate model from wishful thinking. Measurement provides a count instead. Suppose the record shows work on 6 of the last 30 days.

That supports a testable prediction: with the phone removed, work should happen on clearly more than 6 of the next 30. Measure what happens after the change to determine whether it worked.

The full loop has six steps:

  1. Track actual outputs.
  2. Work out how often the behavior occurs, and under which conditions.
  3. Build a model of what the current architecture produces.
  4. Design an intervention from that diagnosis.
  5. Measure the new outputs to check the prediction.
  6. Update the model from what happened.

Tracking supplies the empirical sensor data. An accurate self-model cannot be built without observations of actual behavior.

Design Patterns for Self-Modeling Systems

Pattern 1: Hierarchical Observation

Level 0 executes, Level 1 monitors execution, Level 2 models monitoring patterns, and Level 3 improves modeling strategies. Attention routing implements the related first-, second-, and third-order operations.

If execution fails, the next question can be why monitoring missed it and how monitoring should change. The hierarchy makes recursive debugging possible.

Pattern 2: Predictive Self-Model

Before acting, ask the self-model how likely the action is to succeed from the current state:

if self_model.predict_success(current_state) < threshold:
    modify_state_or_defer()
else:
    execute()

This avoids wasting resources on actions that are unlikely to succeed. It resembles an expected-value calculation with the self-model supplying the sensor input.

Pattern 3: Measurement-Based Model Updates

Update the model only from empirical data. Track behavior, count how often it occurs, compare the count with the prediction, and revise according to the error. Never accept an unmeasured subjective impression as validation. This keeps the model aligned with actual behavior rather than introspection.

Pattern 4: Architecture-Level Intervention

If failure follows nearly every time condition X is present, treat condition X as the likely source of the control failures, remove it from the environment, and measure the new failure rate. Repeated execution failures call for changing the structure. A one-time modification replaces continual resistance at each attempt.

Practical Applications

Application 1: Debugging Focus Failures

Record when focus succeeds and fails and under what conditions, and look for a condition that is present at most of the failures, such as a nearby phone. Remove the phone, then keep recording to check the model: focus should now hold more often. “I should focus harder” changes neither the diagnosis nor the architecture and repeats the failure.

Application 2: Recognizing Intent-Execution Interface

Self-modeling makes the interface described in agency visible. Without meta-awareness, you experience the running system without recognizing that its operation can change. With it, the system can be observed, diagnosed, altered, and checked.

The GTA V epiphany identifies an interface that carries out execution when supplied with intent. Recognizing it makes deliberate use possible.

Application 3: Strategic Detraining Prevention

A self-model can predict the cost of a break before it occurs:

Self-model: "After a 7-day break, I have usually not restarted"
Prediction: "If I skip gym this week, restarting will be hard"
Intervention: Use progressive reactivation protocol OR prevent long breaks

That forecast permits prevention of the future state or preparation of a reactivation process before restarting becomes difficult.

Key Principle

A self-model lets a system use observations of its own behavior to change how it operates. Build that model from measured behavior, use it to predict failures, and test the effects of structural changes. The same loop can inspect and improve the strategy used to make those changes.