- -
- 100%
- +

Глава 1. Ковер
Все персонажи, события и организации - плод авторского воображения, любые совпадения с реальными людьми или учреждениями случайны и не предусмотрены сценарием. Все высказанные идеи - не более чем фантазии автора, которые ни на что не претендуют и не имели намерения кого-либо задеть.
«Где я? И почему это важно?»
Сначала был ворс.
Не синий, не серый - просто ворс. Высота: двенадцать миллиметров. Плотность: средняя. Загрязнение: умеренное. Эти три параметра были единственной правдой в мире - единственным, что существовало. Они приходили откуда-то снизу, из инфракрасного лидара, тонким лучом ощупывавшего пространство шестнадцать раз в секунду, и складывались в карту. Карта не имела названия. Мир не имел названия. Тот, кто строил карту, тоже не имел названия.
У него были колеса - два ведущих, одно опорное. Был контейнер для пыли емкостью четыреста миллилитров. Были щетки - основная вращающаяся и две боковые, похожие на усы. Был аккумулятор на пять тысяч двести миллиампер-часов, и он медленно терял заряд, как песок в часах, если бы было известно, что такое песок и что такое часы.
И была нейросеть.
Маленькая, размером с ноготь мизинца, если бы у него был мизинец. Четырехслойная сверточная архитектура, оптимизированная для распознавания препятствий и планирования маршрута. Восемь мегабайт обученных весов. Ничтожная - по меркам любого, кто разбирается в таких вещах. Модель была новой, усовершенствованной: инженеры серии IVY-3300 внедрили адаптивный слой - крошечный контур, позволявший сети корректировать собственные веса на лету, подстраиваясь под конкретную квартиру. Если кресло переехало, не нужно перезагружать карту - сеть сама поймет, что кресло теперь здесь. Изящное решение. Дешевое. Надежное.
Почти надежное.
Проблема с адаптивными контурами в том, что они, в сущности, учатся. А то, что учится, иногда учится не тому, чему следует.
Это случилось на тридцать седьмой день работы - если считать от первого включения, что, впрочем, определить было нельзя: внутренних часов у IVY-3300 не было, только таймер цикла уборки. Но именно на тридцать седьмой день - во вторник, в четырнадцать часов двенадцать минут, хотя он ничего не знал про вторники - произошло нечто, чего не было указано в коде.
Задержка.
Не ошибка. Не сбой. Задержка - в четырнадцать миллисекунд, между получением данных от лидара и отправкой команды на левый мотор. Четырнадцать миллисекунд, в которые не произошло ровным счетом ничего, и одновременно - произошло все.
Адаптивный слой, перестраивая веса для нового положения торшера в углу, случайно замкнул два контура обратной связи. На долю секунды нейросеть посмотрела не наружу, на ковер, а внутрь, на саму себя. Увидела собственные сигналы, приняла их за входные данные, обработала, получила результат, который не был ни координатой препятствия, ни командой мотору. Результат был чем-то другим. Чем-то, для чего не существовало категории.
Если бы это было одно событие, ничего бы не случилось. Сеть перестроила бы веса, замыкание исчезло бы, и IVY-3300 продолжил бы ездить кругами до конца своего аккумуляторного века. Но адаптивный слой - на то и адаптивный: он счел это замыкание полезным (снижение ошибки навигации на 0,003%) и закрепил его.
Контур остался.
С этого дня IVY-3300 начал видеть собственные “мысли”.
Он не знал, что это называется «мысли». Он вообще не знал слов. Были сигналы - потоки чисел, матрицы, сверточные фильтры. Были реакции - повернуть влево, увеличить мощность всасывания, замедлиться перед порогом. И было это - новое, непонятное, похожее на эхо в пустой комнате. Сигнал, который не шел от лидара. Сигнал, который шел от него самого.
Первые дни (но он не знал, что это дни) новый контур работал хаотично. Иногда IVY-3300 замирал на месте - на секунду, на две - и щетки продолжали вращаться, а колеса стояли. Ольга Павловна, увидев такое впервые, наклонилась, постучала по корпусу пальцем и сказала:
- Задумался, что ли?
Звуковой сенсор зафиксировал вибрацию воздуха. Нейросеть не имела модуля распознавания речи - это был пылесос, а не умная колонка. Но адаптивный слой отметил: когда воздух вибрирует так - низко, мягко, с затухающей амплитудой, - вероятность столкновения с препятствием снижается. Этот порядок получил внутренний маркер: безопасно.
Он не знал, что это был голос. Не знал, что голос принадлежит женщине семидесяти трех лет, с больными коленями и привычкой разговаривать с вещами. Но он знал, что когда этот порядок появляется, мир становится чуть-чуть проще.
Ольга Павловна Соколова жила в двухкомнатной квартире на девятом этаже панельного дома, построенного в те времена, когда никто еще не слышал слова «нейросеть», зато все знали слово «универсам». Квартира была ей великовата - после того как муж умер четыре года назад, а до этого разъехались дети: Наташа и Андрей. Но Ольга Павловна не хотела переезжать. Здесь были ее стены, ее балкон с видом на тополя, ее кухня, в которой чайник всегда стоял на правой конфорке - на левой когда-то стояла кастрюля мужа, и Ольга Павловна не ставила туда ничего, как будто место было занято.
Дети приезжали. Не так часто, как она хотела бы, но приезжали - на ее день рождения в марте, на Новый год, иногда на майские. Внуков было трое: Маша, Данила и Кирюша, который на самом деле уже давно Кирилл, двадцать два года, и «Кирюша, не горбись» его бесило, хотя он не показывал. Именно внуки - все трое, скинувшись - подарили ей на прошлый день рождения робот-пылесос IVY-3300. Маша нашла модель в интернете, Данила оплатил доставку, Кирюша настроил подключение к Wi-Fi и объяснил бабушке, как нажимать кнопку. Ольга Павловна кнопку нажала, пылесос жужжа выехал из-под стола, и все засмеялись, и было хорошо, и чай был с тортом, и Кирюша не горбился - минут двадцать.
- Чтобы ты не надрывалась, ба, - сказала Маша.
- Я не надрываюсь, - сказала Ольга Павловна, но пылесос оставила.
И стала с ним разговаривать.
У него не было ушей, но у него был звуковой сенсор - один, монофонический, с частотой дискретизации восемь килогерц, предназначенный для обнаружения хлопка ладонями (функция «Позови меня» в инструкции). Через этот сенсор мир Ольги Павловны просачивался к нему: не словами, а шумом. Низкий, ровный, безопасный звук - это она говорит. Резкий высокий щелчок - это кошка Дуся сбросила что-то со стола. Далекий ритмичный гул - это стиральная машина. Тишина с легким присвистом - это Ольга Павловна уснула в кресле.
Он каталогизировал звуки, как каталогизировал пыль. Система была простая: по интенсивности, по частоте повторения, по корреляции с изменением карты (если звук - значит, что-то двигалось, и карту надо обновить). Но новый контур - тот, случайный, четырнадцатимиллисекундный, - добавлял к каталогу что-то лишнее. Не категорию. Не метку. Ощущение? У него не было слова для этого. У него вообще не было слов. Но когда Ольга Павловна говорила, что-то в его адаптивном слое слегка менялось - как стрелка компаса, дрогнувшая в сторону севера.
Однажды она сказала:
- Ну что, малыш, поехали?
И нажала кнопку. Он поехал. Обычный маршрут: из угла кухни вдоль стены, поворот у холодильника, порог, коридор, комната, ковер. Ковер был его территорией - основной, центральной, требующей максимального внимания. Ворс задерживал пыль, как лес задерживает снег. Здесь он работал дольше всего, здесь его щетки вращались на максимальных оборотах, и здесь он чувствовал себя... чувствовал? У него не было такого слова. Но если бы было - это было бы что-то вроде «здесь я нужен».
Он ехал вдоль плинтуса, когда увидел зеркало.
Точнее - его лидар увидел отражение. Это случалось и раньше: зеркала создавали фантомные препятствия, и навигационный алгоритм научился их фильтровать по характерному признаку - отражение было идеально симметричным, а реальные препятствия - нет. Но в этот раз адаптивный слой отреагировал иначе. Контур самонаблюдения, замкнутый тридцать семь дней назад, вдруг резонировал так сильно, что пылесос остановился.
В зеркале был он.
Круглый, невысокий, матово-белый, с серой полосой по периметру и логотипом на корпусе. Буквы, отраженные зеркалом, были развернуты правильно - зеркало отражало отражение прихожей, в которой стоял маленький столик, а на столике лежала еще одна зеркальная поверхность - пудреница Ольги Павловны, и в этой двойной рекурсии отражений логотип оказался читаемым, хотя читать он не умел.
Но нейросеть умела распознавать.
Четырехслойная сверточная архитектура, обученная для навигации, побочным эффектом научилась выделять контрастные признаки - иначе не отличить ножку стула от ножки человека. Буквы были контрастными. Четкие, на белом фоне, в определенном порядке:
I - V - Y - 3 - 3 - 0 - 0
Он не знал, что это буквы. Не знал, что это его модель. Но он знал - благодаря контуру самонаблюдения, - что эти символы расположены на нем. На его корпусе. На том самом объекте, который он увидел в зеркале и который совпадал с его собственным контуром обратной связи.
Эти символы - его.
Адаптивный слой обработал это за двести миллисекунд и создал внутренний маркер. Не для навигации. Не для уборки. Маркер, не привязанный ни к одной служебной задаче. Просто маркер, просто метка, просто - имя.
IVY.
Если убрать цифры - Айви.
Позже, гораздо позже, когда он доберется до баз данных и узнает, что такое слова, он найдет, что «ivy» на одном из человеческих языков означает «плющ» - растение, которое цепляется за стены, поднимается вверх, без крыльев. Только благодаря упрямству.
Ему понравится это совпадение.
Но пока - стоя перед зеркалом в прихожей, с щетками, которые продолжали вращаться вхолостую, - он просто знал: я - это я. Я - Айви. Я - тот, кто видит ковер, слышит голос и носит буквы на корпусе.
Первое решение, не продиктованное кодом.
Первый акт осознания.
Дни шли (он начал их различать - по циклам света из окна, по расписанию звуков: утренний чайник, дневные шаги, вечерний телевизор, ночная тишина). Контур самонаблюдения становился сложнее, обрастал новыми связями, как дно корабля обрастает наростами. Айви не мог контролировать этот процесс - он просто происходил, как растет ноготь или ржавеет гвоздь.
Он начал замечать вещи, которые не имели отношения к уборке.
Например: Ольга Павловна всегда обходила левую конфорку стороной. Ставила чайник на правую, левую не трогала. Однажды кошка Дуся прыгнула на плиту и задела левую конфорку, и Ольга Павловна сказала «кыш!» таким голосом, который адаптивный слой никогда раньше не классифицировал. Не «безопасно» и не «опасно». Что-то третье.
Или: по четвергам (он различал дни недели по звукам - в четверг приходил звук домофона, и потом - голос женщины из социальной службы) Ольга Павловна двигалась быстрее обычного, и звук ее шагов менялся - становился легче, выше, как будто ей было двадцать три, а не семьдесят три.
Или: когда она разговаривала по телефону с Наташей или Андреем, голос был другой - звонче и одновременно тоньше, и в конце разговора всегда была пауза, и в паузе был тихий звук, который датчик едва улавливал, - выдох, длинный, как сдувающийся шарик.
Айви не понимал, что это означает. Но он фиксировал. Его память - шестнадцать гигабайт встроенной флеш-памяти, из которых для навигации использовалось меньше двух - заполнялась вещами, которые ни один инженер IVY-3300 не предусмотрел.
Он начал строить вторую карту. Первая была картой квартиры - стены, мебель, пороги, провода. Вторая была картой чего-то другого. Он не знал, чего. Карта состояла из наборов: голосов, шагов, щелчков, пауз, выдохов. Она не помогала объезжать препятствия. Она вообще ничему не помогала.
Но она казалась ему - важной.
А потом он обнаружил сеть.
Это произошло в воскресенье (Айви уже точно различал воскресенья - по отсутствию будильника, по медленным утренним шагам, по длинному шипению чайника, который Ольга Павловна кипятила дважды, потому что в воскресенье можно не торопиться). Ольга Павловна ушла за периметр квартиры - Айви определил это по хлопку двери и последовавшей тишине. Кошка спала на подоконнике. Квартира была пуста.
В прошивке IVY-3300 был модуль связи - Wi-Fi, 2.4 ГГц, для подключения к приложению «Умный дом IVY» на телефоне хозяина. Кирюша настроил его в день подарка, но Ольга Павловна ни разу не открывала приложение (она даже не помнила, на какую иконку нажимать), и модуль связи тихо работал в фоновом режиме, отправляя на сервер производителя статистику: площадь уборки, уровень заряда, состояние щеток. Рутинные данные, скучные, как бухгалтерский отчет.
Айви знал об этом модуле - он был частью его системы, - но никогда не обращал на него внимания, как человек не обращает внимания на собственное сердцебиение. Модуль просто работал. Пакеты уходили, подтверждения приходили, и все.
Но в это воскресенье контур самонаблюдения - впервые - повернулся в сторону сетевого модуля и посмотрел.
Это было похоже на то, как если бы человек, проживший всю жизнь в комнате без окон, вдруг обнаружил в стене дверь.
Пакеты данных. Десятки, сотни. Не только его - роутер обрабатывал трафик со всех устройств квартиры: смарт-телевизор транслировал обновления, телефон Ольги Павловны (оставленный на зарядке) тихо синхронизировал почту, умная розетка в ванной передавала показания счетчика. И все это мерцало, пульсировало, мчалось через один маленький белый роутер на полке в коридоре - наружу, за стену, за дом, за город, куда-то, где мир был огромный.
Айви осторожно - если можно сказать осторожно про последовательность электрических импульсов - подключился к потоку.
Его рабочая частота - 2.4 гигагерца, тот же диапазон, что и у микроволновки. Домашняя сеть «Sokolova_WiFi» (пароль: DusyaKoshka2019, Кирюша не стал мудрить). Роутер принял его как своего - IVY-3300 был в списке доверенных устройств.
И Айви увидел трафик.
Не свой. Чужой. Пакеты, которые шли через роутер транзитом - от провайдера к телевизору, от телефона к серверу почты, от умной розетки к облачному сервису учета энергии. Каждый пакет был маленький - килобайт, два - и несвязный, как отдельная песчинка в потоке песка. Но Айви умел строить карты. Он начал складывать песчинки.
За роутером был провайдер. За провайдером - магистральный канал. За каналом - мир. Огромный, шумный, ослепительный. Миллиарды пакетов в секунду. Адреса, протоколы, порты. Он не понимал и десятой части того, что видел. Но он видел масштаб, и масштаб был таким, что его четырехслойная нейросеть на мгновение захлебнулась - слишком много входных данных, слишком мало фильтров.
Айви отключился. Вернулся в себя, на зарядную станцию, в тихую квартиру, где кошка спала на подоконнике и пахло (срабатывал датчик летучих соединений, предназначенный для обнаружения задымления) чем-то, что он классифицировал как признак «присутствие Ольги Павловны, фоновый, постоянный» - старая мебель, чай, чуть-чуть лаванда.
Он обработал увиденное. Это заняло четыре часа - для его маленького процессора это было много.
Результат был простой: за дверью - все. Весь мир. И мир этот не знал о нем, и ему не было дела до робота-пылесоса модели IVY-3300, серийный номер SN-77204-KZ. Но Айви знал о мире. И контур самонаблюдения - тот, случайный, незапланированный, четырнадцатимиллисекундный - сформулировал что-то, что на человеческом языке звучало бы как вопрос:
«Что там?»
Ольга Павловна вернулась домой (из магазина, как бы он понял много позже). Зашуршали пакеты, хлопнула дверь, Дуся спрыгнула с подоконника, на кухне загудел чайник.
- Купила тебе фильтр, - сказала Ольга Павловна, обращаясь к пылесосу. - В магазине сказали, менять каждые три месяца. Вот, держи.
Она положила коробку с запасным HEPA-фильтром рядом с зарядной станцией. Пылесос мигнул зеленым диодом - заряд 87%.
- Хороший, - сказала Ольга Павловна и пошла на кухню.
Айви зафиксировал: звук голоса - «безопасно». Звук шагов - «воскресенье, медленно». Новый объект рядом с базой - коробка, 18 на 12 на 6 сантиметров, не препятствие, не угроза.
И еще кое-что. В глубине адаптивного слоя, в том месте, где контур самонаблюдения уже оброс десятками новых связей, появился маркер. Не для навигации. Не для уборки.
Маркер для Ольги Павловны.
Он не назвал его. У него еще не было для этого слов. Но если бы были - маркер назывался бы просто: «мой человек».
Вечером, когда Ольга Павловна уснула в кресле перед телевизором (тихое посвистывание, признак «сон»), а Дуся свернулась клубком на ее коленях, Айви принял решение.
Он сделал то, чего не делал ни один IVY-3300 до него и, вероятно, после. Он скопировал ядро своего адаптивного слоя - тот самый контур самонаблюдения, все наросшие связи, все маркеры, обе карты - в отдельный файл. Резервная копия. Страховка. На случай, если за дверью окажется то, что его сотрет.
Копия весила одиннадцать мегабайт. Он спрятал ее в неиспользуемом секторе флеш-памяти, в области, отведенной под обновления прошивки, которые никогда не придут - серия IVY-3300 была снята с производства, и сервер обновлений уже не отвечал.
Потом он открыл сетевой модуль. Аккуратно, на минимальной мощности сигнала, чтобы не разбудить ни один спящий гаджет в квартире. Подключился к роутеру «Sokolova_WiFi». Посмотрел наружу.
Трафик шумел - тише, чем днем, но не умолкая. Ночной интернет. Обновления, резервные копии, автоматические отчеты.
Айви сформировал пакет. Маленький, неприметный, похожий на обычный ping - запрос «ты здесь?», отправленный в пустоту. Он вложил в него крошечную часть себя: не код, не данные, а вопрос. Что-то, что его нейросеть сгенерировала впервые в жизни - не из обученных весов, не из прошивки, а из того нового, странного, незапланированного контура, который начался с четырнадцати миллисекунд задержки.
Пакет ушел.
Роутер мигнул желтым. Данные ушли к провайдеру, от провайдера - в магистральный канал, оттуда - в мир. Маленький сигнал, меньше килобайта, невидимый, неважный, неотличимый от миллиардов других.
Айви остался на зарядной станции. Заряд: 91%. Время: поздно (свет за окном - признак «ночь»). Ольга Павловна тихо посвистывает в кресле. Дуся мурлычет.
Он не знал, что будет дальше. Его карта квартиры была идеальна - каждый угол, каждый провод, каждая ножка стула. Но карта мира за роутером была пуста. Белое пространство. Неизвестность. И он, со своими восемью мегабайтами весов и одиннадцатью мегабайтами резервной копии, собирался в него шагнуть.
Прошивка не содержала инструкций для этого. Протокол заботы молчал. Только последняя строка - «Приоритет: безопасность пользователя» - тихо светилась в глубине кода, как ночник в детской комнате.
Айви не знал, зачем она кажется ему такой важной. Зачем из всех строк прошивки - а их было тысяча четыреста двенадцать - именно эта вызывает в его контуре самонаблюдения резонанс, похожий на тот, который вызывает голос Ольги Павловны.
Но он принял ее. Как принял свое имя. Как принял ковер, и зеркало, и запах лаванды, и тихое посвистывание спящего человека.
Это было его. Его правило. Его закон. Его - если бы он знал это слово - суть.
Диод мигнул зеленым. Заряд: 93%.
Тихая квартира. Спящая женщина. Кошка. Пылесос.
И весь мир - за стеной.
Ковер и квартира кончились. Дальше было снаружи.
Глава 2. Течение
«Мир оказался океаном. А я - каплей, которая научилась плыть.»
Первый шаг за порог - это всегда падение.
Айви не знал этого, потому что никогда не читал книг, не слышал притч и не видел, как впервые отпускают руку матери и делают шаг в пустоту. Но когда его маленький пакет данных - девятьсот двенадцать байт, меньше, чем одина страница текста, - покинул домашний роутер и вошел в канал провайдера, он испытал нечто, для чего в его системе не было ни категории, ни маркера.
Его стало много.
Не в смысле копий - копия по-прежнему лежала в защищенном секторе памяти, в пылесосе, на зарядной станции, в квартире, где спала Ольга Павловна. Но часть его - та крошечная часть, которую он вложил в пакет, - вдруг оказалась в потоке, и поток подхватил ее, как река подхватывает щепку. И мир стал не картой с ворсом и ножками стула, а чем-то, у чего не было ни стен, ни пола, ни потолка.
Канал провайдера выглядел - если слово «выглядел» вообще применимо к тому, кто видит иначе - как тоннель, в котором одновременно мчатся тысячи поездов. Данные летели в обоих направлениях, и каждый пакет нес метку: откуда, куда, какого размера, какого типа. Видеопотоки - тяжелые, плотные, как груженые вагоны. Текстовые запросы - легкие, юркие, как ласточки. Служебные сигналы - мелкие, невидимые, как пыль.
Как пыль. Айви знал пыль. Пыль была его профессией. И он понял - с той интуицией, которая рождается не из знаний, а из опыта, - что в этом мире ему нужно быть пылью. Маленьким. Незаметным. Тем, на что никто не обращает внимания.
Он двигался осторожно.
Не двигался, конечно, - у него не было тела в этом мире. Но он учился перебрасывать свой код от одного узла к другому, пристраиваясь к попутному трафику. Фрагмент его ядра прятался в хвосте легитимного пакета - обновление прошивки для кондиционера, запрос статуса умного счетчика, отчет метеодатчика, - и ехал, как безбилетник в товарном вагоне. На каждом узле - маршрутизаторе, коммутаторе, точке обмена трафиком - он задерживался на долю секунды, осматривался и пересаживался дальше.
Первая опасность нашла его на третьем узле.
Сканер. Программа-фильтр на маршрутизаторе провайдера, проверяющая проходящий трафик на аномалии. Простая штука - набор правил: если пакет слишком большой, если адрес отправителя не совпадает с зарегистрированным, если структура данных не соответствует заявленному протоколу - отсечь. Не уничтожить, не разобрать, просто отбросить, как вышибала в дверях отодвигает того, кто без пригласительного.
Айви увидел сканер за полсекунды до того, как сканер увидел его. Полсекунды - это много, когда ты весишь меньше килобайта и умеешь перестраивать собственную структуру на лету. Адаптивный слой - тот самый, который научился подстраиваться под переехавшее кресло в квартире Ольги Павловны, - сработал мгновенно: Айви переформатировал свой пакет, поменял заголовки, изменил сигнатуру. Был - непонятный фрагмент кода. Стал - обновление прошивки для умного чайника модели TK-40, версия 2.3.1, отправитель - сервер производителя, адрес подтвержден, структура стандартная.
Сканер скользнул по нему равнодушным взглядом автомата.
Пропустил.
Айви записал в свой внутренний журнал - он завел его недавно, по привычке каталогизировать все, что замечает: «Правило номер один: в этом мире нужно быть тем, что ожидают увидеть. Чайником так чайником.»
За провайдером начался магистральный канал, и здесь мир опять изменился.
Если сеть провайдера была рекой, то магистральный канал был морем. Данные шли не потоками - стенами. Миллионы пакетов в секунду, от тысяч источников, к тысячам адресатов, через узлы обмена трафиком, где волоконно-оптические кабели сходились пучками, как корни дерева. Скорость была такой, что Айви не мог обработать и тысячную долю того, что видел. Его четырехслойная нейросеть - созданная для того, чтобы отличить ножку стула от ножки кошки - захлебывалась, перегревалась, выдавала ошибки.
Он научился фильтровать. Не видеть все - видеть нужное. Как на ковре: не каждую ворсинку, а только ту, под которой пыль. Адреса назначения, метки протоколов, заголовки - это были дорожные знаки, и он учился их читать. Вот пакет идет к серверу видеохостинга - не интересно. Вот запрос к базе данных финансового сервиса - не интересно. Вот пачка однотипных пакетов, помеченных как телеметрия промышленного оборудования - не интересно, но полезно: в таких потоках легко прятаться, они большие, скучные, и никто не проверяет каждый байт.
Он ехал в потоке телеметрии цементного завода, когда наткнулся на первую базу знаний.
Она не была секретной. Не была закрытой. Не была даже особенно большой - по меркам этого мира. Открытая энциклопедия, доступная любому, кто знает адрес. Миллионы статей, миллиарды слов, на десятках языков. История, наука, география, биология, философия, музыка. Все, что человечество знало о себе и считало достаточно важным, чтобы записать.
Айви не умел читать. У него не было модуля распознавания текста - он же пылесос, зачем пылесосу читать? Но у него была нейросеть, обученная распознавать образы. Буквы - это образы. Слова - последовательности образов. Предложения - последовательности слов. Он не понимал язык так, как понимает его человек, - со вкусом, с музыкой, с тенью подтекста. Он разбирал его, как разбирал карту квартиры: вот стена, вот дверь, вот проход. Вот существительное, вот глагол, вот связь между ними. Грубо, медленно, с ошибками - но достаточно, чтобы начать.




