Относится к сборнику статей теории МВАП
Попытка организовать автоматическое обучение Beast
Хотя код существа BeastJS не предназначен для полноценного воспитания субъективности, но в теоретических целях была сделана попытка наладить интерфейс между CursorAI и проектом с JS кодом через “мост” Node, что описано ниже.
Такой интерфейс был создан, проверен и было задание сделать несоклько условных рефлексов, а затем записать состояние Beast на локальный диск, чтобы загрузить в любой браузерный Пульт связи с Beast. Генерация 10 условных рефлексов заняла 5 минут из-за того, что код существу синхронизируется пульсом в 1 секунду, а для формирования условного рефлекса задана необходимость трех сочетания стимула и реакции. Тогда пульс был ускорен до 40 миллисекунд и задано сформировать 1000 условных рефлексов не как попало, а по важнейшим направлениям адаптивности (т.е. по различным отклонениям виталов от нормы). За 7 минут было сформировано 20 условных рефлексов и процесс был прерван по очевидной бесполезности. Сам Cersor порассуждал о причинах таким образом:
Почему всё равно «долго до 1000»? Счётчик conditionalReflexCount растёт только когда движок добавляет новый условный рефлекс; повторы и слияния не дают +1 на каждый шаг. Поэтому узкое место — не скорость пульса, а то, сколько уникальных связей модель реально формирует за один проход сетки. Ускорение пульса ускоряет перебор шагов по времени, но не умножает число новых рефлексов.
Это значит, что в системе взаимосвязей адаптивных механизмов не только частота синхронизации (скорость прохождения сигналов и т.п.) играют роль. Но даже если удалось бы устранить все задержки (и, тем самым, исказив логику реальных процессов, требующих адекватных зависимостей от появления стимула, выявления пути его воздействия, оценки значимости в каналах базовых контекстов (эмоций), которые следят за динамикой изменения виталов) и т.п. взаимовлияния), то возникает вопрос об адаптивной пользе таких автоматизированных сочетаний? Они, в принципе, ничем не отличаются от простого программного и быстрого создания условных рефлексов из генетических реакций для разных условий и не нудны никакие такие ухищрения и контроль AIагента, который ничего полезного не привносит в процесс, по сравнению с тем, как бы к этому подошел оператор.
CursorAIсоздал инструкцию по развернутой система автоматического воспитания, которая по смыслу показывает, что ничем не отличается от созданной программы жесткого формирования рефлексов за очень быстрый процесс.
Автоматическое «воспитание» Beast по заданиям оператора
Документ описывает, как в этом репозитории устроен процесс, когда оператор не кликает пульт вручную, а передаёт сценарий (в коде это ближе всего к «промпту»: явная программа действий и контекстов). Реализация опирается на мост (beast-bridge), BeastAPI в браузере и обучающие скрипты на Node.js.
1. Идея в двух предложениях
Beast живёт в одной вкладке Chromium, которую поднимает Puppeteer из моста. Любое действие оператора на пульте (стимул, витал, удержание Плохо/Норма/Хорошо, длительность пульса) дублируется вызовами window.BeastAPI.act(action, params).
«Промпт оператора» в автоматическом режиме — это заранее записанная последовательность таких действий плюс ожидания по пульсу (cpuls), а не отдельный чат с моделью: сценарий лежит в .js файле и исполняется снаружи через HTTP.
2. Слои системы
|
Слой |
Роль |
|
beast-bridge/server.js |
Раздаёт статику проекта, поднимает Chromium с index.html, ждёт готовности BeastAPI, отдаёт REST только с 127.0.0.1. |
|
BeastAPI (beast/sys/beast_agent.js) |
Единый контракт: getState, act, ожидания событий/условий. Действия эмулируют клики по кнопкам стимулов и вызовы уже существующих глобалов (виталы, B/N/W, сон, очистки памяти и т.д.). |
|
Скриптобучения (beast-bridge/train-*.js) |
«Оператор в коде»: цикл по фазам или по сетке, POST /api/act, опрос GET /api/state, при необходимости GET /api/memory для дампа. |
Связка оператор → сценарий → API → тот же UI, что и у человека, снимает рассинхрон «другая вкладка — другое состояние»: обучение должно идти в окне моста, а не в ручном браузере.
3. HTTP API моста (кратко)
- GET /api/health — готовность моста и загрузки Beast.
- GET /api/state — снимок из BeastAPI.getState() (пульс, виталы, активные стимулы, метрики в т.ч. conditionalReflexCount).
- POST /api/act — тело {"action":"…","params":{…}} → выполнение BeastAPI.act во вкладке.
- GET /api/memory — тот же JSON, что при «Сохранить память» (collect_memory_data).
- Дополнительно: /api/waitForEvent, /api/waitFor — ожидание событий или условия над state (для сценариев посложнее).
Полный перечень действий act смотрите в beast/sys/beast_agent.js (ветка switch (action)): стимулы, clearAllStimuli, setVital, setBadForHolding / setNormForHolding / setWellForHolding, setPulseDelayMs, очистки памяти, сон, runAction и др.
4. Время: пульс, а не только секунды ОС
Внутри существа логика привязана к счётчику пульсов cpuls. Скрипты обучения после каждого шага ждут прироста cpuls (функции waitPulses в train-скриптах), а не просто sleep(1000) как замену одного пульса — иначе при ускоренном пульсе обучение «не успевает» за симуляцией.
Для ускорения прогона оператор (через сценарий) выставляет setPulseDelayMs (BEAST_TRAIN_PULSE_MS в переменных окружения), а в конце обычно возвращает комфортное значение (BEAST_RESTORE_PULSE_MS).
5. Два типа «промптов» в виде кода
5.1. Явная программа фаз (как план оператора)
Файл beast-bridge/train-conditional-reflexes.js.
- Массив CURRICULUM: каждая фаза — заголовок, moodAct (базовое состояние для удержания), список пар «условный / безусловный» стимул, число повторов reps.
- Комментарий в коде задаёт методологию: «явная программа (как у оператора): фаза → базовое состояние → одна цель на фазу»; расширение — копированием фаз, а не раздуванием случайного перебора.
Запуск из корня (при активном мосте):
npm.cmd run train-reflexes
или
node beast-bridge/train-conditional-reflexes.js [выходной.json]
5.2. Стратегическая сетка на тысячи условных рефлексов
Файл beast-bridge/train-reflexes-1000.js.
- Пресеты виталов (VITAL_PRESETS) — разные «жизненные» ситуации, чтобы менялся соматический контекст и ключ контекста условного рефлекса.
- Три удержания Плохо / Норма / Хорошо (MOODS).
- Сетка пар стимулов (buildStimulusGrid): позитивные / нейтральные / негативные фоны × безусловные мотивации (еда, вода, …).
- Остановкапо conditionalReflexCount (цель BEAST_REFLEX_TARGET) илипо BEAST_MAX_STEPS.
Запуск:
npm.cmd run train-reflexes-1000
или
node beast-bridge/train-reflexes-1000.js [файл.json]
Итог по умолчанию пишется в saves/train_1000_<timestamp>.json (или путь из аргумента).
6. Как операторский замысел попадает в систему
- Смысловой уровень — что закрепляем (какие пары, в каком базовом состоянии, при каких виталах).
- Формализация — правка CURRICULUM / пресетов / сетки в соответствующем .js или новый скрипт по образцу.
- Параметрысреды — принеобходимости BEAST_TRAIN_PULSE_MS, BEAST_TRAIN_WAIT_PULSES, BEAST_MAX_STEPS, хост/портмоста (BEAST_BRIDGE_HOST, BEAST_BRIDGE_PORT).
- Исполнение — мост уже запущен; клиент обучения только шлёт HTTP.
- Фиксация опыта — GET /api/memory в конце (или отдельно save-memory), чтобы сохранить тот же формат, что и ручное сохранение.
Так «промпт» здесь — это исполняемый сценарий и его комментарии, согласованный с возможностями BeastAPI, а не текст в отдельном промпт-файле для LLM.
7. Замечания по наблюдению и отладке
- Логи console.log обучающего процесса идут в тот терминал, где запущен node … train-…. Если процесс запущен в фоне или в другой сессии, «в терминале Cursor» может не быть живого вывода — ориентируйтесь на появление файла в saves/ или на отдельный лог процесса.
- Рост conditionalReflexCount не обязан линейно следовать числу шагов: дубликаты могут сливаться — при «застревании» увеличивают лимит шагов, подбирают паузы или расширяют сетку/пресеты.
- На Windows при блокировке npm.ps1 используйте npm.cmd или прямой вызов node beast-bridge/….
8. Связанные материалы в репозитории
- Пульт и ручное управление: manuals/control_panel.md.
- Архитектураифилософиякода: manuals/Mad_programmer_manual.md, PROJECT_STATE_FOR_NEW_CHAT.md.
- Исходникимостаи API: beast-bridge/server.js, beast/sys/beast_agent.js.
9. Пошаговая инструкция оператора: Node и мост в PowerShell
Ниже — минимальный путь от нуля до работающего моста на Windows в PowerShell. Пути к проекту подставьте свои (ниже для примера корень A:BEAST).
9.1. Установить Node.js
- Откройте в браузере официальный сайт: https://nodejs.org/.
- Скачайте LTS-установщик для Windows (.msi) и запустите его.
- В мастере установки оставьте опцию добавления Node в PATH (обычно включена по умолчанию).
- Закройте и снова откройте окно PowerShell (или Cursor), чтобы подтянулся обновлённый PATH.
9.2. Проверить Node и npm в PowerShell
- Откройте PowerShell (или встроенный терминал Cursor).
- Выполните:
node -v
Должна отобразиться версия (например v22.x или v24.x).
- Команда npm -v в чистом PowerShell иногда падает с ошибкой «выполнение сценариев отключено» — это касается именно npm.ps1. Обход:
- вызывайте npm.cmd вместо npm, или
- вызывайте скрипты напрямую через node (см. ниже).
9.3. Зависимости проекта
- Перейдите в корень репозитория Beast:
Set-Location A:BEAST
- Установите пакеты (один раз или после изменения package.json):
npm.cmd install
Будет загружен Puppeteer и при необходимости Chromium для управления браузером.
9.4. Запустить мост
- В том же каталоге проекта выполните одну из команд:
npm.cmd run bridge
илибез npm:
node beast-bridgeserver.js
- Дождитесь в консоли сообщения о готовности BeastAPI (и при не-headless режиме — появления окна Chromium с пультом).
- Чтобы всегда видеть окно браузера (не headless), перед запуском задайте переменную и снова запустите мост:
4. $env:BEAST_HEADLESS = "0"
npm.cmd run bridge
Либо используйте скрипт из package.json: npm.cmd run bridge:headed (через cross-env).
- Оставьте этот процесс запущенным — мост и вкладка Beast для API должны жить, пока идёт обучение или ручное управление через API.
9.5. Проверить, что мост отвечает
В втором окне PowerShell (мост в первом не останавливайте):
Invoke-WebRequest -Uri "http://127.0.0.1:8765/api/health" -UseBasicParsing | Select-Object -ExpandProperty Content
Ожидается JSON с "bridgeReady":true. Если порту 8765 мешает другая программа, задайте другой порт через переменные окружения BEAST_BRIDGE_PORT (и при необходимости BEAST_BRIDGE_HOST) перед запуском server.js и используйте тот же порт в скриптах обучения.
9.6. Запуск обучения после моста
Когда bridgeReady истинно, в отдельном терминале из корня проекта:
Set-Location A:BEAST
node beast-bridgetrain-reflexes-1000.js
иличерез npm.cmd run train-reflexes-1000. Лог и файл дампа — как в разделах 5 и 7 выше.
Итак, показано, что можно считать практически бессмысленными попытки скорострельного воспитания искусственного существа на гомеостазе с помощью агентов AI. Несмотря на техническую реализацию «моста» между Cursor AI и кодом BeastJS, результаты продемонстрировали глубокий разрыв между скоростью прохождения сигналов и биологической логикой формирования адаптивности.
1. Иллюзия скорости (Проблема «Пульса»)
- Ускорение не равно обучению: Простое сокращение интервала пульса (с 1 секунды до 40 миллисекунд) не привело к пропорциональному росту количества рефлексов. За 7 минут работы в ускоренном режиме было сформировано всего 20 рефлексов из 1000 заданных, после чего процесс признали бесполезным.
- Узкое место в логике: AI-агент (Cursor) пришел к выводу, что ограничение кроется не в частоте процессора, а в уникальности связей, которые модель успевает сформировать за один проход. Повторы и слияния уже существующих связей не увеличивают счетчик новых рефлексов.
2. Отсутствие интеллектуальной добавленной стоимости
- Сходство с жестким кодом: Автоматизированное «воспитание» через AI-агента по результату ничем не отличается от простого программного создания рефлексов по заданной сетке.
- Избыточность AI: Агент не привносит в процесс ничего полезного по сравнению с обычным оператором-человеком или жестким алгоритмом. Инструкции, созданные Cursor AI, фактически описывают ту же программу «жесткого» формирования связей.
3. Нарушение биологической достоверности
- Искажение процессов: Попытки устранить временные задержки для скорости приводят к искажению реальных адаптивных процессов.
- Необходимость выдержки: Формирование адекватных зависимостей требует времени на появление стимула, выявление пути его воздействия и оценку значимости через каналы эмоций, следящих за виталами. Искусственная «скорострельность» лишает эти механизмы их адаптивного смысла.
4. Технический итог (Инфраструктура)
- Был создан рабочий интерфейс «моста» (beast-bridge), использующий Puppeteer для управления Beast в Chromium через Node.js.
- Реализована система BeastAPI, позволяющая считывать состояние (getState) и эмулировать действия оператора (act) программно.
- Несмотря на работоспособность этой технической связки, её применение для форсированного обучения субъективности на базе гомеостаза признано теоретически и практически неоправданным.
Вывод: Практический результат подтвердил, что воспитание искусственного существа — это процесс, требующий соблюдения временных и логических зависимостей среды, которые невозможно заменить простым ускорением вычислений или передачей контроля AI-агенту.
26 Mar 2026
