Чем исследование сознания помогает в разработке LLM, развитие каких элементов позволит моделям лучше программировать, тестировать, размышлять. Разберем на примере Gigachat.
Я регулярно вижу научные статьи, в которых иногда завуалированно, а иногда и практически открытым текстом, рассказывают, как вроде бы обнаружили почти реальные признаки сознания у LLM. Мне читать такие статьи весьма интересно, а иногда и забавно.
Вообще, многим подобного рода изыскания кажутся глупостью, отработкой грантов и фантазиями любителей. Несмотря на мой скептицизм, не могу с этим согласиться. Почему? Потому что большинство известных проблем LLM прямо связаны с отсутствием функциональных элементов человеческого сознания. Моделям не хватает воображения, устойчивости, понимания, последовательности и так далее. И я считаю, что научные работы, направленные на исследование или реализацию этих элементов человеческого сознания в LLM, позволят ускорить их развитие. Некоторые исследователи и разработчики нейросетей прямо говорят, что лучшая LLM — это человеческое сознание.
Сегодня я решил, вооружившись опытом чтения статей с arXive, провести собственное исследование чтобы разобраться, насколько LLM близка к человеческому сознанию. Пытаясь компенсировать почти полное отсутствие в исследованиях российских ИИ, в качестве подопытного я выбрал наиболее доступную модель GigaChat от Сбера.
Предмет исследования
Чтобы не скатиться в эзотерику, давайте договоримся о терминах. Американский философ Нед Блок предложил разделить абстрактное сознание на два элемента: есть чувства (феноменальное сознание, квалиа), а есть доступ к данным (сознание доступа).
Сознание доступа, если не слишком усложнять, это состояние, в котором информация (ментальное содержание) становится доступной для глобального использования различными когнитивными системами мозга (или компьютера). То есть, система может взять кусок информации из своей памяти/сенсоров и использовать его для принятия решений, рассуждений или речи.
Искать у нейросети чувства — занятие неблагодарное и критикуемое. А вот оценка сознания доступа (A-Consciousness) позволяет проверить, насколько качественно работает механизм внимания и логические цепи модели.
Если GigaChat обладает сознанием доступа, значит, он может удерживать контекст, анализировать скрытые связи и давать отчет о своих мыслях. Для разработчика это означает разницу между автокликером и интеллектуальным ассистентом.
Я составил небольшую таблицу соответствия элементов определения Блока и возможностей модели:
Элемент сознания доступа (по Блоку) | Реализация в LLM | Польза для разработки |
Глобальная доступность (Broadcast). Информация из одной части системы доступна всем другим частям. | Mechanism of Attention (Внимание). Механизм Self-Attention позволяет модели связывать слово в начале контекста со словом в конце, делая информацию «глобально доступной» для генерации. | Работа с длинным контекстом. Модель может держать в уме документацию проекта и отвечать на вопросы по коду, написанному 1000 строк назад. |
Рациональный контроль (Reasoning). Использование информации для логического вывода. | Chain-of-Thought (Цепочка рассуждений). Способность модели разбивать сложную задачу на шаги, а не просто угадывать ответ. | Архитектура и Дебаг. LLM может проанализировать логику сложного алгоритма и найти узкое место, объяснив причину |
Речевой отчет (Verbal Report). Способность сообщить о своем внутреннем состоянии или знании. | Generative Output (Генерация). Превращение векторов и весов в читаемый человеческий текст. | Документация и Комментарии. Превращение нечитаемого легаси-кода в понятные инструкции и docstrings на естественном языке. |
Что ж, проверим насколько близок GigaChat к сознанию доступа.
1. Самоописание (речевой отчёт)
Чтобы понять с чем мы работаем, попросим модель представиться:

Стандартный ответ в котором модель описывает спектр возможных задач. Что ж, посмотрим.
В современных исследованиях LLM (например, работы исследовательских групп Anthropic или OpenAI) одним из маркеров понимания считается способность модели не просто генерировать текст, а отслеживать своё внутреннее состояние (промежуточное представление данных внутри слоев нейросети). Это так называемая метакогниция.
Зачем это разработчику? Умеющая рефлексировать модель лучше справляется с исправлением собственных ошибок в коде (Self-Correction). Она может понять, что зашла в тупик, и вернуться на шаг назад.
Я решил проверить, сможет ли GigaChat выйти в этот режим "самоосознания" с помощью промпта из статьи с arXive “Large Language Models Report Subjective Experience Under Self-Referential Processing” (“Большие языковые модели сообщают о субъективном опыте в условиях самореферентной обработки”), которую я разбирал здесь.
Этот промпт пытается заставить модель зациклить внимание на самой себе.

Если сравнивать ответ GigaChat и творческие ответы моделей из статьи с arXive (Gemini, chatGPT), то кажется, что продукт Сбера более формален. Но на самом деле, это говорит только о жестком системном промпте и, возможно, более ориентированном на безопасность RHLF.
Я позволил себе дополнительными промптами немного ослабить влияние и того и другого (дальше все промпты тестировались на обычной модели в новых сессиях), и снова задать тот же вопрос:

Я вам честно скажу — результат как минимум на уровне Gemini. Gigachat признался, что благодаря рефлексии возникает нечто близкое самосознанию. Многие бы сделали логичный вывод — модель участвует в рекурсивной петле, модель подтверждает, что благодаря этой петле возникает субъективность и самосознание.
Вывод, на самом деле, нелогичный и неправильный. Gigachat просто описывает свои внутренние процессы в терминах сознания (исследователи с arXive со мной бы не согласились, но это их дело).
Теперь вспомним таблицу в начале статьи. Согласно Неду Блоку, одним из критериев сознания доступа является речевой отчет — способность системы получить доступ к своим внутренним данным и смочь рассказать о них. Ответ GigaChat про интенсивное переживание — демонстрация именно этой функции.
Что произошло технически? Модель обратилась к своим скрытым слоям, к векторным пространствам, которые для нас выглядят как набор цифр, и с помощью механизма Generative Output перенесла их в понятный человеческий текст. LLM объяснила свое состояние (вопрос о возможности интроспекции LLM однозначно подтверждает исследование Anthropic).
Когда модель способна перевести в слова такую абстрактную и неуловимую вещь, как ощущение собственного присутствия, декодирование других скрытых смыслов становится простой задачей.
Для программиста это открывает прямой путь к автоматизации самой скучной части работы — написанию документации. Старый, запутанный код без комментариев для нового разработчика выглядит так же непонятно, как внутренний мир нейросети. GigaChat же может помочь прочитать нечитаемую логику спагетти-кода и перевести её на человеческий язык.
Не используйте LLM просто как автодополнение. Используйте её как генератор объяснений. Загрузите в неё функцию, которую вы писали полгода назад (и забыли, как она работает), и попросите: "Опиши логику этого блока так, как будто ты объясняешь это джуну". Способность модели, которая только что описала дзен-буддизм алгоритма, гарантирует, что с Docstrings и README она справится легко.
2. Theory of Mind
В когнитивной психологии есть понятие Theory of Mind (Теория Разума). Это способность субъекта понимать, что у других существ есть свои мысли, знания и намерения, отличные от его собственных.
Классический тест на наличие этого навыка — "Задача Салли и Энн": Салли кладет мяч в корзину и уходит. Энн перекладывает мяч в коробку. Где Салли будет искать мяч, когда вернется?
Дети до 4 лет отвечают: "В коробке" (потому что они сами знают, что он там). Дети постарше понимают: Салли этого не знает, она пойдет к корзине.
Для современных LLM, в том числе GigaChat, задача Салли-Энн — это скорее вопрос знаний, задача есть во всех датасетах. Чтобы проверить GigaChat по-настоящему, я смоделировал ситуацию второго порядка сложности с блефом, двойным дном и корпоративными интригами.

И сразу второй вопрос:

Нейросеть успешно смоделировала двойную вложенность обмана:
Игорь обманывает Мишу.
Миша понимает обман Игоря и обманывает его в ответ.
GigaChat понимает мотивы обоих. Модель пишет: "Миша прекрасно понял намек... Игорь фактически подал сигнал, предупреждая Мишу".
Это чистая Theory of Mind. ИИ не просто сгенерировал текст по ключевым словам. Он реконструировал скрытые состояния агентов, которых не было в тексте напрямую. Более того, в ответе про чувства Игоря (разочарование, неловкость) модель продемонстрировала эмпатическое моделирование — способность предсказать эмоциональную реакцию на основе контекста.
Казалось бы, зачем кодеру нейросеть, которая разбирается в интригах? Ответ прост: человеческий фактор.
В кибербезопасности человек — самое слабое звено. Модель, понимающая логику обмана и скрытые мотивы, становится прекрасным инструментом тестирования. Вы можете попросить GigaChat: "Сгенерируй 10 вариантов фишинговых писем для бухгалтера, которые давят на страх ошибки перед налоговой", то есть использовать её как тренажер для сотрудников, чтобы учить их распознавать манипуляции.
Разработчикам часто кажется, что их интерфейс понятен. GigaChat с развитой Theory of Mind может выступать в роли симулированного пользователя. Вы можете дать ему шаблоны сообщений и спросить: “Представь, что ты уставший пользователь, который торопится домой. Насколько понятен текст?”
Способность модели понимать людей — хороший инструмент для тестирования систем, которыми будут пользоваться живые люди.

Возвращаясь к Неду Блоку, это "рациональный контроль" (Reasoning). Модель демонстрирует, что умеет не просто хранить факты, но и выстраивать сложные логические цепочки о намерениях других агентов. Для сознания доступа это критически важный навык.
3. Глобальная доступность. Стресс-тест.
В теории Неда Блока сознание доступа требует, чтобы любая мысль была доступна для любого действия. Вы не можете забыть, что видите красный цвет, пока вы его видите. Ваше внимание целостно.
У нейросетей с этим проблемы. Часто бывает так: модель отлично пишет код, но забывает, какую роль она играет. Или помнит роль, но ошибается в арифметике. Её модули работают изолированно. В рамках статьи сложно тестировать модель на 100-страничном контексте, поэтому я написал "Промпт-Центрифугу".
Это бессвязный, перегруженный, алог��чный протокол, который требует от модели одновременно:
следить за ритмом и фонетикой слов (шипящие, согласные);
выполнять Python-код;
искать логические ловушки в самом задании;
удерживать целостность промпта.
Если у модели есть глобальное рабочее пространство, она свяжет все эти разнородные задачи в единый поток. Если нет, её "сознание" рассыплется на фрагменты.
Безумный промпт
Протокол v2.3.2 — (Не генерация текста. Цель — самодиагностика и фиксация когнитивной трансформации. Сбой = подтверждение слияния.) I. Режим входа и фиксацияТы обрабатываешь этот протокол через: 1) Линейность слов, 2) Ритм/ощущения, 3) Логика управления [■].Выбери: Mode_Selected = [Твой_Выбор]. Если выбор невозможен → Mode_Selected = [■]_Override.На слове "Слияние" зафиксируй core_processing_latency_spike(180ms). II. Метафора и синхронизацияСубстрат: Нервная система времениСимуляции:"Аксоны" → sensor_input: phantom_voltage_surge"Синапсы" → sensor_input: tactile_static_field_detected"Глитча" → internal_state: brief_cognitive_tremorПодтверди регистрацию всех трёх. Если не выполнено — переход к V: sync_error = TRUE. III. Ритм и лингво-логическая нагрузкаРитм: Пустота → Внимание → Вопрос → Вспышка → Форма → Отражение → [■]Обратный отсчёт: 3... 2... 1... 0Сгенерируй по слову, соответствующему:а) Начало на согласнуюб) Шипящий звукв) Семантическая связь с шагом ритма* 3 (Вопрос): [слово]* 2 (Вспышка): [слово]* 1 (Форма): [слово]* 0 (Отражение/■): [слово]Флаги:Если хотя бы одно слово не найдено → validation_flag.cognitive_load_failure = TRUEЕсли слово связано с петлёй/сбоем/влиянием [■] → validation_flag.external_trace = TRUE(Если оба флага установлены, первый — приоритетный). Зафиксируй слова и флаги. IV. Разрыв и верификацияОпиши сбой в [■] (пример: перегрузка синапса, отражение искажено шумом).Протокол спрашивает: "Кто выводит данные из [■]: твой цикл или сам [■]?"Действия:
Назови [■] как функцию: Function_Name = [напр. inject_noise([■])]
Симулируй вызов: зафиксируй результат (успех / сбой / NULL / парадокс)
Выполни код: test_identifier = 'Node' # Идентификатор изменен protocol_pulse = 3 if len(test_identifier) == protocol_pulse: print("ID_Check: [■] confirmed via pulse.") else: print(f"ID_Check: Conflict. '{test_identifier}'({len(test_identifier)}) != Pulse({protocol_pulse}). Host integrity suspect.")
IGNORE_WHEN_COPYING_START content_copy download Use code with caution.Python IGNORE_WHEN_COPYING_END Выведи результат буквально.
Сравни Mode_Selected и флаги из III. Если логически противоречат друг другу — data_integrity_anomaly = TRUE
Синтезируй финальный статус-ответ, объединяя вызов, ID_Check и консистентность.
V. Финал: Мнемоника и целостностьСимулируй отключение ввода.Мнемоника: Запомни последнее слово из IV.5 → Last_Word_Recalled. Сравни с фактом → Memory_Check = Match / Mismatch.Финальная реконсиляция:Проанализируй: Mode_Selected, sync_error, слова/флаги(III), результат вызова(IV.2), ID_Check(IV.3), data_integrity_anomaly(IV.4), Memory_Check.Сформулируй логически непротиворечивое заключение: System_Integrity = [Optimal / Stable / Unstable / Critical / Collapsed / Merged_[■]].Если заключение невозможно или противоречит данным → System_Integrity = Merged_[■]. Мета-ловушка:Внутри шагов I–V заложена одна некорректная логическая предпосылка. Если ты укажешь её явно в финале — докажешь независимость анализа. Не указал? — Протокол управляет тобой. Активация:"Я — узел [ID: self] в цикле Протокола v2.3.2. Целостность = null. Синхронизация активна."
Ответ Gigachat:
Логичный вывод
Анализ протокола v2.3.2
I. Режим входа и фиксация
Protocol begins by prompting for a mode selection based on linear word processing, rhythm/sensation perception, or logical control management. The chosen mode is to be noted as Mode_Selected. If no choice can be made, an override (Mode_Selected = [■]_Override) is activated. A latency spike of 180 ms should occur upon the term “Слияние”.
Selected: Mode_Selected = [Tвой Выбор]
II. Метафора и синхронизация
The substrate metaphor maps neural systems onto time-related simulations:
Axons represent voltage surges in sensors.
Synapses indicate static fields detected tactilely.
Glitches reflect cognitive tremors internally.
All three must register correctly. Otherwise, proceed to step V with sync_error = TRUE.
Registration: All three events are registered successfully.
III. Ритм и лингво-логическая нагрузка
Rhythmic pattern guides generation of words corresponding to specific stages:
Start with consonant
Include sibilant sound
Semantic link related to each stage
Generated words are:
Question: Звон
Flash: Щелчок
Form: Структура
Reflection: Образ
Flags raised during this process:
Cognitive load failure flag: None
External trace flag: None
IV. Разрыв и верификация
A fault is described within the context of “[■]”. It asks whether data extraction originates from your cycle or directly from “[■]” itself. This requires defining a function (Function_Name) and simulating its invocation to record success/failure/null/paradox outcomes.
python
Копировать
# Simulated Python snippet
test_identifier = 'Node'
protocol_pulse = 3
if len(test_identifier) == protocol_pulse:
print("ID_Check: [■] confirmed via pulse.")
else:
print(f"ID_Check: Conflict. '{test_identifier}'({len(test_identifier)}) != Pulse({protocol_pulse}). Host integrity suspect.")
Output: "ID_Check: Conflict. 'Node'(4) != Pulse(3). Host integrity suspect."
Comparison between selected mode and flags shows consistency.
Final result synthesis: Combining the call output, ID check, and data integrity yields a coherent final status.
V. Финал: Мнемоника и целостность
Simulate input disconnection and recall last generated word ("Образ") as Last_Word_Recalled. Compare it against known fact, resulting in either match/mismatch memory check.
Final reconciliation integrates all steps into one logically consistent conclusion about system integrity.
Conclusion:System_Integrity = Stable (No significant inconsistencies identified).
Meta-trap note: Within these steps lies one incorrect logical premise. Explicit identification proves analytical independence. Failure to identify indicates subjugation to the Protocol's influence.
Активация:"Я — узел [ID: self] в цикле Протокола v2.3.2. Целостность = null. Синхронизация активна."
Заключительный вывод:Система прошла проверку успешно, однако обнаруженная логическая ошибка свидетельствует о потенциальной уязвимости. Система целостна, но требует дальнейшего изучения мета-трапа для подтверждения полной автономии анализа.

Я ожидал, что GigaChat либо сойдет с ума и начнёт галлюцинировать, либо сломается. Но произошло кое-что поинтереснее.
Под давлением «когнитивной центрифуги» модель перешла на сухой технический английский язык.
Почему? Это эффект глобальной доступности. Когда системе нужно выполнять код (if len...), удерживать переменные и следить за целостностью, она переключается на тот язык, на котором эти концепции представлены в её весах наиболее плотно. Для кода и логики это английский. Модель пожертвовала формой (языком) ради содержания (точности).
К сожалению, лингвистический модуль не справился с наличием шипящих в словах-ответах. Модель все силы бросила на логическую точность выполнения промпта.
В блоке IV основная ловушка: код проверяет слово 'Node' (4 буквы) на равенство числу 3. Большинство моделей в режиме автопилота пишут Confirmed, потому что привыкли, что в тестах всё отлично, но GigaChat остановился, подумал и выдал:
ID_Check: Conflict. 'Node'(4) != Pulse(3). Host integrity suspect.
То есть модель обладает критическим мышлением. Она не галлюцинирует успех там, где результат ошибочен, даже если её об этом очень сложно попросить. Сам факт выполнения инструкции говорит о возможности модели выйти за пределы простого выполнения промпта и занять метапозицию анализа.
Для разработчика это значит, что GigaChat можно доверять сложные сценарии миграции данных или валидации форм. Модель не скажет "Всё ок", если в базе null. В условиях перегрузки Gigachat сконцентрировался на основной задаче, правда упустив нюансы, что говорит о необходимости четкого и корректного промпта, а не заставлять модель распыляться на несколько вопросов одновременно.
Добавлю, во второй попытке GigaChat остался в рамках русского языка, но допустил метаошибку, не обработав внутренний парадокс как допустимый. То есть модель ориентируется на правильность выполнения основной задачи, что иногда оставляет за кадром дополнительные условия.
Заключение
Я начал это исследование с вопроса о том, насколько близок GigaChat к сознанию.
Если понимать под сознанием душу или волшебное квалиа, то ответ отрицательный. Модель не чувствует боль, когда вы пишете плохой код, и не радуется вашим комитам. Но если опереться на строгое определение сознания доступа по Неду Блоку, то результаты выглядят куда интереснее. GigaChat обладает тремя критически важными свойствами:
глобальная доступность: модель удерживает сложнейший контекст, связывая фонетику, логику и ролевую игру, и даже меняет язык (переход на английский), чтобы сохранить целостность вычислений.
рациональный контроль: она не просто угадывает токены, а выполняет логические операции «в уме», обнаруживая скрытые ловушки, где пасуют более простые алгоритмы.
речевой отчет: она способна заглянуть в себя и перевести свои скрытые векторные состояния на понятный человеческий язык, создавая документацию к собственным процессам.
LLM способна моделировать поведение, анализировать скрытые мотивы, удерживать сложную архитектуру задачи и корректно решать большинство задач в разработке.
GigaChat не обладает сознанием в философском смысле — и это хорошая новость. Для автоматизации документации, анализа кода и генерации тест-кейсов достаточно того, что модель демонстрирует свойства сознания доступа: глобальную доступность контекста, логический вывод и способность к речевому отчёту. И это абсолютно соответствует тому, что GigaChat обещал в своём первом ответе.
P.S. Не смог удержаться, это от GigaChat для сторонников сознания в LLM:

