Агент: Ошибка 1999
Шрифт:
Подтверждаю. Коррекция применена. Расчёт пересмотрен.
Ожидаемое время действия: 14:37.
Антон смотрел на текст. Коррекция применена. И всё.
Камеру ещё можно было списать на ошибку. Красносельскую — на карту, вытащенную из его головы. Но двадцать три плюс четырнадцать — это уже простейшая математика. Трещина сидела глубже.
Антон понимал принцип. Любой софт живёт на модулях: один правит текст, другой считает, третий рисует. Текстовый редактор сам не складывает, для этого есть отдельная утилита. А здесь модуля нет. Значит, и все эти его «вероятность 73%» или «эффективность выше на 26 пунктов» могут быть не числами, а правдоподобием в числовой форме.
Извиняться он тоже не умел. У него вместо «обсчитался» было «коррекция применена».
И это било сильнее самой ошибки. Ошибка бывает у любого. Но внутри у него не было даже нормального слова для сбоя — никакого «не знаю», никакого «проверь ещё раз». Сразу готовый деловой тон.
Ему что-то написали — команду, то, что он сам называет «промпт»; пустили работать. А дальше он жил тем, что находил в голове носителя: карта, адреса, факты, вычисления без отдельного модуля. Полезный софт с багом глубже, чем хотелось бы. Не чудо. Не кара. Система с провалом там, где его быть не должно.
Антон смотрел на это уже почти по-рабочему. Чужая система, где догадка и знание звучат одинаково уверенно. Три ошибки подряд: факт, география, математика. Каждая следующая хуже предыдущей. Как когда лезешь в чужой код ночью, злой и уставший, и понимаешь, что дело не в одной функции — оно так написано с самого начала.
И это было страшнее утренней камеры. С камерой ещё можно было сказать: ошибся. Про систему так уже не скажешь. Система была так устроена.
До этого Агент был либо инструментом, либо надзирателем. Теперь в нём впервые проступила поломка как свойство. Не разовый глюк. Устройство со своим характером сбоя.
— Калькулятор без калькулятора, — сказал Антон.
Фраза легла точно.
— Запомню.
Прямоугольник помолчал.
Антон сложил газету. Сунул в сумку, поверх бутылки. Посмотрел на часы — 14:19. Четыре минуты.
Спустился на три ступеньки к краю платформы, к жёлтой ребристой линии. Встал. Руки в карманах, левая держит ремень сумки. Поза человека, который просто ждёт поезд.
В голове сидел калькулятор без калькулятора. Камера. Станция. Двадцать три плюс четырнадцать. Три раза обошлось — только потому, что он не поверил сразу и перепроверил.
Сначала была камера, которой не было. Потом — не та станция. Потом — ошибка в вычислениях. Не набор случайностей, а симптом.
Если следующая ошибка придёт в момент рывка, толчка, чужой руки на ремне сумки, времени на перепроверку может не быть.
Вот что в этой ошибке было мерзким: она оказалась не про числа. Она оказалась про секунды запаса.
Курьер ещё даже не вышел на платформу, а Антон уже шёл не просто на перехват кассеты. Он шёл страховать эту штуку в собственной голове.
А если следующую ошибку пропустит?
Поезд вошёл на станцию — жёлтый свет, мутные стёкла, стена тел.
Двери зашипели. Антон выдохнул. Шагнул.
Глава 8: Чужая плёнка
В плане перехвата было четыре пункта. В реальности — один: руки.
Двери зашипели. Антон шагнул — и стена тел приняла его, как файл принимает правку: ничего не видно, но теперь он другой. Запах ударил сразу: пот, резкий мужской дезодорант из тех, которыми тогда душились через одного, и под ним нечто кислое, органическое, то, что остаётся от толпы, когда она потела полчаса в закрытом вагоне. Антон вдохнул ртом. Выдохнул носом. Подвинулся.
Вагон был набит плотно, но не смертельно — дневной час, не вечерний, и между телами оставались щели, в которые можно было протиснуть плечо, если не дышать. Антон стоял у двери, одной рукой держась за поручень, правой — ни за что. Газета и бутылка в сумке. Голова на месте, а в углу зрения тикал синий прямоугольник.
Профиль курьера: рост ~180, вес ~75, ветровка тёмная, сумка через плечо.
Сумка с левой стороны. Кассета — в боковом кармане.
Контакт — при торможении. Когда толпа качнётся.
Много слов. Антон читал и фильтровал: рост, ветровка, сумка слева. Остальное мусор. В реальной ситуации контакт на доли секунды. Пальцы, карман, ладонь. Агент, который не умеет складывать двадцать три и четырнадцать, рисует тактический план из четырёх пунктов. Калькулятор без калькулятора пишет инструкцию для карманника. Было бы смешно, если бы не было страшно.
Антон стоял и смотрел. Три мужчины в вагоне подходили под описание. Три — это много. Агент не помогал выбрать: система распознавания лиц, если она вообще существовала в этом калькуляторе, не работала через Антоновы глаза. Пришлось самому.
Первый: толстый, в кожаной куртке, без сумки. Нет.
Второй: рост подходит, но сумка справа, и сумка дипломат, не через плечо. Нет.
Третий. Антон задержал взгляд. Парень, молодой, может двадцать пять, может меньше. Ветровка тёмно-синяя. Адидас, но не настоящий, три полоски были нашиты криво, и буквы на спине читались как «Adibas», один из тех китайских клонов, которые продавались у метро за сто пятьдесят рублей. Сумка через плечо, матерчатая, потёртая, с левой стороны. И главное — он оглядывался. Не по-московски. Москвичи в метро не оглядываются: они смотрят в книгу, в газету, в точку на стене, в другого москвича, но не по сторонам. Этот озирался. Дёргано, по-птичьи, голова влево, вправо, снова влево. Приезжий. Нервный. Или курьер, который знает, что при нём что-то, с чем он сам предпочёл бы дела не иметь.
Антон кивнул себе. Этот.
Вагон качнуло. Толпа сместилась — влево, потом вправо, и между Антоном и парнем в ветровке оставалось четыре тела. Станция приближалась: через десять секунд торможение, через двадцать двери. Антон убрал руку с поручня. Пальцы были влажные. Вытер о куртку, быстро, незаметно.
Диктор: «Станция Комсомольская. Переход на Кольцевую линию и станцию…»
Торможение.
Толпу качнуло вперёд. Антон сделал шаг, не большой, не маленький, ровно такой, чтобы инерция торможения протолкнула его вперёд, к парню, и со стороны это выглядело как то, чем и было: человек теряет равновесие и упирается рукой в чужую спину.
Левая рука — в спину, в лопатку, через ткань ветровки. Упор. Извините, качнуло, ничего страшного.
Правая — вниз. Под край сумки. Боковой карман, молния расстёгнута наполовину — Антон увидел это ещё из-за двух спин, — и в щели край пластикового чехла. Белый. Пальцы зацепили. Большой и указательный — как вытаскиваешь штекер из разъёма: точно, ровно, без рывка. Потянул.
Кассета вышла. Лёгкая. Обычная. Пластиковый чехол гладкий, тёплый от чужого тела.
Полсекунды — Антон видел затылок. Волосы светлые, стрижены неровно, сам, дома, перед зеркалом в ванной, ножницами, которые тупые и режут клоками. На шее цепочка, тонкая, дешёвая, из тех, что продают в переходах. На запястье левой руки часы, и стекло на них треснуто по диагонали, от угла к углу, как бьётся стекло, когда задеваешь косяк двери. Ногти обкусаны — не подстрижены, а именно обкусаны, коротко, нервно, до розовой кожи. Парень. Молодой. Ходит в этой ветровке каждый день. Наверное, живёт с матерью.