Проект особого значения

Tekst
13
Recenzje
Przeczytaj fragment
Oznacz jako przeczytane
Jak czytać książkę po zakupie
Nie masz czasu na czytanie?
Posłuchaj fragmentu
Проект особого значения
Проект особого значения
− 20%
Otrzymaj 20% rabat na e-booki i audiobooki
Kup zestaw za 0,08  0,06 
Проект особого значения
Проект особого значения
Darmowy audiobook
Czyta Виталий Сулимов, Григорий Андрианов, Илья Дементьев, Семён Ващенко, Сергей Уделов, Валерий Владимирович Муллагалеев, Александр Воробьев, Алексей Комиссаров, Владимир Суменков, Дмитрий Поляков, Илья Кочетков, Михаил Архипов, Михаил Золкин, Павел Ломакин, Сергей Ермилов, Сергей Курнаев
Szczegóły
Czcionka:Mniejsze АаWiększe Aa

– Мискальков? Дмитрий… – Денис напряженно вспоминал отчество.

– Павлович, – помог ему Егор. – Ты с ним знаком?

– Ну… Пересекался как-то в Питере. Помнишь, я после первого курса туда ездил? Город посмотреть и подработать заодно. «Заслон» организовывал оплачиваемую практику для студентов. Мискальков там как раз работал. Тоже не произвел особого впечатления, если честно. Вот с ним другой малый приходил – тот да, мозг. Сан Саныч. Фамилию какая-то простая была, точно не помню уже, но тоже на «А», все три инициала одинаковые. Он еще преподавал, то ли в ЛЭТИ, то ли в Политехе. Грамотный мужик. Жаль, что одним карьера, а другим…

– А что другим?

Денис напрягся:

– Да там такая история была… Я на следующий год к ним летом снова поехал. Спросил тогда, а почему все другие теперь работают? Так вот – Мискальков в Москву рванул. А тот парень умер, прям в офисе.

– Это как? – Егор окончательно отвлекся от ноутбука и внимательно посмотрел на соседа.

– Астма у него была… – поморщившись, сказал Денис. – Пришел на работу без ингалятора. Задержался, а тут приступ случился, и рядом никого. Его уборщица нашла мертвым в кабинете. Говорили, что для компании это была очень сильная потеря. Да и еще и Мискальков к конкурентам сбежал. Зато видишь… В начальниках теперь.

– В начальниках… – чуть задумавшись, протянул Егор. – Спросил у него, что обозначает комбинация символов, используемая при переходе к набору высоты, а он даже не смог ответить.

– Что за комбинация?

Егор повернул монитор к Денису, на котором в столбик были записаны символы и их расшифровка.

1AA1A3 – наземный этап

2AB1A3 – взлет

3AC1A3 – набор высоты

4AD1D3 – горизонтальный полет

5AF1H3 – снижение

6AG1H3 – посадка

7AH1H3 – наземный этап

– На каждом этапе работы системы, – начал рассказывать Егор, пока Денис рассматривал экран, – есть некая комбинация – подтверждение, что можно спокойно переходить к следующей фазе: взлет, набор высоты, посадка и так далее. Код передается с земли посредством довольно старой системы связи, где текстовое сообщение шифруется по принципу телекса. Нейросеть с самолета отправляет данные, что все в порядке, а автоматизированная система на земле подтверждает, что можно переходить к следующему этапу. Это дополнительный контроль на случай непредвиденных действий нейросети. Все-таки обучаемость и самостоятельность у нее очень высокая, надо быть уверенными, что она не будет принимать решений, к которым мы не готовы. Если система внизу видит, что самолет, например, сбился с курса, то она передаст сигнал для перехода на удаленное управление с земли. Так вот на тестировании при передаче сообщения, когда самолет взлетел, произошел сбой. Сигнал был получен, и наша нейросеть отключилась. Система тогда еще работала в тестовом режиме и заодно собирала полетные данные для обучения, а все ее действия пересматривал пилот. В один момент все вырубилось. Пилот быстро ушел на ручное управление, благо и самолет был грузовой. Но если система будет требовать участия человека, то сам проект бессмысленен, никакой новации не получится. Подобный сбой на беспилотнике, привел бы к крушению самолета или как минимум к переключению на управление с земли, которое пока для первых выпусков продукции планируют оставлять, чтобы пассажиры не пугались. Сам понимаешь, самолеты, управляемые нейросетью, для наших людей нескоро станут нормой. Ну вот я и заинтересовался, что это за символы «3AC1A3».

– Почему ты говоришь «Эс»? Вы разве не на латинице сигналы передаете?

– Вообще, обычно на латинице. Но на кириллице тоже можно, наши специально дорабатывали. Я уже посмотрел, не было ли в тот момент ошибки и не ввели ли случайно какую-нибудь из букв на кириллице. Потому что при проверке из-за сбоя мы могли посмотреть лишь итоговую команду, полученную самолетом в виде текста на экране. Я не представляю, как ее случайно можно было бы заменить. Для этого нужно лезть в исходный код, а у нас лишь у единиц есть к нему доступ. Простые программисты в основном доработками функционала занимаются. Но я все равно проверил комбинации из букв разных алфавитов на компьютерной модели, там можно посмотреть. Если код неправильный, то нейросеть просто показывает, что нужный сигнал-комбинация не получен и посылает запрос на подтверждение, продолжая при этом полет на основе собственного алгоритма действия. И никакого отключения не происходит. При многократных запросах и отсутствии связи с землей, на самолете срабатывает аварийный протокол, заставляющий самолет отправить сигнал в ближайший аэропорт для захода на посадку.

Егор прекратил говорить, заметив, что Денис уже отвлеченно смотрит по сторонам. «Эмоция – скука». Надо завершать разговор.

– В общем, буду разбираться, – произнес Егор и повернулся обратно к монитору.

– Ладно, а я перекушу пока, – с облегчением ответил Денис и быстро ушел из комнаты.

Егор откинулся на спинку кресла и в очередной раз подумал, что не отличил вежливости от настоящего интереса. Ответ: «Да ничего особенного, разберусь», на вопрос про комбинацию сэкономил бы и его время, и время Дениса. Да и информация про работу Мискалькова в Питере ему показалась абсолютно лишней. Он никогда не понимал привычки сплетничать о едва знакомых людях. Ну, узнал он, что коллега Мискалькова умер от астмы и что теперь? Сожалея о потраченных минутах, Егор вновь напряженно посмотрел на экран, где в поисковой строке браузера было написано: «3АС1А3».

* * *

– Ну что, сегодня великий день! – Милана влетела в кабинет в хорошем настроении. Было заметно, что она охвачена приятным возбуждением и выглядит сегодня как-то особенно эффектно. Черная водолазка с рукавом до локтя, сменившая привычную корпоративную футболку, подчеркивала ее безупречную фигуру, а декоративный вырез в форме капли, в котором блестел серебряный кулон, придавал строгому виду элемент изящности и сексуальности, старательно игнорируемых Егором в их ежедневном общении.

За четыре рабочих дня, проведенных вместе, Егор успел привыкнуть к своей соседке. Милана не лезла в его дела, не давала ненужных советов, зато спокойно и доходчиво отвечала на вопросы. На второй день работы Егор, проверив с десяток вариантов условий, как и говорил ему шеф, так и не смог повторить ошибку, и переключился на другие задачи, но буквы с цифрами не выходили из головы. Никакие поиски в интернете подсказок не давали. Кроме шестнадцатеричного HTML-кода цвета для монитора, он ни одной аналогичной относящейся к программированию комбинации не нашел. Милане про свои изыскания Егор не говорил. Он знал, что многие люди спокойно бросают незаконченные дела, но он так не умел. Дурацкий код не выходил из головы. Бывало, Егор вдруг оставлял нужную задачу, чтобы проверить новую идею, но безрезультатно.

Включив компьютер и залогинившись, Милана тут же убежала за кофе, она так делала каждое утро. Рабочие минуты шли, пока девушка трепалась с коллегами у кофемашины, размешивая сахар в стаканчике. Звуки включения, один привычный сигнал, другой, заработали вентиляторы в системном блоке… И вдруг что-то странное: запищали сообщения корпоративного мессенджера. Штук десять подряд. И Милана, и Егор обычно убирали звук, но, так как параметры дополнительных устройств не сохранялись, каждое утро приходилось все настраивать заново. Писк раздражал, так что Егор встал и подошел к компьютеру Миланы, чтобы отключить колонку. Он не хотел заглядывать в мессенджер, но всплывшее сообщение поневоле привлекло его внимание. На экране светилось: «Тварь, ты за все ответишь», а адресатом был «Андрей Грищенко», тот самый коллега, лежавший сейчас в больнице с дизентерией. Егор подавил желание заглянуть в чат, понимая, что, если сообщения будут прочитаны, Милана это увидит. Выключать звук он тоже не стал: не хотелось вопросов. Тем более что мессенджер замолчал, видимо Андрей успел выплеснуть свое негодование.

Когда Милана зашла в «клетку» с улыбкой на лице и кофе в руке, Егор сидел на своем месте. Он пробурчал:

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

Милана передразнила Егора: «Бе-бе-бе», но подойдя к монитору сразу напряглась.

– Кто так хочет пообщаться с тобой с утра? – как бы невзначай спросил Егор, подумав про себя, что вероятность услышать правду примерно один к десяти. Но ошибся.

– Это Андрей, – расстроенно произнесла девушка. – Злится, что в больнице, когда у нас все самое интересное.

– Понятно, – сказал Егор, не зная, как продолжить разговор. Но, на удивление, Милана сама решила пооткровенничать. Она сделала глоток кофе и вдруг сказала:

– Знаешь, а я рада, что ты сейчас здесь вместо него.

– Почему?

– С тобой спокойно, – с некой болезненностью в голосе произнесла Милана. – Ты видишь во мне коллегу, а не женщину, и это здорово.

Егор вдруг почувствовал, что покрывается потом. Что-что, а общение на тему полов у него всегда вызывало выброс гормонов: слишком некомфортно становилось. Стараясь не выдать волнение, Егор произнес:

– А Андрей кого видел?

– Женщину, которая работает в мужской профессии, где ей не место. А еще он думал, что я его должница. Типа он же помог мне освоиться в новом отделе. Однако, я к нему благодарности не испытывала.

Егор заметил злость в ее голосе и решил уточнить:

– Я правильно понял, что он делал тебе какие-то предложения не в нашей корпоративной этике? – с трудом сформулировал Егор.

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

– Хорошо, – произнес Егор. «Если сказал что-то бестактное, переведи тему», – прозвучали в голове слова психолога. – Любишь играть в шахматы? – воспользовался советом Егор.

 

Милана чуть вздрогнула и, видимо, только заметила, что держится пальцами за кулон. Она опустила руку.

– Да, люблю. Мне кажется, все программисты любят. Ведь наша работа – по сути, ежедневная восьмичасовая партия.

– Подарок? – спросил Егор, кивнув в сторону кулона.

– Да, – ответила Милана и после небольшой паузы произнесла. – От близкого человека.

– Понятно, – кивнул Егор и, пытаясь быть вежливым, задал следующий вопрос. – Тоже любит шахматы?

– Когда были вместе, любил.

Егор заметил, что голос Миланы чуть дрогнул, а глаза заблестели. Но она почти сразу справилась с собой, и уже через пару секунд на лице появилась улыбка, как бы подводящая черту под мигом откровенности. Милана кивнула Егору и вновь вышла в коридор, видимо, чтобы в туалете посмотреть, не испортился ли макияж. Егор откинулся на спинку кресла, думая, что он никогда не поймет этих ненужных эмоций. Какая глупость, хранить сувенир от человека, воспоминания о котором вызывают слезы. Хотя подарок и интересный. Егор сам очень любил шахматы. Вспомнилось, как в детстве он ходил на соревнования, в которых всегда выигрывал. Сидишь напротив соперника, делаешь первый ход: классика, рука выводит на листочке: «e2e4»…

E2E4! Как же он раньше не догадался!

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

1A A1A3 – ладья

2A B1A3 – конь

3A C1A3 – слон

4A D1D3 – ферзь

5A F1H3 – слон

6A G1H3 – конь

7A H1H3 – ладья

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

– Ты в хорошем настроении? – с удивлением спросила она.

Егор хотел уже похвастаться, но вдруг понял, что, по сути, ничего не узнал. То, что для кода использовались ходы шахматных фигур, ничего ему не дает, хотя странно, что Мискальков об этом ничего не сказал. Неужели забыл? В любом случае шахматы пока ничем не помогли решить задачу. Так что, вспомнив уроки из детства, он ответил Милане:

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

* * *

– Друзья, как радостно, что этот день настал. Буквально через пятнадцать минут начнется обратный отсчет для запуска первого в мире пассажирского самолета, полностью управляемого искусственным интеллектом. Я горжусь тем, что мы оставили позади и отечественных, и зарубежных конкурентов. Наша система умеет распознавать малейшие отклонения от стандартов и реагировать на них. Даже мелкие объекты при взлете и посадке будут попадать в ее поле видимости и включаться в процесс коррекции. Скорость принятия решения при этом в разы превосходит не только скорость человека, но и программ, которые использовали наши конкуренты. Я горжусь тем, что смог создать этот уникальный алгоритм обучения. Но мой алгоритм – ничто без нашей совместной работы по его воплощению в жизнь. Спасибо вам, друзья!

Мискальков стоял в центре большого конференц-зала, где толпились программисты, и радостно улыбался. Собрание подходило к концу, за его спиной на белой стене проектор высвечивал красивые диаграммы с цифрами, подводящие итог нескольких лет работы. Скоро здесь должно было появиться изображение в онлайн-режиме маршрута перелета «Москва – Санкт-Петербург». Символично, что город, откуда приехал сам Мискальков, был выбран конечной точкой маршрута. Вот Егор в Питере никогда не был, да и самолетами не летал – его пугала необходимость находится без опоры в небе даже короткое время. Из Челябинской области, откуда он был родом, Егор ездил в столицу на поезде.

Несколько часов до сегодняшнего собрания он провел, вновь проверяя свои теории. Нет, ничего нового не нашлось. Третья позиция в списке «3А и ход слоном» – просто кодовая комбинация. Даже при изменении вводных все работает, пусть и с ошибками. Отключения сегодня не будет ни при каком раскладе.

– За нашу победу! – Егор вздрогнул, услышав громкий возглас Мискалькова, когда казалось, что собрание уже завершается. Эту же самую надпись крупными красными буквами на фоне фотографии самолета высветил и проектор.

ЗА

НАШУ ПОБЕДУ!

В какую-то секунду Егору показалось, что люди вокруг исчезли. Оставался только он и надпись. ЗА НАШУ ПОБЕДУ. ЗА!

Даже не пытаясь извиниться, Егор растолкал всех стоящих рядом людей и побежал к выходу. Конечно! Как же он раньше не догадался! Нужно было срочно проверить. Через пару минут Егор уже влетел в кабинет, находившийся этажом ниже конференц-зала. На его удивление, Милана сидела за компьютером, хотя ему казалось, что она была на собрании, просто стояла где-то вдали. Милана недоуменно посмотрела на коллегу.

– Что случилось?

– Да так, одна мысль. Надо срочно проверить.

Егор быстро открыл программу, где висели задачи, и среди них та самая незакрытая, со злополучным шифром. Он внес нужные изменения в компьютерное моделирование полета. Проскочив этап набора скорости, он увидел, как система получила измененную комбинацию, но не отреагировала на ошибку. Нет. Сигнал был получен. Следующая минута показалась ему вечностью. Модель самолета на экране взлетела и вдруг! Система отключилась. Полностью. Егор завороженно смотрел на монитор, видя, как точка перестает мигать на заданном маршруте. Да, вот в чем была ошибка. Но как? Зачем? И тут же прошептал.

– За… Слон.

В этот момент он, наконец, оторвался от экрана и увидел, что к нему незаметно сзади подошла Милана. Девушка наклонилась вперед, также напряженно вглядываясь в монитор. Ее грудь, обтянутая водолазкой, оказалась очень близко от лица Егора, но смотрел он не на красивые изгибы тела. Из выреза вновь выскочил кулон в виде ферзя и оказался почти на уровне его глаз. С обратной стороны Егор заметил какие-то буквы. Повинуясь порыву, он быстро рванул кулон, цепочка расстегнулась, а серебряная фигурка оказалась у него в руке.

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

В ту же секунду Егор почувствовал удар по голове и мгновенно оказался лежащим на полу вместе с креслом. Милана навалилась на него и откинула подставку для канцтоваров, которую, видимо, и обрушила ему на затылок. Егор попытался закричать, но Милана крепко сдавила его голову, зажимая рот рукой. Ее руки были очень сильными. Он почувствовал дыхание у своего уха. Тихий голос произнес:

– Пожалуйста, не кричи и не сопротивляйся. Я не хочу причинить тебе боль.

Голос успокаивал. Егор глубоко задышал и попытался оттолкнуть ее, понимая, что это безуспешно. Спортом он никогда не занимался – с детства были проблемы с сердцем, а вес у них с Миланой был примерно одинаковым. Ему просто хотелось верить, что все будет хорошо и она сейчас даст объяснения. Но в этот момент Егор увидел перед глазами скотч, лежавший еще минуту назад на столе. Милана быстро прислонила липкую ленту к его щеке, провела по губам, заклеивая рот, а дальше зубами перекусила полоску. Кожу на лице неприятно стянуло. Тут же скотч оказался и у него на запястьях, завернутых за спинку кресла. Милана уверенными движениями замотала его руки и заодно вытащила из кулака цепочку с кулоном. Егор знал, что мог бы попытаться встать и оттолкнуть ее хотя бы ногами, но не стал этого делать. Просто хотел узнать, что и почему. Точнее, удостовериться, что он все понял правильно, хоть и слишком поздно.

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

«Буква З», – хотел сказать он, но вместо этого получилось лишь мычание: «УАЭ».

Но Милана все поняла.

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

Милана села на подлокотник кресла, в котором все еще, будто поверженный враг, лежал Егор. Неспешно она надела на шею цепочку и прикоснулась губами к кулону, прежде чем спрятать его в вырез. Егор попробовал приподнять голову и заглянуть ей в глаза, но девушка смотрела куда-то вверх. Нижние ресницы стали влажными – Милана пыталась, но не могла сдержать слезы.

– Мы познакомились в институте, – вдруг произнесла она. – Я тогда училась на предпоследнем курсе, а он вел у нас практику. Аверин Александр Александрович, кандидат наук, только-только защитился. Старше был всего на пять лет, но что тут говорить – это ж нельзя, преподаватель и студентка, – горько вздохнула она. – Поэтому мы от всех скрывались. Он тогда работал в «Заслоне» и параллельно преподавал. Очень любил рассказывать про свои разработки. Был так увлечен, что нередко и вечером дома заходил на удаленку. Помню, когда он дописал алгоритм, то сказал, что это переворот, что программа позволит в разы увеличить скорость и надежность анализа поступающей информации, а значит, и точность принятия решений нейросетью. Это открытие, которое сможет исключить человеческий фактор в транспортных катастрофах и спасти множество жизней. А еще принесет немалый доход, – горько усмехнулась Милана. – Я помнила тогда, что он рассказывал про своего тимлида Мискалькова. Не нравился тот ему: скользкий тип. И как-то заговаривал по поводу совместного перехода в «Astrexa». Но Саша не хотел бросать компанию, в которой всему научился. Да и переезжать не собирался: мы любили Питер, хотели жить там, когда я получу диплом, и мы сможем спокойно пожениться. На помолвку он мне и подарил этот кулон – нам обоим нравились шахматы. Он и каждый этап работы программы обозначил первыми ходами шахматных фигур, плюс впереди цифра и его любимая буква «А». Я предупреждала: «Будь аккуратнее со своим тимлидом, как бы он ни присвоил себе твои лавры». Но Саша смеялся. Говорит: «Не волнуйся, я там одну защиту сделал». «И какую?» – спрашиваю. «Если в одной из команд заменить мое имя так, что получится название компании, то все отключится». Я переспросила, что это значит, но он лишь снова улыбнулся. Сказал: «Вот тебе ребус, думай». А на следующий день, – Милана вновь сделала паузу, голос предательски дрожал, – он не вернулся. Умер на работе. Начался приступ астмы и не оказалось в сумке ингалятора. Но я точно помню, что утром он брал его с собой, никогда без ингалятора на работу не уходил. Я не хочу никого обвинять, но не верю, что это была случайность. Тем более что через месяц Мискальков уволился и сбежал к конкурентам. Он не знал, что вариант исходного кода остался еще где-то, поскольку Саша часто проводил вечера у меня и работал на нашем компьютере. Я не хотела использовать алгоритм, по крайней мере, тогда. Да я, вообще, ни о чем после случившегося думать не могла, еле закончила учебу. Потом только начала уже этой темой интересоваться и узнала, что «Astrexa» разрабатывает систему, которую Саша хотел запустить в «Заслоне». Меня взяла жуткая злость. Я получила диплом и уехала в Москву. Устроилась на работу в «Astrexa». Как я и думала, Мискальков ничего в исходном коде, отвечающем за алгоритм, не поменял, побоялся ошибки. Я потратила много сил, чтобы оказаться в отделе, занимающемся связью с землей. Но тогда над сложными задачами работал в основном Андрей и доступ к коду был у него. Лишь однажды мне удалось зайти в программу с его аккаунта и проверить гипотезу. Я поняла правильно. «3A» – Сашино имя, в команде нужно было заменить на «ЗА» и вместе с записью шахматного хода слоном в начале партии образовывалось название компании – «ЗАСЛОН». Все получилось. Теперь нужно было лишь притаиться и ждать. Но ближе к запуску стало понятно, что вновь влезть в компьютер к Андрею будет не так просто. Тогда я и решила, что ему стоит отдохнуть. Андрей давно проявлял ко мне нерабочий интерес, наличие жены и ребенка его не смущало. Я, наконец, согласилась с ним поужинать и подсыпала в еду один интересный порошок, отравление которым по признакам очень похоже на дезинтерию. Спасибо маме, учительнице химии, много чего интересного мне рассказывала помимо школьных знаний. Он, конечно, потом меня доставал подозрениями, но, главное, не понял, зачем я это сделала. Считает меня феминисткой, ну и пусть. В итоге у меня как у куратора нового сотрудника оказался доступ к нужным файлам. Смотри, – вдруг прервала она рассказ, – самолет заходит на взлет!

 

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

– Ну вот и все, сейчас они судорожно начнут переводить самолет на управление с земли, пока это еще возможно сделать. Все на глазах у потенциальных покупателей. Шах и мат.

Милана встала со своего импровизированного трона и присела на корточки перед Егором.

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

Егор почувствовал прикосновение пальцев к своему лицу, и сразу боль – вместе с клеем из кожи вырывались волоски.

– Утром я написала заявление об уходе, – продолжила говорить Милана, медленно, миллиметр за миллиметром, отрывая скотч, чтобы боль не была такой резкой. – Соврала, что с моей мамой произошел несчастный случай, и мне срочно нужно вернуться в Питер. Мискальков подписал заявление, ему не до меня. Так что я ухожу и вечером меня уже не будет в Москве. А вскоре инвесторам придет письмо с неизвестного адреса, где будет рассказано о краже алгоритма и о том, почему программа, в которую они вложили столько денег, не сработала.

Рот Егора уже был свободен, но он пока не понимал, что должен сказать. Тем временем Милана взяла ножницы и быстро разрезала скотч на запястьях, чтобы он мог освободить руки, и помогла ему подняться. Держа его ладонь в своей и глядя в глаза, она спросила:

– Я могу рассчитывать на то, что о нашем разговоре никто не узнает?

Егор чувствовал сильнейшее напряжение, и дело было не в мышцах, которые затекли от неудобного лежания. Он не понимал, что должен делать. Поведение Миланы не вписывалось ни в один алгоритм, который он знал. Умная успешная программистка разрушила свою карьеру, а еще загубила проект, на котором работали сотни людей. И ради чего? Ради некой абстрактной любви к человеку, который давно мертв? Ради ненависти к другому? Он не мог этого понять. И первое, и второе чувство хоть и были ему чуть-чуть знакомы, но точно не в той степени, в которой они владели этой девушкой. Но сейчас он смотрел ей в глаза и на уровне интуиции, в которую никогда не верил, чувствовал, что она права и должна уйти. Однако произнести вслух не мог. Это означало бы признать себя таким же виновным. Но Милана все поняла и без слов. Она быстро положила вторую руку ему на плечо и поцеловала в щеку. Губы обожгли еще горевшую от оторванного скотча кожу.

– Спасибо, – прошептала она, и, отпустив руку Егора, схватила свою сумку с кресла. А затем выбежала за дверь, из-за которой уже начались доноситься голоса возвращающихся в «клетки» сотрудников. Егор же не тронулся с места и продолжил молча смотреть в коридор.

* * *

Два месяца спустя.

– Не верится, что ты все-таки уезжаешь, – Денис стоял на перроне в конце очереди, ожидавшей открытия дверей вагона. – Как же я буду без тебя?

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

– Ты же к своей новой девушке переезжаешь. Значит, все к лучшему. Сэкономишь на оплате квартиры.

– Егор, ты неисправим, – улыбнулся Денис, но только губами, в мимике глаз читалась грусть. – У меня-то все хорошо будет. А вот как ты там один?

– Ты же знаешь, что я удаленно все собеседования прошел, так что на работу в «Заслоне» меня уже ждут. Пока перекантуюсь в хостеле, а там найду постоянную квартиру. Цены в Питере ниже, так что денег, полученных при увольнении, мне на первое время хватит.

– Да уж… После того скандала, вообще, непонятно, что будет с «Astrexa», Мискалькова хоть и сменили, но отмываться они еще долго будут.

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

Егор обернулся, почувствовав движение за спиной. Он увидел, что двери «Сапсана» открылись и проводник начал проверять билеты.

Егор протянул руку другу, показывая, что разговор закончен, но вместо пожатия, Денис вдруг обнял его. Странно, но в этот момент Егору не захотелось отстраниться, как это было обычно при чужих прикосновениях. А даже, наоборот, он впервые обнял бывшего соседа в ответ. Но, будто коря себя за слабость, почти сразу отстранился. Не говоря ни слова, он кивнул Денису и повернулся к дверям «Сапсана», чувствуя, как вместе с единственным другом уходит куда-то в прошлое его московская жизнь.

Виновных в сбое тогда так и не нашли. Полное отключение, как и два года назад, привело к потере вводных данных. Да и Милана, видимо, успела после изменения в коде откатить систему в старую версию. По крайней мере, Егор бы сделал так, чтобы скрыть следы. Сигнал ушел с буквой «З» вместо «тройки», но изменений в отправке никто не увидел. А что система получила, отследить уже было нельзя – нейросеть полностью вышла из строя. Восстановить можно было лишь предыдущую версию. Этим и попробовал заняться Мискальков, пытаясь спасти проект, от которого стремительно отказывались потенциальные клиенты. Но вскоре пришла весть о его увольнении. Официальная версия гласила, что он не справился со своими обязанностями. Но в коридорах шепотом говорили, что до инвесторов дошла информация, будто алгоритм был украден, и настоящий разработчик внес в систему специальный код отключения, который и ввел кто-то из сотрудников в день запуска. Имя неизвестного так и не выяснили. Увольнение Миланы, конечно, вызвало много слухов. Но слухи не равно доказательства.

Через пару минут, уже сев в поезд, Егор еще раз вспомнил тот день. Как Милана убежала в коридор, а он вместо того, чтобы звать на помощь, аккуратно оторвал остатки скотча с запястий и сел за свой компьютер. Когда кто-то из программистов вбежал в «клетку», Егор спросил, что случилось, продолжая медленно и глубоко дышать, чтобы успокоиться и попытаться изобразить на лице нужные эмоции. Коллега взволнованно рассказал подробности, но, не услышав ответных вопросов, тут же поинтересовался, а куда же делась Милана.

– У нее произошло несчастье с матерью, – ответил Егор. – Еще утром зашла в отдел кадров и уволилась. Закрыла задачи и уехала, пока мы были на собрании.

«Ложь, – подумал Егор, сидя в поезде, – кажется, у меня получается все лучше и лучше». Коллега тогда ему поверил, как и сегодня Денис, считавший, что в Питере его никто не ждет. Егор достал телефон из кармана и открыл чат в Телеграме.

«Я уже в поезде», – написал он.

Сообщение было прочитано почти сразу и через несколько секунд появился ответ: «Хорошо. Буду ждать на перроне, как договаривались». Егор посмотрел на часы: до отправления оставалось десять минут. Достаточно, чтобы выйти, догнать Дениса, спрятаться назад в свою клетку. Разум говорил, что уезжать в Питер глупость. А вот что-то другое внутри кричало: «Ты все делаешь правильно». Захотелось вновь убедиться, что он ничего не упустил. Егор пролистал чат до самого верха, и в который уже раз перечитал пришедшее полтора месяца назад сообщение: «Привет! Это Милана».