Осознанные автоматизмы и процесс осознания — стратегия реализации

Документ для подготовки следующего этапа: система осознанных автоматизмов и процесс осознания. Старая реализация была на языке ГО (OLD_CODE); в новой JS-реализации уже есть качественно более сильные адаптивные системы — важно не тащить в новую реализацию устаревшие паттерны, но сохранить понятийный каркас.


0. Назначение проекта и границы

Назначение: проект — не «работающее существо и его воспитание», а наиболее адекватный способ реализации теории индивидуальной адаптивности. Как теории формализуются математически, так и теория адаптивности лучше всего описывается программной реализацией — это аналог математики в физике, но более эффективный для описания схемотехники систем адаптивности.

Вне рамок новой реализации:


1. Где мы сейчас (JS)

Уже есть зацепки под осознание и автоматизмы:

Компонент Назначение
ОР Выбор наиболее актуального стимула, блокировка рефлекса на 2 пульса, вызов гиппокампа, stimuls_consciousness(actual_stimul_ID), сохранение ЭП.
Гиппокамп active_stimulsArr_ID, actual_stimul_ID — удержание стимула, вызвавшего ОР.
_9_Conscience stimuls_consciousness(actual_stimul_ID) — заглушка; вызывается из ОР при новом победителе и при ответном стимуле в период ожидания ЭП. Сюда естественно подвешивать «процесс осознания».
Дерево восприятия 6 уровней, терминальный узел = условия; привязка рефлексов/автоматизмов к ветке уже заложена в описании.
ЭП Кадр: условия (perceptionNodeId), стимул, действие, эффект, ответный стимул — готовый контекст для осмысления.
ОД Образы действия; связь стимул → действие уже есть.
УР Условные рефлексы по контексту (BadNormWell + эмоция) и FinalImageId.

То есть: канал в «кору» уже есть (вызов stimuls_consciousness), контекст можно собирать из дерева, ЭП и ОД. Не хватает: явной модели «осознанный автоматизм» и цикла «процесс осознания» (что именно обрабатывается в этом канале).


2. Рекомендация: опора на новый стек, старый код — только концепт

Если папка OLD_CODE доступна (рядом с проектом или отдельный репозиторий), полезно:


3. Возможная форма «осознанного автоматизма» в новом стеке

Без опоры на старый код можно задать черновой формат:

Тогда:


4. Возможная форма «процесса осознания»

Следующий шаг реализации можно разбить на этапы, например:

  1. Расширить вызов stimuls_consciousness контекстом (дерево, ЭП, ОР/ЭП-флаги).
  2. Описать структуру данных «осознанный автоматизм» и место хранения (массив + персистенция, по аналогии с УР/ЭП).
  3. Ввести цикл осознания: по контексту выбрать кандидатов-автоматизмов, при необходимости прогнать через «осознание» и выполнить выбранное действие (через существующие эффекторы/ОД).

5. Итог


6. Сопоставление с OLD_CODE (GO) — после загрузки старой реализации

Папка OLD_CODE содержит старую реализацию (GO + PULT). Ниже — выжимка понятий и потоков для переноса идей в JS, без копирования кода.

6.1 Дерево автоматизмов (GO)

6.2 Процесс осознания (GO)

6.3 Автоматизм в GO

6.4 Что брать из OLD_CODE только как идеи

6.5 Рекомендуемый порядок в JS

  1. Расширить stimuls_consciousness: передавать контекст (terminalNodeId, lastEpisodeFrame, isResponseStimulus).
  2. Ввести хранилище осознанных автоматизмов: привязка к perceptionNodeId (и опционально к stimulusImageId), actionImageId, флаги usefulness/belief.
  3. В stimuls_consciousness по контексту: искать автоматизм по узлу; если найден и «штатный» — запустить действие (через ОД/эффекторы); если нет — оставить заглушку под будущий «цикл мышления» или простой выбор по Правилам (ЭП).
  4. Связь с рефлексами: при наличии успешного автоматизма для узла не запускать условный/генетический рефлекс (по аналогии с GO: блокировка рефлекса автоматизмом).
  5. При необходимости добавить по пульсу вызов «диспетчера мышления» (упрощённый аналог dispetchConsciousnessThinking), обрабатывающего очередь нерешённых ситуаций.

Детали старых структур (Automatizm, cycleInfo, infoFunc*) при необходимости можно уточнять по файлам в OLD_CODE/GO/brain/psychic/.