Читать онлайн Квант М. - Код 47



Глава 1. Сорок семь

Утро началось с дождя. Мелкого, нудного, почти осеннего, хотя на календаре стоял июль. Антон Смирнов стоял у окна своей квартиры на девятом этаже и смотрел, как капли разбиваются о стекло, собираясь в мутные струйки. Он не любил дождь. Не из-за сырости или серости — к этому он привык за тридцать два года жизни в большом городе. Дождь напоминал ему о том, что мир несовершенен, что в нём есть хаос, который невозможно просчитать. А Антон Смирнов привык всё просчитывать. Это была его работа. Его жизнь. Его проклятие.

Он допил остывший кофе, машинально поставил чашку в раковину и прошёл в прихожую. Зеркало отразило худощавого мужчину с растрёпанными тёмными волосами и воспалёнными глазами. Вчера он опять засиделся до трёх ночи, отлаживая модуль поведенческого анализа. Система, которую они разрабатывали в закрытом институте прикладной кибернетики, требовала постоянного внимания. Она была капризна, как избалованный ребёнок, и опасна, как взведённый курок.

Антон натянул серую ветровку, проверил, взял ли пропуск, и вышел из квартиры. Лифт, как назло, застрял на первом этаже. Он спускался пешком, считая ступеньки. Двадцать три, двадцать два, двадцать один... Счёт помогал успокоиться. С детства он считал всё: шаги, машины за окном, слова в предложениях. Это была его личная форма контроля над реальностью. Реальность, в отличие от кода, не поддавалась отладке.

На улице дождь усилился. Антон раскрыл зонт и зашагал к метро, старательно обходя лужи. Прохожие сновали мимо, и он невольно отмечал: вон тот мужчина в кожаной куртке нервно оглядывается через плечо — вероятно, опаздывает; женщина с собачкой на поводке смотрит в телефон и не замечает, что поводок натянулся; подросток в наушниках пинает урну — агрессия, но незначительная. Антон тряхнул головой, отгоняя профессиональную привычку. Он не на работе. Пока не на работе.

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

— Доброе утро, Антон. — Рядом возникла фигура в ярко-жёлтой ветровке. Это был Кирилл Ветров, коллега и по совместительству единственный человек в отделе, с которым Антон поддерживал нечто большее, чем служебные отношения. Кирилл был на два года моложе, носил бородку и вечно жевал жвачку. — Ты чего такой кислый? Опять до ночи сидел?

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

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

— Соцопрос — это субъективно. А система должна быть объективной. Иначе грош ей цена.

Кирилл хмыкнул и покачал головой. Он работал с Антоном уже полтора года и привык к его перфекционизму. В институте Антона считали странным, но уважали. Его алгоритмы ложились в основу «Кода 47» — секретного проекта, о котором за пределами лаборатории знали лишь несколько человек. Официально система называлась «Прогностический модуль вероятностных поведенческих девиаций». Неофициально — «Код 47». Потому что сорок семь процентов — это был порог. Если система выдавала человеку вероятность совершить убийство выше сорока семи процентов, его ставили на особый учёт. Что это означало на практике, Антон старался не думать. Он был тестировщиком, а не судьёй.

В лабораторию вошёл руководитель проекта — Вадим Львович Гринберг, грузный мужчина с седыми висками и усталыми глазами. Он бросил на стол папку и объявил:

— Через час начинаем прогон полной базы. Министерство требует отчёт к концу недели. Нам нужно протестировать систему на десяти тысячах реальных профилей. Все данные уже загружены в закрытый сегмент. Антон, ты отвечаешь за верификацию. Кирилл — за визуализацию. Вопросы?

— Только один, — поднял руку Антон. — Откуда профили? Мы же договаривались, что не будем использовать данные реальных людей без их согласия.

Гринберг поморщился.

— Это анонимизированные данные. Обезличенные. Никаких имён, только поведенческие паттерны. Социальные сети, банковские транзакции, геолокация. Всё в рамках закона.

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

Прогон начался ровно в десять. Антон сидел перед тремя мониторами, на которых бесконечными рядами ползли цифры. Он следил за процентами: 12, 15, 8, 23, 4... Большинство профилей имели низкий код. Но иногда система выдавала всплески: 35, 42, 46... Антон помечал их для дополнительной проверки. Всё шло гладко. Слишком гладко, как показалось ему через два часа.

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

Кирилл подошёл, наклонился к экрану, и его жвачка на секунду замерла.

— Действительно, странно. Может, сбой в данных? Проверь источник.

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

К обеду они сделали перерыв. Кирилл ушёл в столовую, Антон остался в лаборатории, жуя бутерброд и просматривая логи. В какой-то момент он отвлёкся и машинально ввёл в командную строку свой собственный идентификатор. Это было почти рефлекторно: он хотел проверить, как система обрабатывает данные тестировщика, если тот случайно попадёт в выборку. Он не собирался ничего анализировать. Просто посмотреть.

На экране появилась карточка. Фамилия, имя, отчество — Смирнов Антон Сергеевич. Возраст — тридцать два. Род занятий — программист. И большая цифра в правом верхнем углу: 47.

Антон моргнул. Наверное, показалось. Он обновил страницу. Цифра не изменилась. Сорок семь процентов. Ровно порог. Он почувствовал, как холодный пот выступил на лбу. Это была ошибка. Система не могла выдать ему такой код. Он же не убийца. Он мухи не обидел. Ну, почти. В детстве он дрался с соседским мальчишкой, но это было давно и не считается. Он даже рыбу не ловит, потому что жалко.

Он прогнал диагностику профиля. Система выдала расшифровку: повышенный уровень скрытой агрессии, латентная враждебность к авторитетам, склонность к навязчивым состояниям, эпизоды деперсонализации. Антон усмехнулся. Деперсонализация? У него? Да он просто устал. А скрытая агрессия — это же бред. Он тихий, спокойный человек. Он никого не ненавидит.

Но цифра 47 не исчезала. Она пульсировала на экране, как нарыв. Антон попытался найти ошибку в алгоритме, но система работала корректно. Все входные данные были валидны. Профиль был построен на основе его реальных действий: геолокация, покупки, сообщения в мессенджерах, даже пульс с фитнес-браслета. Он сам дал согласие на обработку данных, когда устраивался на работу. Тогда это казалось формальностью.

— Что за черт? — прошептал он.

В этот момент вернулся Кирилл, жуя яблоко.

— Ты чего бледный, как смерть? — спросил он. — Увидел свой код?

Антон вздрогнул. Он не думал, что это так заметно.

— С чего ты взял?

— Да у тебя лицо перекосило. Дай посмотрю. — Кирилл подошёл и заглянул через плечо. — Ого. Сорок семь. Серьёзно?

— Это ошибка, — быстро сказал Антон. — Система неправильно интерпретирует мои данные. Я же тестировщик. У меня стресс на работе. Наверное, это как-то влияет.

Кирилл присвистнул.

— Ну, сорок семь — это граница. Ещё немного, и тебя поставят на учёт. Шучу. — Он похлопал Антона по плечу. — Не парься. Это же тестовый прогон. Завтра всё пересчитают.

Но Антон не мог не париться. Он закрыл свой профиль, но цифра осталась в памяти. Она жгла его изнутри. Он попытался вернуться к работе, но мысли путались. Кто он такой, чтобы система считала его потенциальным убийцей? Что в его поведении могло вызвать такой высокий показатель? Он начал перебирать в памяти последние месяцы. Может, он слишком часто смотрел криминальные сериалы? Или у него был период депрессии, когда он неделю не выходил из дома? Или те сообщения, которые он писал в сердцах своему начальнику, но так и не отправил? Система ведь анализирует и черновики тоже, если они сохраняются в облаке.

После работы Антон не пошёл домой. Он остался в лаборатории, дождался, пока все уйдут, и снова открыл свой профиль. На этот раз он решил копнуть глубже. Он выгрузил полный отчёт и начал читать его построчно. Система отмечала всё: как он водит машину (агрессивное торможение), как он пишет комментарии в социальных сетях (сарказм, скрытая угроза), как он реагирует на стресс (повышенный кортизол). Были даже записи с камер наблюдения в метро, где он якобы «бросал враждебные взгляды» на пассажиров. Антон не помнил никаких враждебных взглядов. Он просто смотрел в пол или в телефон.

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

Это был код его соседа по лестничной площадке. Того самого, с которым они уже полгода воевали из-за парковочного места. Антон никогда не думал, что ненавидит его настолько сильно. Но система считала иначе. Она утверждала, что вероятность убийства этим конкретным человеком в состоянии аффекта составляет сорок семь процентов. И этот человек — он, Антон Смирнов.

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

Антон открыл глаза. На экране всё ещё светилась цифра 47. Он вдруг понял, что это не просто число. Это предупреждение. И если он не разберётся, кого он якобы должен убить, то может случиться непоправимое. Не потому, что он убийца. А потому, что система может подтолкнуть его к этому. Или потому, что кто-то другой прочитает этот отчёт и решит действовать на опережение.