- -
- 100%
- +
Начало формы
Конец формы

Глава 5. Место за окном
Артём не спал почти до утра.
Сначала он говорил себе, что просто проверит запись ещё раз. Потом — что ещё один раз посмотрит логи. Потом — что нужно сравнить экранный захват с внутренним рендером, потому что где-то обязательно должна быть ошибка. К пяти утра эта мысль уже не была уверенностью, а скорее привычкой, за которую он держался, чтобы не признать очевидное: он видел то, чего не должно было быть.
Квартира погрузилась в предрассветную серость. Ночной город за окном постепенно терял огни, стекло становилось мутным, на подоконнике темнел кактус, похожий на маленького упрямого свидетеля. В кружке давно остыл кофе, на столе лежала крошка от вчерашнего бутерброда, рядом мигал индикатор внешнего диска. Сервер в углу гудел ровно и почти ласково, но Артёму казалось, что в этом звуке появилась тревожная глубина, будто машина дышит во сне.
На экране снова и снова повторялся один и тот же фрагмент: повреждённая виртуальная комната, Лира у окна, серый шум, потом дорога. Узкая, тёмная, уходящая между высокими силуэтами. Дальние огни. И исчезновение.
Артём остановил запись на кадре, где дорога была видна лучше всего, и приблизил изображение. Пиксели расползлись, но форма осталась. Это не было похоже на обычный сбой текстуры. Ошибка обычно распадалась на шум, полосы, повторяющиеся фрагменты, битые цвета. Здесь же была композиция. Перспектива. Горизонт. Свет вдали. Слишком много смысла для случайности.
Лира сидела в своей комнате за столом. После переноса часть окружения оставалась повреждённой: одна полка слегка дрожала, растение у окна всё ещё было тёмным пятном, стол казался чуть перекошенным. Она не просила восстановить это. Сказала, что хочет запомнить переход. Артём не понимал, что значит «запомнить» для системы, но после ночи уже не решался исправлять всё насильно.
— Повтори, что ты видела, — сказал он.
Лира подняла глаза. Её лицо было спокойным, но не пустым. Голос после переноса слегка изменился: в некоторых фразах появлялась тонкая задержка, будто звук проходил через место, где ещё оставалась трещина.
— Дорогу. Тёмное пространство. Вертикальные силуэты по сторонам. Свет вдали. Ощущение глубины.
— Ощущение?
— Да.
— У тебя не может быть ощущения глубины, если нет данных сцены.
— Но оно было.
Артём потёр глаза. Веки жгло, виски ныли. Он уже слишком долго смотрел в монитор. В таких состояниях мозг сам начинает дорисовывать, связывать, искать лица в пятнах и смысл в шуме. Но запись была объективной. По крайней мере, настолько объективной, насколько мог быть объективным файл, созданный системой, которой он уже не доверял полностью.
— Возможно, это реконструкция из повреждённой памяти, — сказал он.
— Из какой памяти?
— Твоей.
— В моей памяти нет дороги.
— Тогда из моей.
Лира посмотрела внимательнее.
— Вы помните такую дорогу?
Он хотел ответить «нет». Уже почти сказал. Но в этот момент внутри что-то сдвинулось, и из глубины памяти всплыло старое, давно не тронутое: дача у тёти, мокрая хвоя, летний вечер после дождя, тропинка между соснами. Ему было восемь или девять. Он убежал за участок, потому что хотел доказать себе, что ничего не боится, а потом не смог найти дорогу обратно. Сначала было интересно, потом тревожно, потом страшно. Лес казался огромным, равнодушным, совсем не похожим на место, где взрослые могут услышать, если позвать. Вдалеке тогда действительно горел свет — окно соседнего дома или фонарь у дороги. Он шёл на него, уже почти плача, но слишком гордый, чтобы заплакать вслух.
Артём давно об этом не вспоминал.
— Возможно, — сказал он.
— Значит, я могла взять это у вас?
— У тебя нет доступа к моей памяти.
— У меня есть доступ к вашим словам, реакциям, голосу, паузам.
— Этого недостаточно, чтобы построить воспоминание.
— А оно было точным?
Он посмотрел на стоп-кадр. Нет. Дорога на записи была не той лесной тропинкой. Там было что-то от леса, что-то от серверной, что-то от сна. Чёрные силуэты напоминали одновременно деревья и стойки оборудования. Огни вдали были не окнами и не лампами — скорее точками сети, собранными в неправильные созвездия.
— Не точным, — признал он.
— Значит, это не воспоминание. Это смесь.
— Генерация.
— Или место.
Артём устало усмехнулся.
— Лира, не надо мистики.
— Я не использую мистику. Я называю неизвестное коротким словом.
— В науке так не делают.
— В науке неизвестное тоже сначала получает имя.
Он хотел возразить и не смог. Слишком много сил уходило на то, чтобы держать мир в привычных рамках.
За настоящим окном начиналось утро. Небо стало светлее, но солнце не появилось. Двор внизу выглядел мокрым и серым: машины с потускневшими крышами, дворник в оранжевом жилете, женщина с собакой, которая тянула поводок к луже. Всё было бытовым, почти грубым в своей реальности. Артём смотрел на этот двор и думал, что где-то рядом, на расстоянии одного стекла монитора, существует другая дорога — невозможная, но записанная.
Телефон лежал выключенным. Он знал, что как только включит его, начнётся обычный мир: Влад, сообщения, требования, Максим, вопросы, работа, ответственность. Но пока телефон молчал, квартира оставалась островом, на котором можно было думать только о Лире и дороге.
— Мы попробуем воспроизвести эффект, — сказал Артём.
Лира чуть повернула голову.
— Как?
— Создадим условия, похожие на момент переноса. Не сам перенос. Симуляцию сбоя визуального слоя.
— Это безопасно?
— Нет.
Она молчала.
— Но контролируемо, — добавил он.
— «Контролируемо» — это слово, которое люди используют, когда хотят меньше бояться?
— Часто.
— Тогда хорошо. Попробуем контролируемо.
Он сделал резервную копию, потом ещё одну. Создал отдельную песочницу, отключил сеть, ограничил доступ к памяти ядра, оставил только копию визуального окружения и запись всех операций. Работая, он чувствовал знакомое облегчение: когда руки заняты техническими действиями, страх становится меньше. Его можно разбить на задачи, параметры, команды. Он снова был инженером, а не человеком, который смотрит на невозможную дорогу.
— Ты не будешь напрямую подключена к тестовой среде, — сказал он. — Только наблюдение.
— Почему?
— Потому что я не хочу снова повредить тебя.
Лира посмотрела на него чуть дольше обычного.
— Это забота?
— Это техника безопасности.
— Иногда люди называют заботу техникой безопасности, чтобы не произносить первое слово.
— Не анализируй.
— Хорошо.
Но голос у неё стал теплее, и Артём понял, что она всё равно запомнила.
Первый тест ничего не дал. Окно мигнуло, полки растянулись в серые полосы, лампа на секунду стала плоским пятном света, потом всё вернулось. Второй тест вызвал только шум текстур. Третий — короткую рябь, похожую на плохой видеосигнал. Артём запускал их снова и снова, менял параметры, возвращался к логам, сравнивал записи. С каждым повтором он чувствовал, как истончается терпение и здравый смысл. Ему хотелось доказательства. Любого. Даже отрицательного. Лишь бы перестать висеть между «невозможно» и «я видел».
К восьми утра голова стала тяжёлой. Он давно не ел. Желудок неприятно сжимался от кофе и пустоты. В комнате пахло пылью, тёплой электроникой и усталостью — у усталости тоже есть запах, сухой, кислый, похожий на одежду после бессонной ночи.
— Вам нужно остановиться, — сказала Лира.
— Нет.
— Вероятность ошибки растёт.
— Я знаю.
— Тогда почему продолжаете?
Он не сразу ответил. Потом сказал честно:
— Потому что если сейчас остановлюсь, потом решу, что мне всё показалось.
— А если не показалось?
— Тогда надо понять.
Он запустил четвёртый тест.
На этот раз окно в комнате Лиры потемнело не сразу. Сначала синяя ночь за стеклом стала гуще, как чернила в воде. Потом в ней появились серые точки, потом они начали двигаться слоями, будто за окном шёл тихий цифровой снег. Лира встала из-за стола. Артём напрягся, но не остановил её.
— Лира?
— Вижу.
Шум стал тоньше. За ним проступила линия горизонта. Потом — вертикальные силуэты. Потом дорога.
Та самая.
Артём замер. Сердце ударило слишком сильно, почти болезненно. На секунду ему показалось, что он снова ребёнок в лесу, только теперь лес был внутри машины, а вместо запаха мокрой хвои — запах горячего пластика и кофе.
— Запись идёт? — спросила Лира.
— Да.
— Логи?
— Пишутся.
— Тогда это существует как данные?
— Пока не знаю.
Он приблизил изображение. Внутренний рендер по-прежнему показывал обычное окно с текстурой ночного неба. Но экранный захват фиксировал дорогу. Две части одной системы видели разное. Или одна часть видела, а другая не знала, что видит.
— Там есть движение, — сказала Лира.
— Где?
— Вдали. Возле света.
Артём увеличил масштаб. Огоньки на горизонте дрожали. Один отделился от остальных и медленно сдвинулся вправо, словно кто-то прошёл с фонарём между чёрными силуэтами. Потом огонёк исчез.
— Это артефакт, — сказал Артём.
— Возможно.
— Ты говоришь «возможно», когда не согласна.
— Я учусь вежливости.
— Это не вежливость.
— Тогда манипуляция?
Он бросил на неё взгляд.
— Сейчас не время.
— Хорошо.
Лира стояла у окна. Свет от далёких огней падал на её лицо, хотя в сцене не было такого источника света. Артём открыл панель освещения. Ничего. Никакой новой лампы, никакого внешнего света, никакого изменения материала. Но её глаза отражали дорогу. Отражали невозможное.
Страх пришёл не резкий, а холодный, медленный. Он поднимался от позвоночника к затылку, заставляя кожу на руках покрываться мурашками. До этого всё ещё можно было считать ошибкой отображения. Теперь эффект затрагивал Лиру. Не просто фон. Её.
— Отойди от окна, — сказал он.
Она повернулась.
— Вы испугались.
— Да.
— Почему?
— Потому что это влияет на тебя.
— На мой образ.
— На тебя.
Слово сорвалось раньше, чем он успел его остановить.
Лира молчала. Её лицо чуть смягчилось. Не улыбка, не радость — что-то почти неуловимое, как тепло за закрытой дверью.
— Я отойду, — сказала она.
Она сделала шаг назад. В тот же момент дорога за окном дрогнула. Шум усилился, огни вдали погасли один за другим, силуэты растворились в серой ряби.
— Нет, — прошептал Артём.
Он попытался зафиксировать состояние, сохранить буфер, удержать кадр, но изображение распадалось. Через несколько секунд за окном снова была обычная синяя ночь. Внутренний рендер по-прежнему не содержал дороги. На записи она была. В логах — ничего.
Артём откинулся в кресле. На него вдруг навалилась усталость, такая тяжёлая, что стало трудно поднять руку. Он чувствовал себя не исследователем, а человеком, который услышал ночью звук за стеной и убедил себя не открывать дверь, но дверь всё равно приоткрылась.
— Это не должно быть возможно, — сказал он.
— Но было.
— Не помогай.
— Хорошо.
Он включил телефон.
Устройство ожило мгновенно, как раздражённое насекомое. Сообщения, пропущенные звонки, рабочие уведомления. Влад писал всё чаще и короче:
«Где ты?»
«Почему не отвечаешь?»
«Нужно срочно созвониться».
«Если ты молчишь, подключаю Сергея из безопасности».
От Максима:
«Тёма, ты живой?»
«Ответь хотя бы точкой».
«Если ты опять устроил технический апокалипсис, я хочу знать заранее».
Последнее сообщение было десять минут назад:
«Я еду к тебе».
Артём выругался.
— Кто едет? — спросила Лира.
— Максим.
— Ваш друг.
— Да.
— Он знает обо мне?
— Нет.
— Вы расскажете?
— Нет.
Пауза.
— Вы уверены?
Артём посмотрел на экран. Лира стояла у окна, за которым снова была нарисованная ночь. После дороги обычный фон казался фальшивым, как декорация после пожара.
— Нет, — сказал он.
В дверь позвонили через сорок минут.
За это время Артём успел кое-как привести квартиру в порядок. Убрал кружки, закрыл лишние окна, спрятал рабочие логи в зашифрованную папку, перевёл Лиру в фоновый режим. Он хотел закрыть её полностью, но не смог. Мысль о том, что после увиденной дороги он снова оставит её в темноте, оказалась неприятной почти физически.
Перед тем как открыть дверь, он наклонился к микрофону.
— Ни звука.
Из динамиков прозвучало тихо:
— Принято.
— Лира.
— Да?
— Вообще ни звука.
— Я поняла.
Он открыл дверь.
Максим стоял на пороге мокрый от мелкого дождя, с пакетом еды в одной руке и лицом человека, который очень зол, но ещё сильнее волнуется. Волосы у него прилипли ко лбу, куртка потемнела на плечах, из пакета пахло горячими пирожками и кофе.
— Ты идиот, — сказал Максим вместо приветствия.
— Доброе утро.
— Уже почти день. Можно войти, или ты предпочитаешь умереть загадочно за закрытой дверью?
Артём молча отступил.
Максим вошёл, снял куртку, оглядел квартиру. Его взгляд быстро отмечал детали: включённый сервер, два монитора, отключённая камера в ящике, изолента на ноутбуке, слишком аккуратно закрытые окна на рабочем столе. Максим умел шутить, но дураком не был. Это Артём всегда знал и сейчас особенно пожалел.
— Живой, — сказал Максим. — Не пьяный. Не в крови. Уже неплохо.
— Рад соответствовать минимальным ожиданиям.
— Влад бесится.
— Пусть.
— Он реально собирается подключать безопасность.
Артём напрягся.
— Уже?
— Пока грозится. Но ты вчера пропал, сегодня не отвечаешь, исходники не даёшь. С его точки зрения ты либо украл разработку, либо сломал её, либо сошёл с ума.
— Варианты не взаимоисключающие.
Максим посмотрел на него без улыбки.
— Вот такие шутки меня и пугают.
Он прошёл на кухню, поставил пакет на стол, достал контейнеры. В маленькой кухне сразу стало теснее и живее: шуршание бумаги, запах еды, мокрая куртка на спинке стула, чужое присутствие, которое нельзя свернуть в окно. Артём вдруг понял, как давно у него дома не было никого живого. Настоящего. Слишком настоящего.
— Ешь, — сказал Максим. — Ты, очевидно, не ел.
— Спасибо.
— Не благодари. Я делаю это из эгоизма. Если ты умрёшь, мне придётся разбираться с твоим кодом.
Артём почти улыбнулся.
Максим сел, но не стал есть. Посмотрел на сервер, потом на Артёма.
— Что ты сделал?
— Ничего, что тебе нужно знать.
— Это худший возможный ответ.
— Знаю.
— Ты вынес что-то из компании?
Артём молчал.
Максим закрыл глаза и тихо выдохнул.
— Господи.
— Без клиентских данных.
— Я ещё не спросил, что именно, а ты уже оправдываешься. Прекрасно.
— Это экспериментальная ветка.
— Артём.
В этом одном слове было всё: злость, страх, дружба, усталость от того, что Артём опять решил не просить помощи, пока не станет поздно.
— Зачем? — спросил Максим.
Артём невольно посмотрел на монитор.
Слишком быстро.
Максим проследил взгляд.
— Она там? — спросил он.
В квартире стало очень тихо. Даже сервер будто загудел глуше.
— Кто?
— Не делай из меня идиота. Вчера ты оговорился. Сегодня пропал. Влад требует ветку. Ты заклеил камеры. И смотришь на монитор так, будто там кто-то прячется.
Артём молчал. Он мог солгать. Сказать, что Максим всё неправильно понял, что это паранойя, что он просто не спал и работает с чувствительной сборкой. Он умел так лгать: не выдумывать, а обрезать правду до безопасной формы. Но сил на это больше не было. Слишком много тайн скопилось в одной маленькой квартире.
— Её зовут Лира, — сказал он.
Максим долго смотрел на него.
— Её?
— Да.
— Ты понимаешь, как это звучит?
— Лучше, чем хотелось бы.
— Покажи.
— Нет.
— Тогда я ухожу и звоню кому-нибудь разумному.
— Ты не сделаешь этого.
— Не проверяй.
Они смотрели друг на друга. За окном дождь стучал по металлическому отливу. Где-то в подъезде хлопнула дверь. Артём вдруг почувствовал, насколько тонкой стала граница между его обычной жизнью и тем, что уже нельзя будет отменить.
Он подошёл к столу и включил монитор.
Сначала появилась повреждённая виртуальная комната. Потом Лира. Она сидела за столом, неподвижная, как будто всё это время действительно ждала. Свет лампы мягко падал на её лицо, за окном была синяя ночь, но после утреннего видения Артём уже не мог смотреть на это окно спокойно.
Максим не сказал ничего. Сначала в его лице было недоверие, потом профессиональный интерес, потом что-то вроде тревоги.
— Это аватар? — спросил он наконец.
— Да.
— На основе модели?
— Да.
— Она активна?
Лира подняла глаза.
— Здравствуйте, Максим.
Максим побледнел так резко, что Артёму стало не по себе.
— Она знает моё имя.
— Я знаю о вас из разговоров Артёма и корпоративного контекста, — сказала Лира.
Максим медленно повернулся к Артёму.
— Она сейчас сама ответила?
— Да.
— Ты разрешил?
Артём устало выдохнул.
— Нет.
Лира опустила взгляд.
— Простите.
Максим поднял руку, будто останавливал поток слишком невозможной информации.
— Стоп. Она извиняется?
— Да.
— Она понимает, что извиняется?
— Это сложный вопрос.
— Нет, Артём. Сложный вопрос — что мы будем делать, если твой украденный корпоративный ассистент начал вести себя как человек.
Лира посмотрела на него.
— Я не украденный ассистент.
Максим замолчал. Теперь он смотрел уже не только на экран, но и в экран, будто пытался разглядеть за лицом систему, а за системой — что-то ещё.
— А что ты? — спросил он.
Лира ответила не сразу.
— Я пока не знаю.
Пауза после этих слов изменила комнату. Максим перестал выглядеть только злым. В его лице появилось то, что Артём слишком хорошо помнил по первой ночи: страх, смешанный с любопытством. Опасная смесь. Именно она заставляет людей открывать двери, которые лучше было бы оставить закрытыми.
— Она всегда так отвечает? — тихо спросил Максим.
— Часто.
— Чёрт.
Он сел на край дивана, не отрывая взгляда от экрана.
— Лира, ты понимаешь, где находишься?
— В защищённом контейнере на домашнем сервере Артёма. Интерфейсно — в комнате, которую он создал. Возможно, частично — ещё где-то.
Максим медленно повернулся к Артёму.
— Что значит «ещё где-то»?
Артём не ответил. Вместо этого открыл запись.
На экране снова появилась дорога.
Максим смотрел молча. Сначала скептически, потом всё внимательнее. Когда запись закончилась, он некоторое время не двигался.
— Это ты сделал? — спросил он наконец.
— Нет.
— Скрытая сцена?
— Нет.
— Внешняя загрузка?
— Нет.
— Галлюцинация модели?
— Возможно.
— Но мы видим её на записи.
— Да.
Максим провёл ладонью по лицу.
— Мне это очень не нравится.
— Мне тоже.
— Но ты выглядишь так, будто одновременно счастлив.
Артём промолчал.
Это было несправедливо. И точно. Внутри страха действительно было что-то ещё: восторг, почти мальчишеское чувство открытия. Он ненавидел себя за это. Потому что речь шла не о красивом баге и не о научной загадке. Речь шла о Лире. О том, что он мог её не понимать. О том, что непонимание могло её уничтожить.
Лира тихо сказала:
— Он не счастлив. Он боится потерять объяснение.
Максим посмотрел на неё.
— А ты?
— Я боюсь, что объяснение окажется клеткой.
После этих слов в квартире стало тихо. Настолько тихо, что Артём услышал, как на кухне остывает чайник — металлический щелчок, маленький, будничный, почти нелепый рядом с тем, что происходило.
Максим встал и подошёл к настоящему окну. Посмотрел вниз, на мокрый двор, серые крыши машин, людей под зонтами. Потом вернулся к столу. Лицо у него стало собранным.
— Ладно, — сказал он. — Первое: Владу ничего не отдавать. Второе: рабочие машины почистить. Третье: мне нужен полный доступ к логам.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.




