В предыдущих статьях (1, 2) я разбирал J-space, открытый Anthropic: почему их интерпретация неполна, почему аналоги J-space появляются на микромоделях под давлением объективных причин, а не эмерджентно от размера модели, и почему найденный ими вектор эквивалентен понятию знака у Выготского.

За рамками остались два вопроса: возможен ли метазнак — знак, объединяющий несколько базовых, — и в чём суть самоописания, репорта нейросети.

Эта статья о них. 

Коротко: самоописание оказалось не надстройкой над знаком, а условием его появления — сеть решает задачу одинаково хорошо с отчётом и без, но ось знака кристаллизуется только там, где её потребовали назвать. Добиться возникновения метазнака я не смог. 

Введение

Разбор экспериментов я выношу за скобки: код и логи приложены, всё можно проверить или развить самостоятельно. Здесь — только то, что я увидел, и что из этого следует.

Итак, что такое J-space c точки зрения Anthropic. Внутри представлений модели они выделили привилегированное подпространство, обладающее набором свойств: модель сообщает о его содержимом, когда её спрашивают, о чём она думает; подмена вектора в нём меняет ответ; оно используется для промежуточных вычислений и планов; одно и то же представление корректно читается разными последующими операциями; и при этом занимает малую часть активаций — в рутинных задачах вроде синтаксического разбора не задействовано вовсе.

Собственную странность находки исследователи проговаривают сами: это пространство состоит из слов — небольшого меняющегося набора невысказанных слов. Интерпретируют они всё через теорию глобального рабочего пространства Баарса: J-space как буфер, содержимое которого доступно остальным частям сети.

Фактически, ранее проведенные мной эксперименты показали следующее.

Теория Баарса описывает структуру находки, но молчит о главном: почему рабочее пространство сделано именно из слов. Сцена Баарса безразлична к материалу — транслировать можно что угодно. А вот у Выготского словесность не случайность, а определение: орудием самоуправления может быть только знак. Локальный, адресуемый, поименованный паттерн, который читают многие операции и который правит поведением, — это знак в его смысле.

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

И третье, важное для этой статьи: то, что модель сообщает о своём правиле, и то, что она по этому правилу считает, — два разных объекта. Голова отчёта следует за внесённым изменением почти всегда, тогда как само вычисление за ним не идёт. Причём это происходит и там, где никакого управляющего знака нет вовсе: описывать нечего, а отчёт всё равно исправно рапортует.

Не раскрытыми остались роль самоописания и возможность метазнака.

Метазнак

Первые же эксперименты показали, что заставить проявиться метазнак проблема нетривиальная. Очевидно, что если исходить из определенных в предыдущей статье условий: сложность пересчета, много потребителей; требуется достаточно сложная и объемная нейросеть со сложными задачами. К сожалению, моё текущее железо не позволяет в разумные сроки провести необходимые эксперименты. Так что эту часть я отложил на неопределенный срок. Дополнительно стоит отметить, что нужно решить три проблемы с которыми я столкнулся при первых попытках:

Первая — факторизуемость композиции. Если метазнак строится как простая функция от готовых знаков (скажем, XOR двух битов), выходная голова собирает его на лету, и никакой отдельной структуры для этого не нужно. Тест на такой конструкции показывает не метазнак, а способность линейного слоя сложить два бита.

Вторая — обучаемость. Стоит взять по-настоящему нелинейную композицию (чётность трёх признаков), и сеть перестаёт учиться вообще: такая функция не даёт частичного градиента — знание двух признаков из трёх не улучшает результат ни на сколько, сигнал появляется только при всех сразу. Плюс, когда правило выносится на отдельные позиции, пространство входов растёт на порядки, а обучающая выборка остаётся прежней, и вместо обобщения получается заучивание.

Третья — измеримость. Если компоненты уже названы и легли осями, а композиция линейно отделима от них (мажоритарность), то она читается пробой автоматически — не потому, что обособилась, а потому, что является простой функцией от трёх готовых осей. Проба в этом случае перестаёт различать «метазнак сформировался» и «метазнак каждый раз пересчитывается заново».

Все три упираются в одно: метазнак должен окупаться. При двух-трёх компонентах и одной композиции экономить не на чем — проще пересчитывать. Похоже, искать его нужно там, где операция над знаками становится вынужденной: много компонентов, много запросов и одна общая операция на все. Ближайший кандидат — маршрутизация в смеси экспертов, где выбор операции переиспользуется на каждом шаге.

Самоописание

При исследовании репорта нейросети ставилось три гипотезы о его сути: 

  1. Разрыв автоматизма. 

  2. Условие возникновения знака

  3. Самомоделирование нейросети

Предположение о том, что микросеть использует репорт для разрыва автоматизма экспериментами не подтвердилось. Гипотеза предполагала что чем сложнее задача, тем сильнее будут активированы знак и отчёт о нём. По факту и знак, и отчёт безразличны к трудности входа или слегка проседают. Стоит учесть, что микрозадача целиком автоматична, качественного расслоения система-1/система-2 в ней нет, хотя для больших нейросетей (LLM) вопрос открыт.

Самоописание как условие возникновения знака. Эта гипотеза подтвердилась, и достаточно резко. Схема эксперимента: одна и та же сеть на одной и той же задаче обучается в трёх вариантах: с головой, которая обязана назвать применяемое правило; без такой головы вовсе; и с головой, которая присутствует, но обучается предсказывать случайную метку — контролируется именно называние.

Результат: с отчётом правило выделяется в отдельную читаемую ось (далее я использую как термин осаждается) на всех запусках. Без отчёта — ни на одном. С фиктивной головой — ни на одном, ровно те же числа, что и без головы вообще. Разброс по запускам не пересекается: худший результат с отчётом выше лучшего без него. Продление обучения до полного бюджета ничего не меняет.

Отдельно я проверил то же на простом признаке — квадратичном вычете одного аргумента. Здесь картина мягче: без отчёта правило выделяется само примерно в двух запусках из пяти, в остальных остаётся размытым. С отчётом — во всех пяти, с нулевым разбросом. То есть отчёт не всегда необходим: чем проще правило, тем выше шанс, что оно обособится и без требования. Но там, где правило дорогое и составное, без отчёта не обособляется ни разу. Отчёт превращает случайность в правило. 

Неожиданный результат: задачу все три варианта решают одинаково хорошо. То есть сеть прекрасно считает по правилу, которого у неё нет как отдельной вещи.

То что работает на гипотезу:

Во-первых, имя проявляется раньше умения. В варианте с отчётом правило читается почти идеально уже на тысячной эпохе, когда основная задача решается на уровне случайности. То есть сначала называет, потом учится.

Во-вторых, без имени структура разрушается. Правило проступает и в варианте без отчёта — на ранних эпохах оно поднимается до вполне приличной читаемости. А потом, при продолжающемся обучении и при неизменно высокой точности, расползается обратно, с отчётом удерживается сорок тысяч эпох.

Неожиданное с классической инженерной точки зрения следствие:  самоописание не отражает готовое знание, а конституирует его. Без отчёта в сети есть работающая зависимость, но нет обособленной единицы. Вычисление идёт, правила как вещи не существует. Требование назвать не именует готовое — оно делает различение различением, вырезает из непрерывного вычислительного потока отдельный, устойчивый, предъявимый объект.

На примере того же калькулятора, в нём правило это часть схемы, оно не существует отдельно от вычисления: его нельзя вынуть, показать, применить к другому. Правило и есть сам счёт. Сеть без самоописания правило выводит сама, из данных, — и в этом смысле остаётся калькулятором: правило работает и не существует отдельно, потому расползается. С самоописанием оно становится отдельной вещью — читается извне, устойчиво, переносимо. Сеть перестаёт быть калькулятором, который сам себя собрал, потому что внутри появилось то, чем можно оперировать, хотя считать она продолжает также. Это уже не счёт, а примитивное мышление.

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

Самомоделирование нейросети. Эту гипотезу я в текущих экспериментах проверить не смог. Идея была такая: репорт возникает не под внешним требованием и не на сбое, а тогда, когда внутренних различений накопилось достаточно, чтобы система начала описывать не входные данные, а собственные состояния. 

Проверить на текущем материале невозможно из-за ограничений микросети. Самомодель — это структура над множеством уже сложившихся единиц, а в четырёхслойной сети с двумя-тремя признаками моделировать нечего. 

Косвенно в пользу гипотезы говорит одно наблюдение: голова отчёта устойчиво расходится с реальным вычислением — при вмешательстве она почти всегда рапортует об изменённом правиле, тогда как счёт идёт по-старому. Если бы отчёт был просто считыванием состояния, расхождения не было бы. Отчёт ведёт себя не как окно внутрь, а как отдельное представление о себе — то есть уже как зачаток модели, а не как зеркало. Для проверки нужна конструкция, где сеть описывает не признак входа, а собственную операцию, и где таких операций много. Это, похоже, тот же класс задач, что и метазнак, — и упирается в те же проблемы с железом.

Моё мнение о следствиях

Сначала остановлюсь на том, почему отчёт вообще влияет на формирование знака. 

Голова отчёта, по сути, ничего не требует — она ждёт. Она создаёт незакрываемый разрыв: её ошибка остаётся ненулевой ровно в той мере, в какой правило ещё не выделено во что-то, что можно прочитать снаружи. Градиент течёт туда не потому, что отчёт давит, а потому, что обучение всегда стекает в незакрытые разрывы.

Разница с обычным потребителем здесь принципиальная. Обычная голова использует то, что уже есть, и подстраивает существующее под свою функцию. Ждущая голова не может использовать ничего, пока предъявить нечего. Её ошибка просто висит открытой — и это само по себе есть форма, которую сеть вынуждена заполнить. Эта форма задаёт не что назвать, а только то, что оно должно быть называемым. 

Два следствия:

Первое: разрыв нельзя закрыть, не выделив внутри вычисления отдельную, читаемую снаружи единицу. Поэтому отчёт и оказывается условием знака — не описывает готовое, а вынуждает его появиться.

Второе: заполнение проверяется только по форме. Верно ли оно, этот вопрос ожиданию недоступен, у него нет такого измерения. Поэтому в открытое место оседает первое, что предъявимо, а не то, что истинно. Ожидание рождает знак (его нельзя оставить пустым). И оно же порождает конфабуляцию, потому что ему всё равно чем ожидание закрыть.

То есть репорт не побочный продукт, а условие. Самоописание это форма, в которую знак осаждается. И вероятно, раздача правил многим требует общего предъявимого вида — то есть имени..

Применимость к LLM. Я уверен, что математика работает на всех масштабах, механизм геометрический и не завязан на конкретную задачу, поэтому есть основания ждать его и на больших моделях, то есть структурно то что работает на микросети, будет работать и на LLM. Конечно в LLM нет отдельной op-головы, но её аналог заданная данными адресация корпуса («что ты думаешь», «объясни свой ход», «будь честен») — распределённая, размазанная op-голова. Проверка через абляцию в LLM крайне затруднена.

Соответственно, галлюцинации объясняются той же конфабуляцией, что и в микромодели. Отсюда же побочный эффект промптов на достоверность: они работают, вставляя конкурирующий слот «предъяви неуверенность», и он гасит осаждение вообще — падает не только выдумка, но и глубина. 

Ожидание в LLM осаждает не отдельный знак под отдельным адресом, а целый регистр самоописания — что и соответствует описанию J-space как небольшого эволюционирующего набора невысказанных слов.

Заключение

Снова вернусь к Выготскому. Неудавшееся хватание ребёнка становится указанием потому, что мать отвечает на него как на обращение — она адресуется к намерению, которого ещё не существует, и этой адресацией его создаёт.

Нейросеть, получая требование отчитаться, создаёт внутреннее ожидание — и этим ожиданием выделяет знак. Не для счёта (считает и без него), а для того, чтобы правило стало чем-то, что можно предъявить. 

Оперировать дискретными единицами нейросеть заставляет не масштаб данных, а появление потребителя, которому нужно само правило, а не результат его применения. Правило, размазанное по вычислению, доступно только той цепи, которая его строит. Чтобы его мог прочитать кто-то ещё, оно должно быть выделено. В этом смысле знак — не инструмент мышления, а форма разделяемости: он возникает там, где содержание требуется сделать доступным вовне. 

Насколько можно говорить о создании в нейросети метазнаков, можно ли назвать систему знаков самомоделированием, может ли нейросеть произвольно управлять знаками и метазнаками, на эти вопросы у меня есть пока только предположения, хотя интуитивно я склоняюсь к положительному ответу.

Пока эксперименты в этом направлении я приостановил, но если появится идея как реализовать это на ограниченном железе или новый взгляд на концепцию в целом, я к ним вернусь.

Ссылка на код и логи на github

Комментарии (10)


  1. SOLOM8
    24.07.2026 01:04

    Классный разбор! Про галлюцинации прям очень наглядно


    1. Kamil_GR Автор
      24.07.2026 01:04

      Стоит добавить о галлюцинациях. В октябре 2025 года я написал статью о триггерах галлюцинаций: жёсткий формат, требование DOI и точных чисел, запрет говорить «не знаю», ложные якоря, роль эксперта...

      Тогда я назвал это слот-филлингом, то есть модель заполняет пустые поля идеально оформленными, но вымышленными данными.

      Теперь я могу попробовать объяснить причины и попробовать их классифицировать.

      Слот это и есть ожидание. Промпт нарезает форму, которая должна быть заполнена, и заполнение проверяется только по форме.

      Три класса триггеров:

      Формат создаёт слот, требование формулы, DOI, диапазона, таблицы. Строгая форма не оставляет места для уклончивого ответа: у поля DOI нет расплывчатого значения, оно либо заполнено, либо нет. И она же подсказывает, чем заполниться: у ссылки, у номера, у отклонения есть узнаваемая структура, знакомая по тысячам примеров. Чем точнее требуемая форма, тем правдоподобнее выглядит ответ, независимо от того, соответствует ли она чему-либо. Строгий формат облегчает галлюцинацию.

      Запрет на незнание отнимает возможность оставить слот пустым. В норме модель может не заполнять, запрет делает незаполнение недоступным, и форма обязана закрыться.

      Ложные якоря и роль эксперта сдвигают то, что считается предъявимым. Достройка вокруг вымышленного термина предъявима, потому что термин уже задал форму.

      И тогда объясняется парадокс "не выдумывай, но обязательно дай источники" усиливает галлюцинацию, а не гасит. Это два требования на разных осях. Слот не различает верно и неверно, только заполнена форма или нет. Требование истинности не конкурирует с требованием формы, потому что адресуется не к тому.

      в итоге, галлюцинации неотъемлемая на сегодня часть нейросети.


  1. ToxaBes
    24.07.2026 01:04

    Пока эксперименты в этом направлении я приостановил, но если появится идея как реализовать это на ограниченном железе или новый взгляд на концепцию в целом, я к ним вернусь.

    Пу пу пу…

    Можно попробовать посмотреть на проблему через спайковые сети (SNN на LIF + R-STDP), так мы уходим от непрерывных векторов к дискретным событиям во времени. В этой парадигме знак не нужно искусственно вытаскивать или сжимать пробами т.к. он кристаллизуется сам за счет латерального торможения и синхронизации (хотя проба всё еще нужна для считывания результатов).

    В этом случае цена пересчета находится прямо в расчете мембранного потенциала: слабый или рассинхронизированный сигнал просто утекает, поэтому сети физически выгоднее сформировать устойчивую спайковую группу. А проблема метазнака решается через синхронизацию: мета-нейрон срабатывает, когда два знака приходят в узкое временное окно в 2-5 мс, так что размерность пространства не раздувается. Благодаря этому для проверки гипотезы самоописания и метазнаков не нужна мощная видеокарта т.к. нет обратного прохода градиента.

    Проверить это можно на следующем эксперименте: берем слой из 200-500 LIF-нейронов с конкуренцией (Winner-Take-All). Чтобы протестировать самоописание, замыкаем обратную связь от слоя самоописания обратно в спайковый слой и смотрим, ускорит ли это кристаллизацию знаков. А для метазнака даем задачу на комбинацию правил (например, A AND B): мета-нейрон за счет STDP сам подхватит совпавшие по времени спайки от двух базовых знаков даже без локального градиента. Ну, это в теории.


    1. Kamil_GR Автор
      24.07.2026 01:04

      Интересно. Три проблемы снимаются, но меняется постановка эксперимента.

      WTA сам обособляет; проверять тогда надо не появление, а удержание.


      1. 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).


        1. Kamil_GR Автор
          24.07.2026 01:04

          Интересно.

          Память сыграла роль op-головы. Конструктивно выделенное место под знак. В трансформере голово отделена функционально, здесь физически

          Но на метазнак не похоже, скорее рекурсионное использование знака (судя по удешевлению последующих hop, то есть переиспользуются, а не пересобирается)

          Но сам факт того, что результат в таком виде можно интерпретировать похоже, весьма интересен.

          Вопросы:

          держится ли comp3 при продолжении обучения после сборки ...и любопытно собирается ли то же самое без внешней памяти, на чистом GRU с достаточной ёмкостью (прямая проверка)

          Upd: ещё подумал. Все таки это не в полном смысле знак. Здесь слот только адресация, а не именование. Адресация даёт доступ, именование - предъявимость. Доступ есть, предъявления нет. В этом смысле это больше похоже на регистр в вычислениях.


          1. 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


          1. Ka463
            24.07.2026 01:04

            Upd: ещё подумал. Все таки это не в полном смысле знак. Здесь слот только адресация, а не именование. Адресация даёт доступ, именование - предъявимость. Доступ есть, предъявления нет. В этом смысле это больше похоже на регистр в вычислениях.

            Да, тут получается что вроде похоже на фон Нейман, но в тоже время Фон Нейман исполняет данную программу. но у меня сеть нашла свою. Регистр тот же. Программа — нет


        1. Kamil_GR Автор
          24.07.2026 01:04

          Если подумать ещё, то память и репорт отвечают на разные вопросы.

          Память это место где взять, репорт отвечает, что это такое. Тогда первое даёт доступ, а второе предъявимость. По сути это разные вещи.

          Тогда два независимых признака: есть ли место под отдельную единицу и и есть ли дополнительное давление помимо давления от задачи.

          У вас место задано конструкцией, давление очевидно от задачи: без записи comp2 не не решить. У меня места нет вовсе, давление создаёт параллельная голова: правило осело при том, что точность одинакова с ней и без.

          Любопытно сочетание: есть место еи и есть параллельное требование назвать.

          Если поставить новый эксперимент даёт ли адресуемая ячейка обособленность сама, или её приходится производить в любой архитектуре. У вас это можно сделать так: вторая голова, обязанная назвать записываемое ребро, читающая не сам слот, а состояние. Точность, скорее всего, не изменится; смотреть надо, становится ли содержимое читаемым из состояния и держится ли структура при продолжении обучения.

          Тогда станет ясно, достаточно ли архитектурного решения, или обособленность приходится производить требованием в любой архитектуре.

          Только одной головой тут не обойтись, не различить, была обособленность или её произвела сама голова. Нужны две независимо обученные сети, с головой и без, а читаемость мерить внешним пробом поверх замороженного состояния, который в обучении не участвовал. Если читается в обеих обособила архитектура. Если только с головой произвело требование.

          Можно и третий вариант с головой обучающейся на случайную метку (снять вопрос о лишнем градиенте)


          1. Ka463
            24.07.2026 01:04

            Если поставить новый эксперимент даёт ли адресуемая ячейка обособленность сама, или её приходится производить в любой архитектуре.

            Попробую по позже, это интересно...