Ход слоном
Вера Ард
Пассажирский самолет, управляемый нейросетью… Фантастика или уже реальность? Начинающему программисту Егору выпадает шанс поработать над проектом, способным перевернуть мировую авиацию. Однако любопытство и дотошность приводят юношу к опасным последствиям, грозящим разрушить не только его карьеру, но и жизнь.
Вера Ард
Ход слоном
Москва. Недалекое будущее.
– А вот и наша каморка! – Милана открыла символическую дверцу кабинета, который Егор в голове уже окрестил «клеткой». Аналогия была не с тюрьмой, скорее с разлиновкой школьной тетради. Егор еще на выходе из лифта увидел план эвакуации, на котором двойные ряды квадратиков перемежались узкими линиями. В реальности напечатанные рамки оказались полупрозрачными пластиковыми перегородками, за которыми двигались силуэты людей. В коридор выходили ровные ряды дверей, сделанных из того же совсем неэкологичного материала. Хорошо хоть высота перегородок была не до потолка: маленькие закрытые помещения его нервировали. Смотреть на дневной свет полагалась только начальству, чьи кабинеты находились в конце коридоров, вдоль внешней стены. «Двенадцать клеток на одну сторону, двадцать четыре на коридор, семь умножить на двадцать четыре… Итого сто шестьдесят восемь клеток, триста тридцать шесть человек…» – Егор привычно начал считать в уме, это помогало снизить напряжение. Цифры – в них все так привычно и спокойно. Никаких сюрпризов.
– О чем задумался? – только сейчас Егор заметил, что Милана пристально смотрит на него.
– Считал, – ответил Егор. Он не имел привычки врать без особой на то необходимости. Ложь для него оставалась сложным искусством, которому он с переменным успехом учился уже много лет.
– Что считал? – недоуменно спросила Милана.
– Сколько здесь сотрудников. Умножал количество коридоров на количество дверей и на количество мест.
– Мог бы спросить у меня! – с улыбкой произнесла Милана. – На этом этаже только Отдел разработки программного обеспечения, триста три человека, включая тебя. Программистов из них двести шестьдесят восемь. Также здесь сидят руководители групп и начальник отдела.
«Ошибка – не учел, что у начальников отдельные кабинеты».
– С Дмитрием Павловичем ты еще сегодня пообщаешься, он предпочитает знакомиться со всеми новенькими. А пока можешь располагаться!
Егор посмотрел на два одинаковых рабочих стола, на каждом из которых стояло по паре больших мониторов. Он без труда понял, где его рабочее место. Вряд ли подставка для канцтоваров в виде цветущего дерева, в нижнем отсеке которого лежало изящное зеркальце, могла принадлежать его предшественнику. Скорее, такой ерундой развлекалась Милана. Егор еще раз взглянул на девушку. Она не очень-то походила на типичную программистку, по крайней мере, никто из его сокурсниц, которых он последний раз видел два месяца назад на вручении дипломов, так не выглядел. У Миланы были темные волосы до плеч, подстриженные каскадом, лоб закрывала симпатичная челка, из-под которой выглядывали аккуратные брови и карие глаза миндалевидной формы. Форменную светло-голубую футболку «Astrexa» девушка заправляла в узкие темные джинсы, украшенные ремнем с крупной серебристой пряжкой, что подчеркивало ее стройную талию, и облегало бедра и грудь. «90/60/90» – всплыло в голове у Егора, любившего все переводить в цифры. Рост примерно 175, то есть всего на пару сантиметров ниже его. Да и вес у них примерно одинаковый, Егор с детства отличался худобой.
– Я уже четыре года в компании, и могу себе позволить милые безделушки, – улыбнулась Милана, заметив направление его взгляда. – Так что ты правильно определил свое место.
– Ты сразу после института сюда пришла? – спросил Егор, присаживаясь на кресло за второй стол, на котором не было ничего лишнего. “Поддержать разговор, обменявшись общими вопросами» – пункт из списка правил, заученный еще в школьные годы.
– Да, СПбГУ закончила. А ты МФТИ? – ответила Милана.
«Значит, ей сейчас в районе двадцати семи», – прибавил Егор четверку к своему возрасту.
– Да. Смотрела мое досье?
– А как же… Мне дали возможность поучаствовать в выборе. Отличник, стипендиат различных программ… Твое резюме впечатляет.
– Однако взяли меня пока только на тестировщика, – заметил Егор.
– Ну, ты недолго там проработал, через два месяца уже оказался у нас.
– Это временная замена. Пока твой коллега не выздоровеет.
Вспомнив о заболевании предшественника, ставшем причиной перевода, Егор инстинктивно убрал руки с поверхности стола.
– Не переживай, здесь все продезинфицировали, – заметив его резкое движение, произнесла Милана. – Сам понимаешь, дизентерия – такая вещь… Нас тут всех чуть ли не в хлорке купали, меня особенно. Мы же постоянно контактировали. Но, видать, зараза к заразе не пристает, так что обошлось.
Егор заметил, что Милана попыталась пошутить, и постарался выдавить из себя улыбку. В памяти отчетливо всплывали слова психолога, которая с детства с ним занималась: «видишь улыбку, улыбнись в ответ». Она учила запоминать интонацию, с которой произносятся шутки, чтобы на них реагировать. К сожалению, различение эмоций, как и их нормальное выражение, давались Егору нелегко. Диагноз «расстройство аутистического спектра», благо в легкой степени, не очень-то способствовал социальной адаптации. Выражение эмоций Егор заучивал, как другие учат таблицу умножения. Благо, память у него была прекрасной. Да и считал в уме он едва ли не быстрее калькулятора. Выдавив из себя подобие улыбки, Егор произнес:
– Не представляю, как в Москве двадцать первого века можно заразиться дизентерией.
– О, у нас в компании никто тоже этого не понял! – пожала плечами Милана. – Зато тебя будет шанс проявить себя. А там, может, и оставят. Сейчас очень сложный момент. Первый запуск беспилотного пассажирского самолета с нашей системой уже через четыре дня. Все должно быть идеально. Людей, конечно, на борт пока брать не будут, но, если все пройдет успешно, штат увеличат. Пойдут продажи, а значит, понадобится расширенная техподдержка, постоянные доработки под нужды клиентов. А пока наша основная задача – перепроверка старых багов. Систему перелопатили уже не раз, но начальство очень боится сбоев. Одно дело запуск на компьютерной модели, или на самолете с пилотом, который может подхватить управление, если произойдет сбой, а другое на реальном пассажирском лайнере. Представляешь, сколько он денег стоит? Поэтому будем сидеть до последнего.
– То есть мой шанс проявить себя – найти ошибку в многомиллиардном проекте?
Милана усмехнулась:
– Ну, вряд ли ты нароешь что-то серьезное. Мы отвечаем всего лишь за систему обратной связи. Самолет с земли не управляется, но нейросеть передает специальные сигналы, позволяющие дополнительно контролировать процесс. Все запрограммировано и делается без участия человека, но мелкие ошибки на тестовых полетах встречались, и, хотя больше они не повторялись, перед запуском решили еще раз перепроверить. К реальной системе тебя пока не допустят, твоя область – компьютерная модель полета. Проверишь в ней ошибки, которые были давно и больше не встречались. Скорее всего, они уже устранены, но для тебя это хорошая возможность разобраться в коде. Так что, заходи в программу, выбирай себе задачи и приступай. Будут вопросы, не стесняйся, задавай. Я помогу.
С этими словами Милана села на свое рабочее место и, закинув ногу на ногу, вывела компьютер из спящего режима. Егор последовал ее примеру.
Он открыл программу со списком задач, предназначенных их отделу. Егор выбрал одну из самых последних в списке, с низким приоритетом. Милане, как куратору, видимо, пришло уведомление, так что она недоуменно посмотрела на своего нового соседа.
– Зачем тебе этот хлам? Единичная ситуация два года назад, ни разу больше не повторившаяся. Взял бы лучше что-то посвежее. На этом ты точно себя не проявишь.
– Но здесь указано, что после успешного взлета при получении сигнала с земли запустился какой-то необратимый процесс, который вывел из строя всю систему, и пришлось перейти на ручное управление.
Милана демонстративно пожала плечами.
– Ну это же было всего один раз и давно. Система сейчас значительно доработана. Возможно, тогда тестировщики обновление плохо проверили, и оно ушло с ошибкой на действующий полет.
Правый глаз у Егора неосознанно дернулся, что нередко бывало при попытке сдержать раздражение. Милана заметила и сразу извинилась.
– Пойми, я ничего плохого про твой бывший отдел не говорю, но там работают в основном молодые ребята, и они тоже могли что-то не так сделать. Для каждой части полета написана определенная запускающая комбинация. То есть самолет передает, что у него все в порядке, и система с земли высылает код для перехода к следующему этапу, но в тот раз стартовая комбинация на набор высоты по какой-то причине вызвала отключение всей системы. Я помню эту историю, хотя она произошла почти два года назад. Мы перепроверяли потом много раз с самыми разными сочетаниями факторов, но ошибка так и не повторилась.
Глаз перестал дергаться. Голос Миланы удивительно успокаивал
– Ты можешь посмотреть, что делал Андрей по этой задаче, – продолжила говорить девушка. – Сбой после его доработки был выявлен, и он много потом ковырялся, но забросил, потому что так и не нашел условий, при которых бы ошибка возникла заново. А сейчас Андрей в больнице, так что ничего страшного, если задача перед запуском останется незакрытой, к тебе претензий не будет. К сожалению, тогда из-за полного отключения у нас даже переданных команд не осталось, только сами сообщения на экране бортового компьютера. Хоть самолетом у нас и управляет нейросеть, но обратная связь передается по старинке, через радиосигнал. И в последнем сообщении ничего, кроме стандартного кода, не было.
Егор задумался на секунду. «Хочу…» – крутилось у него в голове. Когда его внимание захватывала какая-то идея, то она начинала заполнять собой буквально все клеточки мозга. И сейчас ему требовалось разобраться с причинами сбоя двухлетней давности, а любые препятствия и отговорки только усиливали это желание.
– Я все-таки хотел бы заняться этой задачей, – спокойно сказал Егор. – Она интересная. Насколько мне объяснили, я могу взять любую из списка, или нет?
Милана покачала головой:
– Да можешь, конечно, но по мне это тухляк, который только отнимет у тебя рабочее время. Но если начальство не поставит тебе отмену, занимайся.
Милана уткнулась в монитор и произнесла как бы себе под нос, но явно, чтобы Егор ее услышал:
– Чем бы дитя ни тешилось…
***
Кабинет Дмитрия Павловича Мискалькова находился в конце коридора, по противоположной стороне. Когда Егора пригласили к начальнику, в «клетке» он сидел один, Милана сбежала на какое-то совещание. В окошке корпоративного мессенджера мелькнуло сообщение от HR, что начальник ждет его в 14:30. До встречи оставалось пятнадцать минут.
Егор уже часа два сидел, перечитывая команды и отправляя части кода на автоматизированную проверку. Пока найти место, в которое вкралась ошибка, не удавалось. Программное обеспечение для самолетов, которое делало «Astrexa», было основана на уникальном алгоритме обучения нейросети, позволяющем в разы увеличить скорость обработки поступающей к беспилотному кораблю внешней информации и, соответственно, свести вероятность ошибки в принятии решения к нулю. Алгоритм несколько лет назад разработал сам Дмитрий Павлович. До этого он работал тимлидом в команде программистов у конкурентов «Astrexa» – питерской компании «ЗАСЛОН». Но вдруг все бросил, уехал в Москву, устроился в «Astrexa» и там уже сделал свое открытие. Если запуск программы пройдет успешно, то новой системой можно будет оборудовать и гражданские самолеты, отказавшись от пилотов-людей и тем самым исключить трагедии, вызванные человеческим фактором. За эту гениальную разработку Дмитрий Павлович и получил повышение и возможность самому возглавить проект. А «Astrexa» здорово потеснила на рынке своих конкурентов.