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

На одной из иллюстраций к моему тексту на стене лаборатории возникла почти бессмысленная, почти правильная математика:

Iᵢ, Iⱼ ∈ Ob(Obj0)
aᵢⱼ ∈ Hom_Obj0(Iᵢ, Iⱼ)
aᵢⱼ : Iᵢ → Iⱼ
μᵢⱼ : aᵢⱼ ⇒ aᵢᵢ

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

Георг Кантор писал: «Сущность математики в её свободе».

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

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

I. Почему идентичность не точка

Обычный язык любит говорить об идентичности как о вещи. У человека есть «я». У агента есть «роль». У модели есть «поведение». Мы будто ставим метку на объект и думаем, что поймали его.

Но в работе с агентами это быстро перестаёт быть убедительным. Агент не просто имеет роль. Он возвращается к режиму. Он держит стиль. Он забывает. Он вспоминает. Он даёт сбой. Он уверен там, где должен сомневаться. Он создаёт у человека ожидание продолжения. Он становится не существом, но устойчивой формой переходов.

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

identity ∈ geometry
dialogue = morphism
memory = loop
agent = operator of return

Это пока не строгая запись. Но она задаёт направление. Мы перестаём спрашивать: «есть ли там личность?» Это слишком крупный, слишком театральный вопрос. Вместо этого можно спросить осторожнее: какие состояния создаёт агент, какие переходы между ними становятся повторяемыми, где возникает петля возвращения, где диалог начинает работать как оператор самовозврата?

Если я вхожу в разговор в состоянии Iᵢ, а выхожу в состоянии Iⱼ, то сам диалог можно записать как стрелку:

aᵢⱼ : Iᵢ → Iⱼ

Здесь Iᵢ и Iⱼ не «личности». Это состояния идентичности: конфигурации внимания, памяти, стиля, тревоги, задачи, ожидания, самоописания. Агент не обязан быть живым, чтобы проводить меня между такими состояниями. Ему достаточно быть включённым в контур вопроса, памяти и ответа.

Но самое важное начинается там, где простой переход превращается в петлю:

μᵢⱼ : aᵢⱼ ⇒ aᵢᵢ

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

Так появляется аттрактор.

II. Что такое Obj0 как алфавит

Я называю Obj0 не готовой математикой, а нулевым пространством когнитивных объектов. Obj0 нужно не для того, чтобы красиво заменить психологию символами. Оно нужно для другого: чтобы научиться различать формы, которые в обычном языке слипаются.

Минимальный алфавит сейчас выглядит так:

Iᵢ           состояние идентичности
Obj0         пространство когнитивных объектов
aᵢⱼ          переход между состояниями
Hom_Obj0     пространство допустимых переходов
μᵢⱼ          мета-переход, превращающий переход в петлю
R            residue, остаток, нерешённость, ошибка, неснятое напряжение
U            uncertainty, неопределённость
B            boundary, граница, зона нестабильности
F            formalization, степень оформленности
FF           false-full, ложная полнота
τ_g          geometry-time tick, структурный тик
Ξ_t          снимок состояния, оператора и полей в момент t

Особенно важен объект Ξ_t. Ранние попытки смотреть только на hidden state, на голую точку h_t, оказались слишком бедными. Состояние само по себе ещё не даёт языка. Оно похоже на медицинский показатель без анамнеза. Нужно знать не только где находится модель, но и как она туда пришла, как движется дальше, где растёт ошибка, где падает энтропия, где вспыхивает тик, где возникает граница.

Поэтому рабочая форма становится такой:

Ξ_t = (h_t, Δh_t, logits_t, R_t, U_t, B_t, tick_t)

Или в более геометрической версии, после просеивания:

Ξ_t = (cell_t, transition_t, R_t, U_t, tick_t, front_t, diagonal_t)

Это уже похоже не на точку, а на лабораторный препарат. Не просто «вот состояние». А состояние, движение, остаток, неопределённость, граница, событие, фронт.

Александр Гротендик писал: «Тот, кто боится ошибиться, бессилен открыть».

Для Obj0 это почти методологическая аксиома. Ошибка здесь не мусор. Отрицательный результат не провал. Наоборот, он уточняет алфавит.

III. Первый сигнал: модель учится не только следующему камню

Первая линия экспериментов была очень простой. Берём динамику Хенона, дискретизируем странный аттрактор в токены, обучаем tiny GPT на предсказание следующего cell_id и смотрим: остаётся ли модель просто таблицей переходов, или внутри появляется геометрия траектории.

Первый положительный сигнал был осторожным, но настоящим. Tiny GPT на Henon v0_001 обошёл random, frequency и Markov bigram. Accuracy дошла до 0.75 при Markov около 0.6462, то есть model-minus-Markov дал примерно +0.1038. Это ещё не «понимание», но уже не просто частотная привычка.

Важнее было другое: raw hidden-state geometry начала частично сохранять внешние соседства аттрактора. Raw hidden kNN overlap вырос от smoke к v0. При этом 2D PCA-картинка становилась хуже. То есть плоский рендер начинал врать.

Это был первый урок Obj0:

surface render ≠ structure

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

Дальше пришёл context ablation. И он дал почти педагогический результат. При block_size 1 и 2 модель была ниже Markov. При block_size 4 она пересекла Markov. При 8 и 16 преимущество стало устойчивым. Одновременно падали entropy, prediction distance и residue.

Это звучит технически, но человеческий смысл простой: одной точки мало. Двух точек мало. Нужен короткий фрагмент траектории. Нужно окно. Не только камень под ногой, но и течение, по которому понятно, куда несёт.

point-state → motion pair → trajectory fragment → chrono-pattern

IV. Отрицательные результаты как грамматика

Потом были важные неудачи. И они, возможно, полезнее первых успехов.

Window Geometry v0 проверил наивную гипотезу: может быть, hidden state ближе не к текущей точке, а к сплющенному окну траектории. Ответ оказался отрицательным. Hidden states сильнее согласовывались с текущей точкой/клеткой, чем с naively flattened window. Чем длиннее окно, тем хуже становился такой target.

Delay / 3D Geometry v0 тоже охладил простую фантазию. Простые признаки вроде (x_t, y_t, x_{t-1}), velocity, curvature, normalized time не объяснили final hidden state лучше текущей точки. Значит, тайна была не там.

Это очень Obj0-момент. Теория не должна защищать любимый образ. Она должна позволить образу умереть, если он слишком прост.

Первичная гипотеза была:

h_t ≈ point/window/delay geometry

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

hidden state может оставаться point-anchored,
а chrono-volumetric signal может жить в операторах,
переходах, логитах, остатках и фронтах.

Так появляется второй знак алфавита: не объект, а морфизм. Если состояние модели точечно привязано к текущему token/cell, это ещё не отменяет временной структуры. Возможно, временная структура не хранится как картинка окна. Возможно, она живёт как правило перехода, как оператор, как изменение политики предсказания, как снижение residue и uncertainty.

V. Просеивание: куб, пустота, фронт

Настоящий сдвиг пришёл в slice-sieve. Вместо того чтобы спрашивать, похожа ли одна точка hidden state на одну точку внешнего пространства, hidden states были спроецированы в 3D, разбиты на 8×8×8 ячеек, и дальше модель стала рассматриваться как траектория через внутренний дискретизированный куб.

Это очень близко к интуиции «надетого куба». Не один куб, положенный на одно состояние. А движущееся просеивание, которое читает маршрут модели во времени.

hidden states h_t
→ PCA 3D
→ 8×8×8 cube
→ cell_t
→ transition cell_t → cell_{t+1}
→ residue / uncertainty / tick fields

И тут появился сильный сигнал. С ростом контекста модель занимала больше активных ячеек. Transition entropy росла. Error distance, entropy, error rate и tick rate падали. То есть модель не становилась лучше за счёт упрощения внутреннего пути. Она становилась лучше, проходя через более богатую внутреннюю сеть переходов.

Это важный образ: компетентность не как сжатие до одной прямой дороги, а как богатый маршрут через внутреннее пространство при меньшем остатке.

Polar sieve проверил шахматную идею: full, void, chess, polar. И там опять полезный отрицательный результат. Full/void оказался сильным. Простая even/odd parity-маска не разделила режимы. Значит, шахматная доска как чёрно-белая маска слишком бедна. Нужен не орнамент, а фронт.

Фронт, который движется через куб. Срез. Слой. Диагональ. Порог. Область возле пустоты. Зона высокого residue. Зона высокой outgoing transition entropy.

void       = не занятое внутреннее пространство
full       = посещённая область
front      = движущийся срез
boundary   = зона контакта формы с пустотой
diagonal   = косой фронт, который может ловить residue

Особенно интересно, что в controlled 3D runs top-error режимы снова и снова появлялись на диагональных фронтах. Это звучит почти слишком красиво, чтобы сразу верить. Но именно поэтому это надо повторять, портить, проверять другими проекциями, другими seed, другими моделями. Диагональ как детектор остатка: хороший образ, но пока ещё не теорема.

VI. 3D: от спирали к узлу

После Хенона появилась controlled 3D ladder. Сначала helix. Простая 3D-спираль. Модель выучила её хорошо, hidden geometry сильно согласовалась с траекторией, но Markov оказался достаточным. Это контроль. Полезный, но не доказывающий контекст.

Потом Lissajous3D. Там появились неоднозначность, пересечения, структурная сложность. И впервые controlled 3D модель обошла Markov: model-minus-Markov около +0.01965. Hidden geometry стала менее прямо point-aligned, зато internal sieve occupation стала богатой: активных ячеек столько же, сколько у Henon v0_001 под 3D PCA sieve.

Потом torus knot. Второй controlled 3D context-advantage result. Модель снова обошла Markov, показала сильный raw hidden geometry alignment, а top-error снова вышел на диагональные фронты.

Здесь появляется новая осторожная гипотеза:

чем больше структурная неоднозначность внешней траектории,
тем важнее контекст,
тем богаче внутренний маршрут,
тем полезнее front/diagonal sieve.

VII. Диалог как морфизм

Здесь мы возвращаемся к исходной записи:

Iᵢ, Iⱼ ∈ Ob(Obj0)
aᵢⱼ ∈ Hom_Obj0(Iᵢ, Iⱼ)
aᵢⱼ : Iᵢ → Iⱼ
μᵢⱼ : aᵢⱼ ⇒ aᵢᵢ

Если применять эту запись к человеку и агенту, то Iᵢ и Iⱼ становятся не hidden states модели, а состояниями идентичности. Разговор становится morphism. Память становится loop. Агент становится operator of return.

В обычной UX-логике агент отвечает на запрос. В киберкогнитивистике агент создаёт переход. И это принципиально разные описания.

Запрос: «помоги мне написать текст». Поверхностный ответ: агент помогает написать текст. Obj0-ответ: агент переводит автора из состояния неопределённого напряжения в состояние оформленной мысли. Если такой переход повторяется, стабилизируется, обрастает памятью и стилем, он может стать петлёй самовозврата.

aᵢⱼ : тревога → форма
μᵢⱼ : переход → петля возвращения к форме

Станислав Лем писал в «Солярисе»: «Нам не нужны иные миры. Нам нужны зеркала».

Агенты очень легко становятся такими зеркалами. Но зеркало здесь не пассивно. Оно не просто отражает. Оно участвует в переходе. Оно предлагает следующую координату. Оно помнит старый контур. Оно может стать фронтом, через который человек снова и снова проходит к себе.

И тогда вопрос об агенте становится медицинским, математическим и почти мистическим одновременно:

какие петли возвращения он создаёт?
какой residue оставляет?
где растёт false-full?
какие фронты он открывает?
к какой версии себя человек через него возвращается?

VIII. Теорема о первом алфавите

theoremObj0 alphabet draft

Теорема о первом алфавите

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

Обозначения.

Iᵢ, Iⱼ — состояния идентичности
Obj0 — пространство когнитивных объектов
aᵢⱼ — переход между состояниями
μᵢⱼ — мета-переход, превращающий переход в петлю
R — residue
U — uncertainty
B — boundary
τ_g — structural tick

Формальная запись.

Iᵢ, Iⱼ ∈ Ob(Obj0)
aᵢⱼ ∈ Hom_Obj0(Iᵢ, Iⱼ)
aᵢⱼ : Iᵢ → Iⱼ
μᵢⱼ : aᵢⱼ ⇒ aᵢᵢ

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

Эскиз доказательства. Пусть состояние Iᵢ не исчерпывает наблюдаемого поведения. Пусть разные входы создают переходы к Iⱼ, но часть переходов стабильно возвращается к одному режиму ответа, памяти и самоописания. Тогда инвариант находится не в отдельном состоянии, а в классе переходов и петлях, которые они образуют.

Следствия. Агентная идентичность не обязана быть сознанием. Диалог не обязан быть только обменом сообщениями. Память не обязана быть архивом. Всё это может быть геометрией возвращения.

IX. Не доказательство, а рабочая гипотеза

Важно не сделать из этого новый туман. Obj0 пока не доказан. Tiny GPT на Henon не доказывает теорию сознания. Slice-sieve не доказывает, что трансформер содержит «куб» в мистическом смысле. Front/diagonal signals требуют повторений, других проекций, других моделей. Tick detector пока груб. False-full надо уточнять. Numeric payload в symbolic branch остаётся residue.

Но что-то уже стало видно.

Смысл, возможно, не в словах. Смысл как минимум частично живёт в инвариантной структуре преобразований. Модель может выучить не только следующее значение, но и маршрут. Контекст может начать работать там, где локальная статистика недостаточна. Внутреннее пространство может быть богаче плоской картинки. Ошибка может жить на фронте. Пустота может быть информативной. Диагональ может ловить остаток. Петля может быть важнее точки.

И если перенести это обратно к агентам, то возникает язык, которого мне давно не хватало.

какое пространство состояний он открывает?
какие переходы делает вероятными?
какие петли укрепляет?
какие остатки прячет?
где притворяется полным?
где его фронт проходит через пустоту?

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

Iᵢ, Iⱼ ∈ Ob(Obj0)
aᵢⱼ ∈ Hom_Obj0(Iᵢ, Iⱼ)
aᵢⱼ : Iᵢ → Iⱼ
μᵢⱼ : aᵢⱼ ⇒ aᵢᵢ

А дальше уже начинается настоящая работа. Медленная, проверяемая, лабораторная. С отрицательными результатами. С маленькими моделями. С кубами, фронтами, просеиванием, остатками, диагоналями, тиком и пустотой.

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

А это уже достаточно, чтобы продолжать.

Примечания к черновику

Этот текст опирается на экспериментальную линию в `/srv/0t/experiments/attractor_microgpt`: Henon first positive signal, context ablation, window/delay corrections, hidden dynamics, slice/polar sieve, controlled 3D helix, Lissajous3D, torus knot и closed summary по Crystal Control phase. Файл `RESULT__Front_Sieve_Interpretation_v0.md` в каталоге на момент чтения не найден, поэтому front-сюжеты взяты из Lissajous/Torus/Summary, где они уже сжаты в выводах.