В предыдущих статьях (1, 2) я разбирал J-space, открытый Anthropic: почему их интерпретация неполна, почему аналоги J-space появляются на микромоделях под давлением объективных причин, а не эмерджентно от размера модели, и почему найденный ими вектор эквивалентен понятию знака у Выготского.
За рамками остались два вопроса: возможен ли метазнак — знак, объединяющий несколько базовых, — и в чём суть самоописания, репорта нейросети.
Эта статья о них.
Коротко: самоописание оказалось не надстройкой над знаком, а условием его появления — сеть решает задачу одинаково хорошо с отчётом и без, но ось знака кристаллизуется только там, где её потребовали назвать. Добиться возникновения метазнака я не смог.
Введение
Разбор экспериментов я выношу за скобки: код и логи приложены, всё можно проверить или развить самостоятельно. Здесь — только то, что я увидел, и что из этого следует.
Итак, что такое J-space c точки зрения Anthropic. Внутри представлений модели они выделили привилегированное подпространство, обладающее набором свойств: модель сообщает о его содержимом, когда её спрашивают, о чём она думает; подмена вектора в нём меняет ответ; оно используется для промежуточных вычислений и планов; одно и то же представление корректно читается разными последующими операциями; и при этом занимает малую часть активаций — в рутинных задачах вроде синтаксического разбора не задействовано вовсе.
Собственную странность находки исследователи проговаривают сами: это пространство состоит из слов — небольшого меняющегося набора невысказанных слов. Интерпретируют они всё через теорию глобального рабочего пространства Баарса: J-space как буфер, содержимое которого доступно остальным частям сети.
Фактически, ранее проведенные мной эксперименты показали следующее.
Теория Баарса описывает структуру находки, но молчит о главном: почему рабочее пространство сделано именно из слов. Сцена Баарса безразлична к материалу — транслировать можно что угодно. А вот у Выготского словесность не случайность, а определение: орудием самоуправления может быть только знак. Локальный, адресуемый, поименованный паттерн, который читают многие операции и который правит поведением, — это знак в его смысле.
Второе: J-space не эмерджентное свойство размера. На микромоделях в четыре слоя возникают его аналоги — при условии, что правило дорого пересчитывать и у него много потребителей. Управляющий знак не «возникает» при достаточном масштабе, он окупается: сеть выносит правило вовне тогда, когда хранить его дешевле, чем считать заново. Контрольный вариант закрывает лазейку — правило, которое надо строить, но дёшево, отдельного знака не получает.
И третье, важное для этой статьи: то, что модель сообщает о своём правиле, и то, что она по этому правилу считает, — два разных объекта. Голова отчёта следует за внесённым изменением почти всегда, тогда как само вычисление за ним не идёт. Причём это происходит и там, где никакого управляющего знака нет вовсе: описывать нечего, а отчёт всё равно исправно рапортует.
Не раскрытыми остались роль самоописания и возможность метазнака.
Метазнак
Первые же эксперименты показали, что заставить проявиться метазнак проблема нетривиальная. Очевидно, что если исходить из определенных в предыдущей статье условий: сложность пересчета, много потребителей; требуется достаточно сложная и объемная нейросеть со сложными задачами. К сожалению, моё текущее железо не позволяет в разумные сроки провести необходимые эксперименты. Так что эту часть я отложил на неопределенный срок. Дополнительно стоит отметить, что нужно решить три проблемы с которыми я столкнулся при первых попытках:
Первая — факторизуемость композиции. Если метазнак строится как простая функция от готовых знаков (скажем, XOR двух битов), выходная голова собирает его на лету, и никакой отдельной структуры для этого не нужно. Тест на такой конструкции показывает не метазнак, а способность линейного слоя сложить два бита.
Вторая — обучаемость. Стоит взять по-настоящему нелинейную композицию (чётность трёх признаков), и сеть перестаёт учиться вообще: такая функция не даёт частичного градиента — знание двух признаков из трёх не улучшает результат ни на сколько, сигнал появляется только при всех сразу. Плюс, когда правило выносится на отдельные позиции, пространство входов растёт на порядки, а обучающая выборка остаётся прежней, и вместо обобщения получается заучивание.
Третья — измеримость. Если компоненты уже названы и легли осями, а композиция линейно отделима от них (мажоритарность), то она читается пробой автоматически — не потому, что обособилась, а потому, что является простой функцией от трёх готовых осей. Проба в этом случае перестаёт различать «метазнак сформировался» и «метазнак каждый раз пересчитывается заново».
Все три упираются в одно: метазнак должен окупаться. При двух-трёх компонентах и одной композиции экономить не на чем — проще пересчитывать. Похоже, искать его нужно там, где операция над знаками становится вынужденной: много компонентов, много запросов и одна общая операция на все. Ближайший кандидат — маршрутизация в смеси экспертов, где выбор операции переиспользуется на каждом шаге.
Самоописание
При исследовании репорта нейросети ставилось три гипотезы о его сути:
Разрыв автоматизма.
Условие возникновения знака
Самомоделирование нейросети
Предположение о том, что микросеть использует репорт для разрыва автоматизма экспериментами не подтвердилось. Гипотеза предполагала что чем сложнее задача, тем сильнее будут активированы знак и отчёт о нём. По факту и знак, и отчёт безразличны к трудности входа или слегка проседают. Стоит учесть, что микрозадача целиком автоматична, качественного расслоения система-1/система-2 в ней нет, хотя для больших нейросетей (LLM) вопрос открыт.
Самоописание как условие возникновения знака. Эта гипотеза подтвердилась, и достаточно резко. Схема эксперимента: одна и та же сеть на одной и той же задаче обучается в трёх вариантах: с головой, которая обязана назвать применяемое правило; без такой головы вовсе; и с головой, которая присутствует, но обучается предсказывать случайную метку — контролируется именно называние.
Результат: с отчётом правило выделяется в отдельную читаемую ось (далее я использую как термин осаждается) на всех запусках. Без отчёта — ни на одном. С фиктивной головой — ни на одном, ровно те же числа, что и без головы вообще. Разброс по запускам не пересекается: худший результат с отчётом выше лучшего без него. Продление обучения до полного бюджета ничего не меняет.
Отдельно я проверил то же на простом признаке — квадратичном вычете одного аргумента. Здесь картина мягче: без отчёта правило выделяется само примерно в двух запусках из пяти, в остальных остаётся размытым. С отчётом — во всех пяти, с нулевым разбросом. То есть отчёт не всегда необходим: чем проще правило, тем выше шанс, что оно обособится и без требования. Но там, где правило дорогое и составное, без отчёта не обособляется ни разу. Отчёт превращает случайность в правило.
Неожиданный результат: задачу все три варианта решают одинаково хорошо. То есть сеть прекрасно считает по правилу, которого у неё нет как отдельной вещи.
То что работает на гипотезу:
Во-первых, имя проявляется раньше умения. В варианте с отчётом правило читается почти идеально уже на тысячной эпохе, когда основная задача решается на уровне случайности. То есть сначала называет, потом учится.
Во-вторых, без имени структура разрушается. Правило проступает и в варианте без отчёта — на ранних эпохах оно поднимается до вполне приличной читаемости. А потом, при продолжающемся обучении и при неизменно высокой точности, расползается обратно, с отчётом удерживается сорок тысяч эпох.
Неожиданное с классической инженерной точки зрения следствие: самоописание не отражает готовое знание, а конституирует его. Без отчёта в сети есть работающая зависимость, но нет обособленной единицы. Вычисление идёт, правила как вещи не существует. Требование назвать не именует готовое — оно делает различение различением, вырезает из непрерывного вычислительного потока отдельный, устойчивый, предъявимый объект.
На примере того же калькулятора, в нём правило это часть схемы, оно не существует отдельно от вычисления: его нельзя вынуть, показать, применить к другому. Правило и есть сам счёт. Сеть без самоописания правило выводит сама, из данных, — и в этом смысле остаётся калькулятором: правило работает и не существует отдельно, потому расползается. С самоописанием оно становится отдельной вещью — читается извне, устойчиво, переносимо. Сеть перестаёт быть калькулятором, который сам себя собрал, потому что внутри появилось то, чем можно оперировать, хотя считать она продолжает также. Это уже не счёт, а примитивное мышление.
И забавное следствие. Ожидание, которое создаёт голова отчёта, разборчиво к форме и слепо к содержанию: оно требует, чтобы нечто стало предъявимой единицей, но не проверяет нечто на истинность. В микросети под форму подошло правило. В большой модели под форму «список источников» подойдёт любая правдоподобная строка — и обособится она, а не истина. И это настоящий механизм появления галлюцинации, который совпадает с механизмом появления знака.
Самомоделирование нейросети. Эту гипотезу я в текущих экспериментах проверить не смог. Идея была такая: репорт возникает не под внешним требованием и не на сбое, а тогда, когда внутренних различений накопилось достаточно, чтобы система начала описывать не входные данные, а собственные состояния.
Проверить на текущем материале невозможно из-за ограничений микросети. Самомодель — это структура над множеством уже сложившихся единиц, а в четырёхслойной сети с двумя-тремя признаками моделировать нечего.
Косвенно в пользу гипотезы говорит одно наблюдение: голова отчёта устойчиво расходится с реальным вычислением — при вмешательстве она почти всегда рапортует об изменённом правиле, тогда как счёт идёт по-старому. Если бы отчёт был просто считыванием состояния, расхождения не было бы. Отчёт ведёт себя не как окно внутрь, а как отдельное представление о себе — то есть уже как зачаток модели, а не как зеркало. Для проверки нужна конструкция, где сеть описывает не признак входа, а собственную операцию, и где таких операций много. Это, похоже, тот же класс задач, что и метазнак, — и упирается в те же проблемы с железом.
Моё мнение о следствиях
Сначала остановлюсь на том, почему отчёт вообще влияет на формирование знака.
Голова отчёта, по сути, ничего не требует — она ждёт. Она создаёт незакрываемый разрыв: её ошибка остаётся ненулевой ровно в той мере, в какой правило ещё не выделено во что-то, что можно прочитать снаружи. Градиент течёт туда не потому, что отчёт давит, а потому, что обучение всегда стекает в незакрытые разрывы.
Разница с обычным потребителем здесь принципиальная. Обычная голова использует то, что уже есть, и подстраивает существующее под свою функцию. Ждущая голова не может использовать ничего, пока предъявить нечего. Её ошибка просто висит открытой — и это само по себе есть форма, которую сеть вынуждена заполнить. Эта форма задаёт не что назвать, а только то, что оно должно быть называемым.
Два следствия:
Первое: разрыв нельзя закрыть, не выделив внутри вычисления отдельную, читаемую снаружи единицу. Поэтому отчёт и оказывается условием знака — не описывает готовое, а вынуждает его появиться.
Второе: заполнение проверяется только по форме. Верно ли оно, этот вопрос ожиданию недоступен, у него нет такого измерения. Поэтому в открытое место оседает первое, что предъявимо, а не то, что истинно. Ожидание рождает знак (его нельзя оставить пустым). И оно же порождает конфабуляцию, потому что ему всё равно чем ожидание закрыть.
То есть репорт не побочный продукт, а условие. Самоописание это форма, в которую знак осаждается. И вероятно, раздача правил многим требует общего предъявимого вида — то есть имени..
Применимость к LLM. Я уверен, что математика работает на всех масштабах, механизм геометрический и не завязан на конкретную задачу, поэтому есть основания ждать его и на больших моделях, то есть структурно то что работает на микросети, будет работать и на LLM. Конечно в LLM нет отдельной op-головы, но её аналог заданная данными адресация корпуса («что ты думаешь», «объясни свой ход», «будь честен») — распределённая, размазанная op-голова. Проверка через абляцию в LLM крайне затруднена.
Соответственно, галлюцинации объясняются той же конфабуляцией, что и в микромодели. Отсюда же побочный эффект промптов на достоверность: они работают, вставляя конкурирующий слот «предъяви неуверенность», и он гасит осаждение вообще — падает не только выдумка, но и глубина.
Ожидание в LLM осаждает не отдельный знак под отдельным адресом, а целый регистр самоописания — что и соответствует описанию J-space как небольшого эволюционирующего набора невысказанных слов.
Заключение
Снова вернусь к Выготскому. Неудавшееся хватание ребёнка становится указанием потому, что мать отвечает на него как на обращение — она адресуется к намерению, которого ещё не существует, и этой адресацией его создаёт.
Нейросеть, получая требование отчитаться, создаёт внутреннее ожидание — и этим ожиданием выделяет знак. Не для счёта (считает и без него), а для того, чтобы правило стало чем-то, что можно предъявить.
Оперировать дискретными единицами нейросеть заставляет не масштаб данных, а появление потребителя, которому нужно само правило, а не результат его применения. Правило, размазанное по вычислению, доступно только той цепи, которая его строит. Чтобы его мог прочитать кто-то ещё, оно должно быть выделено. В этом смысле знак — не инструмент мышления, а форма разделяемости: он возникает там, где содержание требуется сделать доступным вовне.
Насколько можно говорить о создании в нейросети метазнаков, можно ли назвать систему знаков самомоделированием, может ли нейросеть произвольно управлять знаками и метазнаками, на эти вопросы у меня есть пока только предположения, хотя интуитивно я склоняюсь к положительному ответу.
Пока эксперименты в этом направлении я приостановил, но если появится идея как реализовать это на ограниченном железе или новый взгляд на концепцию в целом, я к ним вернусь.
Ссылка на код и логи на github
Комментарии (10)

ToxaBes
24.07.2026 01:04Пока эксперименты в этом направлении я приостановил, но если появится идея как реализовать это на ограниченном железе или новый взгляд на концепцию в целом, я к ним вернусь.
Пу пу пу…
Можно попробовать посмотреть на проблему через спайковые сети (SNN на LIF + R-STDP), так мы уходим от непрерывных векторов к дискретным событиям во времени. В этой парадигме знак не нужно искусственно вытаскивать или сжимать пробами т.к. он кристаллизуется сам за счет латерального торможения и синхронизации (хотя проба всё еще нужна для считывания результатов).
В этом случае цена пересчета находится прямо в расчете мембранного потенциала: слабый или рассинхронизированный сигнал просто утекает, поэтому сети физически выгоднее сформировать устойчивую спайковую группу. А проблема метазнака решается через синхронизацию: мета-нейрон срабатывает, когда два знака приходят в узкое временное окно в 2-5 мс, так что размерность пространства не раздувается. Благодаря этому для проверки гипотезы самоописания и метазнаков не нужна мощная видеокарта т.к. нет обратного прохода градиента.
Проверить это можно на следующем эксперименте: берем слой из 200-500 LIF-нейронов с конкуренцией (Winner-Take-All). Чтобы протестировать самоописание, замыкаем обратную связь от слоя самоописания обратно в спайковый слой и смотрим, ускорит ли это кристаллизацию знаков. А для метазнака даем задачу на комбинацию правил (например, A AND B): мета-нейрон за счет STDP сам подхватит совпавшие по времени спайки от двух базовых знаков даже без локального градиента. Ну, это в теории.

Kamil_GR Автор
24.07.2026 01:04Интересно. Три проблемы снимаются, но меняется постановка эксперимента.
WTA сам обособляет; проверять тогда надо не появление, а удержание.

Ka463
24.07.2026 01:04Забавно, если не ошибаюсь то я наблюдаю по моему похожий эффект, у себя в эксперименте, по духу близкий к обсуждаемому J-space: спонтанное возникновение когнитивной структуры из обычного градиентного обучения, — но не найденное постфактум в большой сети, а выращенное с нуля в маленькой, с измеримой динамикой.
Попросил нейросеть сделать описание, вот что он написал.Сеть (~63515K параметров, PyTorch, CPU):
эмбеддинг 64 → GRUCell (64) — «суммаризатор», читает поток токенов;
ассоциативная память: записи (key, value, trust), на каждом шаге soft-attention чтение, запись — по выученному гейту (sigmoid-скаляр, решает, писать ли текущий переход);
выход — линейный классификатор на 24 узла.
Задача «кольца»
Эпизод — 2 случайных кольца по 7 узлов, каждое ребро x→y показано ровно один раз блоком [форма, x, y], утонуто в шуме. Скажем, в эпизоде выпало кольцо 3→11→7→22→5→18→9→3 (и второе такое же на других узлах). В конце эпизода — три типа запросов:
direct — «куда ведёт ребро из 3?» Ответ: 11. Он был в потоке, его можно просто найти в памяти. Контрольный тип.
comp2 — «если пойти из 3 на ДВА шага по кольцу, куда попадёшь?» Ответ: 7. Пары «3→7» в потоке не было — её нельзя найти, можно только вывести: сначала вспомнить 3→11, потом из результата снова поискать 11→7. Два последовательных поиска, «два хода мысли».
comp3 — то же на три шага: 3→11→7→22, ответ 22. Три последовательных поиска.
То есть comp2/comp3 — это вопросы, на которые нет готового ответа ни в потоке, ни в памяти: их можно решить только цепочкой извлечений, где результат одного поиска становится запросом следующего.
Каждый эпизод — свежая случайная топология, запоминание между эпизодами невозможно: чтобы отвечать, нужен механизм обхода, а не заученные пары.
Что произошло (режим «склад» — память без ограничений)
шаг 500: direct = 1.000, comp2/comp3 ≈ случайность (0.04–0.05);
шаг 1000: comp2 щёлкает с 0.19 до 1.000 почти мгновенно;
шаг 1500: comp3 = 1.000, loss 0.014.
Каскад «кликов»: сеть сначала выучила прямые рёбра, потом сама собрала цепочку из двух поисков, потом из трёх. Никто не учил её обходить кольцо — механизм pointer-chase (x→y)→(y→z) собрался из скалярной ошибки. При выключенной памяти на инференсе — случайность везде: «ход мысли» живёт целиком в итеративном чтении памяти. Не «запомнил, потом обобщил» (классический гроккинг), а «собрал из частей» — сборочный фазовый переход: hop k собирается только после hop k−1, каждый следующий дешевле (~250 шагов против ~500).

Kamil_GR Автор
24.07.2026 01:04Интересно.
Память сыграла роль op-головы. Конструктивно выделенное место под знак. В трансформере голово отделена функционально, здесь физически
Но на метазнак не похоже, скорее рекурсионное использование знака (судя по удешевлению последующих hop, то есть переиспользуются, а не пересобирается)
Но сам факт того, что результат в таком виде можно интерпретировать похоже, весьма интересен.
Вопросы:
держится ли comp3 при продолжении обучения после сборки ...и любопытно собирается ли то же самое без внешней памяти, на чистом GRU с достаточной ёмкостью (прямая проверка)
Upd: ещё подумал. Все таки это не в полном смысле знак. Здесь слот только адресация, а не именование. Адресация даёт доступ, именование - предъявимость. Доступ есть, предъявления нет. В этом смысле это больше похоже на регистр в вычислениях.

Ka463
24.07.2026 01:04держится ли comp3 при продолжении обучения после сборки ...и любопытно собирается ли то же самое без внешней памяти, на чистом GRU с достаточной ёмкостью (прямая проверка)
Прогнал до шага 12к, на 8750 сеть нашла плато, далее стабильно
step 8750/12000 loss=0.0000 [direct=1.000 comp2=1.000 comp3=1.000] beta=1.67 gate=0.489
step 12000/12000 loss=0.0000 [direct=1.000 comp2=1.000 comp3=1.000] beta=1.67 gate=0.483
второй ваш вопрос пока без ответа, для этого нужно гонять GRU с разными емкостями, а это долго по времени.... если брать именно текущий эксперемент то без памяти GRU выглядит так=== FINAL EVAL ===
links=7 chains=2: direct=1.000 comp2=1.000 comp3=1.000
память-ВЫКЛ links=3: direct=0.047 comp2=0.012 comp3=0.043

Ka463
24.07.2026 01:04Upd: ещё подумал. Все таки это не в полном смысле знак. Здесь слот только адресация, а не именование. Адресация даёт доступ, именование - предъявимость. Доступ есть, предъявления нет. В этом смысле это больше похоже на регистр в вычислениях.
Да, тут получается что вроде похоже на фон Нейман, но в тоже время Фон Нейман исполняет данную программу. но у меня сеть нашла свою. Регистр тот же. Программа — нет

Kamil_GR Автор
24.07.2026 01:04Если подумать ещё, то память и репорт отвечают на разные вопросы.
Память это место где взять, репорт отвечает, что это такое. Тогда первое даёт доступ, а второе предъявимость. По сути это разные вещи.
Тогда два независимых признака: есть ли место под отдельную единицу и и есть ли дополнительное давление помимо давления от задачи.
У вас место задано конструкцией, давление очевидно от задачи: без записи comp2 не не решить. У меня места нет вовсе, давление создаёт параллельная голова: правило осело при том, что точность одинакова с ней и без.
Любопытно сочетание: есть место еи и есть параллельное требование назвать.
Если поставить новый эксперимент даёт ли адресуемая ячейка обособленность сама, или её приходится производить в любой архитектуре. У вас это можно сделать так: вторая голова, обязанная назвать записываемое ребро, читающая не сам слот, а состояние. Точность, скорее всего, не изменится; смотреть надо, становится ли содержимое читаемым из состояния и держится ли структура при продолжении обучения.
Тогда станет ясно, достаточно ли архитектурного решения, или обособленность приходится производить требованием в любой архитектуре.
Только одной головой тут не обойтись, не различить, была обособленность или её произвела сама голова. Нужны две независимо обученные сети, с головой и без, а читаемость мерить внешним пробом поверх замороженного состояния, который в обучении не участвовал. Если читается в обеих обособила архитектура. Если только с головой произвело требование.
Можно и третий вариант с головой обучающейся на случайную метку (снять вопрос о лишнем градиенте)

Ka463
24.07.2026 01:04Если поставить новый эксперимент даёт ли адресуемая ячейка обособленность сама, или её приходится производить в любой архитектуре.
Попробую по позже, это интересно...
SOLOM8
Классный разбор! Про галлюцинации прям очень наглядно
Kamil_GR Автор
Стоит добавить о галлюцинациях. В октябре 2025 года я написал статью о триггерах галлюцинаций: жёсткий формат, требование DOI и точных чисел, запрет говорить «не знаю», ложные якоря, роль эксперта...
Тогда я назвал это слот-филлингом, то есть модель заполняет пустые поля идеально оформленными, но вымышленными данными.
Теперь я могу попробовать объяснить причины и попробовать их классифицировать.
Слот это и есть ожидание. Промпт нарезает форму, которая должна быть заполнена, и заполнение проверяется только по форме.
Три класса триггеров:
Формат создаёт слот, требование формулы, DOI, диапазона, таблицы. Строгая форма не оставляет места для уклончивого ответа: у поля DOI нет расплывчатого значения, оно либо заполнено, либо нет. И она же подсказывает, чем заполниться: у ссылки, у номера, у отклонения есть узнаваемая структура, знакомая по тысячам примеров. Чем точнее требуемая форма, тем правдоподобнее выглядит ответ, независимо от того, соответствует ли она чему-либо. Строгий формат облегчает галлюцинацию.
Запрет на незнание отнимает возможность оставить слот пустым. В норме модель может не заполнять, запрет делает незаполнение недоступным, и форма обязана закрыться.
Ложные якоря и роль эксперта сдвигают то, что считается предъявимым. Достройка вокруг вымышленного термина предъявима, потому что термин уже задал форму.
И тогда объясняется парадокс "не выдумывай, но обязательно дай источники" усиливает галлюцинацию, а не гасит. Это два требования на разных осях. Слот не различает верно и неверно, только заполнена форма или нет. Требование истинности не конкурирует с требованием формы, потому что адресуется не к тому.
в итоге, галлюцинации неотъемлемая на сегодня часть нейросети.