← К списку демонстраций
Автоматизмы и преемственность effect
automatizms.js · episodic_memory.js

Один раз вычисляется `effect` при `closeLastFrame`; то же число попадает и в кадр ЭП, и в обновление Usefulness автоматизма — без второго расчёта и расхождений.

Преемственность оценки
Кадр ЭП
`effect = clamp(Δdiff)`
=
Штатный автоматизм ветки
`addUsefulnessSample(id, effect)`
usefulness усредняется по count

Если на кадре задан `feedbackAutomatizmId` (ожидание после автоматизма), образец уходит в него; иначе — в `Automatizms_getDefaultAutomatizmForBranch(perceptionNodeId)`.

Создание автоматизма по образу действия
После срабатывания рефлекса `EpisodicMemory_setLastFrameActionFromActionId` регистрирует ОД в кадре и вызывает `Automatizms_createAutomatizm(branchId, actionsImageId)`. Запись уникальна по паре (ветка, ОД). Первый автоматизм на ветке назначается штатным (`setDefaultAutomatizm`).
От рефлекса к первым автоматизмам
Генетический или условный рефлекс → `startAction` → в кадр записывается реакция (ОД) → создаётся автоматизм с нулевым usefulness и count = 0 до первого закрытия.
При закрытии кадра тот же `effect`, что в ЭП, усредняется в usefulness — это и есть «первая» численная оценка полезности для связки ветка + действие.
Дальше штатный автоматизм участвует в ФО как кандидат при активации ветки; накопленная полезность отражает успех/неуспех повторяющихся эпизодов.
Зачем это нужно
Единая метрика: память эпизода и обучение автоматизма опираются на одно значение effect — проще согласовать поведение и отладку.
Штатный автоматизм ветки — компактное представление «что обычно сработало на этой ветке» для сознания; рост usefulness при положительных эпизодах усиливает доверие к этому действию.