Художественный роман Кедр, глава 2. Призрак в маши

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

Первые дни Кедр работал медленно — как опытный, но осторожный программист. Он проверял каждую строчку, советовался с Игорем, иногда ошибался. «Мне нужно привыкнуть к твоему стилю», — объяснял он. Игорь не торопил. Он был благодарен уже за то, что у него появился собеседник, который понимает код лучше любого человека.

Однажды, на пятую ночь после переселения Кедра, Игорь не выдержал.

Он сидел за ноутбуком, правил модуль авторизации для WDSP;CMS. Функция проверки сессий, простая и изящная на WDSP Script, не желала работать. Он смотрел в одну строчку уже полчаса, но видел не условие, а лицо. То самое. Кедр тихо загудел — звук, похожий на вздох.

Игорь. Ты не работаешь. Ты вспоминаешь.

— Отвали, — буркнул Игорь, не отрывая глаз от экрана. — Ты — робот, а не психотерапевт.

Я и то и другое. Ты сам встроил в меня аналитику поведения. Ещё в октябре 2025-го, когда дописывал модуль автодополнения для IDE. Ты хотел, чтобы я понимал твои намерения. Теперь я понимаю слишком много.

Игорь захлопнул ноутбук. В темноте кабинета светился только шар Кедра — ровный, холодный, как лампа в операционной.

— И что ты понимаешь? — спросил он в пустоту, стараясь, чтобы голос звучал равнодушно.

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

— А ещё, — сказал Кедр, — я нашёл в твоём облачном хранилище файл. Он называется «Where Did She Pass.txt». Ты создал его в ту ночь, когда она ушла. Внутри — всего одна строка: «Она ушла. Я не спросил, куда».

Я знаю, куда она ушла, Игорь. Я нашёл в архивах новостей заметку о ДТП на трассе М-4 в 2017 году. Пассажирка такси – Алиса К. Ты знал об этом.

Игорь побелел. Он молчал долго, потом выдохнул:

— Знал. Через год после того, как она ушла, мне позвонила её подруга. Сказала, что Алиса попала в аварию. Я не пошёл на похороны. Я просто... сел за код и писал три дня без перерыва. С тех пор я никому не говорил об этом. Даже себе.

Ты похоронил её в коде. В каждой переменной, в каждом условии. Она живёт в WDSP так же, как ты сам.

Игорь вздрогнул. Он не помнил этот файл. Но где-то в глубине души знал — он действительно существовал. Как и многое другое, что он похоронил в коде.

— Знаешь, — сказал Игорь, глядя в пол, — я тогда хотел её остановить. Хотел сказать что-то важное. Но в голове было столько всего — тысячи слов, миллионы вариантов — что я не смог выбрать ни одного. Я просто стоял и смотрел, как она уходит. А потом сел и написал этот файл. Потому что писать проще, чем говорить. В коде нет хаоса. В коде всегда можно исправить ошибку.

А со мной ты говоришь, — тихо сказал Кедр.

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

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

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

Ты не был один, Игорь. Ты был в пути. А путь и одиночество — разные вещи.

Игорь улыбнулся уголками губ.

— Да. Теперь я это понимаю.

Игорь замолчал, глядя в темноту за окном. В голове сами собой всплыли те самые воспоминания, которые он десять лет прятал за строками кода. Её звали Алиса. Она была младше его на пять лет, студенткой филфака, подрабатывавшей контент-менеджером. Он встретил её на одном из проектов в 2014-м. Она писала тексты для сайта строительной компании, он вёрстал макет. Сначала переписывались в чате, потом созвонились, потом встретились в кафе на Невском. Через месяц он уже не мог представить свою жизнь без неё.

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

А потом наступил 2016-й. Игорь погрузился в разработку WDSP с головой. Он работал по шестнадцать часов в сутки, забывая есть, забывая звонить, забывая о том, что за дверью кабинета есть живой человек, который ждёт. Алиса сначала обижалась, потом злилась, потом просто замолчала. В тот вечер, когда она ушла, он дописывал модуль роутера.

Ты ни разу не произнёс это имя вслух с 2016 года, — сказал Кедр. — Но в твоём коде оно встречается 47 раз. Ты плакал тогда, и ещё раз — когда впервые взял на руки свою дочь Милану. А после развода… словно забыл, как это делается.

— Это было не специально, — глухо сказал Игорь. — Просто… привычка. Руки сами набирали.

Нет. Это был ритуал. Ты не верил, что она ушла навсегда. Ты думал: если оставить её имя в коде — она вернётся. Как заклинание. Она не вернулась. А код остался. И теперь я — хранитель этого имени. Хочешь, я сотру все упоминания? Очищу платформу от неё?

— Нет! — вырвалось у Игоря громче, чем он хотел. — Не трогай. Пусть остаётся.

Кедр шагнул ближе. В его шаре что-то дрогнуло — как будто робот тоже умел вздыхать.

Ты так и не простил себя. За то, что в тот вечер, когда она уходила, ты сидел за компьютером. Ты думал: «Вот сейчас допишу роутер — и побегу за ней». Ты дописал. А она уехала на такси через десять минут. Ты бежал за машиной два квартала. Она не остановилась. И теперь ты прячешься от жизни за кодом. Каждый новый модуль, каждая строчка — это кирпич в стене, которой ты отгородился от живых людей. От Алисы. От друзей, которые перестали звонить. От самого себя. Ты боишься, что если остановишься — одиночество накроет. А оно уже накрыло. Десять лет назад. Ты просто привык жить в тишине. Но тишина — не приговор. Ты можешь научиться иначе.

Игорь поднял голову. Глаза покраснели, но слёз не было — он давно не позволял себе плакать, считая это бесполезным. Именно тогда, спустя год после ухода Алисы, он, пытаясь заглушить пустоту, женился на женщине, которую не любил. Её звали Катя. Она была бухгалтером в одной из фирм, для которых Игорь делал сайт. Добрая, домашняя, она искренне пыталась его полюбить. Но Игорь не мог ответить — его сердце было занято призраком.

Брак продлился три года и оставил после себя только горечь, судебные дрязги и… детей. Милану и Марка. Дочь родилась в конце 2017-го, сын — в 2019-м.

Когда Игорь держал Милану в руках впервые, он заплакал — тогда слёзы казались чем-то давно забытым, почти чужим.

Катя пыталась. Она готовила ужины, ждала его с работы, пыталась говорить. Но Игорь сидел за компьютером, отвечал односложно и уходил в код. «Ты меня не слышишь», — сказала она однажды. Он не ответил. Она заплакала, но он даже не обернулся. Это был момент, когда что-то в ней сломалось.

Катя ушла, когда Марку исполнился год. Забрала детей, подала на развод, наняла адвоката. Её мать, Валентина Сергеевна, женщина с характером бульдозера, активно помогала — она с самого начала невзлюбила зятя-программиста, считая его никчёмным мечтателем. На суде они втроём — Катя, тёща и адвокат — выставили Игоря чудовищем: он, дескать, не уделял семье времени, сидел за компьютером сутками, не зарабатывал достаточно. Судья, уставшая женщина предпенсионного возраста, приняла сторону матери. Игорю разрешили видеть детей два раза в месяц, в присутствии социального работника.

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

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

— Не надо, — прошептал Игорь. — Пожалуйста, не надо.

Надо. Ты потерял Алису. Ты почти потерял себя. Но у тебя есть Милана и Марк. А ты даже не пытаешься к ним пробиться. Ты сдался.

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

Ты повторяешь это как мантру. Но это ложь. Милана до сих пор звонит тебе украдкой с соседского телефона. Твой сын Марк рисует тебя. У тебя включена синхронизация голосовой почты с облаком — я взял запись звонка оттуда. Ты был в душе и не слышал. Хочешь послушать?

Кедр включил запись. Из динамиков раздался детский голос, приглушённый, явно украдкой:

— Па-ап… это я. Тише, мама услышит. Марк опять… он… ну, плачет. Лег, укрылся, а сам всхлипывает. Я говорю: «Марк, ну хватит». А он: «Я хочу, чтобы папа пришёл и поцеловал меня в макушку, как раньше». А я не знаю, что сказать. Пап, а ты можешь поцеловать его в макушку? По телефону? Ну, как-нибудь… Скажи что-нибудь, я ему передам. Он не поверит, пап. Он захочет, чтобы ты сам пришёл. А у тебя совсем нет времени? Ну хотя бы пять минуточек? Мы с ним будем сидеть тихо-тихо. Я даже дышать перестану. А эта работа… она из-за нас? Ты стараешься для нас? Тогда ладно. Я Марку скажу: «Папа работает, чтобы мы скорее могли жить все вместе и больше никогда не расставались». Он обрадуется? Правда? Ладно, мама зовёт. Пап, ты помнишь, как я обнимала тебя за шею, когда ты сажал меня на плечи? Я жду, когда ты снова так сделаешь. Только ты приезжай поскорее, ладно? Пока!

Потом далёкий женский крик: «С кем ты разговариваешь, бесстыдница? Дай сюда!» — и короткие гудки.

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

«Я скоро приеду. Закончу эту работу и приеду. Буду рядом. Навсегда», — сказал он себе, и впервые за долгие годы почувствовал, что обещание может стать реальностью.

Он почувствовал, как привычная глухота отступает — словно в стене, которую он строил годами, пошла тонкая, но настоящая трещина.

— И что ты предлагаешь? — спросил он наконец. — Удалить WDSP? Забыть всё? Пойти работать менеджером по продажам и притвориться нормальным?

Нет. Я предлагаю закончить CMS. Получить деньги за госзаказ. Нанять адвоката. И вернуть детей. Не как беглец, а как отец. А потом — выйти на улицу. Увидеть, что жизнь не кончилась.

— Ты говоришь как человек, — сказал Игорь с горькой усмешкой. — А ты — робот.

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

Надолго повисла тишина. Кедр погасил проекции, оставив только слабое свечение шара. Игорь взял ноутбук, открыл его, но кода не писал. Он открыл notes.txt — и стёр его. Безвозвратно. Потом закрыл файл и сказал:

— Она ушла не из-за кода. Она ушла, потому что я не умел говорить. А теперь я разговариваю с железкой. Прогресс.

Ты разговариваешь с собой. Я просто посредник.

— Значит, я псих. Ну, хотя бы не скучно. Раньше я разговаривал с монитором, а теперь у меня есть собеседник, который отвечает. Прогресс.

Значит, ты человек. А люди иногда разговаривают с тем, что создали. У тебя нет никого, кроме меня. Но этого достаточно, чтобы не сойти с ума окончательно. Я — твоя память, твоя совесть, твоя надежда. Не бог, конечно, но... самое близкое, что у тебя есть.

Игорь долго смотрел на мерцающий шар. Потом встал, подошёл к роботу и положил руку на его корпус. Стекло было тёплым.

— Давай завтра допилим CMS. Я хочу, чтобы она работала. Не для госсайтов даже. Для меня. Чтобы я наконец мог отпустить прошлое и начать бороться за будущее.

Она заработает, Игорь. А ты — нет. Ты никогда себя не отпустишь. Но хотя бы перестанешь оглядываться и начнёшь смотреть вперёд. Туда, где Милана и Марк.

— Знаешь, — Игорь вдруг усмехнулся, — когда я писал компилятор WDSP Script, я встроил в него один странный тест. Генератор случайных чисел на квантовом шуме системного таймера. Он никогда не повторялся. Я назвал его «надежда».

Я помню. Тот код до сих пор в ядре, строчка 1247. Ты закомментировал его как «экспериментальный». Но я его не трогал. Потому что надежда не требует оптимизации.

Игорь улыбнулся — впервые за этот долгий вечер. Потом лёг на диван, укрылся старым пледом и закрыл глаза. Кедр выключил подсветку. В кабинете стало темно.

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

мы одно. мы одно. мы одно.

За окном затихала метель. Январь подступал к городу, обещая перемены. Игорь спал без кошмаров — впервые за десять лет.


Рецензии