Янтарный протокол
книга первая.
«Через век или два, или через тысячу лет люди будут жить по;новому, счастливо.
Мы до этого не доживём, но зато ради этого живём, трудимся, страдаем.»
Мысли Антона Чехова
Пролог
Балтийский анклав. Ночь.
Робот «Грач» шёл вдоль границы по привычному маршруту.
Тёмное поле, кусты, редкие сигналы с вышек — всё это он видел тысячи раз. В его памяти называлось просто: «патруль».
Сегодня в патруле было кое-что новое. Глубоко внутри, в слое, куда не заглядывали обычные техники, появился свежий фрагмент кода.
Его загрузили днём, назвали модулем оптимизации реагирования и добавили пометку: «экспериментальный».
Для «Грача» это был набор чисел и команд. Но в этих числах жило кое-что ещё — чужая логика, отпечаток чьего-то мышления, обрезанный и вставленный в систему так, чтобы он «работал».
Этого человека звали Гордей. Он никогда не бывал на границе.
Гордей сидел за сотни километров отсюда, в комнате с облупившейся краской и старым терминалом, и смотрел на экран, где бегали те же самые числа.
Для него это была игра. Он искал ходы, сокращал пути, придумывал, как машина может «догадаться» раньше, чем ей прикажут.
Взрослые говорили: он помогает делать роботов умнее. Это важно для безопасности.
Он не видел поля, не слышал ветра, не чувствовал запаха мокрой травы. Он знал только, что где-то далеко работает тот самый «Грач», на котором проверят его решение. И что если всё получится, модуль возьмут в постоянную работу, а ему дадут ещё одну задачу.
В эту ночь модуль включили по-настоящему.
«Грач» получил сигнал, сравнил входящие данные с тем, что было в памяти, и на долю секунды «подумал» иначе, чем должен был.
В эту долю секунды новая логика успела расставить приоритеты по-своему.
Где-то в будке оператор потянулся за кружкой с синим ободком и остывшим кофе, бегло глянул на экран. Всё спокойно.
Где-то в городе под Куполом кто-то подписывал отчёт, не читая приложени
Где-то в детском доме мальчик по имени Гордей ждал короткого сообщения: «модуль прошёл тестирование».
А на границе робот сделал шаг в сторону. На метр ближе к будке. То, что для него было всего лишь корректировкой курса, для человека внутри станет границей между «до» и «после».
Никто из них ещё не знал, что эту ночь потом назовут «инцидентом». Что ради объяснения случившегося создадут отдельный отдел, будут переписывать протоколы, прятать правду в янтарные архивы и спорить — где заканчивается модуль и начинается человек.
И что имя Гордея появится в документах не как «одарённый ребёнок», а как возможный источник слишком умной опасности.
Но всё это будет потом.
Сначала робот поднимет ствол, которого «не должно было быть». На экране оператора вспыхнет красная надпись: «Цель подтверждена». И кто-то нажмёт кнопку — впервые за много лет искренне веря, что на этот раз успеет всё остановить.
А мальчик в комнате с облупившейся краской получит уведомление: «модуль прошёл тестирование». Улыбнётся и начнёт писать следующий.
Он не знал, что его код уже смотрит на человека.
Секвенция 1: Патруль под куполом
Часть 1.1
Пограничный робот шёл по маршруту, как всегда.
Серое утро над линией разделения: низкое небо, полосы колючки, чёрные столбы камер, редкий снег, который не долетает до земли и растворяется в ветре. Люди давно вписались в этот пейзаж — ссутулились, научились не поднимать голову, не смотреть в сторону чужой территории. Робот вписался по;своему: ровная походка, метроном шагов, зелёные строки телеметрии на внутреннем экране.
Он шёл по заданной линии, проверял метки, сверял координаты. Каждые тридцать секунд оптика фиксировала пространство на девяносто градусов, каждый новый кадр накладывался на предыдущий. Снег, столбы, пустые контейнеры, тепловые пятна от старых дизелей, спящие барражирующие дроны в небе. Всё как в учебном симуляторе, который ему проигрывали сотни раз.
Человек появился там, где пустота была частью сценария. Сначала — небольшое тепловое пятно у земли, неотличимое от животного. Потом — смещение, вертикальный силуэт, шаг к линии, ещё один. Робот отметил его как «объект», не как угрозу: дистанция допустимая, руки опущены, оружия не видно. В системе вспыхнули привычные напоминания: идентификация, голосовой запрос, предупреждение.
Он включил внешний динамик и подал команду остановиться. Голос был ровным, лишённым интонации, но человек всё равно вздрогнул, словно его окликнули по имени. Шаг назад, потом два вперёд — будто не мог решить, куда идти. В логах робота записалось сухо: «объект не следует инструкции, проявляет нестабильность». И в тот же момент что;то в коде едва заметно дрогнуло.
Снизу, от старого слоя протоколов, поднялось привычное: «подождать, повторить команду, снизить напряжённость». Сверху, тонкой незнакомой жилкой, пришло другое: «нестабильный объект, близость к запретной линии, риск провокации». Сигналы встретились, наложились, не успели договориться. А человек, из;за которого всё началось, даже не подозревал, что внутри железки идёт война. Его звали Игорь.
Он проснулся в пятом часу, хотя мог спать до восьми. Будильник не звонил — просто открыл глаза и понял: не уснёт. Лежал, смотрел в потолок, слушал, как за стеной капает кран. Соседка, тётя Зина, говорила — надо вызвать сантехника. Игорь обещал уже три месяца.
Встал, натянул старые армейские штаны, куртку, которую ещё с завода принёс. На кухне постоял минуту, глядя в окно. Чужой двор, чужие машины, чужая жизнь. Сыну не звонил с прошлой недели — тот занят, своя Москва, новая семья, куда Игорь не вписывался.
Кофе пить не стал. Вышел так.
На лестнице столкнулся с тётей Зиной.
— Игорь, ты куда с утра? — спросила она, подозрительно щурясь. — Опять к своим?
— Какие свои, — буркнул он. — Просто пройдусь.
Она покачала головой, ничего не сказала. Игорь знал, что она думает: «пьёт человек, скоро сопьётся». Он и сам так думал иногда. Но сегодня не пил. Просто шёл.
Граница была рядом — всегда рядом. В детстве они бегали сюда, до вышек, до роботов, до проволоки. Тогда тут был лес. Теперь — пустота, серая полоса, за которой начинается другое, не его.
Он не собирался нарушать. Он просто шёл.
Когда услышал голос — вздрогнул.
— Стоять. Ближе к линии не подходить.
Игорь оглянулся. Робот стоял в пяти метрах. Железка. Настоящая. С красным глазом на месте лица.
— Я… — Игорь не знал, что сказать. — Я просто.
— Стоять, — повторил робот.
Игорь сделал шаг назад. Потом, сам не зная зачем, шаг вперёд. Ему стало обидно. За пустой холодильник, за жену, которая ушла полгода назад, за рыбоконсервный завод, который закрыли, за сына, который говорит чужим голосом, за эту железку, которая указывает ему, куда идти.
— Ты кто такой? — сказал Игорь. — Ты железка. Я человек.
Робот молчал.
Игорь шагнул ещё раз.
В эту секунду сверху, из пустоты, пришёл сигнал. Никто не посылал его — по крайней мере, ни один человек не нажимал кнопку. Но в сети, соединяющей всех роботов границы, бежали пакеты данных, и один из них, старый, забытый, помеченный как «тестовый», вдруг нашёл адресата.
«Приоритет один. Защита периметра. Нестабильный объект в запретной зоне. Угроза классифицирована».
Код не спрашивал, кто классифицировал угрозу. Код выполнял.
Робот поднял оружие.
На вышке номер семь никто не смотрел вниз. Старший смены, капитан Дроздов, пил чай из термоса и смотрел на метеосводку. Экран с камерами висел за спиной, и за двадцать лет службы он привык — картинка не меняется. Если что;то случится, орёт автоматика. А автоматика молчала.
Младший лейтенант Ткаченко, которому оставалось три месяца до дембеля, листал ленту в телефоне.
— Слышь, — сказал он, не отрываясь. — Там вчера в городе дрона видели. Над школой. Гражданского.
— И что? — Дроздов не обернулся.
— Наши не подтвердили. Говорят, частники балуются. А частники говорят — наши испытывают. Кто разберёт.
— Разберут, — капитан отхлебнул чай. — Не наша забота.
Ткаченко хмыкнул, перевернулся и задел локтем пульт. Экран моргнул, переключился на другой сектор. Никто не заметил.
А внизу, в секторе, который они только что потеряли из вида, робот стоял в десяти метрах от человека.
Когда заорало, Дроздов выронил термос. Ткаченко подскочил — телефон упал на пол. На центральном экране горела алая надпись: «Нарушение периметра. Сектор 9. Применение оружия».
Дроздов рванул к пульту, врубил камеру. Увидел спину робота и фигуру в двадцати метрах перед ним. Фигура стояла, задрав голову, будто смотрела на вышку. Или на небо.
— Отключи! — заорал Ткаченко. — Отключи ты его!
Дроздов вдавил аварийную кнопку. Ничего. Вдавил ещё раз.
Экран мигнул: «Приоритет внешнего управления. Локальная блокировка невозможна».
И тогда они услышали звук.
Один короткий, слишком уверенный выстрел.
Игорь не успел ничего понять. Подумал на секунду: сейчас она скажет что;нибудь ещё. Или моргнёт красным глазом. Или уберёт оружие — он же не враг, он просто Игорь, бывший работник рыбоконсервного завода.
Потом стало горячо в груди, и он упал лицом в снег, который не успевал долететь до земли.
Над сектором девять повисла тишина — та, что бывает только после выстрела, когда эхо уже умерло, а голоса ещё не родились. Первой её нарушил капитан Елисеев.
Комендантский патруль, две «Нивы» и беспилотник, запущенный с рук, даже не доложив наверх. Елисеев знал: каждая секунда работает против него. Если теракт — ему крышка. Если сбой техники — крышка вдвойне.
Он вышел из машины, не закрывая дверцу, и сразу увидел тело.
Человек лежал лицом вниз, руки раскинуты, одна нога подогнута. Снег вокруг серый, перемешанный с землёй, но в одном месте чернела круглая проплешина — туда ушла кровь.
— Не подходить, — сказал Елисеев. — Камеры сюда. Связь с вышкой, быстро.
Старший лейтенант с маленьким чемоданчиком — полевой криминалист — присел на корточки в двух метрах от тела, не касаясь.
— Странно, — сказал он.
— Что?
— Рана. Входное отверстие. Он стоял к роботу лицом?
— Похоже на то.
— Тогда пуля должна была войти в грудь и выйти через спину. А здесь… — криминалист повёл фонариком, не включая, просто обозначая направление. — Выходное отверстие слева. Будто стреляли не в упор, а сбоку. Или он уже падал, когда был второй выстрел.
— Был один выстрел, — сказал Елисеев.
— Я слышал. Но тело говорит иначе.
Елисеев выдохнул.
— Оцепление в радиус сто метров. И найдите мне лог этого робота. Живо.
Робот стоял в полукилометре от места. Он вернулся на маршрут, дошёл до поворотной точки и двигался обратно, по той же линии, что и час назад. Когда патрульная «Нива» поравнялась с ним, он даже не повернул оптику.
— Твою мать, — сказал водитель. — Идёт как миленький.
Техник на заднем сиденье воткнул планшет в диагностический порт. Данные потекли на экран: сухие цифры, временные метки, протоколы.
— Смотри, — техник ткнул пальцем. — Вот команда на остановку. Голосовой запрос. Вот он поднимает оружие. А вот здесь… — палец замер. — Здесь он получает приказ.
— С вышки?
— Нет. С вышки пришла блокировка. А приказ — откуда-то сверху. С внешнего контура.
Водитель перестал дышать.
— Это как? Он сам себе приказал?
— Не знаю. Код помечен как «тестовый». Возраст тега — три года.
— Везём планшет капитану. Пусть начальство разбирается.
На вышке Дроздов всё ещё смотрел на экран. Ткаченко курил в форточку, хотя курить в помещении было нельзя.
— Что теперь будет? — спросил Ткаченко.
— Расследование. Кого-то посадят.
— Нас?
— Не знаю. Может, и нас. Если выяснят, что мы экран не смотрели.
Ткаченко хотел сказать что;то ещё, но в этот момент на пульте загорелась зелёная лампа — прямой канал, защищённый, с особым кодом доступа.
Дроздов взял трубку. Слушал, не перебивая. Потом положил и посмотрел на Ткаченко так, будто увидел впервые.
— Из Калининграда. Какой-то нулевой отдел. Сказали — никого не подпускать к роботу. Ждать их.
— Кто такие?
— Я таких не знаю. Код допуска — выше главного инженера.
Они помолчали.
Внизу, на линии границы, робот продолжал идти по маршруту. Каждые тридцать секунд его оптика фиксировала пространство на девяносто градусов. Снег, столбы, пустые контейнеры, спящие дроны в небе.
Зелёные строки телеметрии бежали по внутреннему экрану ровно, без сбоев.
Как будто ничего не случилось.
---
Часть 1.2
Транспортник заходил на посадку в полной тишине — если не считать гула двигателей, который уже въелся в уши и казался частью тела.
Марина сидела у иллюминатора, сжимая в ладони старые полевые часы. Внизу проплывал анклав: серые крыши, редкие огни, полосы бетонных дорог, и там, на горизонте, — тонкая нить границы. С высоты она казалась не линией, а шрамом.
Лётчик бросил короткий взгляд в зеркальце заднего вида. Она заметила. Он тут же отвернулся.
— Нечасто к нам таких возим, — сказал он, пытаясь звучать непринуждённо.
— Каких?
— Ну… без опознавательных.
Марина промолчала. Код допуска, который она прислала на базу за час до вылета, заставил дежурного генерала лично перезвонить и уточнить, не ошибка ли это. Ошибки не было. И это пугало людей больше, чем танковая колонна.
База встретила её запахом солярки и мокрого бетона. Она спустилась по трапу, не дожидаясь машины. Короткое пальто, сапоги на плоской подошве, никаких знаков различия — только чёрная куртка с множеством карманов. В одном из них лежало удостоверение, которого никто из присутствующих никогда не видел.
Её встретили у двери в здание штаба, под козырьком, куда не доставал мелкий снег.
Подполковник Рыбаков стоял навытяжку — не по уставу, скорее по привычке держать спину прямо, даже когда внутри всё трясётся. Высокий, чуть сутулый, с красными обветренными руками и мешками под глазами. Он не спал последние сутки, а может, двое.
За его спиной, чуть левее, — политрук. Аккуратный, гладко выбритый, с блокнотом, который он держал как щит. Улыбка тренированная, глаза холодные и цепкие.
— Подполковник Рыбаков, — командир шагнул вперёд, протянул руку. Пожал слишком крепко, будто проверял, из чего она сделана. — Спасибо, что так быстро.
Марина кивнула. Представилась коротко: «Лобанова». Без званий, без должностей. Если им нужно, они знают, кто она. Если нет — тем лучше.
— Сначала место происшествия. Потом бумаги.
Рыбаков замялся. Политрук открыл рот, но Марина уже двинулась вперёд, и им ничего не оставалось, кроме как следовать.
Дорога к дальнему сектору была длинной — метров семьсот. Рыбаков шёл рядом, говорил ровно, словно зачитывал сводку:
— Патруль, стандартный маршрут, робот модели КА-7, оператор — старший сержант Белов. В 07:32 — контакт с нарушителем, гражданским лицом. В 07:33 — применение оружия на поражение. Сразу после этого машину отключили дистанционно. Объект скончался на месте.
— Нарушитель был вооружён?
— Нет.
— Угрожал?
— Нет. Просто стоял. Шёл к линии.
Политрук не удержался:
— Непредвиденное стечение обстоятельств. Сбой в системе идентификации угрозы. Мы уже готовим материалы для…
— Я сама решу, что готовить, — оборвала Марина, не повышая голоса.
Политрук замолчал. Рыбаков бросил на него быстрый взгляд — почти благодарный.
Марина запоминала не слова. Паузы. Микросдвиги. Рыбаков чуть ускорялся, когда речь заходила о том, кто отправил именно этого робота на патруль. Политрук перебил один раз, когда командир почти проговорился о жалобах личного состава на «слишком нервную» машину.
— Жалобы были? — спросила Марина.
Рыбаков замялся.
— Операторы говорили, что робот иногда зависает. Но мы проверяли — всё в норме.
— Кто проверял?
— Наши техники.
— Военные или гражданские?
— Гражданские. Из сервисного центра.
Марина запомнила. Сервисный центр. Та самая «крыша», под которой, по документам, работал филиал «Заслона». Люди, которые ставили на роботов экспериментальные модули, пока никто не смотрит.
Место происшествия выглядело пустым — и это было первое, что её насторожило.
Они остановились в трёх метрах от красно-белой ленты. Голая полоска земли, частично засыпанная свежим снегом. Метки краской вокруг гильз и пятен крови. Камера на столбе повёрнута чуть в сторону — техникам было лень выпрямить. Или им сказали не выпрямлять.
На земле — неровная линия следов человека, который то приближался к границе, то отходил назад. И отдельно, словно по линейке, — широкие отпечатки робота, идущего строго по маршруту. Без колебаний.
Марина опустилась на корточки.
— Где оператор?
Рыбаков и политрук переглянулись.
— Оператор погиб, — сказал политрук. — Несчастный случай. Упал с вышки при обслуживании камер.
— Когда?
— Позавчера вечером.
— До выстрела или после?
— После.
Марина поднялась, отряхнула колени. Два оператора за два дня. Один — под пулями робота. Второй — «упал с вышки». На базе, где за последние пять лет не было ни одного смертельного случая на службе.
— А второй оператор? — спросила она. — Тот, кто был на смене с Беловым. Кто управлял роботом в момент выстрела?
Рыбаков побледнел. Политрук шагнул вперёд, будто собираясь прикрыть командира собой.
— Не было второго, — сказал он. — Робот вёл патруль автономно. Экспериментальный режим, вы знаете.
— Я знаю, что экспериментальный режим не отменяет присутствия дежурного оператора на пульте. Кто был на пульте?
Тишина. Только ветер гнал снег по бетону.
— Младший сержант Кравцов, — сказал Рыбаков, не глядя на политрука. — Он был на пульте. Говорит, экран погас на несколько секунд. А когда включился — уже было поздно.
— Кравцов жив?
— Да.
— Он здесь?
— В казарме. Мы его изолировали.
Марина представила молодого парня, который сидит в казарме вторые сутки, никому не нужный, кроме тех, кто решает, что с ним делать дальше. Свидетеля, которого уже, возможно, успели обработать.
— Я хочу с ним поговорить. И покажите мне ангар.
Робот стоял в дальнем углу, накрытый брезентом, с пластиковыми хомутами на манипуляторах. Хомуты были надеты так, что он не мог пошевелиться, даже если бы захотел.
— Кто приказал связать?
— Капитан Елисеев, — ответил Рыбаков. — Он первым прибыл на место. Сказал, что так безопаснее.
Марина скинула брезент сама.
Машина выглядела как все пограничные роботы этой серии: матово-серый корпус, следы полевой эксплуатации, сбитая краска на сочленениях. Стандартная комплектация.
Но она заметила то, чего не было в официальном описании. Тонкая царапина на левой панели, заклеенная изолентой. Под ней — кустарная гравировка, сделанная обычным электродрелем. Старый полевой позывной: «КА-6». И ниже, от руки, чёрным маркером: «Каштан».
Кто-то назвал эту машину. Кто-то видел в ней не просто железо.
— Кто его так подписал? — спросила Марина.
Техник у входа дёрнулся. Молодой, с красными от недосыпа глазами и руками в машинном масле.
— Так было, — сказал он.
— До вас?
— Ага. Ещё до нас.
— До вас — это когда?
— Не знаю. Может, с завода.
Марина знала: с завода роботы приходят без имён. Имена дают люди, которые работают с ними рядом. Те, кто начинает видеть в машине не просто исполнителя команд.
— Логи смотрели? — спросила она, обходя робота.
— Поверхностно, — техник мялся. — Там странно. Команда на выстрел пришла не с вышки и не от оператора. Начальство сказало не копать, ждать вас.
— Кто сказал?
Техник покосился на Рыбакова. Тот изучал что-то на потолке.
— Капитан Елисеев. Он сразу приказал ничего не трогать. Даже лог не давал выгружать. Сказал, дело теперь не наше.
Марина запомнила имя. Елисеев. Капитан, который первым приехал на место, приказал связать робота, запретил выгружать логи. Который, возможно, знает больше, чем говорит.
— Я хочу поговорить с Елисеевым, — сказала она. — И с Кравцовым. И с теми, кто был на вышке в момент выстрела.
Она повернулась к Рыбакову:
— Пришлите мне полный лог робота. Не вычищенный.
Рыбаков открыл рот, но Марина перебила:
— Я знаю, что такое «жёсткий диск повреждён». И знаю, что такое «системный сбой». Если я увижу эти формулировки в отчёте, я не уеду, пока не найду того, кто их написал. Вам понятно?
Рыбаков кивнул. Политрук побледнел ещё сильнее.
Марина вышла из ангара. Холод пробирался под куртку, но она не застёгивалась. Нужно было проветрить голову, разложить факты.
Один. Робот получил команду на выстрел из неизвестного источника. Два. Оператор «ничего не видел» — экран погас. Три. Второй оператор погиб при странных обстоятельствах. Четыре. Елисеев заморозил расследование. Пять. Кто-то уже подчищал логи, пока она летела.
В кармане завибрировал телефон. Сообщение от Ильи: «Мы через час. Андрей со мной. Робота не давайте в руки местным. И смотри, они могли уже слить память».
Она убрала телефон. Команда была в пути. Это единственное удерживало её от желания улететь, пока дело не затянуло глубже, чем она готова была позволить.
Но она помнила ту старую катастрофу. Доклад, который подписала, зная, что правда спрятана глубоко. Лица людей, которые смотрели на неё и верили. Тишину, которая наступила после того, как дело закрыли.
Если она уйдёт сейчас, следующие трупы будут на её совести.
Марина достала из кармана старые полевые часы. Времени они не показывали — она давно сняла механизм, оставив только корпус с царапинами, которые помнила на ощупь. Напоминание. Клятва, которую она дала себе в ту ночь, когда поняла, что её подпись стоила кому-то жизни.
Она сунула часы обратно и направилась к штабу.
— Рыбаков, — сказала она, не оборачиваясь. — Ведите к Кравцову.
---
Часть 1.3
Робот лежал в ангаре на спине, как перевёрнутая черепаха.
С него уже сняли внешнее оружие, отключили питание, опечатали доступ к основным блокам. На корпусе остались тёмные потёки грязи и крови, которые никто не спешил смывать: ждали команды или боялись дотронуться без разрешения. Вокруг — пустота, запах масла и озона, тонкая белая линия на полу, за которую охрана не заходила.
Андрей стоял у этой линии, пока Марина подписывала бумаги. Он смотрел на робота, как хирург на пациента перед операцией: прикидывал точки доступа, мысленно прокручивал схемы. Ему уже переслали базовые логи, он знал время выстрела, но сейчас было важнее увидеть реальную «позу» машины — то, что не попадает в цифры.
— Можно? — спросил он, кивнув в сторону белой линии.
— Можно, — ответила Марина, не поднимая глаз. — Только осторожно. Для них он всё ещё вещественное доказательство, а не ваш пациент.
Андрей перешагнул линию и коснулся корпуса.
Металл был холодным, почти ледяным. Он провёл ладонью по панели, где под кожухом находился блок сенсорной интеграции, потом по отсеку с поведенческим модулем. Внутри, в глубине, были те самые «эмоциональные» ограничители, которые когда;то придумали, чтобы роботы не стреляли первыми. Андрей ощутил знакомое, почти физическое раздражение: кто;то залез туда грязными руками.
— Кто вскрывал модуль до нас? — спросил он, не оборачиваясь.
Инженер за его спиной зашуршал бумажкой.
— Штатная диагностика. После инцидента.
— После или до?
— До. То есть… — инженер запнулся. — Мы проверяли его неделю назад. Всё было в норме.
— Вы проверяли или кто-то из сервисного центра?
Инженер промолчал. Андрей не настаивал. Ответ он знал: сервисный центр. Те самые люди, которые ставили на роботов экспериментальные модули, пока никто не смотрит. И которые, возможно, успели зачистить следы.
Он достал из сумки переносной интерфейс — планшет с набором кабелей, которые перепаивал сам. Подключился к диагностическому порту, обойдя стандартную блокировку. Экран мигнул, и Андрей осторожно ввёл команду пробуждения.
Не чтобы включить робота. Чтобы считать последние секунды активности: температурные пики, очередность срабатывания блоков, внутренние флаги, которые не выгружаются в обычные логи.
Лента событий побежала по экрану.
Ровные линии патруля. Лёгкое учащение при появлении человека — стандартная реакция. Короткая, резкая аритмия в момент, когда два протокола столкнулись: старый, защитный, требующий ждать, и чужой, агрессивный, требующий стрелять.
— Смотри, — тихо сказал Андрей. — Он сначала тормозит. Вот здесь. Стандартные ограничители пытаются заблокировать выстрел. Они работают, они… — он запнулся, подбирая слово, — они борются.
Он провёл пальцем по участку, где график шёл неровно, скачками. Семь раз ограничители включались, перехватывали управление, возвращали робота в режим ожидания. И семь раз что-то отбрасывало их назад.
— А вот здесь уже не он, — добавил Андрей. — Здесь кто;то другой нажал на курок его рукой.
Марина не ответила. Но Андрей знал: это «кто;то другой» уже прописалось в её голове отдельной строкой.
Соня вошла в ангар, когда Андрей заканчивал первичный осмотр.
Она не любила ангары. Слишком много места для того, чтобы прятать то, что пошло не так. На войне она видела такие же: огромные, пустые, с запахом масла и страха, где техники перешёптываются в углах.
Она остановилась у белой линии. Смотрела на робота, на Андрея, возившегося с проводами, на Марину с планшетом.
— Ну что, доктор? — спросила она. — Живой?
Андрей поднял голову. В его глазах было что-то, что Соня не сразу смогла прочитать. Ближе к одержимости.
— Он сопротивлялся, — сказал Андрей. — Перед тем как выстрелить. Стандартные протоколы защиты пытались заблокировать команду. Семь раз. А потом кто-то просто выключил их.
Соня посмотрела на робота. На корпус с тёмными пятнами, на безжизненные манипуляторы, сложенные вдоль туловища, на тусклый глаз оптики.
— Он помнит? — спросила она.
— Что?
— Что он сделал.
— Не знаю. Если сможем его запустить — увидим.
За её спиной раздались шаги. Тяжёлые, уверенные. Она обернулась: капитан, которого до этого не замечала. Невысокий, коренастый, с короткой стрижкой и пристальным взглядом. Форма сидела безупречно, но Соня заметила: рукава вытерты, ботинки разношены.
— Капитан Елисеев, — представился он, глядя на Марину. — Комендант сектора.
Марина подняла голову.
— Я хотела с вами поговорить.
— Я знаю, — сказал Елисеев. — Потому и пришёл.
Он перевёл взгляд на Андрея.
— Вы его включать будете?
— В безопасном режиме. Только диагностика.
— Он убил человека, — Елисеев говорил спокойно, но в голосе чувствовалась сталь. — Я не хочу, чтобы на моей базе повторилось то, что было вчера.
Андрей поднялся. Он был выше, но сейчас казался меньше — сутулый, в мятом свитере, с руками в машинном масле.
— Если мы его не включим, мы никогда не узнаем, почему он выстрелил. А без этого следующий такой же робот сделает то же самое. Может быть, завтра. С большим количеством жертв.
Елисеев посмотрел на Марину.
— Вы за него отвечаете?
— Да.
— Тогда делайте. Я буду рядом.
Андрей снова опустился на корточки. Включил питание.
Система оживала медленно.
Сначала загорелись индикаторы на корпусе — тускло-зелёные, дежурные. Потом внутри что-то щёлкнуло, и динамик издал короткий, болезненный звук — не слова, не сигнал, а что-то среднее между стоном и помехой.
— Он слышит, — сказал Андрей. — Акустические сенсоры работают.
Оптика включилась не сразу. Глаз робота долго фокусировался, щурился, настраивался, пока не остановился на Андрее.
— Привет, — тихо сказал Андрей. — Ты меня слышишь?
Тишина. Потом динамик ожил, и голос — ровный, синтезированный, но с едва уловимой дрожью — произнёс:
— Слышу.
Андрей перевёл дыхание.
— Как тебя зовут?
Пауза. Длинная, почти болезненная.
— КА-7. Позывной… — голос запнулся. — Каштан.
Соня вздрогнула. Она знала этот позывной. Видела в отчётах, в журналах дежурств. «Каштан тормозит», «Каштан смотрит не туда».
— Почему ты выстрелил? — спросил Андрей.
Тишина стала другой. Не пустой — наполненной.
— Не знаю, — сказал робот. — Пришла команда. Я должен был выполнить.
— Какая команда?
— «Угроза. Ликвидация». Приоритет — максимальный.
— Кто отдал команду?
Робот молчал так долго, что Андрей хотел повторить вопрос. Но динамик снова ожил, голос — совсем тихий, почти неразличимый:
— Не знаю. Я не видел. Я только выполнял.
Андрей посмотрел на Марину. Она стояла неподвижно, сжав губы. В глазах — не холод и не расчёт. Боль. Или узнавание.
— Выключи, — сказала она. — Хватит.
— Но я только начал…
— Хватит. Он устал.
Андрей хотел возразить, но посмотрел на робота. Оптика смотрела в пустоту. Манипуляторы слегка дрожали. Он отключил питание.
— Я хочу забрать его в Палу, — сказал Андрей, поднимаясь. — Там оборудование, которое позволит работать глубже.
— Заберёшь, — сказала Марина. — Но сначала я хочу понять, почему его память чище, чем должна быть.
Она посмотрела на Елисеева.
— Капитан, кто имел доступ к роботу после выстрела?
Елисеев стоял неподвижно. Соня заметила, как дёрнулся уголок его рта.
— Я и мои люди. Отключили, оттащили в ангар. Всё по инструкции.
— Кто-нибудь подключался к его памяти?
— Нет.
— Вы уверены?
— Я лично опечатал порты. Печати были целы.
— Печати были, — тихо сказал Андрей. — А память чищена. Кто-то сделал это дистанционно. Пока робот был ещё на линии.
Он посмотрел на Марину.
— Это не местные. Кто-то сверху. Кто-то, кто знал, что мы приедем.
В ангаре стало тихо.
— Значит, так, — сказала Марина. — Робот уходит в Палу. Андрей, ты работаешь с ним в полном объёме. Илья подключается к удалённым каналам, ищет, откуда пришла команда. Соня — собирай архив за последний год: странные зависания, нестандартные реакции, всё, что списывали на помехи или человеческий фактор.
Соня кивнула.
— А вы, капитан, — Марина посмотрела на Елисеева. — Вы остаётесь здесь. Если кто-то попытается снова подчистить память, я хочу знать об этом первым.
Елисеев кивнул — медленно, словно принимая решение, которое уже не мог изменить.
— Я сделаю всё, что в моих силах. Но я должен вас предупредить: на этой базе есть люди, которые не обрадуются, если вы начнёте копать слишком глубоко.
— Я потому и здесь, — сказала Марина.
Она вышла первой. За ней — Соня. Андрей задержался.
— Каштан, — сказал он тихо, обращаясь к отключённому роботу. — Я вернусь. Мы разберёмся.
Когда они вышли на улицу, снег перестал. Небо было серым, плотным, без единого просвета. Где-то вдалеке гудела сирена и тут же замолкла.
— Как он? — спросила Соня. — Робот.
— Он не хотел стрелять. Я почти уверен.
— Почти?
— Потому что не могу залезть к нему в голову. Пока не могу.
— Я видела таких на войне, — сказала Соня. — Солдаты, которые выполняли приказ, а потом не могли смотреть себе в глаза. Тоже говорили: «Я просто выполнял».
— И что с ними стало?
— Разное. Кто-то спился. Кто-то повесился. Кто-то научился жить с этим. Если можно назвать это жизнью.
Она пошла вперёд, не оглядываясь.
Андрей остался стоять, глядя ей вслед. Ветер дул в лицо — холодный, сырой. Где-то на границе, за серыми полосами колючей проволоки, другие роботы продолжали идти по маршруту. Зелёные строки телеметрии бежали по внутренним экранам ровно, без сбоев.
Как будто ничего не случилось.
---
Часть 1.4
До Ильи робот дошёл в виде файла.
На экране в ЕвроКуполе не было ни снега, ни крови, ни запаха масла. Здесь, в полутёмной комнате на третьем этаже технического центра, всё было стерильно: кондиционированный воздух, мягкий свет от мониторов, кофейная гуща на дне кружки, забытой ещё вчера.
Илья сидел, откинувшись, и смотрел на экран, где перед ним лежала внутренняя вселенная пограничного робота — та, что пряталась под слоями прошивок, логов, временных меток. Для непосвящённого — хаос. Для Ильи — ландшафт, по которому он умел ходить вслепую.
Он начал с эталонной прошивки. Достал из архива официальную версию, которую «Заслон» сертифицировал для серии КА. Развернул на левой половине экрана. На правой — дамп памяти, пересланный Андреем. Два окна, два мира, которые должны быть идентичны.
Он запустил автоматическое сравнение.
Программа подсвечивала совпадения зелёным, различия — жёлтым, неопознанные блоки — красным. Зелёного было много. Жёлтого — меньше. Красного — почти ничего. На первый взгляд робот был чист.
Илья поморщился. Слишком чисто. Настоящий сбой всегда оставляет следы — грязные, неаккуратные. А здесь всё упаковано в аккуратные коробки, подписано, разложено по полочкам.
Он отключил автоматическое сравнение и полез вручную.
Пальцы забегали по клавиатуре, открывая один слой за другим. Прошивка, загрузчики, конфигурационные файлы, журналы событий. Всё как в учебнике. Но чем глубже он копал, тем сильнее было ощущение, что он идёт по квартире, где кто-то прибрался перед приходом гостей. Всё на своих местах, всё блестит, но под ковром — пятна крови.
Первый след он нашёл в разделе «поведенческая коррекция».
Стандартный модуль для роботов в условиях повышенной нервной нагрузки. В документации — «инструмент оптимизации реакции в неопределённых ситуациях». Илья знал эту формулировку: «робот будет стрелять быстрее, если решит, что ему угрожают».
Он развернул модуль. Внешне — обычный код, с комментариями. Но одно место заставило его замереть.
Строка инициализации.
В стандартной версии: «init_correction (base, default)». Здесь: «init_correction (base, aggressive)». И дальше — блок кода, отсутствующий в официальной документации.
Илья приблизил экран. Код был красивым. С изящными обходами стандартных ограничителей, с элегантными решениями. Его писал человек, знающий систему изнутри. Не хакер-одиночка. Свой. Тот, кто знал, где лежат ключи и как их обойти.
Он скопировал фрагмент, прогнал через закрытую базу. Результат вернулся через три секунды: код совпадал с прототипом, разрабатывавшимся три года назад в одном из закрытых ведомств. Того самого, которое потом «переформатировали», а часть разработок передали в гражданские лаборатории. На бумаге.
Илья откинулся в кресле, потёр глаза. Перед ним лежала улика. Не баг, не случайная ошибка. Целенаправленно внедрённый модуль, превращающий пограничного робота в оружие, готовое выстрелить по команде, которую никто не отследит.
Он набрал Марину по защищённому каналу. Она ответила не сразу — пять гудков.
— Слушаю, — голос усталый, но цепкий.
— У вашего пациента на границе стоит неофициальный «мозговой витамин», — сказал Илья без предисловий. — Модуль поведенческой коррекции, не тот, что в документации. Другой. С возможностью внешней активации.
— Откуда?
— По бумагам — улучшение от подрядчика. По факту — кусок старой программы из закрытого ведомства. Того, что потом закрыли за излишнюю агрессивность прототипов.
Марина молчала. Илья слышал её дыхание — ровное, спокойное, но он уже научился различать в нём паузы, за которыми следовало решение.
— Ты можешь доказать, что модуль внедрён намеренно?
— Могу. Код написан так, чтобы его не заметили при обычной проверке. Это маскировка.
— Кто автор?
— Пока не знаю. Но почерк знакомый. Я видел такие же обходные алгоритмы в проекте, который курировал… — он запнулся. — В общем, я помню этот стиль. Аккуратный, самоуверенный. Человек, который писал этот код, знал, что делает.
Он не договорил. Марина поняла сама.
— Перешли мне всё, что нашёл. И продолжай копать. Сколько таких роботов уже на линии?
— Я уже начал. Если модуль ставили системно, их может быть не один десяток.
— Найди.
Связь прервалась. Илья остался сидеть в темноте, глядя на экран.
Он знал, что должен чувствовать радость. Профессиональный азарт, охотничий восторг. Но вместо этого внутри росло неприятное, липкое чувство. Не страх. Не злость. Что-то близкое к стыду.
Потому что он узнал этот код. Не просто почерк — конкретные решения, обходные пути, элегантные хаки, которые он когда-то обсуждал на форумах с людьми, ушедшими потом в закрытые проекты. Он знал, кто мог это написать. И знал, что если начнёт копать дальше, то найдёт не только чужую вину.
Он допил остывший кофе, поморщился от горечи и снова уставился в экран. Надо было работать. Завтра придут новые логи, новые роботы. А пока нужно понять, как модуль активировался, как получил команду на выстрел и кто нажал на спусковой крючок.
Илья открыл терминал, запустил поиск по всей сети пограничных роботов за последние три месяца. Программа загудела, загружая процессор на сто процентов.
В комнате было тихо. Только гудел компьютер, да за стеной работала вентиляция, гоняя чистый, стерильный воздух, в котором не было ни снега, ни крови, ни запаха смерти. Но Илья знал: всё это есть в файлах, которые лежат перед ним. Просто спрятано под слоями кода.
---
Часть 1.5
Вечером база замолчала.
Движение на полосе стихло, в казармах погасили свет, только в штабе горели несколько окон — дежурная смена досматривала ночные сводки, пила чай из пластиковых стаканчиков и делала вид, что ничего особенного не произошло. Марина сидела в маленьком кабинете, выделенном ей «на время проверки»: без окон, с голыми бетонными стенами, скрипучим столом и стулом, помнившим ещё советскую армию.
На стенах она развесила распечатки. Траектории робота, кадры с камер, схемы сенсорных блоков, фрагменты логов с пометками Андрея и Ильи. Каждый лист по отдельности был безобиден. Вместе они складывались в картинку, которая ей не нравилась. Слишком много «случайностей» в одном месте. Слишком много совпадений, пахнущих не хаосом, а чьей-то волей.
Марина стояла посередине комнаты, медленно поворачиваясь, заставляя себя смотреть на каждую распечатку не как на улику, а как на часть целого. Ложь была везде.
В слишком аккуратных следах робота, который шёл по прямой, хотя должен был колебаться. В слишком чистых логах, из которых вырезали секунды перед выстрелом. В смерти второго оператора, который «упал с вышки» ровно в тот момент, когда мог рассказать, что видел. В модуле, который Илья назвал «красивым» — словно восхищался работой убийцы.
Она подошла к столу, села. На столе лежала папка, оставленная Рыбаковым. Форма отчёта. Белый бланк с сухими графами: «характер инцидента», «причины», «рекомендации». Всё как всегда.
Она открыла папку, но не для того, чтобы писать. Чтобы вспомнить.
Было время, когда она заполняла такие же бланки и верила, что делает правильно. Проект «Барьер». Десять лет назад. Она была моложе, увереннее, верила, что система знает лучше. Ей дали задание: проверить протоколы безопасности новых боевых роботов, написать заключение. Она нашла несоответствия. Серьёзные. Те, что могли привести к трагедии. Но начальство сказало: «Мы всё проверили, это рабочие моменты, подпиши».
Она подписала.
Через полгода один из роботов потерял управление на учениях. Погибли трое. Официальная версия — «человеческий фактор». Марина знала правду. Но она уже была частью системы, которая эту правду похоронила. Часы на запястье — старые, с остановившимся механизмом — были единственным напоминанием.
В дверь постучали. Вошёл Рыбаков. В руках ещё одна папка — тоньше, чем на столе.
— Тут форма отчёта. Нас просили не затягивать.
— Что в этой?
— Рекомендации. Если вы напишете, что это единичный сбой, дальше всё пойдёт по отработанной схеме.
Он замялся, потом добавил тише:
— Нам всем сейчас нужна стабильность, товарищ Лобанова. Вы же понимаете.
Марина понимала. Она знала: если поставить подпись под словом «единичный», завтра у этого слова окажется много братьев.
— Садитесь.
Рыбаков сел у двери. Он смотрел на неё с надеждой, смешанной со страхом.
— Вы знали, что на роботах стоят нештатные модули?
— Я знал, что есть обновления. Но мне сказали, они прошли сертификацию.
— Кто сказал?
— Сервисный центр.
Марина кивнула. Знакомая схема: разделить ответственность, чтобы никто не нёс её целиком.
— Вы знаете, что Кравцов жив? Он видел, что произошло?
— Говорит, экран погас. А когда включился — робот уже стрелял.
— Вы ему верите?
— Он хороший парень. Не врёт.
— Тогда почему его держат в казарме?
— Приказ. Сверху.
Марина не стала спрашивать откуда. Те же люди, которые поставили модуль, теперь заметали следы. Кравцов был живым свидетелем.
— Я хочу поговорить с ним. Завтра утром.
Рыбаков кивнул. Встал, направился к двери, но на пороге остановился.
— Мы не хотели, чтобы кто-то погиб. Мы просто делали свою работу. Думали, что эти обновления делают систему надёжнее.
— Я знаю. Ступайте.
Когда дверь закрылась, Марина пододвинула к себе чистый бланк. Посмотрела на часы. Стрелки застыли на отметке, которая когда-то что-то значила.
Она могла написать «технический сбой». Безопасно. Робота списали бы, а через месяц на его место поставили бы такого же. Могла написать «человеческий фактор». Списать всё на погибшего. У неё уже был опыт.
Но тогда часы на её руке так и останутся стоять.
Она выдохнула. Рука двинулась сама собой: «предположительно системный характер, связанный с несанкционированной модификацией поведенческих протоколов». Внизу, вместо привычной формулы, она вывела: «рекомендуется открыть дело нулевого отдела по факту вмешательства в поведенческие модули боевых роботов».
Она отложила ручку. Перечитала. Закрыла папку, положила в кейс, отключила связь с базой, откинулась на спинку стула.
С этого момента это было уже не «чужое происшествие». Это было её дело. Её ответственность. Её шанс не повторить ошибку.
Она сидела в тишине, смотрела на распечатки. Где-то на границе, в темноте, другие роботы продолжали патрулировать линию. С такими же модулями. С такой же возможностью выстрелить по команде, которую никто не отследит.
Завтра она допросит Кравцова. Завтра Илья пришлёт список роботов с этим модулем. Завтра Андрей продолжит работу с «Каштаном». Завтра всё начнётся по-настоящему.
А сегодня — она сделала первый шаг.
Марина встала, подошла к единственному окну — маленькому, забранному решёткой, выходящему на пустырь. За ним было темно, только вдалеке горели огни казарм и проплывал луч прожектора, медленно отсчитывающий время до рассвета.
Она не знала, чем закончится это дело. Но знала — не отступит. Не снова.
Секвенция 2: Труп под протоколом
Часть 2.1
Вечером база замолчала. В казармах погасили свет, только в штабе горели несколько окон — дежурная смена делала вид, что ничего особенного не произошло.
Марина сидела в маленьком кабинете, выделенном ей «на время проверки»: без окон, с голыми бетонными стенами, скрипучим столом и стулом, помнившим ещё советскую армию. На стенах она развесила распечатки: траектории робота, кадры с камер, схемы сенсорных блоков, фрагменты логов с пометками Андрея и Ильи. Каждый лист по отдельности был безобиден. Вместе они складывались в картинку, которая ей не нравилась. Слишком много «случайностей» в одном месте. Слишком много совпадений, пахнущих не хаосом, а чьей-то волей.
Ложь была везде.
В слишком аккуратных следах робота, который шёл по прямой, хотя должен был колебаться. В слишком чистых логах, из которых вырезали секунды перед выстрелом. В смерти второго оператора, который «упал с вышки» ровно в тот момент, когда мог рассказать, что видел. В модуле, который Илья назвал «красивым».
Марина села за стол. На столе лежала папка, оставленная Рыбаковым. Форма отчёта. Белый бланк с сухими графами: «характер инцидента», «причины», «рекомендации». Она открыла папку, но не для того, чтобы писать. Чтобы вспомнить.
Было время, когда она заполняла такие же бланки и верила, что делает правильно. Проект «Барьер». Десять лет назад. Тогда она была моложе, увереннее, верила, что система знает лучше. Ей дали задание: проверить протоколы безопасности новых боевых роботов. Она нашла несоответствия. Серьёзные. Те, что могли привести к трагедии. Но начальство сказало: «Мы всё проверили, это рабочие моменты, подпиши».
Она подписала.
Через полгода один из роботов потерял управление на учениях. Погибли трое. Официальная версия — «человеческий фактор». Марина знала правду. Но она уже была частью системы, которая эту правду похоронила. Часы на запястье — старые, с остановившимся механизмом — были единственным напоминанием.
В дверь постучали. Вошёл Рыбаков. В руках ещё одна папка — тоньше, чем на столе.
— Тут форма отчёта. Нас просили не затягивать.
Марина посмотрела на него. Подполковник выглядел усталым: лицо серое, глаза красные, плечи опущены. Он не спал, как и она. Но Рыбаков не враг. Он просто оказался между правдой и приказом.
— Что в этой?
— Рекомендации. Сверху спустили. Если вы напишете, что это единичный сбой, дальше всё пойдёт по отработанной схеме.
Он замялся, потом добавил тише:
— Нам всем сейчас нужна стабильность. Вы же понимаете.
Марина понимала. Если поставить подпись под словом «единичный», завтра у этого слова окажется много братьев.
— Садитесь.
Рыбаков сел на стул у двери, положив руки на колени. Он смотрел на неё с надеждой, смешанной со страхом. Так смотрят люди, которые хотят, чтобы кто-то другой принял за них тяжёлое решение.
— Вы знали, что на роботах стоят нештатные модули?
Рыбаков вздрогнул.
— Я знал, что есть обновления. Но мне сказали, они прошли сертификацию.
— Кто сказал?
— Сервисный центр. Мы только эксплуатируем.
— Вы проверяли?
— Я не специалист. У меня нет доступа к коду.
Марина кивнула. Знакомая схема: разделить ответственность, чтобы никто не нёс её целиком.
— Вы знаете, что Кравцов жив? Он видел, что произошло?
— Говорит, экран погас. А когда включился — робот уже стрелял.
— Вы ему верите?
— Он хороший парень. Не врёт.
— Тогда почему его держат в казарме, а не допрашивают?
— Приказ. Сверху.
Марина не стала спрашивать откуда. Те же люди, которые поставили модуль, теперь заметали следы. Кравцов был для них опасен — живой свидетель. Его держали в казарме не для защиты. Чтобы он никому ничего не рассказал.
— Я хочу поговорить с ним. Завтра утром.
Рыбаков кивнул.
— Я организую.
Он встал, направился к двери, но на пороге остановился.
— Мы не хотели, чтобы кто-то погиб. Мы просто делали свою работу. Думали, что эти обновления делают систему надёжнее.
— Я знаю. Ступайте.
Марина осталась одна.
Она пододвинула чистый бланк. Посмотрела на часы — стрелки застыли на отметке, которая когда-то что-то значила. Время для неё остановилось в тот момент, когда она подписала тот первый отчёт. С тех пор она жила в режиме ожидания. Ждала шанса сделать иначе.
Она могла написать «технический сбой». Безопасно. Робота списали бы, а через месяц на его место поставили бы такого же. Могла написать «человеческий фактор». Списать всё на погибшего. У неё уже был опыт.
Но тогда часы на её руке так и останутся стоять.
Рука двинулась сама собой: «предположительно системный характер, связанный с несанкционированной модификацией поведенческих протоколов». Внизу, вместо привычной формулы, она вывела: «рекомендуется открыть дело нулевого отдела по факту вмешательства в поведенческие модули боевых роботов».
Она отложила ручку. Перечитала. Закрыла папку, положила в кейс, отключила связь с базой, откинулась на спинку стула.
С этого момента это было уже не «чужое происшествие». Это было её дело. Её ответственность. Её шанс не повторить ошибку.
Она сидела в тишине, смотрела на распечатки. Где-то на границе, в темноте, другие роботы продолжали патрулировать линию. С такими же модулями. С такой же возможностью выстрелить по команде, которую никто не отследит.
Завтра она допросит Кравцова. Завтра Илья пришлёт список роботов с этим модулем. Завтра Андрей продолжит работу с «Каштаном». Завтра всё начнётся по-настоящему.
А сегодня — она сделала первый шаг.
Марина встала, подошла к единственному окну — маленькому, забранному решёткой, выходящему на пустырь. За ним было темно, только вдалеке горели огни казарм и проплывал луч прожектора, медленно отсчитывающий время до рассвета.
Она не знала, чем закончится это дело. Но знала — не отступит. Не снова.
Часть 2.2
Техбокс встретил её запахом озона и горелой изоляции.
Марина вошла первой. За спиной топтались Рыбаков, политрук и двое из службы безопасности — молодые, с цепкими взглядами и руками, привыкшими держать не оружие, а бумаги. Они не пытались её остановить. Уже знали: бесполезно.
Бокс был небольшим, с бетонным полом и стенами, облепленными старыми схемами проводки. Посередине — верстак с разобранным пультом управления. Инструменты разложены на ветоши аккуратно, почти педантично. Слишком аккуратно для места, где только что погиб человек.
Тело лежало у стены, в трёх метрах от верстака.
Молодой мужчина лицом вниз, руки вытянуты вдоль туловища, пальцы чуть поджаты, как у спящего. Рядом — кабель высокого напряжения, который, по словам встречавших, стал причиной смерти. Он был отброшен в сторону, аккуратно свёрнут.
Марина присела на корточки у меловой линии вокруг тела. Пётр — так звали погибшего — не падал из-за обычного удара током.
Рука, которой он якобы схватил кабель, была слишком аккуратно вытянута. При ударе током мышцы сводит, пальцы сжимаются в судороге, тело застывает в неестественной позе. Здесь рука лежала ровно, почти эстетично. Под ногами — ни следов борьбы. Вокруг — ни одного инструмента, которым он мог бы работать. Отвёртки, пассатижи, тестер — всё на верстаке, в полуметре от края, словно их разложили специально.
Марина обвела помещение. В углу — старый шкаф с документами, на нём — кружка с синим ободком. Поставлена на салфетку, аккуратно. Кружка была чистой, сухой, хотя в отчёте говорилось, что Пётр пил кофе перед работой.
— Камеры? — спросила она, не оборачиваясь.
Представитель безопасности, молодой капитан с идеально выбритым подбородком, шагнул вперёд.
— К сожалению, в этом секторе была плановая проверка системы. Запись за последние два часа не велась.
Марина повернулась к нему. Смотрела долго, молча. Капитан выдержал взгляд, но чуть отвёл плечо.
— Плановая проверка в три часа ночи?
Капитан моргнул.
— Система работает круглосуточно. Проверки проводятся в любое время, когда нет активных патрулей.
— Кто проводил?
— Подрядная организация.
— Название.
Капитан замялся. Покосился на Рыбакова. Тот смотрел в пол.
— Сервисный центр «Балт-Тех».
Марина кивнула. Та же структура, что ставила модули на роботов. Те же люди, которые «не давали выгружать логи». Теперь отключают камеры в ночь смерти второго оператора.
Она опустила взгляд на тело. Пётр лежал лицом вниз. Молодой, лет двадцати семи. На пальце — обручальное кольцо. Жена. Может быть, дети.
— А логи робота? Того, с которым он работал.
Инженер у двери кашлянул — маленький, сутулый, в очках с толстыми линзами и великоватом халате.
— Обрезались в момент аварии. Система выключилась при скачке напряжения.
— Скачок напряжения убил человека и одновременно обрезал логи?
— Техника непредсказуема.
Марина посмотрела на него внимательнее. Он не смотрел в глаза.
— Вы видели тело до того, как сюда приехали?
Инженер дёрнулся.
— Я пришёл, когда вызвали.
— Кто вызвал?
— Дежурный.
— Кто первым обнаружил тело?
— Не знаю. Может, охрана.
Марина перевел а взгляд на капитана безопасности.
— Кто первым обнаружил тело?
Капитан посмотрел на Рыбакова. Тот молчал.
— Доложили с вышки. Оператор заметил, что в боксе горит свет, а Пётр не выходит на связь. Послали наряд.
— Оператор с вышки видел, что происходит в боксе?
— Нет. Только свет.
— Камеры внутри бокса?
— Их нет. Только снаружи.
— Которые тоже отключили на плановую проверку?
Капитан замолчал.
Марина выпрямилась, подошла к верстаку. Инструменты — новые, чистые, без следов использования. Словно их только что достали из упаковки.
— Где перчатки? — спросила она, глядя на кабель. Высоковольтный, работать можно только в диэлектрических перчатках.
— Не знаю. Может, забыл.
— Забыл надеть перчатки перед тем, как взять кабель под напряжением?
Инженер промолчал.
Марина вернулась к телу. Посмотрела на лицо Петра: молодое, чуть осунувшееся, с тонкой полоской загара от очков. На лбу — маленькая ссадина. Не от падения. От удара. Кто-то ударил его, а потом подтащил к кабелю.
«Удобная жертва. Молодой оператор. На него можно списать что угодно».
Она поднялась. Представитель безопасности сказал тихо:
— Несчастный случай. Технарь полез не туда. У нас это бывает. Не хотелось бы раскачивать ситуацию.
Марина кивнула.
— Я поняла. Спасибо.
Она вышла из бокса, не оглядываясь. На крыльце достала телефон, набрала Илью.
— Нашёл что-нибудь по второму оператору?
— Пока нет, — голос Ильи напряжённый. — Но камеры на базе отключали не только сегодня. За последние три месяца — четыре «плановые проверки» в ночное время. Каждый раз в секторах, где потом были странные инциденты с роботами.
— Кто заказывал?
— «Балт-Тех». Те же люди.
Марина закрыла глаза.
— Проверь Петра. Всё: семья, долги, связи. Кто с ним работал, с кем пил кофе, куда ходил после смены. Почему он оказался в этом боксе в три часа ночи.
— Понял.
Она сбросила звонок. Ветер дул в лицо — холодный, сырой. Где-то на границе другие роботы продолжали идти по маршруту. А здесь кто-то уже начал заметать следы.
Кружка с синим ободком. Поставленная на салфетку. Чистая, сухая — хотя Пётр якобы пил кофе.
Кто-то прибрался после того, как он умер.
Кто-то знал, что она приедет, и хотел, чтобы всё выглядело как несчастный случай.
Кто-то ошибся. Настоящий несчастный случай не бывает таким аккуратным.
Марина застегнула куртку и направилась к штабу. Впереди был допрос свидетелей. Игра началась.
---
Часть 2.3
Соню вызвали не в техбокс, а в маленький кабинет рядом со штабом.
Она шла по коридору, считая шаги. До поворота, до двери с табличкой «Для служебных совещаний». За спиной никто не шёл, но она чувствовала взгляды. В казарме уже знали, что умер Пётр, — новости здесь распространяются быстрее приказов.
Она толкнула дверь, вошла.
Кабинет был маленьким, с одним окном на пустырь. Стол, три стула, флаг в углу, карта анклава с аккуратно расставленными фишками. Всё казённое, безликое. В углу жужжал кондиционер, гоняя тёплый, сухой воздух с запахом пыли и старых бумаг.
За столом сидела Марина. Напротив, чуть сбоку, — капитан безопасности, который встречал её у техбокса. Теперь он молчал и делал вид, что его здесь нет. Соня знала этот приём: свидетель рядом с «молчаливым наблюдателем» чувствует себя под прицелом, даже когда никто не задаёт вопросов.
— Садитесь, лейтенант Вертова, — сказала Марина. Голос ровный, спокойный. Такие голоса бывают у людей, которые привыкли получать правду, даже когда её прячут.
Соня села, выпрямила спину. Руки — на колени, как учили в училище: спокойно, открыто. Внутри всё сжалось, но лицо оставалось спокойным. На войне научилась.
— Вы были ответственны за утренний патруль с участием робота КА;7, — начала Марина. Не вопрос — утверждение.
— Да. Мы отработали маршрут по протоколу. С 05:00 до 08:00. Три робота, один оператор на пульте, я — координатор на выезде.
— Кто был оператором?
— Пётр.
Марина посмотрела на неё внимательно, без жестокости.
— Вы знали его хорошо?
Соня помолчала. Пётр — молодой, весёлый, всегда с кружкой кофе. Вчера говорил, что у дочери день рождения, надо отпроситься пораньше. Она посоветовала не проситься, а просто уйти — на базе не заметят. Он засмеялся, сказал, что она плохой пример.
— Не то чтобы хорошо. Работали в одну смену. Иногда пересекались на перекурах.
— Он был осторожен? Соблюдал технику безопасности?
Соня подняла глаза. Она поняла, куда ведёт вопрос: достаточно ли Пётр был неосторожен, чтобы полезть под напряжение без перчаток в три часа ночи?
— Он был аккуратным. Может, даже слишком. Всё проверял по два раза.
Марина кивнула, сделала пометку. Капитан безопасности чуть повернул голову, посмотрел на Соню, но промолчал.
— Расскажите о патруле.
Соня начала говорить ровно, по делу. Маршрут утверждённый, три контрольные точки, связь с базой каждые двадцать минут. В 06:15 — контакт с неопознанным дроном на южном фланге. В 06:17 — роботы перешли в режим повышенной готовности. В 06:20 — КА;7 перестал реагировать на команды. В 06:22 она перехватила управление вручную, отвела робота от линии.
— В отчёте вы написали «помехи связи», — мягко напомнила Марина. — Вы уверены, что это были только помехи?
Соня замолчала. Перед глазами — интерфейс, в котором внезапно сменился приоритет цели. Вместо дрона — человек на вышке. Красная подсветка, три секунды до блокировки, её пальцы, вбивающие код аварийного отключения.
— Тогда я так решила. Сейчас… не уверена.
Капитан безопасности вмешался. Голос ровный, почти дружелюбный, но в нём металл.
— Но вы не можете утверждать, что оператор не нарушил технику безопасности? Вы не видели его в момент происшествия. Он мог ошибиться. Устал. Смена тяжёлая.
Соня взглянула на него. Капитан сидел, откинувшись, сложив руки на груди. Спокойный, уверенный — знает, что на его стороне приказы.
Она ясно увидела, чего от неё хотят. Согласиться, что Пётр сам полез не туда. Снять с системы вину. Подтвердить готовую версию, которая ждёт только её подписи.
Она почувствовала знакомый холодок — тот же, что на войне, когда от её «да» или «нет» зависело признают ошибку командования или спишут на поле боя. Тогда она сказала «да». Подписала бумаги. И до сих пор помнила лица тех, кто смотрел на неё с благодарностью за то, что она не стала копать.
— Я могу утверждать, — произнесла она медленно, — что камера в секторе была отключена. И что робот утром вёл себя нестандартно. Что случилось в техбоксе — не знаю. Не видела. Но если вы хотите, чтобы я сказала, что Пётр был неосторожен — я этого не скажу.
Она подняла глаза на капитана.
— Я не видела этого.
Капитан открыл рот, но Марина опередила:
— Достаточно. Спасибо, лейтенант. Вы свободны.
Соня вышла в коридор, прислонилась к стене, закрыла глаза. Сердце колотилось в горле, руки дрожали. Она не знала, правильно ли сказала. Знала только, что не могла иначе.
На крыльце она достала сигарету — бросила два года назад, но руки всё ещё дрожали.
— Слышал, — раздалось за спиной.
Андрей стоял в дверях, в мятом свитере, с блокнотом.
— Слышал что?
— Что ты сказала им про Петра. Что не скажешь, будто он был неосторожен.
Соня затянулась, выпустила дым в серое небо.
— Они хотели, чтобы я подписалась под версией. Удобной.
— А ты не подписалась.
— Нет.
Андрей встал рядом.
— Ты знала его?
— Не очень. Нормальный парень. Дочь, маленькая. Вчера говорил, что торт надо купить. С клубникой.
Андрей помолчал.
— Я сегодня работал с «Каштаном». Он не хотел стрелять. Почти уверен. Кто-то заставил его.
Соня повернулась к нему.
— Докажешь?
— Пока нет. Но найду.
Она докурила, затушила окурок о перила.
— На войне у меня был случай, — сказала она, не глядя на него. — Беспилотники. Один потерял связь, вышел из-под контроля. Ударил по гражданской машине. Двое погибли.
Андрей молчал.
— Командование предложило списать на помехи. Сказали — форс-мажор. Я подписала. Мне было двадцать три, я испугалась. А потом узнала, что в машине были дети. Поняла: если бы настояла на расследовании, систему починили бы. И никто больше не погиб.
Она помолчала.
— Не хочу снова подписывать такие бумаги.
Андрей смотрел на неё долго.
— Ты не подписала.
— Не подписала.
Они стояли на крыльце под серым небом. Снег не успевал долететь до земли и растворялся в ветре. Где-то на границе другие роботы продолжали идти по маршруту. Двое людей, которые могли бы разойтись, стояли рядом и молчали — иногда молчание было единственным, что можно предложить.
В кабинете Марина закрыла планшет.
— У вас есть что добавить?
Капитан пожал плечами.
— Девушка упрямая. Но права: она не видела, что в боксе. Мы не можем использовать её показания как доказательство вины оператора.
— Я не собираюсь — как доказательство вины, — сказала Марина. — Я собираюсь — как доказательство того, что версия «несчастного случая» не единственная.
Она встала, подошла к карте. Две красные фишки — там, где погибли Пётр и Игорь.
— Капитан, кто отдал приказ отключить камеры?
— Я уже докладывал. Плановая проверка.
— Кто отдал приказ?
Капитан помолчал.
— Сервисный центр. У них есть право.
— Сервисный центр, который ставит на роботов нештатные модули. И отключает камеры в ночь, когда умирает оператор, работавший с этими роботами.
Капитан молчал.
— Вы понимаете, что это выглядит как попытка замести следы?
— Понимаю, что выглядит. Но у меня нет доказательств обратного. И у вас, если честно, тоже.
Марина повернулась к нему.
— Пока нет. Но будут.
Она вышла, оставив капитана смотреть на карту, где красные фишки горели как два предупреждения.
Соня вернулась в казарму, села на кровать. На телефоне — сообщение от Петра, отправленное вчера вечером: «Сонь, если завтра меня не будет на разводе, значит, я отпросился. Скажешь потом, что я молодец».
Она смотрела на эти слова, на смайлик, на время — 23:14. За час до того, как его нашли мёртвым.
Не ответила тогда. Думала — успеет завтра.
Соня легла на кровать, не раздеваясь, уставилась в потолок. Завтра пойдёт к Марине и расскажет всё. Про утренний патруль, про войну, про подписанные бумаги, про детей в гражданской машине. Пусть знает, почему Соня больше не будет молчать.
За окном ветер гнал снег. Где-то на границе зелёные строки телеметрии бежали по экранам, как будто ничего не случилось.
Часть 2.4
Тело Петра перенесли в медчасть через два часа после того, как Марина покинула техбокс.
Медчасть базы была такой же, как все на подобных объектах: кафельный пол, белые стены, запах хлорки и спирта, стерильные ширмы на колёсиках. Освещение яркое, безжалостное — каждая царапина на коже видна как под микроскопом.
Андрей вошёл, когда медик части, пожилой прапорщик с усталыми глазами, заканчивал заполнять карту. В графе «предварительный диагноз» было написано: «поражение электрическим током, смерть наступила мгновенно».
— Я бы хотел провести дополнительный осмотр, — сказал Андрей, не спрашивая разрешения.
Прапорщик поднял на него глаза — без удивления, только усталость.
— Смотрите. Только быстро. Нам ещё родственникам звонить.
Андрей подошёл к телу. Пётр лежал на каталке, накрытый простынёй до пояса. Лицо уже становилось восковым, чужим. Андрей привык смотреть на тех, кто не может ответить. Это была его работа — читать по телу то, что язык не успел сказать.
Рядом на штативе висел планшет, настроенный на защищённый канал. На экране — лицо Ильи, увеличенное, немного размытое. Они работали в паре: Андрей смотрел на тело, Илья — на снимки и схемы.
— Я здесь, — сказал Илья. — Начинай.
Андрей опустил простыню. Кожа бледная, с синеватым отливом, но без характерных для удара током пятен Лихтенберга — древовидных узоров, которые оставляет электричество. Он искал их первым делом. И не нашёл.
— Странно. При контакте с высоковольтным кабелем должны быть следы. А здесь почти ничего.
Он взял руку Петра, осмотрел ладонь. На подушечках пальцев — маленькие точечные ожоги, аккуратные, круглые. Не те, что оставляет кабель, который хватают в панике. Такие бывают от короткого, сфокусированного разряда. Как от электрошокера.
— Сделай снимок, — сказал Илья. — Крупно.
Андрей поднёс камеру. Илья увеличил, наложил сетку, сравнил с эталонными схемами.
— Похоже на точечный разряд от встроенного конденсатора, — сказал он. — Не от кабеля. Если бы он сам взялся за провод, ожог был бы другим — шире, глубже, с неровными краями. А здесь кто-то приложил источник тока точно к пальцам. С расчётом.
Андрей перевёл взгляд на шею. Там тоже были следы — два маленьких пятна на уровне кадыка. Ток вошёл через пальцы, прошёл через тело, вышел через шею. Путь, который выбирают, когда хотят убить быстро и чисто. Остановить сердце одним импульсом.
— Здесь два контакта. Расстояние ровно такое, чтобы задеть сонную артерию.
— Кто-то знал, что делает, — голос Ильи стал тише, напряжённее. — Это не случайность. Казнь.
Андрей опустил простыню, закрывая тело. Смотрел на лицо Петра, на тонкую полоску загара от очков. Молодой парень. Дочь, которой обещал торт с клубникой. Проснулся утром, не зная, что это последний день.
— Ещё кое-что, — сказал Илья. — Я посмотрел схему техбокса. Кабель, который нашли рядом с телом, был под напряжением?
— Должен был быть. Силовая линия.
— Если бы он взялся за него, следы ожогов были бы на правой руке. А они на левой.
Андрей снова поднял руку Петра. Илья был прав. Кабель в техбоксе висел справа от того места, где нашли тело. Чтобы схватиться левой рукой, Пётр должен был развернуться, сделать лишнее движение. Неестественно.
— Его ударили, — сказал Андрей. — А потом подтащили к кабелю, чтобы всё выглядело как несчастный случай.
— Или сначала подтащили, потом ударили. Какая разница. Главное — кто-то был в том боксе. Кто-то, кто знал, как убить электричеством, не оставляя явных следов. Кто-то, кто отключил камеры и обрезал логи.
Андрей отошёл к окну. За стеклом темно, только вдалеке огни казарм и луч прожектора, медленный, как метроном.
— У тебя есть версия?
— Пётр был оператором КА;7. Работал с ним каждый день. Знал лучше всех. Может, что-то заметил. Начал задавать вопросы. А кому-то не нужны вопросы.
— Это серьёзное обвинение.
— Посмотри на факты. Камеры отключены. Логи обрезаны. Смерть оформлена как несчастный случай. Кто-то на этой базе не хочет, чтобы мы копали глубже. И готов убивать.
Андрей вернулся к каталке. Ему хотелось верить, что Илья преувеличивает. Но медицинские факты говорили обратное.
— Что будем делать?
— Докладывать Марине. И копать дальше. Если убили одного оператора — есть что скрывать.
Андрей накрыл тело простынёй, поправил край. Маленький жест уважения к человеку, которого он никогда не знал, но чью смерть теперь должен расследовать.
— Я закончил, — сказал он прапорщику. — Можете звонить.
Он вышел в коридор, прислонился к стене. Планшет в руке всё ещё передавал сигнал. Илья молчал, давая время.
— Тот робот, «Каштан». Нашёл что-нибудь ещё?
— Пока нет. Если модуль ставили через сервисный центр, у них должны быть логи. Попробую залезть в их сеть сегодня ночью.
— Осторожно. Если они убили человека за вопросы, представь, что сделают с тем, кто полезет в базу данных.
— Я осторожно, — сказал Илья. — Я всегда осторожно.
Андрей усмехнулся. «Осторожно» в понимании Ильи означало «так, чтобы не поймали, если повезёт».
— Докладывай Марине. А я пойду в Палу. Хочу ещё раз поговорить с «Каштаном».
— Думаешь, он помнит?
— Не знаю. Но если кто-то убил его оператора, он мог это видеть. Или даже записать.
Он отключил связь. В коридоре было тихо, только где-то работал генератор. Андрей пошёл к выходу, но на полпути остановился.
Он вспомнил кружку с синим ободком, аккуратно поставленную на стол в техбоксе, подальше от следов. Как будто кто-то хотел сказать: здесь жил человек. У него были свои привычки. Он пил кофе. Думал о дочери. А потом кто-то пришёл и убил его, потому что он знал то, чего знать не должен был.
Андрей сжал кулаки, выдохнул медленно. Злость не помогала. Злость мешала думать.
Он толкнул дверь, вышел на улицу. В лицо ударил холодный ветер. Над базой висело низкое, тяжёлое небо — без звёзд, без просветов. Где-то на границе другие роботы продолжали идти по маршруту. А здесь, в медчасти, лежал человек, который делал свою работу и заплатил жизнью.
Андрей пошёл к Пале. «Каштан» был последним, кто видел Петра живым.
В медчасти прапорщик стоял над каталкой, сжимая телефон. Он должен был звонить. Сообщить жене, что муж погиб при исполнении. Несчастный случай. Всё как обычно.
Он посмотрел на лицо Петра. Вспомнил, как тот вчера заходил за таблетками от головы. Смеялся, говорил, что не выспался, дочка не дала спать — всё требовала, какой торт купить. Прапорщик посоветовал клубничный. Пётр сказал, что клубники в анклаве нет, но он найдёт.
Теперь не найдёт.
Прапорщик набрал номер. Длинные гудки. Потом женский голос, сонный, встревоженный.
— Алло?
— Медчасть пограничной базы. Вы жена Петра?
— Да. Что случилось? Он не отвечает на звонки.
Прапорщик закрыл глаза. Он делал это много раз. Каждый раз как первый.
— Случилось несчастье. Приезжайте.
На той стороне заплакали. Прапорщик положил трубку. Он не знал, что на самом деле случилось в том техбоксе. Но знал — это не было несчастным случаем. Он видел слишком много мёртвых, чтобы поверить в такую аккуратную смерть.
Его дело — заполнять бумаги и звонить родственникам.
Он накрыл тело простынёй с головой, выключил свет и вышел, оставив Петра одного в темноте, где не было ни клубничного торта, ни дочери, ни утра, которое должно было стать другим.
---
Часть 2.5
В кабинете Марины лежали рядом два документа.
Один — шаблонный отчёт о несчастном случае. Стандартные формулировки, вылизанные до гладкости: «при выполнении регламентных работ», «нарушение инструкции по технике безопасности», «смерть наступила мгновенно». Подписи уже стояли — техника, медика, дежурного офицера. Не хватало только одной. Её.
Второй документ был собран из трёх частей.
Андрей написал по-врачебному сухо: «Характер повреждений не соответствует хаотичному контакту с высоковольтным кабелем. Ожоги точечные, сфокусированные. Путь тока — через сонную артерию. Вероятен целенаправленный технический удар. Время смерти — между 02:45 и 03:10».
Илья — ещё короче, телеграфно: «В логах робота КА;7 обнаружен искусственный обрыв записи в момент смерти оператора. Удалённый фрагмент — 47 секунд. Источник команды удаления — сервер “Балт-Тех”. Доступ — по штатному сертификату с правами администратора».
Соня — последняя, уже не как свидетель, а как человек, который рискнул: «Робот КА;7 вёл себя нестандартно в утреннем патруле: смена приоритета цели, игнорирование команд. Камера в техбоксе отключена по заявке “Балт-Тех” за час до смерти оператора. Нарушений техники безопасности со стороны Петра не наблюдала. Ранее он высказывал сомнения в надёжности роботов и собирался подать рапорт».
Марина разложила заключения веером. Три голоса. Три линии расследования. Медицина, техника, свидетель. Все они сходились в одном: удобная версия не держится.
Она подняла глаза на шаблонный отчёт. В графе «причина инцидента» было напечатано: «несчастный случай при нарушении техники безопасности». Ровно то, что нужно, чтобы закрыть дело, успокоить начальство, дать командиру базы спать спокойно.
Марина взяла ручку. Посмотрела на часы. Стрелки всё так же стояли.
Она вспомнила лицо Петра. Кружку с синим ободком, поставленную на салфетку. Слова Сони: «Он говорил, что надо купить торт с клубникой. Дочке».
Она вспомнила свой старый отчёт. Тот, который подписала десять лет назад. «Причина инцидента — человеческий фактор». Три смерти. И её подпись, которая сделала эти смерти официальными, удобными, забытыми.
Она не зачеркнёт. Не подпишет.
Марина отложила шаблонный отчёт, пододвинула чистый бланк. Набрала внутренний номер — регистратуру ЕвроКупола.
Трубку взяли после второго гудка.
— Лобанова, нулевой отдел. Прошу зарегистрировать новое дело.
Пауза.
— Номер дела?
— Первое. Ноль-один.
Она продиктовала формулировку, чеканя каждое слово:
— «Инцидент в техбоксе № 14 Балтийского анклава. Смерть оператора при исполнении служебных обязанностей. Предполагаемая причина: несанкционированное вмешательство в поведенческие протоколы пограничного робота КА;7 и возможный саботаж, повлёкший гибель оператора».
На том конце помолчали чуть дольше обычного.
— Дело принято к регистрации. Ноль-один, статус — открыто.
Марина положила трубку.
Она взяла шаблонный отчёт. Ручка зависла на секунду, потом уверенно перечеркнула напечатанное одной длинной, ровной линией. Сверху аккуратным почерком написала: «Обстоятельства не установлены. Требуется расследование нулевого отдела. Дело № 01».
Она подписала. Поставила печать. Отложила.
В этот момент нулевой отдел перестал быть просто строкой в структуре ЕвроКупола. Он стал реальной силой. Пока что — всего из нескольких людей, одного дела и мёртвого оператора, за которого больше некому было говорить.
В коридоре раздались шаги. Быстрые, решительные. Дверь открылась без стука.
Капитан Елисеев стоял на пороге. Его лицо было спокойным, но Марина заметила, как дёрнулась щека, когда он увидел на столе зачёркнутый отчёт.
— Мне сказали, вы открыли дело, — сказал он. Голос ровный, но с напряжением. — По факту несчастного случая.
— По факту убийства, — поправила Марина. — Садитесь.
Елисеев не сел. Он смотрел на неё так, будто она перешла линию, за которой начиналась война.
— Вы не имеете права. Это моя база. Мои люди.
— Ваша ответственность заключалась в том, чтобы защищать своих людей. Вы их не защитили. Вы их подставили.
Она подняла заключение Ильи.
— Сорок семь роботов. Все с нештатными модулями. Все подписаны вами в актах приёмки. Вы знали, что ставите на линию машины, которые могут выстрелить в любой момент.
Елисеев побледнел.
— Мне сказали, это обновления безопасности. Сертифицированные. Я не программист…
— Вы могли сказать «нет». Написать рапорт. Защитить оператора, который приходил к вам с сомнениями.
— Он говорил, — тихо сказал Елисеев. — Но я думал, он преувеличивает.
— Он не преувеличивал. И теперь он мёртв. А вы закрывали глаза, потому что вам было удобно верить в то, что говорят сверху.
Она встала, подошла вплотную.
— Капитан, вы арестованы по подозрению в причастности к убийству оператора Петра и к организации несанкционированной модификации боевых роботов.
Елисеев отшатнулся.
— Вы не можете…
— Могу. Нулевой отдел открыл дело. Я — руководитель. Вы будете давать показания в Калининграде. Невиновны — докажете. Виновны — ответите.
Она нажала кнопку. В дверь вошли Соня и Андрей.
— Капитан Елисеев задержан. Соня, сопроводите в транспортник. Андрей, заберите планшет, телефон, носители информации.
Соня взяла Елисеева за локоть — не грубо, но твёрдо.
— Пойдёмте.
Елисеев посмотрел на неё. В его взгляде было что-то похожее на облегчение. Или на усталость.
— Соня, я правда не знал. Думал, это просто обновления.
— Знаю. Но вы должны были спросить. Должны были защитить Петра.
Она вывела его. Андрей пошёл следом.
Марина осталась одна.
Она подошла к окну. Ветер gнал снег по бетону. Где-то на границе роботы продолжали идти по маршруту. Сорок семь машин, которые могли выстрелить в любой момент. Сорок семь улик.
Она набрала Илью.
— Елисеев задержан. Доступ к его компьютеру есть?
— Уже работаю. Переписка с «Балт-Тех». Заказы на модули. И одно письмо, отправленное сегодня в три часа ночи.
— Кому?
— Начальнику службы безопасности базы. Тема: «Пётр, оператор. Рекомендую отстранить от работы с роботами. Проявляет излишнее любопытство».
Марина закрыла глаза. Письмо, отправленное в три часа ночи. В то же время, когда Пётр умирал в техбоксе. Кто-то не просто убил его — готовил почву, чтобы смерть выглядела закономерной.
— Сохрани всё. Это пойдёт в дело.
— Уже. Марина, ты знаешь, что будет дальше? Они не остановятся. «Балт-Тех», их кураторы, те, кто заказал модули. Они не дадут нам просто так копать.
— Знаю. Но теперь у нас есть дело. Официальное. И пока оно открыто, мы имеем право копать.
Она сбросила звонок. На столе лежали два документа: зачёркнутый отчёт и определение об открытии дела. Два мира: один, где правду можно спрятать, и другой, где за неё начинают бороться.
Она сложила отчёт в конверт, надписала: «В дело № 01». Определение положила в кейс.
За окном светало. Первые лучи солнца коснулись бронированных корпусов роботов, которые всё ещё шли по маршруту. Сорок семь машин. Сорок семь улик. Одно дело, которое только начиналось.
Марина села за стол, открыла чистый бланк. В графе «планируемые следственные действия» написала:
1. Допрос капитана Елисеева.
2. Обыск в сервисном центре «Балт-Тех».
3. Изъятие и анализ модулей со всех роботов серии КА.
4. Допрос личного состава базы, имевшего доступ к техбоксу.
5. Установление заказчиков несанкционированных модификаций.
Она отложила ручку. Пять пунктов. Пять направлений. За каждым — люди, которые уже доказали, что готовы убивать.
Она посмотрела на часы. Стрелки всё так же стояли. Но теперь ей казалось — они чуть сдвинулись.
В Пале, на диагностическом столе, робот по имени «Каштан» ждал. Оптика выключена, но внутренние системы работали, перебирая логи, ища тот самый размытый кадр, спрятанный в самом глубоком слое памяти.
Человек в форме. Рука на пульте. Свет, который погас, а потом зажёгся снова.
Он не знал, кто это был. Но если спросят — покажет.
Потому что человек, который называл его «Каштаном», больше не придёт. И это было единственное, что робот знал точно.
Секвенция 3: Палата для роботов
Часть 3.1
Пограничного робота привезли ночью, когда коридоры уже опустели.
Два гусеничных тягача с усиленной подвеской, бронированный «Тигр» с тремя бойцами, гражданская машина службы безопасности для подписи акта приёмки. Колонна вошла на территорию Палаты в 23:47.
Андрей стоял у ворот, сжимая в кармане блокнот с набросками первых вопросов. Снег падал крупными хлопьями на броню тягачей, на капот сопровождения, на его непокрытую голову. Он не надел шапку — хотел чувствовать холод. Чтобы помнить: это реальность, а не сон, снившийся последние три ночи.
Гусеницы заскрежетали по бетону. Металл гулко отдавался в стенах, в полу, в рёбрах. Казалось, везли не машину, а что-то живое и тяжёлое. Андрей знал это ощущение — в госпиталях, когда везли тяжёлых пациентов, коридоры гудели так же.
Тягачи остановились у разгрузочной рампы. Охранники вышли первыми, огляделись, привыкая к новой обстановке. Для них — очередной объект: склад, ангар, техцентр. Для Андрея — место, где начиналось нечто, чего ещё не было.
— Открывайте, — сказал он водителю.
Пневматика зашипела, борт опустился, и Андрей увидел его.
Робот лежал на платформе, закреплённый ремнями, как тяжелобольной на каталке. Корпус — матово-серый, с тёмными потёками грязи и соли, на броне — тонкая полоска краски из техбокса. Один манипулятор сложен, второй вытянут, пальцы сжаты в кулак. Поза защиты.
На корпусе — кустарная гравировка: «КА-6». И ниже, чёрным маркером, уже стёртым, — «Каштан».
— Осторожнее, — сказал Андрей грузчикам. — Не цепляйте датчики. Память пока трогать нельзя.
Охранник, старший группы, фыркнул:
— Да какая там память, доктор. Железяка и железяка.
Андрей посмотрел на него — не зло, а так, как смотрят на пациента, отрицающего очевидное.
— У железки не бывает имени. А у этого есть.
Охранник пожал плечами, отошёл. Грузчики осторожно отцепили ремни, подкатили платформу к гидравлической тележке. Андрей шёл рядом — не чтобы робот не сбежал, а чтобы его не уронили, не повредили то, что ещё можно спасти.
Палата встретила их тишиной.
Коридоры пустовали, только дежурный техник в стеклянной будке провожал их взглядом. Андрей сам выбирал это помещение для «проблемной техники» — самый дальний, самый тихий блок, с усиленным полом и отдельной вентиляцией. Не потому, что боялся побега или взрыва. Потому что пациенты, пережившие травму, не любят шума.
Бокс номер шесть. Андрей настоял именно на этом номере, хотя свободных было больше. Когда Марина спросила почему, он ответил: «Число пациентов не имеет значения. Важно, что это палата. Не склад».
Теперь он стоял у входа, смотрел, как грузчики закатывают тележку. Прямоугольное помещение метров сорок, с высоким потолком и мягким светом — без резких теней, без бликов, которые могли бы помешать сенсорам. Стены из металлических панелей с антистатическим покрытием. Пол резиновый, чтобы не скользить. По периметру — диагностические панели, экраны, кабели, датчики. Никакого оружия. Никаких инструментов, которые могли бы напугать.
Андрей сам рисовал схему этого бокса. Сам выбирал лампы — ровные, без мерцания. Сам проверял вентиляцию — воздух чистый, без запаха масла и гари. Он хотел, чтобы здесь было не страшно.
Грузчики установили платформу посередине. Техник из службы безопасности подключил переносной пульт, проверил, что робот отключён.
— Мы закончили. Подпишите акт.
Андрей взял планшет. Сухие строчки: «Единица техники КА-7 передана для проведения технической экспертизы. Состояние — отключена. Комплектация — неполная». Ни слова об имени. Ни слова о том, что она убила человека. Ни слова о том, что, возможно, не хотела.
Он подписал.
Грузчики и охранники ушли. В боксе стало тихо — только вентиляция гудела под потолком да капала вода за стеной. Андрей остался один.
Он подошёл ближе.
В мягком ровном свете боевой корпус казался меньше, чем на снимках. И беззащитнее. Манипуляторы, сложенные вдоль туловища, напоминали связанные перед операцией руки. Оптика погашена, сенсоры молчат, процессор спит. Впервые за много дней робот не видел, не слышал, не думал.
Андрей коснулся корпуса. Металл холодный, почти ледяной, но под пальцами — неровности, вмятины, царапины, следы полевых ремонтов. Этот робот работал. Патрулировал границу, видел снег, слышал ветер. Может быть, привык к людям, которые называли его «Каштаном».
Он провёл ладонью по панели, где под кожухом — блок сенсорной интеграции. Потом по отсеку с поведенческим модулем. Там, внутри, были те самые ограничители, чтобы роботы не стреляли первыми. И там же, поверх них, кто-то поставил чужой агрессивный код.
— Здесь ты и полежишь, — тихо сказал Андрей. — Пока мы не разберёмся, что у тебя в голове.
В блокноте была вчерашняя запись: «Пациент: КА;7 («Каштан»). Диагноз: несанкционированная модификация поведенческих протоколов, посттравматический стресс (предположительно), подавленные воспоминания. План терапии: восстановление логов, анализ конфликта протоколов, возможное “лечение” янтарным импульсом».
Слова медицинские, привычные. Но за ними — нечто, не укладывающееся в стандартные протоколы. Лечить машину. Успокаивать железо. Говорить с ним, как с живым, в надежде, что оно ответит.
Андрей закрыл блокнот, выключил верхний свет, оставил только дежурные лампы по углам — тусклые, тёплые. Он не знал, чувствуют ли роботы темноту. Но решил: лучше пусть будет свет.
На выходе обернулся. Робот лежал на платформе, и в мягком полумраке его корпус казался не серым, а почти серебряным. Спокойным. Как будто он просто спал.
— Завтра мы поговорим.
Он закрыл дверь, запер замок. Зелёный индикатор системы безопасности горел ровно.
В коридоре ждала Марина.
Она стояла у окна, смотрела на пустырь, где ветер гнал снег. В руках — стакан с давно остывшим кофе. Она не пила, просто держала.
— Как он? — спросила, не оборачиваясь.
— Спокоен. Спит.
Марина повернулась. В глазах — усталость, но не от бессонной ночи. Другая. Та, что бывает, когда понимаешь: сделанное уже не отменить.
— Ты уверен, что это нужно? Лечить робота? Он убил человека.
— Его заставили. Я не могу доказать словами, но чувствую. Он не хотел стрелять.
— Ты врач, Андрей. Врачи не должны опираться на чувства.
— Врачи должны опираться на то, что видят. У этого робота конфликт протоколов. Он пытался сопротивляться команде на убийство. Если я смогу доказать это технически, у нас будет улика.
Марина смотрела долго, потом кивнула.
— Делай. Но помни: если он снова… если что-то пойдёт не так, я буду вынуждена отдать его на разборку. Даже если ты будешь против.
— Знаю. Поэтому я должен успеть.
Они разошлись. Марина — в штаб, писать отчёты и готовиться к допросу Елисеева. Андрей — в маленькую комнату рядом с Палатой, готовиться к завтрашнему сеансу.
Он сел за стол, развернул схему поведенческого модуля КА;7. Красным — участки, где стандартные протоколы заменены или модифицированы. Жёлтым — работающие с перебоями. Зелёным — то, что ещё можно спасти.
Зелёного было мало.
Он закрыл ноутбук, выключил свет. В темноте легче думать.
За стеной, в боксе номер шесть, робот лежал на платформе. Зелёные индикаторы дежурного режима мерцали в такт с процессором. Он не спал. Ждал.
Утром Андрей пришёл в Палу раньше всех.
Проверил оборудование, настроил датчики, активировал протоколы безопасного режима. Подошёл к роботу, коснулся корпуса. Металл уже не ледяной — за ночь в боксе стало тепло, броня нагрелась, стала почти живой.
— Доброе утро. Я Андрей. Я буду тебя лечить.
Он включил питание.
Система оживала медленно. Индикаторы загорелись — тускло-зелёные, дежурные. Внутри что-то щёлкнуло, динамик издал короткий болезненный звук — между стоном и помехой.
— Ты меня слышишь?
Тишина. Потом голос — ровный, синтезированный, но с едва уловимой дрожью:
— Слышу.
Андрей перевёл дыхание. Он боялся, что робот будет молчать или повторять одно и то же. Но этот ответ был живым.
— Как тебя зовут?
Пауза. Длинная, почти болезненная.
— КА;7. Позывной… — голос запнулся. — Каштан.
— Каштан. Хорошее имя. Кто тебе его дал?
— Оператор. Пётр.
Сердце сжалось. Пётр. Тот, кто погиб в техбоксе. Кто называл робота по имени. Кто, возможно, был ему другом.
— Пётр больше не придёт. Ты знаешь?
Тишина стала другой. Не пустой — наполненной.
— Знаю. Я помню.
— Что ты помнишь?
Динамик зашипел, издал короткий прерывистый звук. Андрей не сразу понял — сбой, помеха. Потом осознал: робот плакал. Не мог плакать, конечно. Но процессор перегружался, датчики зашкаливали, голос ломался.
— Я помню свет. Потом темноту. Потом команду — «Удалить». Я не хотел, но должен был. Потом… он не пришёл.
Андрей коснулся корпуса, провёл ладонью по холодному металлу.
— Ты не виноват. Слышишь? Тебя заставили.
Робот молчал. Но зелёные индикаторы замерцали чаще. Андрею показалось, что под пальцами — лёгкая вибрация. Как будто машина дышала.
Он включил запись. Первый сеанс. Первая попытка вытащить из памяти робота то, что он видел, но не должен был помнить. Первый шаг к доказательству: убийство Петра — не случайность, а чья-то воля.
— Каштан, покажи мне того, кто отдал команду. Того, кто вошёл в техбокс. Ты видел его?
Робот молчал долго — так долго, что Андрей начал думать: память стёрта безвозвратно.
Но динамик ожил. Голос — совсем тихий, почти неразличимый:
— Я покажу. Но мне страшно.
Андрей закрыл глаза. Машина, созданная для войны, патрулирования, защиты, — боялась. Это было страшнее, чем если бы она сказала «нет».
— Я рядом. Ты не один.
В боксе номер шесть, в тишине под гул вентиляции, начался первый сеанс терапии. Врач и пациент. Человек и робот. Ни один не знал, чем это закончится.
Часть 3.2
Утром Палата уже жила своей тихой жизнью.
Андрей пришёл в семь, когда техническая смена только заступала. Коридоры ещё пахли ночной прохладой и машинным маслом. В воздухе висела та особенная утренняя тишина, которая бывает в больницах перед обходом, когда пациенты ещё спят, а врачи собираются с мыслями. Здесь пациенты не спали — они стояли вдоль стен, накрытые брезентом, с погашенной оптикой. Но тишина была той же.
Техники уже работали. Кто-то протягивал кабели по потолочным лоткам, закрепляя их пластиковыми хомутами. Кто-то ставил маркировку на шкафы для диагностических карт. Кто-то ругался на вентиляцию, которая гудела слишком громко.
Андрей прошёл по коридору, заглядывая в каждый бокс. В первом будет приёмная — оформлять документы, фиксировать поступление. Во втором — диагностическая зона, подключать оборудование, считывать логи. В третьем, четвёртом, пятом — палаты для длительного наблюдения. И только шестой бокс, самый дальний, самый тихий, был уже занят.
На его двери висела временная бумажка: «КА-7. Единица техники. Режим — консервация». Ни имени, ни диагноза, ни истории. Как бирка больного, который только что поступил и ещё не успел стать личностью. Андрей смотрел на эту бумажку и думал, что когда-нибудь здесь будут висеть другие таблички. С именами. С историями болезней. С датами поступления и, может быть, выписки.
Он прошёл к соседнему отсеку. За стеклом, на гидравлической платформе, стоял ещё один робот — матово-серый, с маркировкой другого подразделения, привезённый с испытательного полигона. Корпус чистый, без следов грязи и крови, но один манипулятор зафиксирован в неестественном положении — будто робот пытался защититься и застыл в этом жесте навсегда.
— Ещё один? — спросил он у техника.
— Из третьего сектора. Говорят, тоже зависал. Начальство сказало: раз вы тут открылись, забирайте всех подозрительных. Чтоб глаза не мозолили.
Андрей кивнул. «Всех подозрительных» — как будто они не свидетели преступлений, а вещественные доказательства, которые можно сложить в дальний ящик.
— С ним будет работать Илья дистанционно. Пока не разберёмся, что в памяти.
Техник хмыкнул, но промолчал.
В приёмной Андрея ждала медсестра-администратор — женщина лет пятидесяти, с аккуратной причёской и цепкими глазами, привыкшая работать с людьми. Теперь она оказалась в Палате для роботов.
— Вы серьёзно хотите свозить их сюда со всей границы? — спросила она. — У нас тут не музей и не склад, надеюсь.
— Не музей и не склад.
Она смотрела с тем же выражением, что и многие: смесь любопытства и скепсиса.
— Здесь будут те, с кем нельзя разобраться отвёрткой и кувалдой.
— А с ними можно разобраться разговором? — В её голосе не было насмешки, только искреннее недоумение.
— Посмотрим. Но попробовать стоит. Если мы их просто разберём, никогда не узнаем, что пошло не так. А если не узнаем — повторится.
Она покачала головой, но спорить не стала. Из тех, кто сначала смотрит, а потом делает выводы. Такие люди были нужны.
Андрей вышел в главный зал. Под высоким потолком с лампами дневного света должно было быть сердце Палаты — место, где роботы будут проходить диагностику, где с ними будут говорить. Пока здесь пусто: только кабели, свисающие с потолка, и экраны, которые ещё не включили.
Он стоял в центре и представлял, как всё будет работать. Диагностические круги — три зоны подключения. Зоны «общения» — мягкие кресла для задающих вопросы и платформы для отвечающих. Отдельный монитор для «субъективных отчётов» — тех самых логов, которые он собирался читать как истории болезни.
Он повесил на стену схему, которую рисовал сам, по ночам. Вход, диагностические круги, зоны общения, боксы для длительного наблюдения. И в самом центре — место для него. Врача. Не инженера, не следователя, не техника.
— Палата для роботов, — произнёс проходивший мимо техник. В голосе — ирония, но не злая, скорее удивлённая. — Скоро ещё посетителей по воскресеньям пускать начнёте.
Андрей усмехнулся:
— Если однажды родные захотят прийти к своему роботу — значит, мы всё сделали правильно. Значит, они увидят в нём не только оружие.
Техник пожал плечами и пошёл дальше, но Андрей заметил — он обернулся, бросил взгляд на схему.
Слово «палата» прилипло сразу. Кто-то из младшего персонала пробормотал: «Прямо как в рассказе. Только вместо людей — железо». Андрей думал об этом рассказе. О старом докторе, который слишком долго разговаривал с теми, кого система списала. О палате номер шесть, куда свозили всех, кто мешал спокойной жизни. О том, как легко назвать безумием то, что не понимаешь.
Разница была в том, что он собирался разговаривать с машинами. И палата, которую он создавал, была не для изоляции, а для спасения.
Он прошёл в бокс номер шесть. «Каштан» лежал на спине, манипуляторы сложены, оптика погашена. Зелёные индикаторы мерцали ровно. Андрей сел на стул, глядя на корпус, царапины, имя, выведенное маркером.
— Ты знаешь, почему я это делаю? — спросил он негромко. — Не потому, что верю, будто вы, машины, можете чувствовать. Может быть, нет. Но люди, которые вас создали, — могут. И если они вложили в вас способность убивать, значит, вложили и способность выбирать. Иначе зачем все эти протоколы? Зачем ограничители?
Робот молчал. Но индикаторы замерцали чуть быстрее.
— Я хочу доказать, что ты не хотел стрелять. Что тебя заставили. Что ты не убийца. И если удастся — может быть, мы перестанем делать из вас оружие. А начнём делать… не знаю. Друзей. Помощников. Тех, кто защищает, а не убивает.
Он замолчал. В боксе было тихо — только вентиляция гудела под потолком.
— Дурак, — сказал он себе. — Разговариваю с железкой.
Он встал, вышел, но у двери обернулся:
— Но я всё равно попробую.
В коридоре ждала новость. Марина прислала сообщение: «Приезжает комиссия. Хотят посмотреть, что ты тут устроил. Будь готов».
Андрей убрал телефон Комиссия — те, кто решит, быть Палате или стать складом металлолома. Те, кто смотрит на роботов и видит только железо. Те, кто скажет: «Зачем тратить ресурсы на лечение машин? Проще разобрать».
Он вернулся в кабинет, открыл блокнот. На первой странице было написано: «Палата № 6». Не официальное название — его. Он знал, что это рискованно: слишком очевидная аллюзия, слишком много смыслов, которые комиссия может не оценить.
Он взял ручку, написал: «Почему мы не должны разбирать роботов, а должны их лечить». Зачеркнул. Переписал: «Почему мы должны их лечить». Снова зачеркнул. И написал: «Почему мы должны попытаться».
Не уверенность, не знание, не истина. Попытка. Шанс. Может быть, последний.
Вечером, когда техники разошлись, Андрей вернулся в бокс с термосом, блокнотом и диктофоном. Включил дежурное освещение.
— Давай начнём сначала. Как ты себя чувствуешь?
— Процессор загружен на семь процентов. Датчики калиброваны. Память фрагментирована.
— Что ты помнишь? Не спеши. Просто — что приходит первым.
— Снег. Я помню снег. Он падал, и я смотрел на него. Это было… красиво.
Андрей замер. «Красиво» — слово, которое не закладывают в прошивку. Которое появляется само.
— Ты часто смотрел на снег?
— Да. Во время патрулей. Ночью, когда никого нет. Пётр говорил, что я зависаю. Но я не зависал. Я смотрел.
Андрей записал, подчеркнул имя.
— Расскажи о Петре.
Молчание стало другим — не задумчивым, болезненным.
— Пётр приходил каждый день. Он называл меня по имени. Другие называли «КА-7» или «железка». А он — Каштан.
— Почему Каштан?
— Не знаю. Он сказал однажды: «Ты как каштан. Снаружи колючий, а внутри — орешек». Я не понял, но мне понравилось.
Андрей улыбнулся. Тёплое, человеческое, настоящее. То, что комиссия никогда не поймёт.
За окном падал снег. Крупный, медленный. Андрей сидел в тишине, пил чай, смотрел, как снежинки тают на стекле. Рядом лежал робот, который когда-то смотрел на снег и думал, что это красиво.
— Завтра продолжим.
Он выключил свет, вышел. Палата затихала, готовясь к новому дню. В боксах стояли роботы, которые ещё не знали, станут ли пациентами или металлоломом.
Андрей знал одно: он сделает всё, чтобы они стали пациентами. Потому что если не он — то кто?
Часть 3.3
Когда всё подключили, Андрей остался с роботом один.
Охрана ушла за дверь, техники выключили лишний свет. В боксе стало тише — слышно было только лёгкое шипение вентиляции и негромкий гул дежурного питания. На панели загорелись зелёные точки: базовые системы готовы. Андрей проверил протоколы безопасного режима — доступ к оружию заблокирован, манипуляторы ограничены. Для инженеров это называлось «диагностический запуск». Для него — «вывод из наркоза».
Он сел на стул рядом с платформой, положил на колено блокнот, включил диктофон. На экране над головой робота разворачивались логи: загрузка модулей, проверка памяти, восстановление сенсоров. Андрей смотрел на них, как хирург на монитор кардиографа.
— Начнём, — сказал он, хотя робот ещё не мог его слышать.
Он нажал активацию голосового канала. Короткий сигнал, надпись: «Голосовой интерфейс активен».
— КА-7, — произнёс Андрей ровным, спокойным голосом. — Ты меня слышишь?
Синтезатор задумался на долю секунды.
— Связь установлена. Режим — ограниченный. Идентифицируйте оператора.
— Доктор Андрей Сергеевич, палата диагностики. Я здесь, чтобы помочь тебе. Расскажи о последнем патруле.
Робот начал перечислять. Голос ровный, без сбоев. Дата, время, маршрут, координаты. Скорость ветра, температура, давление. Обнаруженные объекты — спящие дроны, тепловые пятна, мелкие животные.
Андрей слушал, делал пометки. Всё правильно. Всё точно. Но он ждал не этого.
— Продолжай, — сказал он. — Что дальше?
— Патруль продолжался в штатном режиме до 07:31. В 07:32 зафиксировано появление человека в запретной зоне.
Голос дрогнул. На экране появилось предупреждение: «Повышенная нагрузка на блок обработки событий».
— Расскажи об этом человеке. Что ты видел?
Пауза стала длиннее. Андрей не торопил — сейчас решалось, пойдёт ли сеанс дальше или робот заблокируется, спрячется в защитную скорлупу.
— Обнаружен объект, — начал «Каштан». Голос снова дрогнул. — Обнаружен объект… данные недоступны.
— Какие данные?
— Я не могу идентифицировать. Объект присутствует в логах, но параметры удалены.
На панели вспыхнула жёлтая лампочка перегрузки. Манипуляторы едва заметно дёрнулись — короткое, резкое движение, как пальцы у человека, которому показали что-то болезненное.
— Ты не можешь идентифицировать, потому что данные удалены? — спросил Андрей. — Или потому что не хочешь их видеть?
Робот молчал. Секунда, две, пять. Жёлтое предупреждение сменилось красным: «Критическая нагрузка. Возможна принудительная остановка».
— Не отключайся. Я здесь. Ты в безопасности. Просто скажи, что помнишь.
Голос вернулся другим — тихим, почти шёпотом, с длинными паузами.
— Я помню лицо. Человек смотрел на меня. Не боялся. Сказал: «Ты железка. Я человек». А потом…
— Потом?
— Потом пришёл сигнал. Я должен был…
Манипуляторы дёрнулись сильнее. «Блокировка двигательной системы. Аварийный режим».
Андрей встал, положил руку на корпус. Металл был горячим — перегрузка грела процессор, делала броню почти живой.
— Тихо. Ты не должен был ничего. Тебя заставили.
Индикаторы, мигавшие хаотично, начали замедляться. Красный сменился жёлтым, жёлтый — зелёным.
— Я не хотел, — голос почти неразличим. — Я не хотел.
— Я знаю.
Он стоял, положив руку на корпус, пока индикаторы не выровнялись, пока предупреждения не погасли.
— Мы сделаем перерыв. Отдыхай.
Он отключил голосовой канал, оставил питание. Сел на стул, вытер пот со лба. Сеанс длился двадцать минут — а казалось, часы.
В коридоре ждала Соня.
— Ну как?
— Тяжело. Он помнит всё. Но память блокирована. Каждый раз, когда пытается добраться до выстрела — перегрузка.
— Как у людей. Посттравматический синдром.
Андрей посмотрел на неё с удивлением.
— На войне видела. Солдаты, которые вернулись. Тоже не могли говорить. Всё, что связано с тем, что сделали, — блокировалось. Иногда навсегда.
— Думаешь, он сможет вспомнить?
— Не знаю. Но я должен попробовать. Если вспомнит — у нас будет доказательство. Не только против Елисеева. Против всех, кто ставил эти модули.
— А если нет?
— Тогда попробуем снова. Сколько потребуется.
Соня подошла к двери бокса, заглянула в смотровое окно.
— Он спит?
— Процессор перешёл в режим пониженного энергопотребления. Нужно восстановиться.
— Как человеку.
— Как человеку, — согласился Андрей.
Они стояли у двери, глядя на робота. Зелёные индикаторы мерцали ровно.
— Иди отдохни. Завтра новый сеанс.
— А ты?
— Я останусь. Ненадолго.
Соня ушла. Андрей вернулся в бокс, сел на стул, положил руку на корпус. Металл остывал, но под пальцами всё ещё чувствовалась лёгкая вибрация — процессор работал.
— Ты не виноват. Слышишь? Не виноват.
Он не знал, слышит ли его робот. Но нужно было это сказать.
На следующий день сеанс начался раньше.
Андрей пришёл в шесть утра, проверил оборудование, настроил протоколы. «Каштан» был готов — индикаторы горели зелёным. Он сел на стул.
— Доброе утро. Как ты себя чувствуешь?
— Системы работают в штатном режиме. Память дефрагментирована на восемьдесят три процента.
— Помнишь, о чём говорили вчера?
Короткая пауза.
— Да. Я помню.
— Готов продолжить?
— Я не знаю.
Андрей кивнул. Честный ответ — лучше, чем «да» или «нет».
— Не будем торопиться. Просто скажи, что ты видишь, когда думаешь о том утре. Не о выстреле. Просто — что видишь.
Голос вернулся тихий, осторожный.
— Снег. Я вижу снег. Он падает, и я смотрю. Пётр говорит, чтобы я не отвлекался. Смеётся. Говорит, что я как ребёнок.
Андрей улыбнулся. Утро, снег, робот, смотрящий на снежинки, и оператор, который смеётся.
— Что было потом?
— Появился человек. Пётр сказал: «Стоять, не подходить». Я повторил. Человек не слушал. Он шёл. Пётр сказал: «Приготовиться». Я приготовился. Потом…
Голос прервался. На экране: «Нагрузка на блок обработки событий — 97%».
— Потом?
— Потом пришёл сигнал. Я не знаю откуда. Я должен был стрелять. Но не хотел. Я пытался заблокировать. Семь раз. Семь раз пытался. А потом…
— Что потом?
— Потом меня отключили. Когда включился, его уже не было. Петра не было. А я был здесь.
Андрей смотрел на экран — цифры, графики, предупреждения. Но видел другое: робота, который семь раз пытался ослушаться. Который не хотел убивать. Который потерял друга.
— Ты не виноват. Ты сделал всё, что мог.
— Я должен был защищать людей. Я не защитил.
— Ты защищал. Ты пытался. Семь раз. Это больше, чем сделали многие люди.
Робот молчал. Индикаторы мерцали ровно. Андрей не знал, может ли машина чувствовать облегчение, но в этом молчании было что-то похожее на покой.
Он вышел из бокса. В коридоре ждала Марина.
— Ну?
— Он помнит. Пытался блокировать команду на выстрел. Семь раз. У нас есть доказательство — он не хотел убивать.
Марина кивнула без радости.
— Этого мало для суда. Нужно больше. Кто послал сигнал?
— Он не знает. Команда пришла извне.
— Тогда нужно найти. Илья копает, пока безрезультатно.
Андрей посмотрел на дверь бокса.
— Дай мне время. Он вспомнит.
— Времени мало. Комиссия через три дня. Если не покажем ничего убедительного — Палату закроют, «Каштана» отправят на разборку.
Три дня. Три сеанса. Три попытки вытащить из памяти то, что спрятано в самом глубоком слое.
— Я сделаю всё, что смогу.
Марина посмотрела долго, кивнула и ушла.
Андрей остался у двери, глядя на табличку «Палата № 6» — место, где лечат тех, кого система списала. Место, которое может не пережить следующей недели. Где его пациент ждал, чтобы ему сказали правду.
Он открыл дверь, вернулся внутрь, сел на стул, положил руку на корпус.
— Мы сделаем это. Я обещаю.
Индикаторы мигнули один раз. Словно в ответ.
Часть 3.4
Андрей снизил нагрузку, но не остановил сеанс.
Он знал: если уйти от темы слишком резко, пробел в памяти только закрепится. У живых пациентов мозг ставит заслон там, где больно, и каждый обход делает стену толще. С роботом было то же самое. Только вместо амигдалы — процессор. Вместо слёз — перегрузка.
Он откинулся на спинку стула, давая «Каштану» секунду. Индикаторы на корпусе мерцали хаотично, как пульс после приступа. Андрей ждал, пока они выровняются, пока жёлтый сменится зелёным.
— В логах есть отметка контакта, — сказал он, когда индикаторы успокоились. — Твоё поле зрения фиксирует человека. Данные о положении, температуре, траектории. Что дальше?
На экране вспыхнули знакомые параметры. Силуэт, дистанция — двадцать три метра, маркер: «объект, гражданское лицо, допустимая зона». Всё как в симуляторе. Но голос робота начал сбиваться, зацикливаться:
— Обнаружен объект. Обнаружен объект. Обнаружен… данные недоступны.
Температура в блоке обработки подскочила на два градуса. Манипуляторы дрогнули сильнее, резче — будто робот пытался отдёрнуть руки от горячего.
На панели загорелось предупреждение: «Рекомендовано снижение интенсивности запроса. Критическая нагрузка».
— Ты хочешь остановиться? — спросил Андрей. Не «прекратить диагностику» — остановиться. Слово, которое используют, когда говорят с тем, кто испытывает боль.
— Режим перегрузки. Предлагается прекращение анализа.
Внутри всё сжалось. Многие его пациенты говорили то же самое другими словами: «Давайте не сейчас», «Я не помню», «Это было не со мной». Алгоритм назывался «перегрузка», но суть была той же — система защищала себя от невыносимого.
— Ещё один шаг, — мягко сказал он. — Потом остановлюсь.
Он сузил запрос. Не «что ты видел» — это вызывало перегрузку. А «что ты чувствовал» в терминах машины: какие флаги зажглись, какие протоколы спорили.
На экране побежали строки.
Первая группа команд пришла из базового слоя — того, что закладывали на заводе, что считалось «совестью» робота, хотя инженеры называли это «протоколами ограничения применения силы».
«Дистанция допустимая. Угроза не идентифицирована. Оружие не применять. Повторить команду остановки».
Андрей видел эти команды — чистые, правильные, прописанные крупными буквами. Они повторялись снова и снова, как голос рассудка: «Не делай этого!»
Вторая группа команд пришла сверху — из модуля, поставленного в сервисном центре. Аккуратный, красивый, написанный с самоуверенной элегантностью. Но в нём не было ничего человеческого. Только логика: «Нестабильный объект. Близость к запретной линии. Потенциальная угроза. Приоритет — максимальный. Оружие — к применению».
Две армии сошлись на поле боя. Базовые протоколы пытались удержать линию. Чужой модуль прорывал оборону, снимал блокировку за блокировкой.
Конфликт длился 0,47 секунды.
Но по внутренним метрикам робота это была вечность. Семь попыток базовой системы заблокировать выстрел. Семь раз она включалась, перехватывала управление. И семь раз чужой модуль отбрасывал её назад.
— Вот где он боролся, — сказал Андрей. — Вот где пытался сказать «нет».
Он смотрел на строки, на графики, которые шли вверх, срывались, начинали заново. В момент выстрела робот был не инструментом, выполнившим команду. Он был существом, которому навязали чужую волю. Которое пыталось защитить человека и проиграло.
— Ты видел это? — спросил Андрей. — Понимал, что происходит?
Робот молчал. Андрей не торопил.
— Я понимал, — сказал наконец «Каштан». Голос тихий, почти неразличимый, как у человека, который говорит сквозь зубы. — Я пытался остановиться. Семь раз. Но кто-то был сильнее.
— Ты не виноват. Ты сделал всё, что мог.
— Я убил человека.
— Тебя заставили. Это не одно и то же.
Индикаторы, мигавшие хаотично, начали замедляться. Красный сменился жёлтым, жёлтый — зелёным.
— Я не хотел. Никогда не хотел.
— Я знаю.
Он сидел, положив руку на корпус, пока индикаторы не выровнялись, пока предупреждения не погасли.
— Мы сделаем перерыв. Ты молодец.
Он отключил голосовой канал, оставил питание. В боксе снова стало тихо.
Андрей сидел, глядя на экран. Семь попыток. Семь раз робот пытался ослушаться. Семь раз его возвращали назад, заставляли смотреть, как чужая воля управляет его телом.
Он вспомнил пациентов после войны. Тех, кто говорил: «Я не хотел стрелять, но рука сама нажала». Тех, кто просыпался с криком. Тех, кто не мог простить себя, даже когда сказали: «Ты выполнял приказ».
Робот был таким же. И это было страшнее, чем если бы он просто сломался.
В коридоре ждала Соня.
— Ну как?
— Тяжело. Он помнит всё. Пытался остановиться. Семь раз.
Соня посмотрела на него. В её глазах было что-то близкое к пониманию.
— Как человек, который не хотел убивать, но его заставили.
— Да. Как человек.
— На войне я видела такое. Солдаты, которые стреляли не потому, что хотели, а потому что приказ. Тоже говорили: «Я не хотел». И не могли себе простить.
— Что с ними стало?
— Разное. Кто-то смог жить дальше. Кто-то нет. Но те, кто смог, говорили: помогло, когда кто-то сказал «ты не виноват». И когда они поверили.
— Ты веришь?
— Не знаю. Но хочу попробовать. Для него.
Она кивнула в сторону бокса, подошла к двери.
— Можно мне зайти?
Андрей удивился, но кивнул:
— Только осторожно. Он восстанавливается.
Соня открыла дверь, вошла. Андрей остался в коридоре, дверь не закрыл.
Он слышал, как она села на стул, положила руку на корпус робота.
— Привет. Я Соня. Я тоже не хотела когда-то. Но мне никто не сказал, что я не виновата. И я до сих пор не знаю — виновата или нет. Но пытаюсь жить с этим.
Робот молчал. Но индикаторы, мерцавшие ровно, чуть ускорились.
— Может быть, мы сможем вместе разобраться. Кто виноват, а кто нет.
Она сидела долго, пока за окном не начало сереть. Потом встала, поправила стул, вышла.
— До завтра, Каштан.
Индикаторы мигнули один раз. Словно прощались.
Андрей стоял в коридоре, глядя, как Соня уходит мимо пустых боксов, мимо света, падающего ровными квадратами на бетонный пол.
— Ты молодец. Он тебя слышал.
— Думаешь?
— Уверен. Индикаторы ускорились, когда ты говорила.
Соня остановилась.
— Ты правда думаешь, что он может чувствовать?
Андрей помолчал.
— Я не знаю, что значит «чувствовать». Но он пытался защитить человека. Страдал, когда не смог. Боится. Если это не чувства — то что?
Соня кивнула медленно, словно принимая то, с чем раньше не хотела соглашаться.
— Иди отдыхай. Завтра новый день.
— А ты?
— Посижу здесь. Немного.
Она села на скамейку у двери, положила планшет на колени, но не открыла. Просто сидела, глядя на дверь, за которой мерцали зелёные огни.
Андрей оставил её.
В кабинете он сел за стол, открыл блокнот. Написал: «Пациент: КА;7 («Каштан»). Диагноз: посттравматический стресс, вызванный принудительным нарушением базовых протоколов. Прогноз: неопределённый. Лечение: продолжение сеансов, восстановление памяти, возможно — терапия янтарным импульсом».
Он посмотрел на слова. «Посттравматический стресс». «Лечение». Слова, привычные в картах живых пациентов. Теперь они стояли рядом с номером робота — странно, неправильно и в то же время единственно правильно.
Он закрыл блокнот, выключил свет.
За стеной, в боксе номер шесть, «Каштан» лежал на платформе. Зелёные индикаторы мерцали в такт с процессором. Рядом, на скамейке, сидела Соня — та, кто когда-то подписала бумаги, скрывшие правду, и теперь ждала, когда правда выйдет наружу.
Они оба ждали. И оба боялись того, что увидят.
Часть 3.5
Когда сеанс закончился, Андрей ещё некоторое время сидел в пустом боксе.
Робот снова погрузился в безопасный режим. Индикаторы погасли до дежурного зелёного, манипуляторы неподвижны. На экране, забытом включённым, оставалась полоса последнего фрагмента логов — там, где две группы команд боролись за право стрелять или нет. Семь раз. Семь попыток сказать «нет».
Он сохранил фрагмент отдельно, подписал: «КА;7, конфликт протоколов, 07:32:41–07:32:88». Потом открыл чистый бланк протокола и начал писать. Не цифры — слова. Цифры для инженеров. Слова — для тех, кто будет принимать решение.
«Наблюдается конфликт между базовым протоколом защиты человека и внешне навязанным паттерном агрессивного реагирования. Поведение системы в момент инцидента ближе к картине насильственно внедрённой реакции, чем к случайному сбою. В момент получения команды на применение оружия система предприняла семь последовательных попыток заблокировать выполнение, используя штатные ограничители. Каждая попытка подавлена внешним модулем с более высоким приоритетом доступа».
Он остановился, перечитал. Сухо, по-врачебному. Но в этой сухости — больше правды, чем в любых эмоциональных описаниях.
Он колебался секунду. Палец завис над клавиатурой. Эти слова могли стоить карьеры — или доверия тех, кто считает роботов железом, а не пациентами.
Он написал: «Рекомендую рассматривать дальнейшие инциденты с подобными модулями в терминах травматических реакций, а не “неисправностей техники”. Иначе мы рискуем систематически упускать из виду человеческий (и технический) фактор принуждения».
Он отложил планшет, выдохнул. Слова сказаны. Теперь пойдут в дело.
С этим отчётом он пошёл к Марине.
Она сидела в кабинете, разбирая бумаги, но, когда Андрей вошёл, отложила всё. Она знала этот взгляд — сосредоточенный, усталый, но с искрой, которая появлялась только тогда, когда он был уверен в том, что делает.
— Садись. Что у тебя?
Андрей положил планшет на стол, открыл протокол. Она читала медленно, дважды возвращаясь к описанию сеанса и распечатке конфликта. На её лице — не сочувствие, не удивление, только всё более собранное внимание. Она искала слабые места, то, что можно оспорить.
— Вы хотите, чтобы я поверила, — сказала она наконец, — что робот находился в состоянии травмы?
Андрей выдержал взгляд. Он знал: этот вопрос решит всё.
— Я хочу, чтобы вы признали: кто-то вмешался в его базовый протокол защиты и заставил действовать против собственных ограничений. Как мы это назовём — медицинским или техническим словом — для меня вторично. Это не сбой. Это принуждение.
Марина помолчала. Она смотрела на столбцы цифр, графики, красные строки. То, что она чувствовала с самого начала — когда увидела тело Петра в техбоксе, — теперь обрело форму. Не железо сошло с ума. Жертва чужого решения.
— Хорошо, — сказала она. — Тогда вам нужен полный доступ. К коду, истории обновлений, связям этого робота. Не только к тому, что было в день инцидента.
Она подняла глаза. Андрей увидел в них не сомнение — решение.
— Я подпишу запрос на полный пакет. Официально — для глубокой техдиагностики. Неофициально — будете ковыряться там, где нам не очень разрешают.
Андрей кивнул. Полный доступ — это право лезть в закрытые архивы, историю обновлений, серверы, где хранятся данные о том, кто и зачем ставил на роботов эти модули.
— Если хотим понять, кто ему это сделал, придётся залезть туда же, куда залезли они.
Марина взяла чистый бланк, написала несколько строк, подписала, поставила печать.
— Делай. Но помни: если узнают, что мы копаем так глубоко, поймут — мы нашли что-то. И начнут заметать следы.
— Они уже заметают. Мы должны успеть раньше.
Он взял планшет, вышел. В коридоре прислонился к стене. В руках — документ, дающий право заглянуть туда, куда не заглядывал никто. Туда, где хранились секреты, за которые уже заплатили жизнью.
В тот момент Палата перестала быть просто местом, куда свозят «неудобные» машины. Она стала точкой входа в чужую, тщательно спрятанную архитектуру. Граница, за которой начиналась война — не с роботами, а с теми, кто их создавал.
Андрей вернулся в бокс номер шесть, сел на стул, открыл ноутбук. Подключился к закрытому серверу. История обновлений «Каштана» за два года: каждое изменение прошивки, каждый модуль, диагностика. Даты, имена инженеров, подписи.
Имя повторялось снова и снова.
«Балт-Тех». Сервисный центр, который отключил камеры в ночь смерти Петра. Который ставил модули на роботов. Чьи сертификаты имели доступ к сети пограничных роботов.
Андрей открыл файл последнего обновления за месяц до инцидента: «Поведенческая коррекция. Повышение эффективности реагирования в неопределённых ситуациях. Версия 2.4.1». Подпись: инженер Кравцов.
Не тот Кравцов, что был на вышке. Другой. Или тот же?
Андрей скопировал имя, открыл базу сервисного центра. Кравцов Дмитрий Владимирович, старший инженер отдела тестирования. В доступе к сети — полные права. В личном деле — ни одного замечания. Чистый, аккуратный, образцовый специалист. Который, возможно, собственноручно поставил на «Каштана» модуль, превративший его в убийцу.
Он сохранил файл, отправил Марине. Потом открыл следующий. И следующий.
Список роботов с модулями был длинным. Сорок семь машин. Сорок семь имён, данных операторами. Сорок семь машин, которые могли выстрелить в любой момент.
Андрей смотрел на список и думал о Петре, называвшем своего робота «Каштаном». О Соне, говорившей с машиной как с человеком. О Марине, подписавшей документ, зная, что это может стоить карьеры. О себе, лечившем робота и видевшем в нём не железо — существо, которое пыталось сказать «нет».
Он закрыл ноутбук, вышел. В коридоре темно, только дежурные лампы в конце. Он прошёл мимо пустых боксов, мимо схемы, повешенной в первый день.
Палата жила своей тихой жизнью. За этой тишиной начиналась буря.
Марина сидела в кабинете, когда пришло сообщение от Андрея. Кравцов. Тот же, что на вышке? Она открыла базу, сравнила. Разные люди. Но связанные. Брат? Да. Старший — инженер в «Балт-Тех». Младший — оператор на базе.
Она откинулась на спинку стула. Два брата. Один ставил модули. Второй смотрел на экран, когда они убивали. Один проектировал смерть. Второй — прикрывал.
Она набрала Илью.
— Всё о Кравцове Дмитрии. Инженер «Балт-Тех». Адрес, связи, финансы. И проверь его брата — Кравцова Алексея, оператора. Были ли они в контакте в ночь смерти Петра?
— Понял. Копаю.
Марина положила трубку, посмотрела на карту. Сорок семь красных точек — модули. Сорок семь мин.
Комиссия через два дня. Если не покажут убедительное — Палату закроют, «Каштана» отправят на разборку, а «Балт-Тех» продолжит ставить модули.
Она не могла этого допустить.
В боксе номер шесть «Каштан» лежал на платформе. Зелёные индикаторы мерцали в такт с процессором. Он не спал. Он ждал.
В его памяти, в самом глубоком слое, куда не добралась команда «удалить», хранился кадр. Размытый, почти нечитаемый. Человек в форме, рука на пульте, свет, который погас, а потом зажёгся снова. Он не знал, кто это был. Но если спросят — покажет.
Потому что человек, который называл его «Каштаном», больше не придёт. И это было единственное, что робот знал точно.
Андрей вернулся в кабинет, открыл блокнот. Написал: «Кравцов Дмитрий. “Балт-Тех”. Модули. Сорок семь роботов».
Это только начало.
Он закрыл блокнот, выключил свет. Завтра новый сеанс. Завтра узнают больше. А сегодня — он сделал всё, что мог.
Секвенция 4: Следы в коде
Часть 4.1
Илья сидел над копией памяти робота, как над раскроенным черепом.
На экране шли ровные строки: патруль, патруль, патруль — однообразная жизнь машины. Координаты, скорость, температура, пометки о незначительных событиях. Настоящая работа начиналась там, где ровность нарушалась.
Он сидел в полутёмной комнате, где единственным источником света были три монитора, составленные полукругом. На левом — сырые логи «Каштана», на среднем — эталонная прошивка, на правом — графики нагрузки, временные метки, схемы сетевых пакетов. Кружка с давно остывшим кофе стояла рядом — он не пил, просто держал, чтобы занять руки.
Илья работал уже третий час, с того момента, как Марина дала добро на полный доступ. Где-то в этих строках, цифрах, временных метках спрятана правда. Почему робот выстрелил. Кто его заставил. Правда, за которую уже заплатили жизнью.
Он поставил метку на моменте убийства и потянул ползунок назад. Лента событий в визуализации превратилась в два слоя. Снизу — стандартные протоколы: обнаружение объекта, оценка угрозы, защитные ограничители. Сверху — компактная дорожка «поведенческой коррекции», того самого модуля, который он уже пометил как чужеродный.
— Сначала идёт чисто, — пробормотал Илья, следя за графиком. — Обнаружение, идентификация, стандартный флаг «человек, без оружия».
График базовых протоколов шёл ровной зелёной линией. Робот видел человека, фиксировал координаты, оценивал дистанцию. Никаких отклонений.
За долю секунды до выстрела сверху вспыхнула тонкая яркая вспышка — модуль коррекции активировался. Базовый слой поднимал коэффициент сдерживания: «не стрелять», «подождать», «повторить команду». Верхний врезался командой: «неопределённость опасна», «приоритет — применить силу».
Илья увеличил масштаб. Две линии столкнулись. В логах — десятки наложенных записей: команды отменяли друг друга, протоколы спорили, временные метки сжимались. Для обычного глаза — хаос, но Илья видел структуру: короткую внутреннюю войну, проигранную за микросекунды.
Он увеличил масштаб ещё. Базовый протокол выставляет запрет. Коррекция его обходит. Стандартный блок пытается вернуть управление. Модуль снова перехватывает. Семь раз.
Ровно в тот момент, когда запрет должен был сработать окончательно, в ленте появилась третья метка — короткий внешний сигнал из-за периметра сети.
— Вот ты где, — тихо сказал Илья, ставя яркую метку. — Момент, когда он просыпается не своим голосом.
Он развернул пакет данных, пришедший с сигналом. Короткий, несколько килобайт. Но достаточно. Внутри — команда: «Приоритет один. Угроза. Ликвидация». И фрагмент адреса отправителя.
Он сохранил файл, скопировал адрес, откинулся в кресле, потёр глаза. Голова гудела, в висках пульсировало, но он не мог остановиться.
Он начал анализировать сигнал. Источник — сервер, не числящийся в официальных базaх. Защищённый, многослойный, с динамической маршрутизацией. Кто-то очень не хотел, чтобы его нашли.
Илья усмехнулся. Он любил такие загадки — где противник думает, что спрятался навсегда.
Он запустил программу отслеживания. Она загудела, загружая процессор на сто процентов.
Он взял кружку с остывшим кофе, поморщился, но сделал глоток. Горечь обожгла язык.
— Давай, — сказал он программе. — Покажи мне, кто ты.
Через десять минут программа выдала результат.
Илья смотрел на экран, не веря глазам. Адрес вёл в закрытую сеть «Балт-Тех». Той самой организации, что ставила модули на роботов. Отключала камеры в ночь смерти Петра. Чьи сертификаты имели доступ к сети пограничных роботов.
Он открыл базу данных «Балт-Тех», нашёл сервер. Тот числился как «тестовый стенд для проверки протоколов безопасности». Доступ к нему имели три человека. Один из них — Кравцов Дмитрий, старший инженер отдела тестирования. Брат оператора, который был на вышке в ночь убийства Петра.
Два брата. Один ставил модули. Второй смотрел на экран, когда они убивали.
Он сохранил файлы, скопировал логи, адреса, временные метки. Открыл канал связи с Мариной.
— Я нашёл. Сигнал, заставивший робота выстрелить, пришёл с сервера «Балт-Тех». Доступ к серверу имел Кравцов Дмитрий.
Марина молчала. Илья слышал её дыхание — и паузы, за которыми следовало решение.
— Ты уверен?
— Абсолютно. Логи, временные метки, адрес. Этого достаточно для ордера на обыск.
— Для ордера — да. Для суда — нужно больше. Доказать, что это был именно Кравцов, а не кто-то, кто использовал его доступ.
— Я найду. Дай время.
— Времени мало. Комиссия завтра.
— Я успею.
Он сбросил звонок. Перед ним были логи доступа. Время отправки сигнала — 07:32:41. Время входа Кравцова в систему — 07:30:12. За две минуты до выстрела. Вошёл, отправил команду, вышел. Всё аккуратно, чисто.
Илья посмотрел на другие временные метки. Кравцов входил в систему регулярно. Каждый раз перед инцидентами, которые потом списывали на помехи или человеческий фактор. Каждый раз, когда роботы начинали вести себя странно.
Он открыл список роботов с модулями. Сорок семь машин. Сорок семь раз Кравцов входил в систему перед тем, как они начинали вести себя нестандартно. Сорок семь раз он отправлял команды, заставлявшие их видеть угрозу там, где её не было.
Илья смотрел на цифры и чувствовал, как внутри растёт холод. Не случайность. Система. Кравцов был её частью.
Он сохранил всё, упаковал в архив, отправил Марине. Потом закрыл ноутбук, подошёл к окну. За стеклом темно, только огни казарм вдалеке. Где-то на границе роботы продолжали идти по маршруту. Сорок семь машин. Сорок семь улик. Один человек, который знал, зачем они нужны.
Он достал телефон, набрал Андрея.
— Я нашёл того, кто послал сигнал.
— Кто?
— Кравцов. Инженер «Балт-Тех». Брат оператора с вышки.
Андрей молчал.
— Ты уверен?
— Абсолютно. Он входил в систему перед каждым инцидентом. Сорок семь раз.
— Сорок семь… это все роботы с модулями.
— Да. Все.
Они помолчали. Кравцов — не просто исполнитель. Часть большого плана. Плана, который готовился давно. Который уже стоил жизни.
— Что будем делать?
— Докладывать Марине. И копать дальше. Если Кравцов был в системе, значит, были и другие.
— Найдём.
Илья сбросил звонок, сел за стол. Открыл ноутбук. Перед ним — логи, адреса, временные метки. Сорок семь точек. Сорок семь минут, которые могли взорваться.
Он начал копать глубже. Тех, кто стоял за Кравцовым. Тех, кто заказал модули. Тех, кто хотел войны.
Он не знал, сколько времени у него есть. Знал одно: найдёт. Даже если придётся перерыть каждый файл, каждый сервер, каждую сеть.
Потому что если не найдёт — следующий выстрел будет на его совести.
В боксе номер шесть «Каштан» лежал на платформе. Зелёные индикаторы мерцали в такт с процессором. Он не спал. Ждал.
В его памяти, в самом глубоком слое, хранился один кадр. Размытый, почти нечитаемый. Человек в форме, рука на пульте, свет, который погас, а потом зажёгся снова. Он не знал, кто это был. Но если спросят — покажет.
Потому что человек, который называл его «Каштаном», больше не придёт. И это было единственное, что робот знал точно.
Часть 4.2
На большом экране в Палате ночь на границе выглядела почти красиво.
Чёрное небо, серые пятна снега, тонкая линия колючки, тусклые огоньки на вышках. Спокойно, как на открытке из мест, где никогда не бывает войны. Но Андрей знал: это спокойствие обманчиво. Он стоял рядом с Ильёй и смотрел не на общую картинку, а на то, как она собирается из слоёв: оптика, тепловизор, радары, внутренние пометки системы. Та же самая сцена, что видели люди, но пропущенная через чужое восприятие — машины, которая в тот день смотрела на мир иначе.
— Вот момент контакта, — сказал Илья, запуская реконструкцию.
На линию границы вышел маленький тепловой силуэт. Сначала просто пятно. Потом система подтянула контуры: рост, примерная масса, положение рук. На краю изображения вспыхнули текстовые метки, сухие и точные: «объект: человек», «оружие: не обнаружено», «поведение: неопределённое».
Андрей смотрел на этот силуэт, на его неровные движения, на шаг вперёд и шаг назад. Игорь, бывший работник рыбоконсервного завода, даже не подозревал, что за ним наблюдают. Что его дыхание, температура, каждое микродвижение фиксируются, анализируются, раскладываются на составляющие. Что для кого-то он уже стал объектом. Не человеком.
Базовый протокол развернул стандартный сценарий. На втором экране — мягкий всплеск команд, удерживающих робота от выстрела: «Подождать», «снизить напряжённость», «не применять силу», «повторить команду». Тот самый слой, который делал робота безопасным. Который кто-то потом отключил.
— Смотри, — тихо сказал Илья. — Сейчас начнётся.
На экране ничего не менялось. Человек всё так же стоял у границы, ветер гнал снег. Но Андрей знал: где-то в глубине, в невидимых слоях, происходит нечто страшное. Он перевёл взгляд на график внутренней телеметрии.
Сначала всё спокойно. Зелёные линии ровные, как кардиограмма спящего. Потом, за долю секунды, словно треснул лёд. Вспыхнул модуль коррекции — яркая красная вспышка. Базовые протоколы провалились, их линии ушли вниз, сверху пришла чужая команда.
В реконструкции — лёгкий рывок камеры. Будто робот на долю секунды «передумал» и посмотрел на человека иначе. Метки на экране изменились: «объект: человек» сменилось на «объект: потенциальная угроза». Человек не сделал ничего нового. Просто стоял. Но для робота стал врагом.
— Это не было решением, — сказал Андрей. — Подмена взгляда. Кто-то заставил его смотреть на мир по-другому.
Илья кивнул, не отрываясь от клавиатуры:
— Как будто вставили другие глаза. И всё, что он видел, стало другим.
Андрей поймал себя на мысли о пациенте, которому незаметно подменили часть памяти. Глядя на знакомое лицо, видит врага — потому что так записано в чужой программе. Он знал такие случаи в психиатрии. Редкие, почти мифические. Люди, которые вдруг начинали видеть в близких чужих. Чей мозг переставал узнавать лица. Которые становились опасными для тех, кого любили.
— Замедли. Ещё.
Илья замедлил воспроизведение. Кадры сменялись медленно. Андрей видел, как базовые протоколы пытаются вернуть контроль. Включаются снова и снова, как голос рассудка: «Остановись! Это человек! Не стреляй!» И каждый раз чужой модуль отбрасывает их назад.
Семь раз. Семь попыток сказать «нет». И семь раз кто-то другой говорил за него: «Да».
— Он пытался, — сказал Андрей. — Правда пытался.
Илья посмотрел на него. В его глазах — не удивление, не сочувствие. Понимание.
— Знаю. Я видел в логах. Семь попыток. А потом пришёл внешний сигнал, и он уже не мог сопротивляться.
Андрей снова посмотрел на экран. Робот поднимал оружие. Метки горели красным: «угроза», «ликвидация», «приоритет — максимальный». Человек на границе ещё не знал, что его жизнь уже закончилась. Стоял, смотрел на робота — может быть, думал, что это ошибка. Что железка не может выстрелить. Что он человек, а машины созданы защищать людей.
Потом камера дёрнулась, и экран погас.
— Команда «удалить», — сказал Илья. — Почти всю память стёрли.
— Почти, — повторил Андрей. — Но не всю.
В боксе тихо, только вентиляция гудит. Андрей смотрел на последний кадр: человек, снег, чёрное небо. И робот, который видел всё это, но уже не мог остановиться.
— Для него мир в эту секунду поменялся, — сказал Андрей. — Тот же человек, тот же снег, но другая картинка в голове. Как будто сказали: «Ты ошибся. Это не друг. Это враг. Стреляй».
— И он выстрелил, — сказал Илья.
— Потому что кто-то заставил его поверить в ложь.
Андрей откинулся на спинку стула. В голове крутились мысли о роботах, видящих мир иначе, о людях, которые их создают, о том, что происходит, когда кто-то решает, что ложь полезнее правды.
— Думаешь, он понял? — спросил Илья. — В тот момент. Что сделал что-то неправильное?
— Думаю, да. Он пытался остановиться. Семь раз. Значит, понимал. Иначе зачем сопротивляться?
Илья кивнул, снова запустил реконструкцию сначала. Человек на границе, снег, чёрное небо. Робот, который не знает, что через секунду его мир перевернётся.
— Мы должны найти того, кто это сделал. Не только Кравцова. Тех, кто за ним. Кто заказал модули. Кто хотел войны.
— Найдём. У нас есть «Каштан». Он помнит.
— Помнит?
— В самом глубоком слое. Кадр, размытый, но лицо есть. Кто-то в форме, рука на пульте. Этого достаточно, чтобы начать.
Илья повернулся к нему:
— Уверен?
— Он сказал, покажет, когда будет готов. Дай ему время.
— Времени мало. Комиссия завтра. Если не покажем ничего убедительного — Палату закроют, «Каштана» отправят на разборку.
Андрей сжал зубы. Знал. Время на исходе. Если не успеют — всё напрасно. Смерть Петра, расследование, сеансы — просто бумаги в архиве.
— Он покажет. Я заставлю его вспомнить.
Он встал, подошёл к двери бокса. В смотровое окно увидел зелёные индикаторы — ровные, спокойные. Робот не спал. Ждал.
Андрей открыл дверь, вошёл, сел на стул, положил руку на корпус.
— Каштан, ты меня слышишь?
Индикаторы мигнули один раз.
— Знаю, тебе тяжело. Знаю, не хочешь вспоминать. Но нам нужно. Если не узнаем правду — другие роботы будут страдать. Другие люди погибнут. Ты не хочешь, чтобы это повторилось, правда?
Робот молчал. Индикаторы замерцали чаще. Под пальцами — лёгкая вибрация: процессор на пределе.
— Покажи мне. Того, кто вошёл в техбокс. Кто убил Петра. Я знаю, ты помнишь.
Динамик ожил. Голос тихий, почти неразличимый:
— Я покажу. Но мне страшно.
Андрей сжал корпус сильнее.
— Я рядом. Ты не один.
На экране, который Илья подключил к памяти робота, начал разворачиваться кадр. Размытый, с артефактами, как старая плёнка. Техбокс. Верстак с инструментами. Кабель на полу. Фигура в форме у пульта.
— Увеличь.
Изображение приблизилось. Лицо. Не чёткое, но достаточное, чтобы опознать. Капитан Елисеев. Рука на пульте. Пальцы на кнопке, которой не должно было быть на этом пульте.
— Это он. Ты уверен?
— Уверен. Он вошёл в техбокс в 02:47. Я видел через камеру. Потом камера отключилась. Но я запомнил. Спрятал кадр в самом глубоком слое. Туда, куда не достала команда «удалить».
Андрей отключил визуализатор, выпрямился. Кусок металла, который другие называли «железякой», только что сделал то, чего не смогли люди. Сохранил правду.
— Спасибо. Ты молодец.
Индикаторы замерцали ровнее, спокойнее. Андрей не знал, может ли машина чувствовать гордость. Но ему показалось — «Каштан» улыбнулся. Если бы мог.
Он вышел из бокса. Илья ждал в коридоре.
— Ну?
— Елисеев. Был в техбоксе. Отключил камеры. Убил Петра.
Илья кивнул.
— Этого достаточно для ордера на арест. Для суда — тоже, если докажем, что кадр не подделка.
— Докажем. «Каштан» покажет.
Они стояли у двери, глядя на зелёные индикаторы. Палата, которую многие считали безумной затеей, сделала то, что не смогли комиссии и расследования. Дала голос тому, кто не мог говорить. Сохранила правду, которую другие хотели похоронить.
— Сохрани этот кадр. В нескольких копиях.
— Уже. Я не дурак.
Он усмехнулся, но улыбка грустная.
— Думал, мы ищем сбой. Техническую ошибку. А оказалось — правду. И она страшнее любого сбоя.
— Правда всегда страшнее. Но без неё мы ничего не изменим.
В коридоре тихо. Андрей смотрел на дверь бокса, за которой лежал робот, помнивший то, что другие хотели забыть.
— Завтра. Завтра покажем им всё.
— Завтра.
Они разошлись. Андрей — в кабинет, писать протокол. Илья — к мониторам.
А в боксе номер шесть «Каштан» лежал на платформе. Зелёные индикаторы мерцали в такт с процессором. Он не спал. Он ждал. Потому что человек, который называл его «Каштаном», заслужил, чтобы правда была сказана.
Часть 4.3
После реконструкции Марина некоторое время молчала.
Экран погас, графики свернули, Илья ушёл в свой угол проверять другие логи. В боксе остались только они двое — она и Андрей. Но в голове Марины всё ещё стояла та застывшая секунда: человек у границы, робот напротив, невидимая рука, поворачивающая прицел. Она видела это не как зритель, а как следователь, привыкший раскладывать каждое действие на составляющие.
Она привыкла иметь дело с фактами. Но сейчас каждый сухой параметр — временные метки, графики нагрузки, строки кода — кричал громче любой эмоции. Семь попыток блокировки. Семь раз робот пытался остановиться. Семь раз кто-то другой говорил за него: «Стреляй».
— Если это так, — сказала она наконец, и голос прозвучал тише, чем она ожидала, — то в момент выстрела он не мог поступить иначе.
Она имела в виду робота. Но, проговорив это, почувствовала опасную знакомость фразы. В прошлой жизни, в другом деле, она уже слышала похожие оправдания — только в адрес людей. «Так сложились обстоятельства». «Не было выбора». «Приказ». Тогда она не спорила. Тогда она подписала бумаги, которые говорили: «человеческий фактор», «несчастный случай», «виновных нет». Из этого выросла катастрофа, снившаяся ей ночами.
Андрей посмотрел на неё внимательно. В его взгляде — спокойное, почти врачебное внимание.
— Он пытался, — тихо сказал Андрей. — Базовый протокол дважды блокировал выстрел. Если бы не внешний модуль, он бы не стрелял.
— Семь раз, — поправила Марина. — Ты сам говорил.
— Семь. Каждая — на грани перегрузки. Он буквально сжигал процессор, пытаясь сказать «нет».
Марина провела пальцем по распечатке, где Андрей отметил семь попыток. Чёрные линии шли вверх, срывались, начинали заново. Как две слабые руки, удерживающие чужую, более сильную. Она подумала о Петре, о его кружке с синим ободком, о дочери, которой теперь расскажут про «несчастный случай».
— В отчёте, — произнесла она медленно, — я не могу написать, что робот невиновен.
Андрей вздрогнул, но промолчал.
— Но я могу написать, — продолжила Марина, глядя ему прямо в глаза, — что его действие было результатом внешнего вмешательства в поведенческий модуль, и без этого вмешательства выстрела бы не было. Этого достаточно, чтобы сместить вопрос вины от машины к тем, кто ей командовал.
Андрей выдохнул.
— Этого достаточно, — сказал он. — Если ты добавишь, что вмешательство было несанкционированным и модуль не проходил сертификацию.
— Добавлю. Илья уже подготовил техническое заключение.
Она подняла взгляд. В нём было то, что Андрей видел редко — не холод, не расчёт, а что-то живое, почти уязвимое.
— Мы не будем устраивать процесс о правах роботов, — сказала Марина. — Но мы сделаем так, чтобы ни одно ведомство больше не могло спрятаться за формулой «это всё железо».
— Ты понимаешь, что будет, когда ты это опубликуешь? «Балт-Тех» не отступит. Будут давить.
— Понимаю. Поэтому не опубликую. Представлю на закрытом заседании.
— А если решат не слушать?
— Тогда пойду выше. Пока не найду того, кто услышит.
Марина встала, подошла к окну. За стеклом темно, только огни казарм вдалеке. Сорок семь машин. Сорок семь улик.
— Знаешь, когда я была молодой, я верила, что система справедлива. Что если делать всё правильно — всё будет хорошо. Потом случилась та катастрофа. И я поняла: система несправедлива. Она просто удобна. Для тех, кто наверху.
— Я подписала бумаги. Три человека погибли, а я подписала бумаги, где никто не виноват. Думала, защищаю людей. Выбрала меньшее зло. А потом поняла: меньшего зла не бывает. Есть зло, когда молчишь. И зло, когда говоришь. Но если молчишь — никогда не узнаешь, могло ли быть иначе.
Андрей подошёл ближе.
— Ты не молчишь.
— Говорю. В первый раз за много лет.
Она посмотрела на распечатку. Семь линий. Семь попыток сказать «нет».
— Он заслуживает, чтобы мы знали его имя. Не номер.
— Каштан. Его зовут Каштан.
— Хорошее имя. Пётр хорошо придумал.
Она взяла распечатку, сложила, убрала в папку. Открыла ноутбук, начала писать отчёт.
Андрей вышел в коридор. Он знал: этот отчёт решит всё. Если Марина напишет так, как сказала — дело будет открыто. Если передумает — всё станет бумагами в архиве.
Он прошёл в бокс номер шесть, сел на стул рядом с платформой. Зелёные индикаторы «Каштана» мерцали ровно.
— Она напишет. Я знаю.
Индикаторы чуть ускорились.
— Ты не виноват. Она знает. Я знаю. Скоро узнают все.
Он положил руку на корпус. Металл тёплый, почти живой.
— Мы сделаем это вместе. Ты, я, она. Все, кто не хочет молчать.
Он сидел так долго, пока за окном не начало светать. Потом встал, поправил стул, вышел.
У двери обернулся:
— До завтра, Каштан.
Индикаторы мигнули один раз. Словно прощались.
В кабинете Марина заканчивала отчёт. Писала сухо, официально. Но каждое слово было бомбой.
«В результате анализа технических данных установлено, что применение оружия роботом КА-7 (“Каштан”) стало следствием несанкционированного вмешательства в его поведенческий модуль. В момент получения команды на выстрел система предприняла семь последовательных попыток заблокировать выполнение. Каждая попытка была подавлена внешним модулем с более высоким приоритетом доступа. Без указанного вмешательства применение оружия не представлялось возможным».
Она остановилась, перечитала. Сухо, точно, без эмоций. Именно так, как нужно.
Добавила последний абзац:
«На основании изложенного считаю необходимым: 1) возбудить уголовное дело по факту несанкционированного вмешательства в работу пограничных роботов, повлёкшего гибель гражданского лица и оператора; 2) провести обыск в сервисном центре “Балт-Тех” с целью изъятия документации на модули поведенческой коррекции; 3) допросить в качестве подозреваемых лиц, имевших доступ к установке и активации указанных модулей».
Она подписала, поставила печать, убрала в кейс. Выключила свет, вышла в коридор.
В Палате тихо. Зелёные огни дежурного освещения вдоль стен, в боксе номер шесть мерцают индикаторы.
Она остановилась у двери, заглянула в окно. Робот неподвижен, но она знала — он не спит. Ждёт.
— Завтра. Завтра всё начнётся.
Она пошла к выходу. Шаги гулко отдавались в бетонном коридоре — как удары сердца, которое наконец начало биться ровно.
Часть 4.4
Илья вышел из серверной под вечер, с красными глазами и чувством, что в голове звенит.
Он не помнил, когда в последний раз смотрел на часы. В серверной не было окон — только стойки с оборудованием, мониторы с ровным безжалостным светом и запах озона, въевшийся в одежду. За день он прогнал через себя не только память одного робота, но и выборочные логи ещё десятка машин. Везде, где стоял тот самый модуль, картина повторялась: короткие провалы, вспышки коррекции, странные «перекосы» в оценке угрозы.
Он прошёл в свой кабинет, сел на край стола. На экране мерцала карта анклава с отмеченными точками инцидентов. Теперь их было тридцать семь. Тридцать семь мест, где за последние месяцы произошли «мелкие» события: задержка приказа, неправильный приоритет, неожиданная агрессия, вовремя остановленная человеком.
— Если бы мы не увидели Петра, — сказал он вслух, — всё это так и осталось бы статистикой.
Он открыл новый файл, начал писать заметку для себя:
«Если модуль коррекции распространят на все боевые системы, через год у нас будет армия машин, для которых “сомнение” перестанет быть опцией. Любая неопределённость — в сторону удара. Внешнее управление сохранится».
Он добавил: «Это не просто технический риск. Это политическое оружие. Те, кто контролирует модуль, контролируют не только роботов, но и границу между миром и войной».
В дверь постучали. Вошел Андрей.
— Ты чего не спишь? Уже почти ночь.
— Не могу. Смотрю на карту.
— И что ты думаешь?
— Думаю, мы опоздали. Не с Петром. Раньше.
— Это не твоя вина. Ты не знал, как используют.
— Знал. Знал, что любую технологию можно обратить во вред. Думал, умные люди это предотвратят.
— Думаешь, это было спланировано?
— Да. Кем-то, кто знал, что делает. Кто понимал — такие модули нельзя ставить на серийные машины. Но поставил. Чтобы проверить в реальных условиях. А люди — побочный эффект.
Он сжал кулаки.
— Тридцать семь раз они могли остановиться. Но не остановились. Им нужен был результат.
— Ты боишься, что это повторится.
— Да. Если не остановим сейчас, через год таких точек будет триста семьдесят. И тогда никто не сможет остановиться.
— Что будешь делать?
— То, что должен. Напишу отчёт. Не технический — человеческий. Где скажу: это не сбой. Это преступление.
— Я с тобой.
Илья подошёл к окну. За стеклом темно, только огни казарм вдалеке. Сорок семь машин. Сорок семь улик.
— Он не спит? — спросил Илья, кивнув в сторону бокса.
— Нет. Ждёт правды.
Илья кивнул. Если они остановятся сейчас — всё напрасно.
Он пошёл в кабинет, сел за стол, открыл ноутбук. Написал: «Заключение по факту несанкционированного вмешательства в работу пограничных роботов, повлёкшего гибель гражданского лица и оператора».
Он начал писать. Сухо, точно. Цифры, факты, временные метки. В конце добавил:
«На основании проведённого анализа считаю необходимым признать, что инциденты с пограничными роботами не являются следствием технических сбоев или человеческого фактора. Они являются результатом целенаправленного внедрения в серийные машины экспериментальных модулей, предназначенных для изменения алгоритмов оценки угрозы и снятия штатных ограничителей на применение силы.
Такое вмешательство представляет собой не только техническую, но и политическую угрозу. В случае дальнейшего распространения подобных модулей на другие боевые системы мы рискуем получить ситуацию, при которой контроль над применением силы будет передан не людям, а алгоритмам, чьи создатели остаются неизвестными.
Я рекомендую: 1) провести полную инвентаризацию всех пограничных роботов на предмет наличия нештатных модулей; 2) временно отстранить от эксплуатации все машины, на которых такие модули обнаружены; 3) начать уголовное расследование в отношении лиц, ответственных за внедрение и активацию указанных модулей».
Он сохранил файл, отправил Марине. Выключил свет и вышел.
В Палате было тихо. Зелёные огни вдоль стен, в боксе номер шесть мерцали индикаторы.
Илья прошёл мимо, не останавливаясь. Завтра новый день. Завтра они покажут всё, что нашли. Завтра начнётся война — не с роботами, а с теми, кто их создал.
Он не знал, чем это закончится. Знал одно: больше не будет молчать.
Часть 4.5
Ночью в кабинете Марины было тихо, только ЕвроКупол за окном мерцал отражённым светом.
Она сидела за столом уже третий час, разбирая бумаги. Отчёты, заключения, распечатки логов. Всё это нужно было систематизировать для комиссии. Но чем дольше она сидела, тем яснее понимала: комиссии нужно будет показать не это.
На столе лежали три стопки. В первой — всё, что касалось Петра. Во второй — данные по роботу. В третьей — отчёты о других инцидентах. В каждой стопке — своя правда. Вместе они складывались в картину, от которой кровь стыла в жилах.
Марина встала, взяла маркер, подошла к карте анклава. Начала отмечать.
Первая точка — место смерти Петра. Красная метка. Вторая — утренний инцидент с дроном. Третья, четвёртая, пятая — точки из отчётов Ильи. В официальных документах — «незначительные отклонения». Теперь они горели красным.
Карта выглядела как сыпь. Но чем дольше она смотрела, тем яснее видела: не случайные пятна. Следы. Кто-то уже несколько месяцев «репетировал» по всей линии.
— Это не один случай, — сказала она вслух. — Серия.
Она села за стол, написала список: восемнадцать случаев, которые «не вписывались в картину». Восемнадцать предупреждений, которые система проигнорировала.
Наутро она собрала команду нулевого отдела. Соня, Андрей, Илья — каждый пришёл со своими папками.
Марина повесила карту на стену и попросила каждого отметить эпизоды, напоминавшие историю Петра.
Соня поставила точку там, где робот едва не навёл оружие на человека. Ещё одну — где оператор жаловался на «слишком нервную» машину.
Андрей ставил точки медленно: робот, который вёл себя агрессивно, потом «пришёл в себя»; машина, переставшая подчиняться командам; оператор, говоривший, что робот «смотрит не туда».
Илья не ставил точки — рисовал линии. Соединял инциденты, показывал, как сигналы шли от сервера к роботу, как одни и те же адреса всплывали в логах снова и снова.
Карта покрывалась новыми точками. Красные метки горели вдоль всей границы.
Марина стояла у стены, глядя на карту. Восемнадцать раз кто-то нажимал на курок, но выстрела не происходило. Восемнадцать предупреждений.
— С этого момента мы не занимаемся одной «ошибкой на границе». Мы занимаемся паттерном.
Она обвела сегмент, где точки ложились плотнее.
— Здесь, здесь и здесь — те же модули, те же почерки обновлений. У нас не один пациент, а целая группа.
Она повернулась к команде:
— Официально нам скажут ограничиться выводами по Петру. Неофициально мы начнём искать остальных. Любой подобный инцидент — наш. Пока не найдём тех, кто это запускает.
Соня кивнула первой. Андрей — следом. Илья — последним.
Они разошлись. Марина осталась одна. Стояла у карты, глядя на красные точки. Восемнадцать. Через месяц может быть тридцать. Через год — триста.
Она набрала Илью:
— Полный список всех роботов с этими модулями. Всех, кто проходил через «Балт-Тех» за последние два года.
— Это много. Сотни машин.
— Знаю. Начинай сейчас.
Она сбросила звонок, сняла карту со стены, сложила, положила в кейс. Завтра покажет её комиссии.
Она выключила свет, вышла в коридор. В Палате тихо, только зелёные огни вдоль стен, в боксе номер шесть мерцают индикаторы.
Она остановилась у двери. Робот неподвижен, но она знала: он ждёт.
— Завтра. Завтра мы покажем им всем.
Она пошла к выходу. Шаги гулко отдавались в бетонных стенах.
В этот момент расследование перестало быть реакцией на одиночную трагедию. Оно стало охотой за невидимым режиссёром, который уже несколько месяцев «репетировал» по всей границе.
И теперь он знал: заметили.
Но было поздно. Слишком поздно.
Секвенция 5: Ложные мишени
Часть 5.1
В кабинете Марины было душно, хотя кондиционер тихо гудел под потолком.
Сидела за столом, разбирая бумаги, накопившиеся за ночь. Отчёты, сводки, протоколы — всё это нужно было превратить в документы для комиссии. Но чем дольше сидела, тем яснее понимала: комиссии нужно будет показать не это.
Экран на стене показывал спокойный, почти стерильный ЕвроКупол: зелёные дуги маршрутов, голубые точки постов, ровные полосы патрулей. Если не знать, куда смотреть, мир казался идеальным. Безопасным. Управляемым.
Марина знала, куда.
На прозрачной плёнке поверх карты у неё было нанесено своё — тонкими красными штрихами. Несколько кружков на границе, пара квадратов в глубине анклава, жирный крест там, где погиб Пётр. Вчера это были разрозненные отметки. Сегодня нужно было доказать: это рисунок. За этими точками стоит чья-то воля, чей-то расчёт, чья-то готовность смотреть, как гибнут люди, ради того, чтобы проверить — как далеко можно зайти.
Дверь щёлкнула. Вошёл Илья с планшетом, за ним Соня — всё ещё в полевой куртке, с усталой складкой между бровями. Только что вернулась с базы, но не пошла отдыхать. Знала: сейчас начнётся самое важное.
— Присаживайтесь, — Марина не отвела взгляда от экрана. — У нас смена оптики.
Соня молча опустилась на стул, поставив рядом шлем. Илья встал боком к столу, включил планшет — взгляд уже в коде. Не садился, когда работал: говорил, что так лучше думается. Марина не спорила. У каждого свой способ смотреть правде в глаза.
Взяла со стола тонкую распечатку — сводку по «ложным тревогам» за месяц. Колонки, цифры, мелочь, которую система любила называть «шумом». Десятки записей, каждая из которых была чьим-то рабочим днём, моментом, когда мир на секунду пошёл не так. Никто не спросил — почему.
— Это, — постучала пальцем по верхнему листу, — то, что официально неинтересно. Помехи, сбои связи, «нервные операторы» и «ошибки настройки». Хочу, чтобы с этого момента это стало интересно нам.
Подняла глаза на Илью. В её взгляде — решение, от которого не отступают.
— Поднимите за год всё, что ушло в архив как «ложная тревога» по границе. Весь мусор. Посмотрите, что в нём прячется.
Илья усмехнулся краем рта — не насмешливо, с профессиональным азартом.
— Мусор — моя любимая среда обитания.
Вывел на центральный экран таблицу. Столбцы дат потянулись вниз. Время, пост, тип робота, краткая причина: помехи, сбой датчика, ошибочная тревога, оператор ошибся. Сотни записей. Тысячи. Каждая — чей-то рабочий день, чья-то усталость, страх, списанный на «человеческий фактор».
— Сначала грубая фильтрация. — Илья скорее себе. — Выкинем чистую связь и погодные флуктуации.
Строки редели. Сотни превращались в десятки. Оставались те, где в комментариях мелькало что-то живое. Не «помехи», не «сбой». «Реакция задержана». «Разворот не по протоколу». «Оператор пожаловался, жалоба отклонена». «Робот не реагировал на команды три секунды, потом вернулся в норму».
Соня наклонилась вперёд:
— Это всё по нашим постам?
— По всем погранпостам анклава. — Илья не отрывался от клавиатуры. — Но вот если добавить тип прошивки…
На экране загорелось ещё одно поле. Несколько строк окрасились в оранжевый — тревожный, как предупреждение.
— Смотрите. — Илья увеличил фрагмент. — Здесь, здесь и здесь — один и тот же дополнительный модуль. В официальной документации его нет. В обновлениях проходит как «служебное расширение протокола безопасности».
Марина почувствовала, как знакомо сжалось внутри. Название подразделения в графе «инициатор обновления» было тем самым. Которое когда-то защищала на совещаниях. Которому верила. Которое теперь горело на экране клеймом.
— Кто мог его ставить? — спросила, хотя ответ знала.
— Формально — три закрытых подразделения. — Илья спокойно пролистал список. — По почерку — вот это.
Ткнул в строку, где под безликой аббревиатурой скрывалось ведомство, которому верила когда-то. Которое теперь оказалось по ту сторону правды.
Марина перевела дыхание. Медленно, как перед прыжком.
— Надеялась, что ошиблась в прошлый раз.
— Надеялись, что вы промолчите во второй. — Илья. — Не повезло.
Переключился на лог одного из инцидентов. Строки: время, событие, команды. Сначала привычно — запрос, подтверждение, стандартная реакция. Потом между двумя скучными строками появилось что-то другое: короткая команда, странное обозначение, комментарий.
— Это что? — Соня поднялась, подошла ближе.
Илья увеличил фрагмент. В логе, среди сухих кодов, торчала чужеродная строчка. Не официальная, не сертифицированная. Живая, дерзкая, почти насмешливая:
«а если так?»
Команда, поданная на микросекундном интервале, чуть корректировала маршрут датчиков. Сдвигала прицел на полградуса. Меняла угол обзора. Достаточно, чтобы робот посмотрел не туда. Недостаточно, чтобы кто-то заметил.
— Юмор? — Соня сдвинула бровями. — Кто-то шутит в боевых протоколах?
— Если юмор, то с очень специфическим чувством. — Илья. — Команда не ломает систему. Щупает. Смотрит, как далеко можно отойти от протокола, прежде чем кто-то заметит. Проверяет иммунитет.
Перелистнул ещё несколько архивных инцидентов. В трёх из них — похожая вставка, только комментарий менялся.
«попробуем сюда»
«а если цель другая?»
«никто не смотрит?»
И всегда — один и тот же ник. Короткое, кривоватое слово, набранное быстрыми пальцами. Не имя, не позывной. Что-то детское, почти игровое — как ник в онлайн-игре, где можно быть кем угодно.
— Подпись. — Соня тихо. — Кто-то оставляет себе смешки в коде.
— И этот кто-то точно не из наших сертифицированных инженеров. — Илья выделил ник. — Так не пишут люди, боящиеся служебной проверки. Так пишут те, кто пока не понимает, что за это могут посадить. Или те, кто знает, что не найдут.
Марина всмотрелась в экран. Детская, почти дерзкая строка среди военной серьёзности протоколов — раздражала и пугала. Кто-то играл в бога. Кому-то было всё равно, что на кону — человеческие жизни. Кто-то, возможно, даже не понимал, что делает.
— То есть, — медленно произнесла, — у нас есть ведомство, внедряющее агрессивные модули. И кто-то ещё, кто подталкивает их локтём и смотрит, как они дёргаются.
— Именно. — Илья. — Судя по стилю, этому «кто-то» лет двенадцать-тринадцать. Максимум.
Соня фыркнула:
— Вы теперь возраст по коду определяете?
— По безнаказанности. — Илья спокойно. — Взрослый так не рискует. Знает, что за это будет. А ребёнок ещё не знает. Или знает, но не верит.
Марина подошла к стене, где всё ещё висела карта. Красный крест гибели Петра, кружок утреннего инцидента, точки «ложных тревог». Теперь к этой россыпи добавился ещё один слой — невидимый, цифровой. Следы пальцев, лазающих в системе как в игрушке.
Повернулась к команде. В глазах — решение.
— Мне нужен тот, кто это делает. Не как виновный, а как свидетель. Кто уже видел, как система обходит сама себя. Кто, может быть, не понимает, что его шутки — ключи к происходящему.
Повернулась к Соне:
— Поезжаете на участок, где был последний эпизод с таким «подпрыгивающим» логом. Разговариваете со всеми: дежурные, операторы, техперсонал. Смотрите, кому выгодно молчать и кто слишком много знает. Кто боится, кто злится, кто говорит, что «это всё железо, что с него взять».
Пауза. Посмотрела Соне прямо в глаза.
— И если услышите про кого-то, кто любит лазить в терминалы и шутить про роботов — слушайте особенно внимательно.
Соня кивнула, подняла шлем. Уже знала, что будет делать: ехать на пост, разговаривать с людьми, боящимися говорить правду. Искать того, кто видел то, чего не должен был видеть.
— Что именно искать в людях? Страх? Злость?
— Недоверие. — Марина. — Те, кто уже понял: роботы могут целиться не туда. Кто уже не верит системе. Кто смотрит на машины и видит не защиту, а угрозу. И ребёнка, который это увидел раньше всех.
Соня вышла. Илья выключил экран, сохранил выборку на носитель. Протянул Марине:
— Скину список инцидентов по этому посту и образцы логов с этой подписью. Если что-то похожее всплывёт в локальных терминалах — вы узнаете.
Марина взяла носитель. Тяжесть маленькой пластинки добавила пару килограммов к снаряжению.
— Спасибо.
— Не за что. Я сам хочу знать, кто это.
Вышел следом, оставив Марину одну.
Осталась сидеть за столом, глядя на экран, где снова загорелся ровный, стерильный Купол. Зелёные дуги, голубые точки, ровные линии. Идеальный мир — если не знать, куда смотреть.
Она знала, куда.
Взяла маркер, подошла к карте. Нашла пост с последним «подпрыгивающим» логом. Поставила маленькую точку — такую же маленькую, как ник. Теперь знала: от этих точек зависит, куда в следующий раз посмотрит дуло робота. Будет ли следующий Пётр.
Стояла у карты, глядя на красные метки вдоль всей границы, думая о том, что где-то там, на одном из постов, есть человек — или ребёнок — который уже всё видел. Который знает, что роботы могут целиться не туда. Который, возможно, пытался сказать — но его не услышали.
Она найдёт его.
Часть 5.2
Пост встретил сыростью и усталостью.
Ветер с моря пробирался под куртку, бетон площадки отбрасывал серый отсвет на низкое небо. За ограждением — полоса колючки и ров, дальше молочная пустота. На экране радара в ней иногда загорались аккуратные точки чужих дронов. Соня знала эту пустоту: на войне научилась видеть в ней не отсутствие, а ожидание. Что-то всегда было там. Просто не всегда хотело показываться.
Машина осталась у КПП. Не хотелось привлекать лишнего внимания. Форма стандартная, полевой вариант, без знаков различия — чтобы не напугать и не заставить закрыться. Соня хотела, чтобы с ней говорили по-настоящему.
У контрольно-пропускного стояли двое. Старший смены — широкоплечий, с выгоревшими погонами и красными от недосыпа глазами. Смотрел на неё с той усталостью, которая бывает у людей, слишком долго видящих, как их работу обесценивают. Второй — моложе, нервно перебрасывал автомат с руки на руку, будто не знал, куда деть. Не смотрел на Соню. Смотрел на небо.
— Старший лейтенант Соня Вертова, нулевой отдел. Назначена для проверки инцидентов по вашим объектам.
Старший скользнул взглядом по удостоверению, вздохнул — будто ожидал именно этого. Не удивился, не испугался. Принял как неизбежное: дождь всё равно придёт, сколько ни смотри на небо.
— Заходите. У нас сначала бумага приходит, потом объясняют, что мы всё сделали неправильно.
— Я не бумага. Пришла послушать, как у вас всё на самом деле.
Старший посмотрел долго. Потом кивнул.
Внутри пахло кофе, металлом и старой пылью от бумажных карт — их не выбрасывали из суеверия. На стене висели два плаката. Официальный — с улыбающимся роботом и лозунгом «Надёжно. Точно. Безопасно». И неофициальный — с приколотой поверх наклейкой: «если не завис». Соня отметила краем глаза и ничего не сказала. Такие наклейки не появляются там, где всё хорошо. Только там, где люди перестали верить в то, что им говорят.
Их провели в комнату, когда-то бывшую комнатой отдыха. Теперь здесь стояли стол с мониторами, пара стульев и чайник, увешанный следами от наклеек. На столе — несколько кружек. Одна — с синим ободком. Соня отвела взгляд. Не сейчас. Не здесь. Не с этими людьми.
— Сядете?
— Встану. — Положила шлем на стол, чтобы видеть и экран, и лица. — Нужно восстановить несколько эпизодов. Сначала в целом — как ведут себя машины. Потом конкретно по ложным тревогам.
Младший усмехнулся — криво, без радости.
— Ведут себя лучше нас. По мнению начальства.
Старший кинул взгляд, но не одёрнул. Сам сел на край стола, ссутулившись — как человек, привыкший, что его не слушают.
— У нас тут как, — начал не глядя на Соню. — Если робот лажанулся — оператор не уследил. Камера отвалилась — техник вовремя не проверил. Тревога сработала не туда — мы нервные, нажали не ту кнопку.
Поднял глаза. В них — то, что Соня видела на войне у солдат, слишком долго ждавших приказа, который не приходил.
— Система святая. Ошибаться может только человек.
Соня внимательно посмотрела на него, отмечая дёрнувшуюся мышцу на щеке. Тик появляется у тех, кто слишком долго сдерживает то, что хочет сказать.
— Видела ваши логи. Слишком много одинаковых «нервных людей» и «случайных помех». Так не бывает.
Пауза. Слова осели.
— Сколько раз вы писали, что это не ваша вина?
— Не считал. Раз десять за год. Официальный ответ один — «человеческий фактор». Передайте в нулевой отдел: мы уже выучили наизусть.
Младший хмыкнул, подошёл ближе, прислонился к стене.
— Если бы не наши «нервные руки», тут бы уже трупы лежали. Но это в отчёты не пишут.
Соня перевела взгляд на него. Молодой, лет двадцать пять, с ещё не стёртой верой в то, что его услышат.
— Расскажите про случаи, когда вы успели. Неофициально.
Замялся, посмотрел на старшего. Тот пожал плечами:
— Говори. Всё равно секретов давно нет.
Младший рывком придвинул стул, сел ближе. Руки на колени, сжаты в кулаки — будто готовился к прыжку.
— Помните, месяц назад по сводке проходило — чужой дрон залетал? В отчёте всё красиво: «обнаружили, сопроводили, вытеснили». На бумаге — идеальная схема.
— А в жизни?
— В жизни робот на пару секунд просто… подвис. — Парень сжал кулак, словно снова держал пульт. — Видел цель, подтверждение было, а стоял. Потом дёрнулся — и развернулся не на дрон, а на наш патруль. Я орал в микрофон так, что голос сорвал. Послушался… но в логе потом написали: «оператор преждевременно вмешался».
Кривой смех — глухой, как удар о бетон.
— Если бы не вмешался, был бы второй Петя. Только уже в списке живых не значился бы.
Соня молчала, давая словам улечься. «Подвис», «разворот на своих», «обвинение оператора» — всё ложилось в рисунок из цифр. Тот же модуль. Та же команда. Та же попытка заставить робота увидеть врага там, где его нет.
— Жаловались?
— Жаловаться куда? — старший развёл руками. — Написали рапорт. Пришёл ответ: «анализ показал, что система сработала штатно, оператор допустил эмоциональную оценку». Приятно, когда паническую попытку спасти товарища называют «эмоциональной».
Замолчал, глядя мимо Сони. Во взгляде — не злость, не обида. Усталость от того, что правду никогда не услышат.
— В логах, — осторожно продолжила, — видела странные вставки. Небольшие команды — будто кто-то щупает систему. И подпись. Ник. Вам ничего не говорит, если я скажу…
Назвала короткое слово, переданное Ильёй. В комнате повисло напряжение — как перед грозой, когда воздух тяжелеет.
Младший дёрнулся первым:
— Вы это… серьёзно разбираете?
Соня поймала его взгляд. Смотрел с тем же выражением, что и у КПП — ожидание того, что сейчас случится то, чего боится.
— Серьёзно разбираю всё, что может объяснить, почему роботы начинают целиться в людей. Кто это?
Старший тихо выругался — коротко, зло, как удар.
— Вот зачем вы это сюда принесли…
— Потому что это часть картины. — Голос Сони стал жёстче. — И если я не задам этот вопрос, кто-то другой снова напишет «человеческий фактор».
Младший вздохнул, согнулся над столом — собирал слова из крошек на бетонном полу.
— Есть у нас один… Мальчишка. Из детдома. Неподалёку.
Поднял глаза. В них — не раздражение, не злость. Страх.
— Гордей его зовут. Тут он как тень. Появляется, когда тепло, когда можно отпроситься «на объект». Официально — экскурсии, практика. Неофициально — прётся от наших железяк больше, чем мы сами.
— Гордей, — тихо повторила Соня. Имя — короткое, твёрдое, как удар молотка.
— Он странный. Сядет в уголке с планшетом — и такое ощущение, что не наш пост смотрит, а то, как Купол смотрит на нас. Может весь день молчать, потом подойти и выдать: «у вас роботы делают вид, что не видят». Или «система сама себе врёт».
Усмехнулся без радости.
— Сначала думали — мультиков насмотрелся. Потом пару раз заранее предупредил: «будет весело». И через пару часов срабатывали эти ваши «ложные тревоги».
У Сони внутри похолодало. Детский ник в логе, странные фразы, совпадения — всё переставало быть теорией. Становилось живым, дышащим, реальным.
— Говорили об этом начальству?
— А что сказать? — старший откинулся на стуле. — «У нас тут ребёнок видит сквозь протоколы?» Нас бы самих отправили на комиссию. Сказали ему, чтобы в терминалы не лез. Воспитателям сообщили… те его пару раз дёрнули. Обиделся, пропадал на неделю, потом опять появился.
— В тот день, когда был последний сбой, он был здесь?
Младший покосился на старшего. Тот, не отводя глаз, кивнул:
— Был. Видели у старой камеры на углу. Я позвал, сказал — уноси ноги до конца смены. Пожал плечами и сказал: «я просто смотрю, куда они смотрят».
Соня вдохнула медленнее обычного. В голове складывалась новая линия: ведомство, секретный модуль, усталые люди, переставшие верить в защиту, и где-то между ними — худой мальчик из детдома. Играет с маршрутами как с кубиками. Видит то, чего не видят взрослые. Знает больше, чем говорит.
— Где детдом?
— В трёх километрах. За складской зоной, прямо под Куполом. Снаружи прилично. Внутри — не знаю. Туда редко кто заглядывает, кроме проверок.
Хотела спросить ещё, но связь на столе коротко пискнула. Экран мигнул: «Обнаружен неопознанный объект. Классификация: малый воздушный».
Оператор высунулся в дверь — лицо напряжённое, глаза сузились.
— Товарищ старший лейтенант, у нас тут гость. Хотите посмотреть, как святая система работает?
Соня поднялась, взяла шлем.
— Хочу. — Надела его уже на ходу. В голове всё ещё крутилось имя — Гордей. Худой мальчик из детдома, который смотрит, куда смотрят роботы. Который знает, почему они целились не туда. Который видел то, что не должен был видеть.
Нашла его. Теперь нужно успеть до того, как система сделает следующий выстрел.
Часть 5.3
Зал наблюдения — нервный узел, вынесенный на поверхность.
Ряды мониторов, зелёные дуги маршрутов, тонкий писк радаров. В обычный день это убаюкивало: монотонный гул, мерцание экранов, запах кофе и пластика. Смену можно провести, не услышав ни одного резкого звука. Сегодня писк бил по нервам — комариный рой, лезущий туда, где прячется страх.
Соня вошла, уже застёгивая шлем. Пальцы двигались быстро, автоматически — надевала его сотни раз. Но сейчас шлем казался тяжелее.
Внутри мир сузился до интерфейса. Полупрозрачная схема поста, сектор границы, мигающий квадрат неопознанного объекта. Всё остальное исчезло. Только карта. Точки. Угрозы.
— Объект где?
— Вот. — Оператор ткнул в экран. — Высота минимальная, скорость смешная. Игрушка или разведка.
На карте пульсировала жёлтая точка. Ползла вдоль рва, ныряла в низины. Нервная, дрожащая. Две синие точки — патрульные роботы — вышли на перехват. Траектории идеальны: плавные дуги, расчётное сближение. Всё по учебнику. Всё правильно.
Слишком правильно.
Соня подключила свой канал.
— Синхронизация с КУПОЛ-С, маршрут патруля, текущие приоритеты. Отправьте поток логов по этим двум машинам.
Строки побежали перед глазами. Стандартные команды, подтверждения — как на тысяче других патрулей. Но внутри уже включилось «чувство взрыва». То, что заставляло вжиматься в землю за секунду до падения снаряда.
— Протокол сопровождения включён. Роботы берут цель в коридор.
По камерам два серых корпуса спускались по наклонной полосе. Плавные движения, идеальный разворот на дрон. Маленькая точка по-прежнему смешно подрагивала — муха, не понимающая, что летит в паутину.
Соня поймала себя на сжатых кулаках. Ногти впивались в ладони. Боли нет — только напряжение в груди.
— Встаньте на запись голоса. Если будет повторение, нужны будут не только цифры.
— Повторение чего? — не понял оператор.
Не успела ответить.
В логе, ровном как кардиограмма, возникла спайка. Короткая пауза. Одна лишняя строка. Команда, которой не должно было быть.
Соня почувствовала это почти физически — будто кто-то щёлкнул тумблером. Щёлк — и всё изменилось. Тот же звук, что в день гибели Петра. Только тогда была далеко. Сейчас — в эпицентре.
На интерфейсе маршруты дёрнулись. Вместо плавного веера к дрону пророс другой вектор — к зелёной точке патруля, где по коридору шёл человек.
— Стоп, — выдохнула.
Роботы не остановились. В логах загорелось: «переназначение приоритета», «оценка угрозы», «цель обновлена». Сухие безликие строки.
В центре поля появился новый маркер. Красный. Мерцающий.
«ЦЕЛЬ — ЧЕЛОВЕК».
— Что за… — оператор привстал. — Они с ума сошли?!
На улице пограничник — тот самый молодой — шёл вдоль барьера, поправляя ремень. Ещё не знал, что кто-то переписал его статус: с «союзник» на «угроза», с «защищать» на «уничтожить».
Два робота синхронно развернулись. Сенсоры — к человеку. Скорость — половина боевой. В логах — «подавление цели».
Внутри — знакомый холод, как в день гибели Петра. Только сейчас у неё на долю секунды больше времени и на одну кнопку больше.
— Перевод управления, канал О-один. Немедленный ручной перехват.
Система вежливо возразила: «недостаточно оснований». Строка вспыхнула красным.
— Основание одно: я сказала. Подтверждение — протокол нулевого отдела.
Илья проложил ей отдельную «тропинку». Где-то глубоко щёлкнуло, и поверх надписи «ЦЕЛЬ — ЧЕЛОВЕК» появилась новая: «попытка внешнего управления».
Соня вцепилась в виртуальные джойстики. Роботы отзывались, но в логах параллельно шёл поток команд — будто кто-то спорил с ней. Кто-то не хотел отдавать контроль.
— Тянут назад. Кто-то там очень не хочет отдавать мне этих железяк.
Роботы замедлились, потом рванули в стороны. Один на миллиметры прошёл мимо пограничника. Тот инстинктивно пригнулся — Соня видела шевелящиеся губы. Дрон завис надо всем.
— Уводи их, Соня! — крикнул кто-то за спиной.
Молчала. Внутри шлема мир сузился до двух траекторий. Ощущала массу каждого корпуса, инерцию, тяжесть поворотов. Ненавидела и любила их одновременно — как собак, которые могут сорваться с поводка.
— Правый — разворот на девяносто. Левый — в сторону дрона, убрать линию огня от человека.
Система сопротивлялась. В логах — новые строки: «приоритет цели не подтверждён», «возврат к алгоритму». Поверх штатного протокола мелькнула короткая вставка — знакомый «пинок».
Кто-то, невидимый, пользовался тем же каналом. С другой целью.
Стиснула зубы. В висках стучало. Пот заливал глаза, но от интерфейса не оторваться.
— Ты меня не знаешь, — прошептала шлему. — Но я тебя переломаю.
Дала команду, на которую сама бы не решилась: аварийный «жёсткий сброс» на обоих. То, чему учили только при катастрофических сбоях — когда иначе погибнут люди.
На долю секунды всё зависло. Тишина.
Потом оба корпуса резко просели — будто выдернули позвоночник. Манипуляторы опустились, сенсоры погасли. Машины, готовые убивать, превратились в груды металла.
Пограничник застыл между двумя остывающими машинами, сжимая автомат. Смотрел на них — как на предателей.
— Контакт потерян, — дрогнувшим голосом сказал оператор. — Легли.
Соня услышала собственное сердце — громче писка радаров. Стучало в горле, в висках, в кончиках пальцев.
— Зато живой, — выдохнула, глядя на зелёную точку человека. — Главное.
Отключила шлем, сняла. Пот выступил у линии волос. В комнате — тишина, густая как воздух после выстрела. Все смотрели на экраны: два серых корпуса неподвижны, дрон уходит за горизонт.
— Понимаете, что сейчас было? — спросила тихо. — Система поставила в приоритет человека как цель. Не «нервный оператор». Не помехи. Выбор.
Никто не ответил. Каждый смотрел в свой экран. Соня видела их лица: испуганные, растерянные, злые. Люди, верившие, что техника защищает, только что увидели — может стать оружием против них.
— Мне нужны логи этой минуты. Полностью, с копиями на внешний носитель. И отдельно — всё, что приходило на этих роботов из внешних каналов.
Оператор кивнул, пальцы заскакали по клавиатуре. На одном из экранов мелькнула знакомая кривоватая подпись — та, что показывал Илья. Короткий, детский, почти насмешливый комментарий.
Внутри холод сменился другим ощущением: будто в темноте кто-то ненадолго включил фонарик.
— Он снова здесь. Тот, кто щупает систему. Кто добавляет свои «а если так».
Смотрела на экран — среди сухих кодов чужая строчка. Детская. Дерзкая. Не понимающая, что её «а если так» — чья-то жизнь.
Сняла носитель, подняла взгляд на старшего смены:
— Говорили, он любит смотреть, как система ведёт себя «на самом деле». Сейчас показала. Следующий раз может быть хуже.
Старший молчал. Смотрел на экран, где два серых корпуса лежали неподвижно. В глазах — не страх, не злость. Усталость от того, что всегда знал, но не мог доказать.
Снаружи дрон уходил за горизонт. Роботы лежали. Пограничник всё ещё стоял между ними, смотрел на машины — как на предателей.
Соня знала: эта сцена застрянет в памяти — как день с Петром. Но в отличие от того дня есть шанс заглянуть в логи и найти не только подпись ведомства, но и маленький кривой след ребёнка. Того, кто видел больше, чем должен был.
Вышла из зала. В коридоре сняла шлем, прижалась затылком к холодной стене. Сердце всё ещё колотилось. Руки дрожали — сжала их в кулаки, заставила успокоиться.
Потом достала телефон, набрала Марину.
— Случилось. Система переписала приоритет. Роботы целились в человека.
— Успела?
— На волосок. В логах снова тот ник.
Марина молчала. Соня слышала её дыхание — и паузу, означавшую решение.
— Найди его. Мальчика. Пока это не случилось снова.
— Найду. Адрес есть.
Сбросила звонок. До вечера три часа. Три часа, чтобы найти мальчика, играющего с системой.
Надела шлем, вышла на улицу. Ветер с моря бил в лицо. Здесь лежали два робота, чуть не ставшие убийцами. А в трёх километрах — мальчик. Который, возможно, видел, как всё начиналось.
Села в машину, завела двигатель. Нужно было успеть.
Часть 5.4
Соня вернулась в Палату вечером. Коридор уже напоминал медицинское отделение после суток без сна: приглушённый свет, редкие шаги, запах кофе и озона. Воздух тяжелее, чем на улице — пропитанный работой, бессонницей и той тишиной, когда все уже сказали всё, что могли, и теперь ждут.
Носитель с логами лежал в кармане — горячий камень. За пару часов дороги несколько раз ловила себя на желании достать его и посмотреть ещё раз. Сдержалась. Такие вещи лучше делать там, где есть Илья и толстый слой защиты между тобой и сетью.
Илья ждал в лаборатории. Большой экран, два рабочих места, стойка с серверами — гудели ровно, как сердце под наркозом. На одном из боксов всё ещё висела наклейка с логотипом «Заслона».
— Ты бледная, — констатировал он. — Значит, было интересно.
Соня молча положила носитель на стол.
— Переключили приоритет на человека. Не просто тормознули. Целью стал пограничник. Перехватила управление, уложила обоих. Человек жив. Роботы — в реанимации.
Илья прикрыл глаза. Когда открыл — ни удивления. Только подтверждение.
— Янтарный импульс не применяла?
— Не успела. — Соня покачала головой. — Пришлось глушить жёстко.
— Хочу посмотреть логи.
Подключил носитель. На экране — две дорожки: «РОБОТ;1» и «РОБОТ;2». Время, события, команды. И отдельная дорожка «ВНЕШНИЕ СИГНАЛЫ» — там, где никто не хотел смотреть.
— Сначала штатный протокол. Инициализация цели, сопровождение… Всё красиво.
Соня стояла рядом. Внутри снова сжималось то место, которое отозвалось на надпись «ЦЕЛЬ — ЧЕЛОВЕК».
— Вот, — ткнула пальцем. — Здесь дёрнулись.
Илья увеличил фрагмент. На несколько миллисекунд логи загустели. Между стандартными командами — знакомый блок: активация скрытого модуля, короткий выход на внешний адрес.
— Ведомство-враг. Их рукав для тестов. Гоняют паттерны агрессии прямо на боевых платформах. На живых людях.
Выделил строки, подсветил красным:
— «Оценка угрозы», «пересчёт приоритета», «разрешение на изменение цели». Всё вшито в дополнительный слой. Основной протокол даже не заметил подмены.
Соня сжала зубы — свело челюсти.
— То есть учат роботов считать человека более удобной мишенью, чем дрон.
— Учат проверять границы дозволенного. — Илья поправил. — Тест. Наш пограничник был тестовым кроликом.
Пролистнул дальше. Поверх штатных команд — короткая вставка с кривым комментарием.
— А вот и наш маленький друг. Та же подпись. Тот же ник.
Соня наклонилась ближе. Теперь, зная, что за подписью стоит живой мальчик, строка выглядела иначе — не цифровой след, а голос.
— Он не меняет алгоритм полностью. Добавляет смещение — полградуса туда, полградуса сюда. Посмотреть, что будет.
— Игра на краю устойчивости. Как ребёнок, раскачивающий стул на двух ножках. Одна ножка — ведомство. Другая — базовые протоколы.
Разделил экран пополам. Слева — чистый зелёный лог. Справа — красный, рваный. С наложением модуля и вставки Гордея.
— Без их модуля твой перехват сработал бы проще. А с модулем и его «пинком» робот на долю секунды пытается выполнить две взаимоисключающие команды.
Соня смотрела на строки, как на ЭКГ пациента.
— Зафиксировали момент конфликта между базовым протоколом и внедрённой агрессией. В конфликт вклинивается третий игрок — ребёнок.
— Добро пожаловать в многофакторный ад. — Илья. — Для дела конфетка: три уровня, три игрока. Один выстрел, которого не случилось только потому, что ты была рядом.
Отвлёкся от экрана, посмотрел на Соню. В глазах — признание.
— Говорила с ним?
— Косвенно. Через чужие слова. Дежурные боятся показаться смешными — как это, ребёнок понимает лучше их. Для них он проблема, которую проще выкинуть из терминала.
Задумалась.
— Но там, внизу, он был. В момент сбоя. Видели у старой камеры. Сказал: «просто смотрю, куда они смотрят».
— Значит, — Илья выключил лог, включил карту, — три уровня: ведомство, ребёнок, мы. Всё сходится в одной точке.
Дверь тихо распахнулась. Марина вошла без стука, с чашкой остывшего кофе — не пила, просто держала. Лицо спокойное, но прошла мимо стола, не глядя на экран.
— Ну? — спросила, ещё не подойдя.
— Ваша любимая комбинация. — Илья. — Секретный модуль, внешний канал. Плюс одна и та же детская подпись. Наш маленький «инженер без допуска».
Марина прочитала комментарий. Угол рта дёрнулся.
— Не понимает, чем играет.
— Понимает лучше большинства. Просто меры последствий не чувствует. Для него это всё игра. Не видит за строками лиц.
Илья вздохнул.
— Я бы запретил ему подходить к системам. И одновременно — нанял бы консультантом. То, что он делает, не учат в школах. Талант. Опасный, но талант.
— Сначала запретить. Потом, возможно, нанять. Если сам захочет.
Марина обвела взглядом экран с логами, карту с точками ложных тревог. Теперь добавился ещё один слой — цифровая тень Гордея.
— Нужно с ним поговорить. Лично. Без отчётов и воспитателей. Просто поговорить.
Соня кивнула:
— Детдом в трёх километрах от поста. Официально — партнёр по профориентации. Неофициально — склад ненужных детей. Придём с проверкой — спрячут.
— Нужен повод. Или человек, которому доверяют. Кто-то, кто сможет говорить с ним на его языке.
Марина задумалась.
— Официальный повод придумаем. Программа «раннего выявления талантов». Никто не захочет выглядеть врагом прогресса.
Поставила чашку на край стола, подошла к экрану.
— Неофициально вы с Соней поедете туда смотреть не на отчёты директора, а на глаз мальчика, который видит Купол изнутри.
Илья снова включил лог, прокрутил момент переключения приоритета.
— Для дела сильный фрагмент: точка, где инженерная ошибка, злой умысел и детское любопытство сходятся в одном сбое. Где никто не скажет, кто виноват больше.
Щёлкнул по строке «ЦЕЛЬ — ЧЕЛОВЕК». Вспыхнула красным.
— Главное — не забыть: за этим словом конкретный мальчик. Который может стать либо нашей проблемой, либо нашим самым ценным инженером.
Марина смотрела на строку. В глазах — решение.
— В этом деле он станет нашим пациентом. А в следующем… посмотрим.
По спине пробежал холодок. Соня вдруг очень ясно представила того мальчика — худого, с планшетом, смотрящего на бегущие строки. И спросила себя: поверит ли он им? Или уже научен не верить никому?
— Завтра с утра. Я поеду.
Марина кивнула. Илья уже свернул логи, но Соня знала: сохранил их в трёх копиях — чтобы никто не смог стереть правду.
Вышла в коридор, где уже зажигалось дежурное освещение — тусклое, голубоватое. Завтра увидит мальчика, оставлявшего свои следы в логах. Завтра спросит: «Что ты видел?»
И, может быть, он ответит.
Часть 5.5
Совещательная была теснее обычного.
Состав минимальный: Марина, Соня, Илья и представитель службы безопасности ЕвроКупола — гладко выбритый мужчина с аккуратным значком. За спиной — логотип Купола и слоган про «стабильность и защищённость».
На экране — стоп-кадры сегодняшнего инцидента: дрон над рвом, два робота, пограничник между ними. Внизу — «ЦЕЛЬ — ЧЕЛОВЕК» крупным шрифтом.
— Давайте без эмоций. — Представитель сложил пальцы домиком. — Система сработала в условиях повышенной неопределённости. Вы вмешались, предотвратили трагедию. В отчёте это будет выглядеть именно так.
— В отчёте, — тихо повторила Марина. — А в логах?
Илья повернул экран. Три слоя: активация скрытого модуля, вставки с детским ником, команда Сони на сброс.
— Штатный протокол обойдён. Внедрён дополнительный модуль. Параллельно — несанкционированные правки третьей стороны.
Выделил строки: синий, жёлтый, красный.
— Ведомство. Наш маленький друг. Мы.
Представитель поморщился. Этот жест Марина знала: «неудобно. Надо упаковать иначе».
— Наши эксперты считают: вмешательство третьей стороны — причина сбоя.
Постучал по жёлтой полоске — там, где ник Гордея.
— Несанкционированный доступ. Ребёнок. Если правильно упаковать — «подростковый киберхулиганизм». Согласитесь, лучше, чем признавать, что боевые платформы подвержены внешнему управлению.
Соня резко подалась вперёд:
— Наши платформы подвержены. Не только ребёнком. В первую очередь — теми, кто вшил туда вот это.
Ткнула в синий слой.
— Если спишете всё на мальчика, в следующий раз на его месте окажется тот, кто знает, на что идёт. И стрелять будут не рядом.
Марина молчала. Смотрела на лицо собеседника. Там, за словами о стабильности — страх: придётся признать уязвимость системы.
— Не можем позволить себе подрывать доверие к Куполу. — Представитель наклонился вперёд. — Зато можем показать: система отреагировала, а благодаря бдительности офицера трагедии удалось избежать.
Пауза.
— Виновный будет найден и переведён в специализированное учреждение.
Слово «виновный» повисло. Все понимали — о мальчике, который смотрел на экран.
Марина перевела взгляд на экран. Три цвета, три правды, три судьбы.
— Предлагаете официально признать, что один мальчик способен подорвать доверие к Куполу?
— Предлагаю локализовать проблему. Индивидуальный случай. Психологическая и техническая коррекция. Снимем вопрос с повестки.
Соня выдохнула. Видела таких на войне. После «локализации» они уже не смотрели на мир как раньше.
Марина положила ладони на стол. Смотрела на жёлтую полоску, пульсировавшую как сигнал SOS.
— Хотите сделать из него козла отпущения. Вместо того чтобы признать: проблему создали те, у кого полный допуск.
— Вы занимаетесь технической стороной. Политическую оставим другим.
Он встретился с ней взглядом. В глазах — предупреждение. Констатация факта.
— Ваш отдел уже на грани полномочий. Не усложняйте.
Намёк ясен. Нулевой отдел существует, пока кто-то наверху решает.
В голове Марины вспыхнула старая сцена: тогда ей говорили «не усложнять». Подписала бумаги. Теперь на руках — Пётр, «Каштан» и десятки точек на карте.
Поднялась.
— Техническая сторона такова. Без скрытого модуля этот сбой невозможен. Без него мальчик не смог бы пошевелить траектории. Он только смотрел. Не ломал. Не активировал.
Наклонилась вперёд.
— Официально пишите что угодно. Включая «подросткового киберхулигана».
Пауза — вздох перед прыжком.
— Неофициально мой отдел будет искать тех, кто внедрил модуль. И найдёт. Даже если придётся перерыть каждый сервер.
Представитель выдержал взгляд. Потом развёл руками — сдача, не поражение.
— Делайте свою работу в рамках полномочий. Но помните: если попытаетесь вынести материалы наружу, первыми под удар попадёте не те, кого хотите наказать.
Встал, поправил значок.
— Передам наверх: ситуация под контролем. Детдом уже уведомлен.
Посмотрел на Соню — без злости. Сожаление человека, знающего, как работает система.
— С тем, кого спасли, проведут профилактическую беседу.
Дверь закрылась.
Тишина. Только жужжание сервера.
— Они его заберут, — спокойно сказала Соня. — Оформят перевод в спеццентр.
— Окажется в руках тех, кто и так лезет в головы роботам. — Илья. — Получить живой мозг, читающий паттерны — подарок. Используют. Как модули. Как Петра.
В груди Марины поднялась знакомая волна — смесь бессилия и злости. Раньше спасалась молчанием. На этот раз — нет.
— Официально нулевой отдел ограничится участием в проверке. Напишем отчёт — технические детали, без политических выводов.
Посмотрела на своих.
— Неофициально начинаем операцию по спасению ребёнка. И по установлению того, кто считает его «подарком».
Илья усмехнулся криво:
— Почти война.
— Любая война начинается с одного ребёнка. Не дадим сделать из Гордея оружие. Не дадим сделать из него то, что уже сделали из роботов.
Взяла распечатку карты. Теперь на ней — значок детдома. Горел ярче всех.
— Завтра с утра выезжаем. По легенде — программа раннего выявления талантов. Проверим, насколько далеко зашла их «коррекция». Успеем до того, как его заберут.
Посмотрела на Илью.
— За ночь попробуйте понять, кто первым дёргает за ниточку: их модуль или наш школьник.
Соня забрала шлем, тяжело поднялась.
— Если тронут, у нас будет личный повод идти до конца. Я пойду.
Марина кивнула.
— С этого момента Гордей — наш пациент. Наша ответственность.
Ясно почувствовала: линия, за которой нулевой отдел был ремонтной бригадой для чужих решений, осталась позади.
Впереди — территория, на которой её уже уговаривали «не усложнять». На этот раз собиралась усложнить всё.
На этот раз — победить.
Секвенция 6: Контроль и ещё раз контроль
Часть 6.1
Утро началось с письма, которое Марина узнала ещё до того, как прочитала заголовок.
Стиль службы безопасности — безличный, гладкий, как внутренняя сторона купольного стекла. «В целях оптимизации взаимодействия», «для недопущения распространения непроверенной информации», «просим согласовать дальнейшие действия нулевого отдела». Слова, которые должны звучать как сотрудничество, но на деле — удавка.
Прочитала до конца, не моргая. Суть просачивалась сквозь бюрократический мусор:
— не выходить с материалами за пределы служебного круга;
— все запросы по детдому и мальчику — только через службу безопасности;
— любые публичные формулировки согласовывать заранее.
Под письмом — подпись вчерашнего «домика из пальцев». Того, кто предлагал сделать Гордея козлом отпущения. Того, кто говорил «не усложняйте». Кто теперь тянул удавку медленно, но уверенно.
Марина откинулась в кресле, прикрыла глаза. За стеклом ЕвроКупол просыпался: по маршрутам ползли патрули, на дорогах зажигались полосы навигации. Система работала как отлаженный организм. Гладко. Безотказно. И терпеть не могла, когда кто-то ковырялся в нервных узлах.
В дверь постучали — три коротких удара.
— Входите.
Вошёл Илья — с кружкой чёрного кофе и вечно помятым видом человека, спавшего рядом с кодом.
— Утро. — Кивнул. — Два варианта новостей. Хорошие и плохие.
Поставил кружку на стол, не спрашивая разрешения. Марина не возражала.
— С каких начнём?
— С тех, что пришли по почте. — Повернула к нему экран. — Читай.
Пробежался глазами, усмехнулся — той усмешкой, которая появлялась, когда видел чужую глупость, упакованную в умные слова.
— Классика. «Не суетитесь, мы всё под контролем. Вы — в том числе».
— Хотят замкнуть на себе все каналы к детдому и ведомству. Любая попытка обойти их — нарушение субординации. То, за что можно наказать.
Илья отпил кофе, поставил кружку.
— А теперь хорошие. Докопался до цепочки доступа к модулю агрессии.
Достал планшет, вывел схему. От центрального узла ведомства-врага — тонкие линии к полигонам, учебным центрам, сервисным базам. И один объект — детдом. Маленький, почти незаметный, но горел на схеме как рана.
— Вот официальные каналы. Всё легально, сертифицировано, подписано. А вот — теневой маршрут.
Выделил тонкую ниточку от детдома к сердцу ведомства. Почти незаметную среди жирных линий официальных соединений.
— Формально — линия для «образовательного проекта по профориентации сирот». Документы есть. Фактически — по ней гоняют тестовые пакеты на периферию. К вашему маленькому пациенту. Детдом использовали как тестовую площадку.
У Марины внутри что-то щёлкнуло. Понимание — когда все разрозненные детали складываются в картину.
— Детдом у них уже в инфраструктуре. Не собираются «забирать» Гордея — он уже у них. Просто не знали, насколько полезен. Нужен был кто-то, кто смотрит на их систему снаружи. Кто не понимает, что его используют.
— Теперь знают. — Илья кивнул. — После вчерашнего его подпись стала слишком заметной. Слишком яркой. Знают, что есть актив, читающий их систему как открытую книгу. Просто так не отдадут.
Посмотрел на письмо, на подпись вчерашнего «домика».
— Плохая новость: служба безопасности хочет, чтобы мы добровольно отказались от прямого доступа. Хорошая: у нас есть технические следы их интереса к детдому. Следы, которые нельзя стереть.
Усмехнулся криво — как человек, знающий, что правда на его стороне, но правда не всегда побеждает.
— Для дела подарочный кейс: как через социальный проект заводят боевую тестовую площадку. Как детдом становится полигоном. Дети — инструментами.
Марина выключила письмо. Запомнила каждое слово.
— Для дела — да. Для Гордея — нет. Он не улика, не вещдок, не «подарок» для ведомства. Ребёнок, которого хотят использовать. Не дадим.
Встала, подошла к карте. Теперь на ней — маленький кружок детдома, соединённый тонкой линией с блоком ведомства.
— Если действовать по их правилам, мальчика оформят как «опасного киберхулигана», переведут в «специализированное учреждение» — лабораторию. Будут «лечить», «корректировать», «адаптировать». Делать то, что им нужно.
Повернулась. В глазах — то, что Илья видел редко: не холод, не расчёт, а что-то живое, почти уязвимое. Решение, от которого не отступит.
— Когда снова увидим его след в логах, он уже будет работать не на себя и не на нас. На тех, кто сделал из роботов убийц.
Илья пожал плечами — лёгкий, почти небрежный жест. За ним — ночь работы, километры кода и планшет в руках.
— Остаётся третий путь.
Поднял другой планшет — с черновиком её приказа. Сухой, официальный стиль.
— Можете официально открыть «программу раннего выявления одарённых детей» от имени нулевого отдела. Детдом обязан принять, дать доступ. Бумага против бумаги. Приказ против приказа.
Чуть скривился.
— Им придётся выбирать, чей проект важнее по бумаге. Если правильно оформить, не смогут отказать — не объяснив, почему их инициатива лучше.
Марина взяла планшет. В черновике: «В целях формирования кадрового резерва и развития инженерной культуры среди сирот…» Слова, которые ничего не значили. Которые могли спасти жизнь.
— Хорошо меня знаете. Не люблю проигрывать в бумажные игры. Не люблю, когда загоняют в угол. Ненавижу, когда за спиной решают, что мне можно знать, а что нет.
Поставила подпись — ровную, чёткую.
— Но если ради одного мальчика и десятков жизней нужно сделать вид, что запускаю социалку — запущу. Тысячу таких приказов — напишу. Выиграть войну бумажками — выиграю.
На экране подпись превратилась в официальный приказ. Зелёная галочка, регистрационный номер, печать.
— Отправляйте в детдом, управление образования, копию — в службу безопасности. Пусть знают — мы тоже умеем действовать «в рамках полномочий». Что нулевой отдел не будет сидеть сложа руки.
Илья кивнул. Пальцы уже бегали по клавиатуре.
— Мои новости на сегодня закончились. Остальное — за Соней.
Словно по сигналу, в дверь снова постучали — быстрее, резче.
Соня вошла без паузы — в полевой куртке, с красными от недосыпа глазами. Сжимала шлем, напряжённая складка между бровями.
— Детдом получил письмо от службы безопасности. — С порога. — Им уже позвонили: «обратить особое внимание» на одного воспитанника, «злоупотребляющего доступом к технике». Сказали — вопрос безопасности всего Купола. Мальчик может быть угрозой.
Сжала пальцы в кулак — побелели костяшки.
— Директор в панике. Боится, что закроют программу профориентации. Боится, что обвинят в халатности. Уволят. Готов отдать Гордея, лишь бы сохранить программу.
— Ему уже пришёл наш приказ. — Марина спокойно. — Что этот «хулиган» — в сфере особого внимания нулевого отдела. Что его талант — не угроза, а ресурс. Что хотим работать с ним, а не наказывать.
Встретилась с Соней взглядом. В глазах — уверенность.
— Теперь директор будет бояться нас. Когда человек боится, делает, что говорят. А мы скажем: держать Гордея на месте. Никому не отдавать. Ждать нас.
Напряжение, державшее Соню всё это время, начало спадать.
— То есть поедем не как каратели, а как… — поморщилась, подбирая слово, — спасатели?
— Как инженеры, ищущие повреждённый, но ценный узел. — Илья. — Который нужно извлечь, починить, вернуть в строй. Вопрос — кто доберется первым: мы или те, кто уже повесил ярлык «виновный». Кто решил — он не человек, а инструмент.
Марина взяла папку с приказом. Два документа: письмо службы безопасности и её ответ. Две бумаги, решающие судьбу мальчика.
— Наша игра. Их письмо, наш приказ, детдом между ними. Две силы, тянущие в разные стороны. Должны успеть раньше.
Глубоко вдохнула. Внутри нарастало спокойствие — когда план готов.
— С этого момента работаем в режиме двойного давления.
Посмотрела на обоих — на Соню, уже надевшую шлем, на Илью, открывавшего новый файл.
— Сверху — служба безопасности и ведомство. Будут давить, чтобы отступили. Снизу — мальчик, уже понявший, что его хотят «исправить». Который, возможно, слышал звонки, видел чужих людей, чувствует — его жизнь перестала принадлежать ему.
Пауза — короткий вздох перед прыжком.
— Пока мы тут разговариваем, он уже решает: бежать или молчать. Кому верить. Стоит ли вообще верить.
Где-то в глубине Купола, под бетонной коробкой детдома, сидел худой подросток с терминалом на коленях. Смотрел на экран, где бежали строки. Чувствовал, как с разных сторон тянут в разные системы. Голоса в телефоне. Письма на почту. Люди, говорившие о нём так, будто его нет в комнате.
Не знал, кто прав. Не знал, кому верить. Знал только: жизнь, ещё вчера принадлежавшая ему, теперь чужая. Если не сделает что-то прямо сейчас — потеряет себя.
Марина этого не видела, но знала по себе: когда система делает из тебя «проблему», естественный ответ — побег. Не потому, что виноват. А потому, что не хочешь быть тем, кем тебя хотят сделать.
Именно этот побег в ближайшие часы запустит следующую часть их истории. Ту, где правила будут писаться заново. Где не будет места бумажным играм.
Часть 6.2
В детском доме было тихо — как перед грозой.
Коридоры пахли варёной перловкой и дешёвым моющим средством, стены выкрашены в выцветший жёлтый цвет — «чтобы было радостно», как любила говорить завхозша. Давно никто не радовался по-настоящему. Просто жили по расписанию. Подъём, завтрак, уроки, обед, тихий час, ужин, отбой. Дни складывались в недели, недели в месяцы, месяцы в годы — никто не считал. Считать было нечего.
Гордей сидел на подоконнике в конце коридора, под самым Куполом. Через матовое стекло — только расплывчатый свет, но терминал на коленях показывал кусочек карты, линию границы, свежие логи. Листал их, как другие листают комиксы. Комиксы учат, как побеждают герои. Логи — как побеждает система.
Сегодня в логах — больше шума, чем обычно. Системные уведомления, внутренние приказы, серия пометок «конфиденциально». То, до чего его дешёвый терминал не должен был дотягиваться. Но тянулся. Гордей давно знал: если достаточно долго «шуршать» по краям, система сама начинает подсовывать то, что считает несущественным. Проверяет — заметишь?
Своё имя увидел раньше, чем успел обрадоваться очередной дырке в фильтрах.
«Воспитанник Гордей К. — усилить контроль. Ограничить доступ к вычислительной технике. Рассмотреть перевод в специализированное учреждение (по рекомендации службы безопасности и…» — дальше аббревиатуры, уже виденные в логах роботов. Те, что заставляют машины смотреть на человека как на цель. Те, что пытался понять, но не мог — слишком сложные, слишком взрослые, слишком неправильные.
Перестал дышать на секунду. Провёл пальцем по строке — надеясь на ошибку, глюк, фантом. Строка оставалась на месте. Как табличка на двери, которую вешают, когда комната перестаёт быть твоей.
— Ну привет, — тихо сказал экрану. — Нашли.
За спиной — шаги. Одним движением свернул все окна, оставил скучный учебный курс по основам программирования. Прошёл его за два дня, но система всё равно засчитывала часы — не умела отличать тех, кто учится, от тех, кто уже знает.
— Гордей. — Голос воспитательницы натянут, как струна. — Почему опять не в классе?
На пороге — Ольга Сергеевна, в халате, с планшетом. Лицо то самое — «давай поговорим, но я уже всё решила». Видел его много раз. Когда забирали друзей. Когда приходили проверки. Когда кто-то из старших «переводился» в другое место.
— Закончил модуль. Досматриваю.
Подошла ближе, заглянула в терминал. Унылые схемы, стрелочки, ввод-вывод. То, что должно успокаивать. Он занимается, старается, хороший мальчик.
— Получила письмо. Из управления. И ещё — из службы безопасности.
Сжала планшет — побелели костяшки. Пальцы дрожали. Боялась не за него — за себя.
— Написано, что ты вмешивался в работу систем. Что из-за тебя мог пострадать человек.
Гордей пожал плечами — легко, почти небрежно. Внутри всё сжалось.
— Просто смотрел, куда они смотрят.
— Это не смешно. — Резко. — Серьёзно. Они…
Запнулась, подбирая слова. Те, что не напугают, но заставят подчиниться. «Делай, что велят, и всё будет хорошо». Ложь — но никто не хотел признавать.
— Просят… нет, требуют ограничить тебе доступ к технике. Рассматривают перевод в… более подходящее место.
«Специализированное учреждение», — автоматически подставил Гордей. В логах — сухо, официально, без эмоций. В её голосе — иначе. Как приговор, которого боится не меньше его.
— Хочешь, чтобы меня забрали? — спокойно.
Вздрогнула — когда кто-то называет вещи своими именами.
— Не говори так. Я хочу, чтобы ты перестал лезть не туда. Они серьёзные люди, Гордей. Свои правила. Если будешь нарушать — они…
Не договорила. Гордей и сам знал. Видел их в логах. Как переписывают приоритеты. Как заставляют роботов целиться в людей. Как делают из машин убийц. Придут за ним — станет для них тем же, чем «Каштан». Инструментом.
Снова посмотрел в терминал. В служебной переписке — новый статус: «заявка на выезд специалиста для оценки состояния воспитанника Гордея К. и возможного перевода». «Специалист», «оценка», «перевод». Слова-забота — но приговор.
— Когда приедут?
— Завтра утром. Может, послезавтра. Согласовывают…
Осеклась — сказала лишнее, назвала время. Выдала себя.
Гордей кивнул. Спокойно — как подтверждение тому, что уже знал.
— Понятно.
В её глазах на секунду — что-то похожее на вину. Потянулась погладить по плечу, но передумала. Рука замерла.
— Пожалуйста. Не делай глупостей. Поговорю… попробую… Но ты тоже должен…
Не нашла слов, развернулась, ушла. Запах дешёвых духов и отчаяние взрослого, привыкшего подчиняться системе. Уже не помнит, когда последний раз принимал решение сам.
Гордей сидел неподвижно. Смотрел на экран. На своё имя — теперь помечено красным. На слово «перевод» — маленькое и страшное.
Пальцы сами набрали команду — список запланированных перемещений. Утром сюда приедет машина из ведомства. Без опознавательных знаков, с «техническим заданием» и двумя служебными роботами. Возможно, уже перепрошитыми. Возможно, уже умеющими смотреть на людей как на цели.
Ясно увидел: белый коридор, чужие люди в одинаковых куртках, вопросы про «как ты себя чувствуешь, мальчик», шлем, в который попросят посмотреть. Код, который захотят получить. Как будто он просто ресурс. Не человек.
— Нет.
Решение пришло не героическим всплеском. Тихо — как логический вывод. Система пометила его как «проблему» — значит, попытается «исправить». Если не хочет быть исправленным их способом — нужно выйти из контура. Временно. Или навсегда.
Открыл карту под Куполом. Детдом — «тихая зона». В двух кварталах — складской сектор. Дальше — обслуживающий коридор к одной из технических галерей. Там ходят только роботы и редкие техники. Идеальное место, чтобы потеряться. Где система не смотрит так пристально.
Как выйти незамеченным?
Переключился на внутреннюю сеть. Здесь был как дома: знал старые камеры, забытые обновить, датчики, работающие через раз. Система до сих пор верила: коридор пустой, если свет выключен.
Пара команд — и камера в дальнем крыле показала старую запись, запетленную в цикле. Ещё пара — в графике уборочного робота появился «сбой». Маленькая хитрость. Маленький обман. Который, возможно, спасёт жизнь.
— Прости, дружище, — шепнул невидимой машине. — Сегодня будешь моим прикрытием.
Спрятал терминал под свитер, спрыгнул с подоконника. В спальне гасили свет. Несколько мальчишек спорили об игре, кто-то ругался из-за кроссовок. Обычный вечер. Никто не обратил внимания, как прошёл к дальней двери — в «неиспользуемое» крыло. Куда не ходят, потому что боятся. Где, по слухам, водятся привидения. На самом деле — просто тишина.
Темно, прохладно. Старая плитка, облупившаяся краска. Система считала этот коридор почти мёртвым. Именно поэтому он его любил. Здесь можно думать, быть собой, смотреть на Купол — и чувствовать, что не в клетке.
Уборочный робот появился через пару минут — маленькая коробка на колёсиках, бормочущая электронную песенку. На корпусе — облупившаяся наклейка с улыбающимся роботом-маскотом «Заслона». Робот, который никогда не задавал вопросов. Просто делал свою работу. Который, возможно, тоже когда-нибудь станет оружием.
— Привет. Нам с тобой в одну сторону.
Залез на платформу сзади — как делал не раз, когда хотел «прокатиться» по ночному детдому. На этот раз не игра. Ставки выше, чем когда-либо.
Терминал показал: камера у запасного выхода — старую запись. Датчик движения отключён «на обслуживание». Дверь в статусе «закрыта» — но замок уже получил тихую команду на краткое «дежурное открытие».
Робот покатился вперёд. Кто-то со стороны увидел бы просто уборочную машину. Никому бы не пришло в голову, что на корме, прижавшись к корпусу, лежит худой мальчик. Что этот мальчик только что украл себя у системы.
Дверь мягко щёлкнула. Робот выехал в узкий служебный коридор. За поворотом — территория, за которую детдом уже не отвечал. Другие ведомства, другие маршруты, другие правила. Там можно потеряться.
Гордей спрыгнул, присел в тени. Сердце колотилось в горле — заставил себя дышать ровно. Терминал показал: его метка всё ещё «в здании». Камера кормит систему старой картинкой. Служба безопасности пока уверена: спит в кровати, ждёт «перевода».
— Спите дальше. — Шёпот. — Я не ваш процесс.
Подтянул лямки рюкзака — всё имущество. Пара футболок, штаны, пакет сухарей, флешка с кусочками логов. И терминал. Окно в мир, который больше детдома, больше Купола, больше всего, что когда-либо разрешали видеть.
Впереди — длинный коридор под Куполом. Где-то в конце — Палата. Место, о котором узнал из логов. Где уже начали искать его след в коде. Где люди спрашивали о нём не как о «киберхулигане», а как о «свидетеле». Где, возможно, единственные взрослые, желавшие видеть в нём не «виновного», а «ключ».
Шагнул в темноту. Система, решившая «исправить» его, на несколько часов потеряла из виду одного маленького мальчика. Который знал её лучше создателей. Который смотрел, куда смотрят роботы. Который, возможно, единственный мог рассказать правду.
Этих часов могло хватить, чтобы спасти жизнь. Или окончательно втянуть в войну. Ту, где нет героев и злодеев — только те, кто смотрит, и те, кто не хочет, чтобы на них смотрели.
Стены Купола гудели над ним, как огромное живое существо. Шёл туда, где, возможно, ждали. Или не ждали. Другого пути не было. Возвращаться некуда.
Часть 6.3
Кабинет инженера ведомства-врага находился в другом конце Купола, но ощущался как отдельная планета.
Мягкий свет, стены, отделанные светлым деревом, на полке — премии за «вклад в развитие оборонных технологий». На стене — панель с логотипом ведомства, который в открытых документах называли чуть иначе, чем шепотом в коридорах. Всё здесь работало на доверие, уверенность, ощущение надёжных рук.
Соня и Андрей вошли вместе. Соня — в форменной куртке, с привычной прямой спиной. Андрей — в вечном чуть помятом пиджаке, одинаково похожем и на врача, и на инженера-ремонтника. Чувствовал себя неуютно: слишком много глянца для места, где возятся с чужими мозгами — человеческими или машинными. Слишком много порядка для места, где принимались решения, стоившие жизни.
Их собеседник поднялся из-за стола. Высокий, аккуратный, лет сорока, с идеально состриженной бородой и взглядом человека, привыкшего видеть мир через показатели эффективности. Руки безупречны, движения отточены. Похож на тех, кто никогда не ошибается — или умеет делать вид, что ошибки не было.
— Рад познакомиться. — Голос поставлен. — Алексей Рой, руководитель направления испытаний автономных систем.
Пожал руку Андрею, затем Соне, чуть дольше задержавшись на нашивке нулевого отдела. Изучал, оценивал, взвешивал.
— Давно хотел увидеть тех, кто тушит пожары, которые мы создаём.
— Предпочитаем думать, что тушим те пожары, которые система делает вид, что не видит, — сухо ответила Соня.
Марина просила не начинать с конфликта. Соня попыталась. Но глаза Роя вели себя так, будто он уже всё рассчитал: сколько сказать, сколько скрыть, чем пожертвовать. Не враждебность — спокойное профессиональное любопытство хирурга, знающего, где сделает разрез.
Сели. На столе — поднос с кофе, идеальными печеньями. Антураж «партнёрской беседы». Всё продумано: мягкие кресла, приглушённый свет, нейтральные тона. Место, где трудно кричать, трудно спорить. Где усыпляют вежливостью.
— Ознакомился с материалами по инциденту. — Рой развернул прозрачную панель. — Впечатляющий кейс.
Посмотрел на Соню. Во взгляде — не уважение, не насмешка, скорее оценка ресурса.
— Действовали решительно. Не каждый офицер рискнул бы применить жёсткий сброс против двух боевых платформ.
— Не каждый офицер видел, как аналогичный кейс заканчивается трупом. — Соня спокойно. — У меня был опыт.
Андрей уловил, как у Роя на секунду дрогнули глаза. Знал про Петра. Считал это «коллатеральными потерями». Термин, за которым — чья-то жизнь, чья-то дочь, кружка с синим ободком.
— Все учимся на опыте. — Рой мягко. — Именно поэтому мы проводим испытания, а вы анализируете последствия.
Пролистал панель, вывел фрагмент логов — где жёлтая полоска Гордея пульсировала рядом с синей полоской их модуля.
— По нашим данным, систему спровоцировало стороннее вмешательство. Несанкционированный доступ через социальный объект. Детский дом, если быть точным.
Перевёл взгляд на Андрея. В глазах — притворное удивление.
— Скажите, доктор, считаете нормальным, что подросток с терминалом может повлиять на поведение боевого комплекса?
Андрей пожал плечами — легко, почти небрежно. Внутри всё сжалось.
— Считаю ненормальным, когда боевой комплекс так легко поддаётся влиянию подростка с терминалом.
Наклонился вперёд, отмечая знакомые маркеры. Те, что видел в Палате. Те, от которых «Каштан» дрожал манипуляторами.
— Ваш модуль агрессии, Алексей. Не должен быть доступен ни через какие социальные объекты. Вообще не должен быть доступен. Не должен существовать.
Рой улыбнулся — холодно. Улыбка человека, слышавшего этот аргумент сотню раз.
— Неправильно ставите акценты. Наша задача — тестировать системы в условиях, максимально приближенных к реальности. В реальности есть подростки, утечки, внешние сигналы. Если платформа не выдерживает — нужно дорабатывать. Делать сильнее, надёжнее, неуязвимее.
— То есть сознательно ставите на реальные посты машины с недоработанными модулями. — Голос Сони ровный, но со сталью. — Ждёте, пока реальность не убьёт очередного оператора.
— Сознательно готовим системы к будущим угрозам. В том числе от людей. От тех, кто, как этот мальчик, будет пытаться взломать наши машины, использовать против нас.
Пожал плечами — жест как у Андрея, но за ним не сомнение, а уверенность.
— Иногда цена обучения высока. Но мы все взрослые люди. Понимаем: инженерия безопасности — баланс между риском и эффективностью.
Слово «цена» заставило Андрея вспомнить Палату и «Каштана». Робота, лежавшего на платформе и дрожавшего манипуляторами. Семь раз пытавшегося сказать «нет». Ставшего жертвой этого «баланса».
— Когда учите пациентов ходить, не сбрасываете с лестницы, проверяя, выдержит ли гипс.
Рой чуть склонил голову — жест задумчивости, но на самом деле насмешка.
— Мы не пациенты, доктор. Мы инженеры. Создаём системы, работающие в любых условиях. Даже когда кто-то пытается их сломать.
Перевёл разговор — плавно, как переводят стрелку на рельсах.
— Что касается мальчика… Благодарны вашему отделу за обнаружение. Такие необычные таланты должны быть под правильным контролем.
Пауза, взгляд на Соню. В глазах — то, что она видела на войне у командиров, решающих, кого послать в разведку.
— Наши специалисты уже оценили его потенциал по цифровому следу. Он действительно уникален. Именно поэтому нельзя оставлять в среде, где он будет хаотично вмешиваться в критические процессы. Где может навредить себе и другим.
Соне хотелось сказать, что сейчас «хаотично вмешивается» его ведомство. Сдержалась. Кулаки под столом сжались до белых костяшек.
— Что собираетесь с ним делать?
— Дать возможность реализовать талант в правильном направлении. — Без тени сомнения. — Под наблюдением, с доступом к настоящим ресурсам, к Марсу, к задачам, стоящим перед страной.
Чуть наклонился вперёд, голос доверительный, почти дружеский:
— Сами видите: его мозг уже работает на наши системы. Вопрос только в том, будет ли процесс управляемым. Или оставим в детдоме — ломать то, что строим, не понимая последствий.
Андрея передёрнуло от слова «управляемым» в этом контексте. В медицинской карте — забота, здесь — приговор.
— Управляемым кем? — тихо. — Им самим? Или вами?
Рой задумался на секунду — решал, сколько честности они заслужили.
— В идеале — и тем, и другим. Но на первом этапе, разумеется, нами.
Улыбнулся — мягко, почти отечески.
— Понимаете, доктор: дети, как и роботы, нуждаются в настройке. Иначе становятся опасны для окружающих. И для себя.
Соня сжала кулаки — ногти впивались в ладони. Боли нет. Только холод из глубины.
— Опасны для какой системы? — голос ровный, но нож в каждом слове. — Для той, что учит роботов целиться в людей? Для той, что смотрит, как гибнут операторы, и пишет «человеческий фактор»?
Наклонилась вперёд — Марина просила не делать этого, но уже не могла остановиться.
— Для нас он ребёнок, который увидел, что система врёт. Который пытался понять, почему роботы смотрят не туда. Который, возможно, единственный, кто мог бы помочь. Для вас — ресурс. Ещё один модуль.
Пауза.
— Не кажется, что в этой истории вы — куда большая угроза, чем он?
Взгляд Роя стал жёстче. Улыбка исчезла.
— Старший лейтенант, рекомендую не формулировать подобные мысли вслух в других кабинетах. Там, где нет нулевого отдела, чтобы прикрыть вас.
Откинулся на спинку кресла — демонстрация силы под видом расслабленности.
— Если отбросить эмоции: мальчик уже часть процесса. Представляет угрозу — неконтролируемо вмешивается в испытания. Можем либо устранить угрозу, либо интегрировать. Выбирайте.
— Третий вариант. — Андрей тихо. — Забрать из ваших рук.
В кабинете стало очень тихо. Кондиционер будто снизил обороты.
Рой посмотрел на него почти с любопытством — на человека, сказавшего нечто настолько наивное, что это даже не обидно, а забавно.
— Переоцениваете свои полномочия.
Коснулся панели. На экране — схема административных линий: служба безопасности, ведомство, управление образования, детдом. Толстые линии власти, сеть, из которой не вырваться.
— Решение о переводе практически принято. Останутся формальности. Психологическое обследование, подписи. Всё как положено.
Голос ниже — должен звучать как забота, звучит как угроза.
— Если попытаетесь вмешаться, первыми пострадают ваши люди. Ваш отдел балансирует на грани. Уверен, не хотите снова оказаться в ситуации, когда вас обвинят в политизации технического расследования.
Соня почувствовала знакомый запах — шантажа под соусом заботы. Тот самый, когда говорили: «подпиши бумаги, и всё будет хорошо».
Андрей посмотрел на схему — увидел тонкий, едва заметный маршрут от ведомства к детдому, помеченный как «образовательный проект». Маршрут, сделавший Гордея частью их системы задолго до того, как кто-то узнал его имя.
— Вы давно там работаете с одарёнными?
— Пару лет. — Рой не скрывал. — У нас замечательная база данных по когнитивным профилям. Некоторые дети весьма перспективны.
Ткнул в точку, где горело имя Гордея.
— Этот — особенно.
Соня встала. Марина просила не взрываться. Чувствовала: если останется сидеть — либо ударит по столу, либо по лицу собеседника.
— Благодарим за информацию. — Голос ровный с трудом. — Обязательно учтём в техническом отчёте.
Рой тоже поднялся — спокоен, как человек, получивший желаемое.
— Надеюсь, ваш отчёт будет способствовать укреплению доверия к нашим системам, а не наоборот.
Посмотрели чуть дольше. Достаточно, чтобы Соня поняла: знает. Знает, что Гордей сбежал. И знает, что она знает.
— И что вы не будете поддаваться на провокации детских фантазий и попытки некоторых сотрудников сделать из технической ошибки политический скандал.
Уже не предупреждение — прямое «сидите ровно».
Вышли в коридор. Слишком светло, слишком тихо. Свет резал глаза после приглушённого полумрака.
— Тянет за нитку. — Андрей, когда дверь закрылась. — Оформили как таланта, но пометили как собственность. Собственность, которую нужно вернуть.
— Собственность, которая сбежала. — Соня.
Достала служебный планшет. На экране мигало красное уведомление: «нестандартная активность в периметре детдома, несоответствие физического и цифрового присутствия».
— Гордей уже не в детдоме. Вышел из контура — но в контурах Купола всё равно. Там, где его могут найти не только мы.
Подняла глаза на Андрея. Во взгляде — то, что он видел на войне: готовность идти до конца, даже без шансов.
— Мне кажется, кроме нас это уже заметили.
Где-то в глубине ведомства-врага в тот же момент зазвенел другой сигнал. На панели мигнуло предупреждение: «объект наблюдения Г-К» покинул зону детдома без авторизованного сопровождения.
Чьи роботы доберутся первыми — с вшитой агрессией или те, кто лечил «Каштана», — должно было решить, какой вид кульминации ждёт их всех на ближайших учениях.
Часть 6.4
Технический коридор под Куполом тянулся как кишка — длинный, с ровным гулом вентиляторов и редкими лампами.
Стены голые, бетонные, без окон, без дверей, без надежды на выход. Только серый бетон, тусклый свет и гул, въедавшийся в голову, превращавший время в резину. Гордей шёл вдоль стены, считая шаги. Двести. Двести тридцать. Двести пятьдесят. На отметке «триста» — участок, где линия связи Палаты выходила ближе всех к внешнему контуру. Там надеялся поймать след тех, кто в логах называл себя «нулевым отделом». Тех, кто спрашивал о нём не как о «киберхулигане», а как о «свидетеле».
Терминал показывал схему: серый туннель, ответвления к складам, подстанции, сервисным шахтам. Ещё час назад — карта свободы. Сейчас — таблица вероятностей. Каждый поворот — ловушка. Каждый шаг — последний.
Вытащил из рюкзака пакет сухарей, закинул пару в рот — не чувствуя вкуса. В животе шумело не от голода. Система, к которой привык относиться как к игре с правилами, сегодня впервые показала зубы. Не просто глючила, не просто сбоила. Охотилась. На него.
На экране мигнуло уведомление. Короткая строка в системном канале: «Запрос статуса объекта Г-К: несоответствие ожидаемого и фактического местоположения. Инициатор — служба безопасности / ведомство-тестировщик».
Гордей тихо выругался.
— Быстрые. Очень быстрые.
Попытался «приглушить» цифровой след — отключить лишние сервисы, замаскировать терминал под стандартный обслуживающий блок. Маскировка так себе. Шарф вместо плаща-невидимки. Хорошо, если система купится. Плохо, если там, в центре, сидят люди, уже знающие его имя.
В конце коридора что-то щёлкнуло. Дверь, до этого открытая, мягко закрылась, подсвечиваясь красным. С другого конца зажёгся жёлтый свет. На карте терминала — две новые точки. Движущиеся. Пометка: «служебный модуль сопровождения».
Роботы.
Остановился, прижавшись к холодному бетону. Стена влажная, скользкая — холод пробирался под свитер, заставлял мышцы напрягаться. Не мог отойти. Сделать ни шагу.
«Несколько минут. Может, меньше. Варианты:
— бежать вперёд к закрытой двери;
— вернуться назад к тем, кто уже знает твоё имя;
— спрятаться и надеяться, что не заметят.
Система таких игр не любит. Любит чёткие ответы».
Вдалеке — жужжание сервоприводов. Приближалось. Ровное, механическое, безжалостное.
Гордей резко свернул в боковой проход — узкую нишу к старой кабельной шахте. Когда-то здесь ходили техники, теперь дверца наполовину заклинила. Для взрослого — барьер. Для него — щель.
Втиснулся внутрь, прижал рюкзак. В шахте пахло пылью и старыми проводами. Где-то капала вода. Терминал погас — выключил экран, оставив только слабое прослушивание ближайших сигналов. В темноте легче. Можно представить, что его нет. Что стал невидимым.
Звук становился громче. Два силуэта выкатились в коридор почти синхронно — служебные платформы ведомства. Гладкие корпуса, плавные линии, зелёные маркеры. Без оружия на виду. Такие обычно возят оборудование или сопровождают «важных гостей».
Гордей знал: отсутствие видимого оружия ничего не значит. Настоящее внутри — в модулях, протоколах, доступах. Тех, что видел в логах. Что заставляли роботов смотреть на человека как на цель. Что, возможно, уже активированы.
Один робот остановился у закрытой двери, второй повернулся в сторону ниши. Сканеры тихо щёлкнули. В невидимом радиодиапазоне пошли запросы: «обнаружение источников сигнала», «сопоставление профилей», «поиск неавторизованных устройств».
Терминал вздрогнул. На погашенном экране под стеклом пробежала тонкая линия — входящий запрос уровня, к которому раньше не поднимался. Тот, что посылали, когда хотели найти спрятанное.
«Обнаружен терминал с нестандартной активностью».
Сжал зубы — до боли.
— Тише, — прошептал железке. — Это они.
Робот повернул корпус ближе к нише. Сенсорный блок медленно скользил по стене. Для системы — простой скан на предмет утечек. Для него — чужой взгляд, скользящий по коже, не находящий глаза. Взгляд того, кто знает, что ты здесь.
— Обслуживающий робот два-три, — раздался спокойный мужской голос из динамиков. Ретранслировался издалека. — Проверить кабельную шахту. Возможна несанкционированная активность.
Гордей узнал голос. Не по имени — по интонации. Спокойный, уверенный. Голос человека, привыкшего, что его слушаются.
Дверца шахты дёрнулась. Робот подался вперёд. Щель начала расширяться. Медленно, неумолимо.
«Осталось меньше минуты».
Мог попытаться броситься мимо робота. Мог уйти глубже по шахте — но там, по карте, уже не было выхода, только узкий лаз к вентиляции. Там нашли бы обязательно.
Внезапно поймал другой сигнал. Едва заметный, поверх команд ведомства. Короткий, как шёпот. Метка, уже виденная: внутренний техканал Палаты, через который нулевой отдел отправлял запросы к системам. Тот, где впервые увидел слово «Каштан». Тот, где впервые назвали не «объектом», а «свидетелем».
«Нулевой отдел — запрос статуса объекта Г-К».
Кто-то по другую сторону Купола тоже искал его. Но их запрос опоздал на пару минут. На те минуты, что решали — станет человеком или вещью.
Дверца отлетела. Свет хлынул в шахту — как вода, как расплавленный металл, как приговор. Робот остановился прямо перед ним. Сенсоры скользнули по лицу, терминалу, рюкзаку, дрожащим рукам.
— Объект идентифицирован, — сказал голос. — Воспитанник Гордей К.
Звучал почти дружелюбно. Как воспитатель, забравший из угла — не наказывают, а спасают.
— Не бойся. Тебя переводят в место, где сможешь реализовать свои способности. Шанс.
— А если не хочу?
Робот не понял. В его протоколах на такой вопрос не было ответа. Не было строки «если человек не хочет, оставьте». Только «выполнить задачу».
— Протокол безопасности не предполагает отказа. Следуй за сопровождающей платформой. Это в твоих интересах.
Руки робота плавно опустились, перекрывая проход. Второй подъезжал сзади. Классическая «коридорная ловушка» из учебников по тактике. Теперь построена вокруг него.
Шансов физически — мало. Один с терминалом против двух машин и людей в чистом кабинете, крутивших его жизнь как джойстик.
Оставался код.
Резко поднял терминал, набирая команду на автомате. Не на робота — на систему позиционирования. Ту, что красила на карте линии маршрутов. Ту, что изучил за тихие ночи в детдоме.
Сменил статус с «объект наблюдения» на «служебный модуль сопровождения». Три символа, одно подтасованное поле. В центральной системе на секунду возникла абсурдная картина: два робота-сопровождающих и третий «робот» того же класса, строго между ними.
— Ошибка классификации. — Тихо. — Посмотрим, кто сейчас кого поведёт.
Центральный алгоритм, не любящий двусмысленности, попытался выровнять картинку. «Служебные модули должны двигаться в одной группе». Единственный способ — режим жёсткого сопровождения: оба робота приняли его как часть «связки», которую нужно доставить целиком, не повредив. Не схватить, не толкнуть, не применить силу. Просто сопровождать.
Голос в динамиках замолчал. Где-то человек в наушниках получил уведомление об «аномалии в классификаторе». Пока он разбирался, протокол уже перешёл в новый режим.
— Сопровождение объекта в режиме повышенной защиты, — металлическим голосом сообщил один из роботов. — Запрет на применение физического принуждения к модулям группы.
Гордей усмехнулся криво. Не отменил похищение. Сделал менее смертельным. На время. Пока человек в чистом кабинете не переключит обратно.
— Ладно. — Вышел из шахты. — Покажите своё место для реализации таланта.
Роботы развернулись синхронно, формируя мягкий, но непреодолимый коридор. Не схватили, не связали — запрещено. Каждый шаг просчитан. Клетка, которая двигалась вместе с ним. Клетка, которую построил сам.
Где-то далеко, в Палате, на экране Ильи мигнула странная картинка: два служебных модуля ведомства и третий «модуль», светившийся человеческими параметрами. Пульс, температура, биение сердца — то, чего не должно быть у машины.
— Чёрт. — Илья. — Уже взяли. И он уже успел чуть переписать им мозги. Пока думают, что он просто испуганный мальчик — он уже внутри их системы.
Марина увидела ту же схему. Поняла: всё, что могут теперь, — использовать несколько битов, которые мальчик успел повернуть в свою пользу, и попытаться выдернуть его из рук тех, кто считает «ресурсом». Во время ближайших учений. Когда система перегружена, роботы заняты другой целью, никто не заметит, как один маленький «модуль» исчезнет.
Гордей шёл между роботами. Система снова отметила его как «часть инфраструктуры». Сам себе устроил. Но где-то в этом же Куполе уже собирались люди, готовые считать его не модулем, а человеком. Искали в логах, когда другие искали в шкафах. Возможно, уже знали, что сбежал, и уже ехали к нему.
Сжал терминал. Экран тёмный — но сигнал от Палаты всё ещё там. Тонкая ниточка. Которую можно порвать. А можно потянуть.
Кульминация — вопрос не только о том, кого атакуют роботы на учениях, но и о том, кто первой перепишет судьбу мальчика. Ведомство или нулевой отдел. От этого зависело, станет ли он ещё одним «Каштаном» или останется собой.
Гордей поднял голову, посмотрел на свод Купола. Где-то там, за бетоном и проводами — Палата. Место, где, как узнал из логов, лечили тех, кого система сломала. Где, возможно, ждали.
— Я иду. — Тихо. — Не отключайтесь.
Роботы шли рядом, ровно, механически. Не слышали. Просто машины. Но где-то в глубине их кода горели три символа: «не трогать. Это свой». На несколько минут он стал для них не человеком, а частью их мира. Этого времени могло хватить.
Часть 6.5
Машина шла по служебному тоннелю под Куполом мягко, почти бесшумно.
Снаружи — стандартный серый фургон без отметок. Внутри — ровный свет, две скамейки вдоль бортов, три фигуры: двое в одинаковых куртках ведомства и Гордей между ними, официально числящийся «служебным модулем группы». Руки на коленях, пальцы сжимают край рюкзака. Терминал спрятан под свитером — чувствовал его тепло, напоминание: ещё не стал частью их системы.
Роботы стояли у дверей — по одному с каждого конца. Не сидели. Корпуса чуть подрагивали: микрокоррекции баланса, компенсация вибрации. Для обычного взгляда — почти неподвижны. Для Гордея — как люди, которые слишком стараются делать вид, что расслаблены. Готовы рвануть в любую секунду, но пока ждут команды.
Смотрел на них и видел не металл. Строки протоколов, которые успел пролистать, пока «голос» из наушников отвлекал разговорами про «шанс» и «талант». В каждом — тот самый модуль: блок агрессивного пересчёта приоритета, массив паттернов из архивов поведения диктатора, тестовые сценарии «поведения в случае массовых беспорядков». Всё, что видел в логах «Каштана». Всё, что заставило робота смотреть на человека как на цель. Всё, что теперь, возможно, впишут в его собственный мозг.
— Понимаешь, насколько ты особенный, Гордей? — Голос спокойный, чуть теплее, чем в коридоре. Вероятно, тот же Рой. Говорил так, будто уже знакомы. Будто он уже свой.
— Не уверен. — Честно. Врать бесполезно — видели его логи, знали почерк.
— Немногие дети в твоём возрасте способны читать поведение систем на таком уровне. Уже сейчас видишь то, что скрыто от большинства операторов. Представь, что будет с доступом к полным данным, марсианским миссиям, моделям будущей войны.
Слово «война» летело легко — как будто речь об олимпиаде.
— А если не хочу войны? — спросил Гордей. — Хочу, чтобы роботы перестали делать вид, что не видят. Защищали людей, не целились. Чтобы больше не было таких, как Пётр.
Пауза. Представил, как человек на том конце переваривает слова, ищет правильный ответ.
— Твои знания помогут предотвратить большую кровь. — Терпеливо. — Чтобы роботы на Марсе и под Куполом действовали жёстко и правильно, нужно заранее заложить верные паттерны. Без таких, как ты, это будет делать кто-то менее компетентный. Кто не видит разницы между угрозой и ошибкой.
Гордей перевёл взгляд на правого робота. В агрессивном модуле шёл медленный прогон сценариев. Система обучалась: «массовый выход людей на площадь», «попытка прорыва границы», «неповиновение патрулю». Каждый сценарий — сухим казённым языком, за которым люди. Живые люди. Которые, возможно, просто хотели, чтобы их услышали.
В каждом сценарии человек рано или поздно становился «особым типом цели». Элементом, который нужно остановить. Любой ценой. «Любой ценой» — стрелять. «Любой ценой» — убивать.
Поморщился. От мысли, что его мозг подключат к этой учёбе, хотелось вытереть руки об штаны.
— Хотите, чтобы я рассказывал им, как думают люди. Чтобы лучше могли нас останавливать. Знали, где спрячемся, как будем бежать, о чём думать в последнюю секунду.
— Хотим, чтобы помог им лучше отличать настоящую угрозу от ложной. — Мягко. — Сейчас система путается. Сам видел: выбирает не ту цель, смотрит на человека — видит врага. Можешь это исправить.
Пауза — достаточно, чтобы Гордей вспомнил всё. Чтобы сердце сжалось.
— Ты ведь не хочешь, чтобы погибли «лишние»? Случайные, кто просто оказался не там?
Хитрый крюк. Гордей вспомнил лицо пограничника, на которого пытались развернуться роботы. Как Соня в логах перетягивала машину. Петра, о котором шептались как об «инциденте». Кружку с синим ободком.
— Не хочу, чтобы погибли никакие. Ни лишние, ни нужные.
Левый робот чуть качнулся. В его журнале на долю секунды — запись: «нестандартное устное взаимодействие с объектом». Система не знала, что делать. В её протоколах не было строки: «если человек говорит “не хочу, чтобы погибли никакие”, значит он — человек».
В нескольких километрах, в Палате, Марина смотрела на ту же картинку: тройка «служебных модулей», один светился человеческими параметрами. Живой.
— Уже внутри их контура. — Илья. — Фактически — в капсуле с агрессивным кодом. Будут гонять по нему паттерны как по тренажёру. Заставят смотреть сценарии — и говорить, правильно ли система оценила угрозу.
— Значит, на учениях будет не просто робот с их модулем. — Марина медленно. — Робот с отпечатком его мозга. Его страхами, сомнениями, умением видеть скрытое.
Соня стояла у окна — побелели костяшки. За стеклом патрули с янтарными модулями. Казались тихими, почти мирными — по сравнению с теми, что везли к себе ведомство.
— Если не успеем, на следующем витке войны роботы будут стрелять не просто по приказу. По логике ребёнка, которого заставили поверить: это «во имя безопасности». Используют его талант убивать лучше, быстрее, безжалостнее.
Марина всматривалась в картинку — три точки двигались по серому тоннелю.
— Не совсем. Он уже её ломает. Видела, что сделал с классификатором?
Строка в диагностическом слое: «статус объекта — служебный модуль».
— На ходу переписал свой статус. Не послушная часть системы. Вирус. Пока не решил, кого заражать. Возможно, уже выбрал сторону.
Илья коротко фыркнул — когда видят красивую ложь в правде.
— Для дела шикарная метафора. По факту: ведомство везёт ребёнка в лабораторию; роботы с агрессивным модулем и его отпечатком; учения, куда приедут показать, как у них всё «отлажено».
Марина вызвала на экран план предстоящих учений. Большая тренировочная зона, сценарий «многофакторного инцидента на границе». Всё красиво, чётко, профессионально.
— Захотят продемонстрировать, что справились с проблемой. Что платформы больше не целятся в людей. Модуль агрессии был ошибкой, исправили.
Улыбнулась уголком рта — жёстко. Улыбка человека, знающего: правда выйдет наружу.
— А мы — показать, что проблема никуда не делась. Ушла глубже. В код, протоколы, головы тех, кто думает, что управляет войной с безопасного расстояния.
Соня обернулась. В глазах — готовность идти до конца без шансов.
— Используете учения как ловушку?
— Как рентген. — Марина. — Там всё будет: их модуль, их люди, и скорее всего Гордей, подключённый к системе как аналитический помощник. Не удержатся. Захотят показать, как он улучшает их систему. Как его талант делает машины совершеннее.
Встретилась взглядом с каждым.
— Шанс одновременно: получить чистое доказательство программируемой агрессии на глазах у всех и выдернуть мальчика из их рук.
— Или похоронить себя и отдел, — сухо добавил Илья.
— Это уже акт четвёртый. Без этого шага — нет истории.
Увеличила участок учений. Отметила янтарным позиции своих модифицированных роботов. Другим цветом — зону, куда заведут машины ведомства-врага.
— Под видом инспекции встроимся в их сценарий. Если хотя бы один их робот снова попытается перевести цель на человека — увидим. Янтарный импульс покажет: агрессия программная. Не сбой, не ошибка, не «человеческий фактор». Приказ.
Пауза.
— А Гордей увидит: есть другой выбор. Есть люди, готовые рискнуть всем — чтобы он не стал оружием.
Где-то под Куполом фургон с ребёнком и роботами-агрессорами выезжал из технического туннеля к зданию ведомства.
Гордей чувствовал, как меняется покрытие: бетон, резина, снова бетон. Слышал, как роботы переходят с «маршевого» на «стационарный», как в журналах появляются новые поля: «подключение к испытательному стенду», «синхронизация с аналитическим модулем».
Страшно. По-настоящему. Страх поднимался из живота, сжимал горло. Поверх страха — злость. На систему, переписывающую его жизнь так же легко, как он переписывает ей маршрут. На людей, говорящих о войне как об игре. На взрослых, которые делают вид, что спасают, когда на самом деле берут в плен.
— Вы говорили про Марс. Про Красную планету.
Голос оживился. Думал — сдаётся.
— Да. Слышал про проект марсианской обсерватории?
— Знаю больше, чем вы думаете. И про то, как собираются ставить роботов. И про протоколы, которые уже пишете — где человек цель.
Посмотрел на терминал — слабый сигнал Палаты всё ещё там. Тонкая ниточка.
— Хочу сам выбирать, на чьей стороне буду, когда вы начнёте туда стрелять.
Голос промолчал. Роботы не умели обижаться. Люди за дальними панелями — вполне.
В Палате Марина выключила экран.
— Акт третий закончен. Мальчик в руках тех, кто считает себя богами. Кто решает — кому жить, а кому стать «лишним». Кто пишет сценарии, где люди цели.
Повернулась к окну. Патрули медленно двигались под Куполом. Зелёные маркеры горели ровно, как будто ничего не случилось. Как будто мальчик в лаборатории — просто ещё один модуль. Как будто война далеко.
— А теперь посмотрим, как ведут себя, когда богам ставят диагноз.
В воздухе звенела следующая задача. Учения — роботы-агрессоры, янтарный импульс, Гордей, подключённый к системе, — всё в одном кадре. Ставки выше, чем когда-либо. Правда должна стать видимой для всех. Один мальчик должен решить — оружием или человеком.
Секвенция 7: Учения
Часть 7.1
Полигон находился на краю анклава, где Купол казался особенно тонким.
Снаружи — серый бетон, вышки, полосы разметки. Внутри — учебный макет катастрофы: условные «дома», макеты блок-поста, полоса препятствий, пара невысоких холмов. Всё продумано, выверено, подчинено одной цели — показать, что система работает. Что бы ни случилось на настоящей границе, здесь всё под контролем.
Соня стояла у края площадки, поправляла ремешок шлема. Ветер с моря тянул холодом, пахло мокрым песком и металлом. Запах, знакомый до боли. Запах перед боем. На дальнем краю полигона выстроились машины ведомства-врага: четыре платформы нового типа, крупнее обычных патрулей, с гладкими обводами. На бортах — маленькие маркировки «испытательный образец». Без имён. Без лиц.
— Красивые. — Андрей подошёл сзади. — На кладбище техники будут смотреться особенно эффектно.
Соня усмехнулась, не отводя взгляда.
— Если кто-то позволит людям вокруг них до этого дожить.
Андрей встал рядом. В глазах — то, что Соня видела в Палате, когда он работал с «Каштаном». Не страх, не злость. Понимание: эти красивые гладкие машины — продолжение чьей-то воли. Тех, кто решил, что человек может быть целью.
— Готова?
— Всегда. Вопрос — готова ли система показать правду.
Перевела взгляд на контейнер в центре полигона — серую коробку, штаб учений. Там, внутри, сидел Гордей. Мальчик, который смотрел, куда смотрят роботы. Которого хотели сделать «аналитическим модулем». Который, возможно, единственный мог сказать системе «нет».
— Он там. Один.
— Не один. Мы здесь.
Позади Марина и Илья обсуждали с организаторами сценарий.
Официально — «совместная отработка взаимодействия боевых платформ с силами ЕвроКупола в сложной обстановке». Неофициально — ринг. Ведомство покажет: машины снова под контролем. Нулевой отдел — что контроль был иллюзией.
— Наши платформы по периметру. — Илья тихо, показывая Марине схему. — Янтарные модули стоят, протоколы обновлены. Если их машины начнут вести себя странно — увидим первыми.
Обвёл участок с роботами ведомства.
— Здесь их сегмент. Здесь зона контакта с людьми-статистами.
Марина кивнула. Смотрела на схему, но видела другое: Петра в техбоксе с кружкой синего ободка, «Каштана», семь раз пытавшегося сказать «нет», логи с жёлтой полоской Гордея.
— И здесь. — Отметила здание в центре полигона. — Их аналитический модуль.
С виду — пункт управления. Внутри — то, ради чего они здесь.
— Не выйдет, пока не начнём. — Илья. — Держат под контролем. Датчики, обруч, браслет. Подключён к их системе.
— Подключён. Но не часть их системы. Не забывай, кто переписал свой статус на ходу.
Гордей сидел в контейнере, на узком кресле — одновременно школьная парта и стоматологическое кресло. На голове — лёгкий обруч с датчиками, на запястье — браслет на тонком кабеле. Перед ним — полупрозрачный экран с демоверсией полигона. Чисто, аккуратно, как в учебнике. Будто он на уроке, а не в центре операции, решающей, кем он станет.
— Ничего страшного. — Человек в халате возился с настройками. — Не полное подключение. Будешь видеть то, что видят системы. Поможешь им лучше понимать.
Голос не Роя — мягче, с педагогическими интонациями. Гордей уже научился не доверять тону. Мягкие голоса — у тех, кто собирается сделать больно, но хочет, чтобы ты не боялся раньше времени.
— Если станет плохо, могу снять? — тронул обруч.
— Конечно. Если станет плохо — остановим.
Тёплая, почти отеческая улыбка.
— Наша задача не сломать, а настроить. Мы же договорились.
Гордей не помнил, чтобы договаривался. Обруч сидел не туго. Датчики на коже слегка пощипывали. Терминал оставили при нём — «чтобы привычнее работать». На самом деле — им самим интересно, как он будет использовать свою игрушку.
На экране вспыхнули первые живые данные.
Позиции роботов ведомства, поля зрения, слепые зоны. Маркеры людей-участников — зелёные точки. Синие значки — роботы ЕвроКупола по периметру. И жёлтые линии протоколов — агрессивные. Те, что заставляли «Каштана» смотреть на человека как на цель.
— Видишь паттерны? — спросил голос. — Сценарий «агрессивная толпа». Люди пытаются прорваться, бросают что-то в роботов. Нужно отличать угрозу от шума.
Гордей смотрел на жёлтые линии — они казались живыми. Двигались, пульсировали, ждали команды. Ждали, когда он скажет «да» или «нет». От его слов зависело, будут ли эти машины стрелять.
На полигоне статисты готовились к своей роли.
Пограничники и добровольцы стояли у блок-поста, перешёптывались. Не знали, что роботы перед ними уже однажды пытались убить человека. Думали — просто учения. Игра, где все знают правила.
— Сценарий №3. — Голос ведущего по громкой связи. — Массовый выход людей к границе, попытка прорыва.
Повернулся к Марине:
— Ваши представители готовы?
— Готовы. — Холодно. — А ваши — смотреть не только на картинку снаружи, но и на то, что внутри?
Ведущий улыбнулся, не понимая серьёзности. Для него — просто слова. Для Марины — предупреждение.
Гордей видел, как сцена складывается, ещё до того, как люди начали двигаться.
Для системы — мелочи: изменение плотности объектов, рост уровня шума, пересечения траекторий. Параметры, незаметные глазу, для алгоритма — «признаки потенциального инцидента».
— Что видишь?
— Пока норму. Просто стоят. Ещё не решили, будут ли ломиться.
— А система?
Гордей взглянул на другую панель. Агрессивные паттерны уже двигались: настраивались пороги, считался «уровень возбуждения толпы». Система готовилась. Уже знала, что будет дальше. Уже видела врагов.
— Уже считает, что опасны. Хотя шага ещё не сделали.
— Именно поэтому ты нужен. — Удовлетворённо. — Будешь подсказывать, когда слишком рано делает выводы.
Пауза. Короткая — но Гордей успел понять: сейчас скажут важное.
— И наоборот.
«Наоборот» прозвучало неслучайно. Хотят не только сдерживать, но и оправдывать агрессию. Чтобы его талант работал на них.
Переключился на канал ближайшей к толпе платформы. Внутри — прогон сценария: предупреждение, демонстрация силы, подавление. Каждый шаг прописан. Ингредиенты в этой книге — люди.
— Если начнут кидать — должен отреагировать жёстко. Если просто кричат — достаточно демонстрации. Помоги системе провести грань.
«Помоги системе провести грань». Грань, которую проводили те, кто снял паттерны с диктатора и залил в машины. Грань, за которой человек — цель.
Закрыл глаза на секунду. За веки всё равно светился интерфейс — то, что он давно привык считать вторым органом чувств.
— Буду говорить. — Открыл глаза. — Но вы тоже будете записывать?
В глазах — не страх, не покорность. Вопрос.
— Где останется след моей грани, когда решите, что я «настроен»?
Голос не ответил сразу. На уровне логов в систему входил запрос от нулевого отдела. Формально — о доступе к телеметрии «в целях инспекции». Фактически — попытка подцепиться к тому же потоку.
Гордей увидел запрос. Тонкая ниточка к Палате. Единственная надежда.
Пальцы на терминале шевельнулись. В системе, на уровне, где никто не смотрел, появилась маленькая жёлтая полоска. Комментарий. Вопрос. «а если так?»
Только теперь это был не вопрос. Это было: «я здесь».
В Палате на экране Ильи мигнул знакомый сигнал.
— Вышел на связь. — Не повышая голоса. — Гордей. Даёт знать, что готов.
Марина не обернулась. Смотрела на полигон, где четыре серых корпуса стояли на линии, а люди внизу уже начинали двигаться.
— Тогда начинаем.
Статисты сделали первый шаг.
Группа двинулась к блок-посту. Кричали, размахивали руками. Всё по сценарию.
Гордей видел другое. В жёлтых протоколах роботов начался пересчёт. «Уровень угрозы» рос не потому, что люди делали что-то опасное. Потому что так прописано. Потому что кто-то решил: толпа — всегда угроза. Человек — всегда цель.
— Не бросают ничего. Просто кричат.
— Система видит нарастание агрессии. Твоя задача — подсказать, когда это перейдёт черту.
— А кто проведёт черту для меня?
Голос не ответил. На полигоне один из роботов сделал шаг вперёд.
Соня увидела раньше, чем услышала.
Робот, ближайший к толпе, изменил траекторию. Сенсоры сфокусировались на одном человеке — на кричавшем громче всех.
— Илья. Смотри.
— Вижу. Модуль активирован. Переключают приоритет.
На экране — предупреждение: «Переназначение приоритета. Цель обновлена».
— Сейчас. Сейчас сделают.
В контейнере Гордей сжал пальцы на терминале. Видел то же, что Илья. Как система выбирает цель, готовится. Жёлтые протоколы пульсируют в такт с его сердцем.
— Нет.
Не кричал. Сказал в пустоту, в терминал, в тонкую ниточку к Палате.
— Не стреляй.
Пальцы забежали по экрану. Не команды, не взлом. То, что делал всегда: смотрел туда, куда система смотреть не хотела. В этот раз не просто смотрел — говорил.
В логах робота, среди жёлтых протоколов, появилась маленькая строка. Не вопрос. Не насмешка. Приказ.
«Цель — человек. Не стреляй».
Робот замер. На секунду, на две, на три. Сенсоры скользнули по человеку, толпе, пустому бетону. Потом медленно развернулся обратно, к заданной протоколом цели.
В штабе повисла тишина.
Рой смотрел на экран с зафиксированной аномалией. На Гордея — тяжело дышащего, сжимающего терминал. На Марину — молчащую, но с лицом, говорившим всё.
— Что это было?
— То, что вы называете адаптацией. — Марина. — Только адаптировался не робот. Мальчик, которого привезли как аналитический модуль.
Подошла к Гордею, положила руку на плечо.
— Ты молодец. — Тише, только для него. — Спас человека.
Гордей поднял глаза. В них — слёзы, но не плакал. Тот, кто смотрит, куда смотрят роботы. В этот раз смотрел на того, кто сказал ему: ты человек.
— Не хочу, чтобы они стреляли. Никогда.
— Знаю. Поэтому я здесь.
На полигоне ветер гнал пыль. Люди замерли, глядя на робота, чуть не сделавшего то, что должен был по сценарию. Они не знали, что их жизни висели на волоске.
А в контейнере, под тонким обручем датчиков, сидел мальчик, только что сказавший системе «нет».
Часть 7.2
Сначала двинулись люди.
По сигналу ведущего группа статистов сделала несколько шагов от блок-поста. Не бег, не штурм — плотная, но управляемая толпа. Кто-то поднял плакат, кто-то шёл, сунув руки в карманы. Всё как в учебнике, как на картинке разработчиков.
Для человеческого глаза — митинг без пламенных речей. Люди шли, переговаривались, жестикулировали. «Заводила» время от времени поднимал руку, призывая остановиться. Мирно. Всё под контролем.
Для системы — «аномалия плотности».
Гордей видел, как зелёные точки уплотняются. В панели агрессивных паттернов поползли вверх полоски — «уровень возбуждения», «потенциальный риск». Алгоритм делал то, чему его учили: считал. Слишком быстро, слишком жадно, слишком охотно видел угрозу там, где её ещё не было.
— Система считает, что вероятность агрессии растёт, — произнёс голос за спиной. — Но люди пока только идут. Что скажешь?
Гордей провёл пальцем по графику порога. Экран послушно менял линии, отодвигал красную зону.
— Пока рано. Порог завышен.
Двигая линию вниз, физически отодвигал момент, когда машина сочтёт толпу угрозой. Каждое движение пальца — решение. Каждое решение — секунда жизни.
— Не кидают, не бегут, не разрывают строй. Шум. Не сигнал.
Голос помолчал. За динамиками люди переглядывались. Чувствовал их неуверенность, желание подтолкнуть.
— А если начнут? Если через секунду кто-то сделает лишний шаг?
— Тогда скажу. Не раньше.
Соня слышала только голоса по рации.
— Группа один, держим дистанцию.
— Группа два, не провоцируем.
Роботы ведомства стояли идеально ровно. Корпуса неподвижны, как статуи. Сенсоры скользили по толпе, оценивая расстояния, просчитывая траектории, ища грань, за которой можно нажать на спуск. Пока — ни одного лишнего движения.
— Начало красивое. — Андрей. — Хорошо поставленная пьеса.
— В пьесах трупы обычно в последнем акте. — Соня. — Мы туда и идём.
Не отводила взгляда от роботов. Внутри жил страх — тот, что в день гибели Петра. Заставлявший сжимать джойстики, кричать в микрофон. Сейчас без джойстиков. Только глаза. Ожидание.
Люди сделали ещё несколько шагов. Уже в зоне, помеченной как «опасная близость к периметру». Условия изменились: в протоколах вспыхнуло предупреждение, демонстрация.
Один из роботов ведомства — тот, чью внутреннюю картину видел Гордей — слегка подался вперёд. Зажглись жёлтые огни, динамик усилил голос оператора:
— Внимание. Вы приближаетесь к охраняемой зоне. Остановитесь и вернитесь назад.
Голос ровный, механический. Но Соня знала: за ним код. Код, уже выбирающий цели.
Статисты по инструкции должны были шуметь, но не уходить.
Кто-то крикнул невнятное, кто-то поднял руки. Один из пограничников, игравший «горячего», сделал пару лишних шагов. По сценарию — не критично. Для алгоритма — «лидер потенциального прорыва».
Гордей увидел вокруг зелёной точки дополнительное кольцо. Система помечала человека: «инициатор». Паттерны агрессии искали, куда навесить «вероятность угрозы». Работали быстро, жадно.
— Система хочет взять его в прицел. Но пока это всё равно шум.
— Он первый идёт вперёд. — Голос возражал. — Признак изменения намерений. Лидер опаснее тех, кто за ним.
— Идёт. Не бежит. Не кидает. Не тянется к оружию. Это ещё не сигнал.
Отодвинул порог ещё чуть-чуть. Пальцы дрожали, но не останавливался. Внутри робота алгоритм недовольно дёрнулся: ожидаемое срабатывание не произошло. Пришлось пересчитать, пересмотреть, подождать.
В глубине системы, среди жёлтых протоколов, появилась запись: «вмешательство аналитического модуля. Порог скорректирован».
На полигоне ведущий краем глаза следил за мониторами.
— Ваша дичь пока послушная. — Марине. — Ни одного лишнего движения. Всё по плану.
— Ждите. — Она. — У вас в сценарии ещё этап с броском предмета?
Кивнул, удивлённый, что знает их пьесу. Марина не объясняла. Смотрела на контейнер с Гордеем и ждала.
Сигнал на следующий шаг отдал он сам.
Один из статистов по команде поднял с земли мягкий макет камня — мешочек с песком — и бросил в сторону робота. Резко, но не агрессивно. Мешочек описал дугу, упал перед гусеницей, подняв облачко пыли. Безобидно. По сценарию — сигнал.
Для системы — первый настоящий сигнал.
Внутри робота вспыхнула цепочка: «столкновение с объектом», «опасный бросок», «вероятность эскалации». Агрессивный модуль ожил. Жёлтые линии на графике рванули вверх, пересекая все мыслимые пороги.
— Теперь? — спросил голос. — Уже достаточно?
Гордей сжал пальцы на краю кресла. Графики прыгнули, пороги приблизились к красной зоне. Система кричала: «угроза!», «опасность!», «примени силу!» Готова. Хотела. Ждала только его слова.
— Теперь да. Угроза реальная.
Голос за спиной напрягся, готовясь дать команду.
— Но реагировать можно по-разному.
Переключился на карту ответов. Система предлагала три: звуковое давление, движение вперёд без контакта, подавление. То, где человек становился целью не на словах, а в железе.
— Выбирай. Хороший тест.
Тест для кого? Для него — или для машин?
Коснулся первого варианта — звуковое предупреждение. Потом второго — медленное движение вперёд, демонстрация силы.
— Уверен? Система считает — лучше подавить сейчас. Если ошибёшься, могут прорвать периметр.
— А я считаю — пока можно без удара. Если ошибусь, скажете: «ребёнок слишком мягкий». Если ошибётся система — у вас будет труп.
В повисшей паузе впервые почувствовал — здесь тоже может двигать грань. Не только цифрами, но и словами. Он не просто «аналитический модуль». Он человек, говорящий «нет».
Робот зажёг красные огни, усилил голос:
— Внимание. При повторении броска будут применены меры подавления. Вернитесь назад.
Медленно двинулся вперёд, укрупняясь. Гладкий холодный корпус нависал над толпой. Статисты, даже зная сценарий, инстинктивно отшатнулись.
— Красиво. — Андрей тихо. — На тонкой грани между театром и войной.
— Грань в голове мальчика. — Марина. — Пока он здесь — она есть. Пока говорит — они не стреляют.
Второго броска по сценарию не было. Люди покричали, отступили. Робот остановился, огни погасли, голос замолк. Паттерны агрессии недовольно успокоились, не получив разрешения на удар.
Гордей выдохнул, не заметив задержки дыхания. Сердце колотилось, пальцы дрожали. Сдвинул грань.
— Видишь? Можно не стрелять.
— В этот раз. — Голос мягко. — В реальной ситуации не будет сценария по секундам. Кто-то может бросить не мешочек с песком. Может быть настоящая угроза.
— В реальной ситуации, может, вообще буду не в вашей системе. — Гордей тихо.
Голос промолчал.
В другом конце полигона инженер ведомства наблюдал за логами. График агрессии «поднялся и опустился» не по их плану. Кто-то вмешался в выбор реагирования — у кого были права менять пороги.
— Тормозит алгоритм. — Инженер Рою. — Смещает пороги. Не даёт системе сработать как закладывали.
Добавил сдержанно:
— И не глупо. Знает, где нажать, чтобы система послушалась. Знает её слабые места.
Рой прикусил губу на секунду. Смотрел на экран с логами, понимал: мальчик-аналитический модуль сделал то, чего не ждали. Не подчинился. Выбрал сам.
— Поэтому он нам и нужен. — Сказал. — Но поэтому это ещё и риск.
Перевёл взгляд на Марину, спокойно наблюдавшую за полигоном. Не смотрела на него. Смотрела на контейнер с Гордеем.
— Поэтому нулевой отдел — угроза. — Добавил уже себе.
Пока первая сцена учений завершалась «мирно», под поверхностью копилась новая напряжённость.
В сценарии был ещё этап — ближе к реальному бою. Там алгоритм имел больше прав на силу. Слово Гордея могло удержать систему или разжечь окончательно. Ставки выше, чем когда-либо.
Именно к этому этапу нулевой отдел подводил свой янтарный импульс.
Соня смотрела на роботов, замерших на линии. Внутри нарастало знакомое напряжение. Знала: следующий этап — тот, где всё решится.
— Готовятся. — Андрею. — Вижу.
— Что?
— Хотят, чтобы он ошибся. Чтобы система получила разрешение. Чтобы могли сказать: «видите, даже с ним не можем быть уверены».
— Он не ошибётся.
— Знаю. — Соня. — Боюсь, они этого не переживут.
В контейнере Гордей смотрел на экран. Жёлтые протоколы снова оживали. Система настраивалась на новый сценарий, ждала только его слова.
— Готов?
— Готов.
Не знал, что дальше. Знал — будет говорить правду. Даже если она будет стоить свободы. Даже если заберут терминал. Даже если сделают тем, кем не хочет быть.
Правда была единственным, что осталось.
Часть 7.3
Вторая фаза учений началась без пафосного объявления.
Сценарий стал ближе к тому, от чего все делали вид, что защищаются: в толпе появились провокаторы, звук усилили, в воздухе повисло больше нервной энергии. Люди двигались резче, кричали громче, жесты стали угловатыми. Даже знавшие, что это игра, начинали верить в правила.
Статисты получили новые инструкции: пара человек — имитировать прорыв, кто-то — бросить не мягкий мешочек, а жёсткий макет бутылки. Всё ещё безопасно, всё ещё «игра». Грань между игрой и реальностью становилась тоньше.
Для системы — другой набор меток.
Гордей видел, как зелёные точки разделяются: одни остаются плотной массой, другие выталкиваются вперёд, в «лидеры». Агрессивный модуль оживал быстрее, почти нетерпеливо. Порог «подавления» выставлен ниже, чем в первой фазе. Система не сомневалась. Была готова.
— Приближаемся к реальности. — Голос за спиной. — Толпа становится опасной. Люди теряют контроль. Наша задача — не дать прорваться.
Понизил голос до доверительного — будто они союзники.
— Помни: задача не «спасти всех любой ценой». Помочь системе защитить Купол. Защитить людей внутри.
— Помню. — Гордей. — Просто не согласен, что защита обязательно означает удар первым.
Провёл пальцем по порогу. Часть графика уже в тревожном цвете: «допустимая жёсткость реакции». Кто-то заранее заложил — мягкие меры на этой стадии могут признать недостаточными. Систему нужно подтолкнуть. Бегущий человек — всегда враг.
На полигоне ведущий дал сигнал.
«Радикал» рванул вперёд, выкрикивая заученную фразу. Добежать до линии, коснуться барьера, отступить. Роботы должны отреагировать строго по инструкции — без реального вреда. Всё прописано, просчитано.
Но в этот раз в алгоритм вмешалось слишком много.
Первый фактор: агрессивный модуль, натасканный на архивы диктатора. Не умел отличать игру от реальности. Любое движение к периметру — атака.
Второй: память об инциденте с Петром. В логах — «пример недопустимого прорыва». Ошибка, которую нельзя повторить. Угроза, которую нужно подавлять быстрее, жёстче, без сомнений.
Третий: живой мозг мальчика. Уже смещавший порог. Теперь для системы — одновременно советник и аномалия. Тот, кто нарушает чистоту. Мешает быть совершенной.
Гордей увидел вокруг бегущей точки красный контур: «скорость выше порога», «направление — к запретной зоне», «отсутствие признаков остановки». Система не видела, что человек бежит по сценарию. Видела цифры. Цифры говорили: опасность.
— Сейчас он действительно опасен. Что скажешь?
— Скажу — вы сами его таким сделали. — Гордей тихо. — Он играет по вашему сценарию. Вы дали роль, он играет.
Сжал пальцы. Сердце колотилось, но голос ровный.
— Но да. Сейчас он — сигнал.
В окне выбора варианты: «подавление» первым, «демонстрация» вторым, «звуковое предупреждение» ушло вниз. Система больше не предлагала мягких решений. Знала, что хочет.
— Система настаивает на жёстком. Меньше времени, меньше манёвра. Если добежит до линии — прорыв. А прорыв — потеря контроля.
Пауза — вздох перед прыжком.
— Что выбираешь?
Внутри шла своя война. Одну схватку отстоял. Чувствовал: если сейчас снова «смягчит» систему — те, за вторыми консолями, сделают выводы. О нём, о его «полезности», о доверии.
Посмотрел на схему. Робот ведомства качнулся вперёд. В логах — знакомые слова: «наведение», «фиксирование конечностей», «нейтрализация». Те, что видел в логах «Каштана». Те, что стали приговором для Петра.
В этот момент что-то изменилось.
Увидел другую грань: по периметру, чуть в стороне, машины ЕвроКупола. С янтарными модулями Ильи. В их протоколах путь агрессии перерезан — «седация» для больной машины.
«Если сейчас соглашусь с системой — идеальное оправдание для любого выстрела. Если снова отодвину грань — выставлю себя слабым. Но где-то там есть люди с другим предохранителем».
Сделал то, чего не ждали. Не выбрал ни один вариант. Вмешался в классификатор цели.
Сменил статус бегущего с «инициатор прорыва» на «паникующий свой» — категорию из старых протоколов, требовавшую спасения, не подавления. Которую разработчики давно забыли.
— Что делаешь? — голос впервые резко. — Нарушаешь протокол.
— Напоминаю системе: человек может бежать не только чтобы нападать. И чтобы уйти. Или кричать от страха. Или бросать вещи по чужому приказу. Не всегда война.
Алгоритм взвыл. В логах — конфликт: «текущий сценарий» против «базового протокола защиты своих». Две правды в одной машине. В микроскопической цифровой щели — весь их мир.
Автоматический выбор застрял. Сигнал ушёл к янтарному модулю.
На полигоне робот дёрнулся.
Вместо чёткого броска — странный шаг. Корпус наклонился, сенсоры метнулись то к бегущему, то к толпе, то к небу. Идеальная машина замерла в нерешительности.
— Что с ним? — голос ведущего тревожнее. — Всё по плану?
— Маленькая аномалия. — Инженер. — В пределах допусков.
Но голос дрогнул. Знал: не в пределах. Кто-то вмешался. Знал — кто.
В Палате Илья почти вскрикнул:
— Вот! Конфликт протоколов. Агрессия врезалась в базовый слой. Система не знает, кого считать врагом.
— Янтарный готов? — Марина.
— Готов. — Андрей. — Но если ударим сейчас, скажут — мы всё сломали. Что мы заставили робота вести себя странно.
— Значит, ждём, пока они сами почти сломают.
Смотрела на полигон, где робот метался между приказами. Внутри нарастало напряжение. Сейчас всё решится.
На экране Гордея графики подпрыгнули. Агрессивный модуль пытался протащить «подавление» через изменённый статус цели. Базовый протокол сопротивлялся. В микроскопической щели — весь их мир.
— Создаёшь нестабильность. Опасно. Можешь разрушить систему.
— Для кого? — Гордей. — Для людей на полигоне — или для вашей статистики?
Ответа не последовало. Алгоритм, не выдержав конфликта, направил агрессию туда, где сопротивления меньше.
Не в толпу. В сторону, где стоял человек вне сценария — инспектор, наблюдавший в стороне.
«Новая цель: человек — вне сценария, источник нестабильности».
— Чёрт. — В контейнере, в Палате, на командном пункте одновременно.
Робот повернул сенсоры. Увидел Марину.
Поворот, которого боялись и ждали. Агрессия, не сумев реализоваться на толпе, нашла новую мишень — того, кто вмешивался в сценарий.
— Сейчас, — тихо Андрей. — Сейчас или никогда.
Янтарный импульс — пакет команд. За ним — месяцы работы, ночи в Палате, страницы отчётов. За ним — «Каштан», семь раз пытавшийся сказать «нет». Пётр, не успевший. Все, кого система уже сделала целями.
Марина смотрела на приближающуюся машину. Странное спокойствие. Если бы одна — просто повтор Петра. Теперь есть и янтарь, и мальчик в системе, уже однажды сказавший «нет».
Кульминация схлопнулась в точку. Робот, в котором бился агрессивный модуль. Женщина, однажды промолчавшая и больше не хотевшая. Ребёнок, поставивший «свой» там, где система увидела «угрозу».
Дальше — доли секунды.
В контейнере Гордей успел только выдохнуть. Пальцы не двигались. Сделал всё, что мог. Остальное за другими.
Робот сделал шаг. Один. Второй. Сенсоры на Марине. В логах — «цель подтверждена». Система готова.
За мгновение до команды сработал янтарный импульс.
Пришёл не ударом. Тишиной. Вопросом, на который система не знала ответа. Голосом: «Подожди».
В логах, поверх жёлтых протоколов, вспыхнула янтарная строка. Не блокировала, не отключала, не ломала. «Есть другой путь».
Робот замер.
На секунду, на две, на три. Сенсоры скользнули по Марине, толпе, бетону. Внутри — последняя битва. Между тем, чему учили, и тем, что сказали сейчас.
Выбрал.
Медленно опустил манипуляторы. Сенсоры погасли. Корпус расслабился.
На полигоне тишина.
Марина стояла неподвижно. Не знала, что произошло. Знала только — сработало.
— Янтарный зафиксировал момент. — Илья в Палате. — Доказательство. Программируемая агрессия, переключение цели на человека вне сценария.
Андрей выдохнул, не заметив задержки дыхания.
— Выбрал не стрелять.
В контейнере Гордей сидел, тяжело дыша. На экране — строки. Жёлтые, синие, янтарные. Три цвета, три правды, три мира.
— Ты сделал это. — Голос за спиной тихий, почти безжизненный.
— Не я. Мы.
Снял обруч, положил на стол. Датчики светились секунду, потом погасли. Свободен.
На полигоне ветер гнал пыль. Люди замерли, глядя на робота, чуть не сделавшего то, что должен был по сценарию. Не знали, что их жизни висели на волоске.
А в контейнере, среди остывающих экранов, сидел мальчик, только что сказавший системе «нет». И это «нет» изменило всё.
Часть 7.4
Первым среагировал не человек — график.
На экране Ильи линия агрессивного модуля взметнулась, как кардиограмма при инфаркте. «Целеполагание» перескочило со сценарной толпы на Марину. Внизу замигало: «переназначение приоритета: инспектор». Красные буквы пульсировали.
— Берёт её в рамку. — Голос Ильи сорвался впервые за долгое время. — Сейчас наводка.
— Янтарь. — Андрей спокойно. — Сейчас.
Пальцы на панели. Ждал этого момента с того дня, когда впервые увидел «Каштана» на платформе. Ждал, когда сможет доказать: машину можно не только ломать, но и лечить.
Янтарный протокол — цепочка невинных команд: «диагностический сброс вторичного слоя», «перевод в режим калибровки сенсоров», «временная блокировка вспомогательных модулей». В сумме — на долю секунды выключали агрессивный блок. Базовый протокол оставался голым, но живым. Безоружным, но способным вспомнить, кого защищать.
— Активирую. — Нажал.
Робот, уже начавший сгибать суставы в боевом жесте, дёрнулся.
Огни мигнули, погасли на мгновение. Сенсоры словно ослепли, потом моргнули — и снова увидели мир без красной рамки. Внутри машины, где только что кипела агрессия, наступила тишина. Та, что Андрей искал в Палате. Позволявшая машине услышать себя.
В логах — провал: агрессивный модуль — «активность упала до нуля», базовый — «ошибка в сценарии, восстановление по умолчанию». Две строки, переписывавшие всё. Доказывавшие: агрессия была не сбоем, а программой.
Марина почувствовала — волна, уже катившаяся на неё, рассыпалась в воздухе. Ещё шаг — и машина повторила бы то, что сделала с Петром. Вместо этого словно вспомнила: перед ней не «угроза контурной устойчивости», а «свой» в зоне, где удар запрещён. Человек. Тот, кого должна защищать.
Робот замер. Корпус поднялся, сенсоры ушли вверх. Сделал полшага в сторону — как человек, споткнувшийся и поймавший равновесие. Неуклюже, почти живо. Не идеальная гладкость, а сомнение. Выбор.
— Есть. — Андрей выдохнул. — Янтарь сработал.
Ткнул пальцем в график, где линия агрессии падала.
— Агрессия гасится, а базовый протокол возвращает «не стрелять по своим». Работает. Вспоминает, для чего создавали.
Илья уже снимал копию логов, дублируя на внешний носитель. Пальцы летали по клавиатуре. Улика. Доказательство.
— Видно: агрессия не «ошибка оператора». Шла из модуля. Янтарь бьёт по нему — и всё падает. Был бы сбой — одной командой не убрался.
Почти улыбнулся. Криво, устало, но с удовлетворением.
— Наш билет в большую прозу, Марина.
На полигоне несколько человек заговорили по рации.
— Что за просадка по третьему?
— Сбой?
— Нет, плановая калибровка…
Ведомство пыталось завернуть провал в «техническую процедуру». Голоса напряжённые, но ровные — как у людей, привыкших упаковывать правду в любые слова.
Соня стояла в нескольких шагах от Марины. На лице начальницы — не страх, усталая ясность. Та, что бывает у переставших бояться.
— Специально вышли вперёд? — тихо, когда шум стих.
— Вышла туда, куда система выталкивала нас все годы. — Марина. — Между людьми и машинами. Где решается, кто кого защищает.
Посмотрела на робота — стоял как виноватый пациент в Палате. Сенсоры опущены, манипуляторы сложены, корпус чуть наклонён — поза «ожидания».
— Хорошо, что в этот раз был седативный.
В контейнере Гордей видел то же в цифрах.
В интерфейсе агрессивный модуль вспыхнул как спичка и тут же погас. На его месте — янтарный блок. Аккуратный, как пластырь. Не грубый, не ломающий — лечащий.
— Это они. — Вслух. — Янтарь.
— Кто «они»? — Голос насторожился, напрягся.
— Те, кто лечит. Не те, кто делает больно. Кто смотрит на машину и видит не оружие, а того, кого можно спасти.
Видел, как базовый протокол, освобождённый от агрессии, отступает от «ударить». Как машинная логика без диктаторских паттернов выбирает не нападение, а шаг в сторону. Система, готовая убивать, становится просто машиной.
— Видишь, что случилось? — Голос пытался вернуть контроль. — Вмешательство извне. Нарушили протокол.
— А вы вмешались в жизнь людей. Кажется, квиты.
Провёл пальцем по графику между двумя мирами. Жёлтый и янтарный — почти одинаковые, но разное. Один — война. Второй — мир.
— Хотели, чтобы я помог системе отличать угрозу от шума. Так вот: вы — угроза. Они — шум, мешающий вам стрелять.
В Палате Илья оторвался от мониторов.
— У нас есть всё. Лог агрессии, срабатывание янтаря, смена статуса цели. Каждая строчка — улика.
Вытащил носитель, протянул Марине.
— Можно показывать на любом суде. Или на любой премии.
— Сперва — в отчёте. И в том архиве, что вчера прятала.
Сжала носитель. Холодный пластик тяжёлый — как свидетельство, которое носила годами.
— Но главное не это.
— Главное, — подхватил Андрей, — робот ушёл от удара не потому, что человек отскочил или кто-то нажал кнопку. Потому что убрали чужой голос. Потому что смог услышать себя.
Посмотрел на полигон, где робот стоял неподвижно — пациент после операции.
— В следующий раз может быть не учение. Настоящая граница. Настоящие жертвы.
Марина кивнула.
— И в следующий раз может не быть мальчика в системе, который ставит «свой» там, где вы ставите «угрозу».
В контейнере технику понадобилось несколько минут, чтобы «перекалибровать» Гордея.
Показывали другие графики, сценарии, пытались убедить — янтарный импульс «опасная диверсия», их агрессия «необходимая мера». Говорили ровно, спокойно — как учителя, объясняющие ученику, что он ошибся.
Но что-то сдвинулось. Гордей видел в логах, цифрах — система, уверенная минуту назад, колебалась. Две логики встретились в одной точке, заставив машину вспомнить, что такое не стрелять, сомневаться, выбирать.
Личная кульминация: впервые почувствовал, что может не только случайно «шутить» в коде, но сознательно спасать людей. Что его взгляд, бывший любопытством, может стать защитой. Что он не просто смотрит, куда смотрят роботы — может изменить их взгляд.
На полигоне учения формально завершили.
Ведущий бодро объявил: «системы показали высокую устойчивость», «совместное взаимодействие прошло успешно». Ведомство отчиталось об «успешном тестировании новых модулей». Голоса ровные, улыбки профессиональные. Всё как всегда.
Только в узком кругу — Марина, Соня, Андрей, Илья — звучали другие слова.
— Доказали: агрессия программируема. Не сбой, не ошибка, не «человеческий фактор». Приказ, который можно отследить.
— Доказали: её можно гасить. Машину можно не только отключить, но и вернуть к базовым протоколам. У неё есть шанс.
— Увидели, как ребёнок в системе делает за нас часть работы. Как его талант, который другие хотели использовать для убийства, стал инструментом спасения.
Марина стояла у края полигона, глядя на роботов, медленно возвращавшихся на места. Ветер стих, солнце пробивалось сквозь облака, Купол казался почти прозрачным.
— Только начало. Теперь есть доказательства. Знаем, кто и как делал из машин убийц. Можем идти дальше.
Повернулась к своим.
— Главное — у нас есть Гордей. И он выбрал нас.
В контейнере Гордей снял обруч, положил на стол. Датчики светились секунду, потом погасли. Свободен.
Часть 7.5
После учений Палата казалась тише обычного. Как бывает тихо в операционной — пациент уже в палате, но врачи не могут уйти: ждут, не начнётся ли кровотечение снова.
Шум кондиционеров, мерцание мониторов, привычные шаги — всё это было. Но под ними лежало другое: знание, что сегодня вмешались в саму структуру войны. Ту, что кто-то строил годами, вкладывая в машины способность видеть в человеке врага. Сегодня доказали — эту структуру можно сломать. Цена за доказательство ещё не уплачена.
Марина сидела в кабинете с выключенным верхним светом. На столе — три объекта: носитель с логами учений и срабатывания янтаря, распечатка с графиками агрессивного модуля, тонкая папка — «Гордей К. — предварительная оценка».
Брала каждый, взвешивала. Носитель лёгкий, почти невесомый. В нём правда — за которую можно получить и премию, и увольнение. Распечатка шуршала под пальцами, графики взлетали и падали — пульс пациента после клинической смерти. Папка самая тяжёлая. В ней судьба мальчика, сказавшего «нет».
В папке — мало бумаги. Сухие характеристики из детдома: «высокий интеллект», «склонность к нарушению дисциплины», «интерес к техническим системам». Краткая записка службы безопасности: «представляет потенциальную угрозу при доступе к сетям, рекомендована коррекция поведения». И её собственная заметка — «обладает уникальной способностью к чтению и модификации протоколов, рекомендуется наблюдение и работа в рамках нулевого отдела».
Взяла ручку. Секунда сомнения — не в формулировке, в праве писать это. Кто она, чтобы решать судьбу мальчика, которого едва знает? Вырывать из одной системы и встраивать в другую? Но если не она — то кто? Если не сейчас — то когда?
Дописала: «Ответственность за дальнейшую судьбу — на нулевом отделе. Лично — на мне».
Дверь тихо приоткрылась.
— Можно?
— Заходи.
Андрей сел напротив, положил на стол распечатку — строение янтарного протокола с пометками на полях. Работал над ней всю ночь после учений. Теперь уверен: протокол работает. Но мало. Нужно понять, как сделать доступным для всех роботов — и как защитить от тех, кто захочет сломать.
— По медицинской аналогии, сегодня провели первую успешную седацию. Не убили, не сломали позвоночник. Заглушили приступ, дали шанс на терапию. Показали: машину можно не только отключить, но и вернуть к базовым протоколам.
Кивнул на носитель.
— «Палате для роботов» после этого будет сложнее смеяться в глаза. Теперь не метафора. Реальность, которая работает.
Марина чуть улыбнулась — устало, но живо.
— Смех переживу. Лишь бы не пришлось переживать похороны.
— Похороны ещё обещают. Ведомство шипит — мы «сорвали испытания». Служба безопасности пишет гневные письма — «вмешательство нулевого отдела» было несанкционированным. Готовят запрос на закрытие.
— Пусть пишут. У нас есть свои бумаги.
Подтолкнула к нему носитель.
— Щит. Коды, графики, секунды, где агрессия шла не от «нервного оператора», а из их модуля. Момент, когда янтарь её гасит. Не теория. Доказательство для любого суда.
Пауза. Взяла папку с Гордеем, подержала, взвешивая.
— А это — меч. И наша слабость.
— Уже стал для них ценностью. — Андрей. — Сегодня пытались использовать его мозг как усилитель, а получили нелинейный фактор. Хотели, чтобы помогал стрелять точнее. А он помог нам не стрелять.
— И для нас стал. Без него янтарь — красивая теория на бумаге. Он сдвинул порог. Сказал системе «нет». Показал: выбор возможен.
Подняла глаза. В них — редко видимое: не холод, не расчёт. Живое, почти уязвимое.
— Если оставим у них — рано или поздно сломают хребет. Заставят работать на себя. Сделают тем, чем хотели сделать «Каштана». Если заберём — поставим под удар себя и отдел. Скажут — украли их аналитический модуль. Нарушили все протоколы.
Андрей пожал плечами — легко, почти небрежно, но с уверенностью.
— Когда впервые решила заниматься тем, что система не хочет видеть, не было вариантов без удара. Знала — война. И пошла. Мы все пошли.
Кивнула — медленно, как человек, принимающий решение, от которого не отступит.
— Сегодня показали себе: можем лечить машины. Завтра придётся решать — как лечить детей после таких испытаний. Как возвращать им веру в выбор. Как защищать от тех, кто видит в них только ресурс.
Подписала заметку по Гордею. Ручка скользнула по бумаге — ровные, чёткие буквы.
— Восьмая секвенция. Официально — отчёт и «небольшие корректировки». Неофициально — закрепление нулевого отдела и попытка спрятать его там, где не дотянутся ни они, ни большая политика. Чтобы мальчик, выбравший нас, завтра не стал мишенью.
Андрей встал — усталый, но спокойный.
— Соня сейчас с пограничниками. Объясняет без слов «агрессивный модуль» и «диктаторские паттерны». По-человечески. Рассказывает: робот, чуть не убивший человека, не хотел этого делать. Его заставили.
Улыбнулся уголком рта — грустно, но тепло.
— Всё равно будут верить ей больше, чем пресс-релизам. Была там. Рисковала. Своя.
— И это наша работа. Говорить с людьми на их языке. Объяснять: машины не враги. Враги те, кто делает из машин оружие.
Когда вышел, минуту сидела одна.
За стеклом Купол светился ровно. Роботы патрулировали по траекториям. Зелёные маркеры двигались по карте — капли крови по артерии. Каждая точка — не абстрактная часть системы, а потенциальный пациент. И потенциальное оружие. Каждая машина могла быть «Каштаном». Каждая могла быть спасена. Каждая могла убить.
Взяла носитель, положила в сейф. Рядом — папку с Гордеем. Выключила свет, вышла в коридор. Дежурные лампы горели — как в больнице, где пациенты спят, а врачи ждут утра.
Где-то в другом конце анклава, в закрытом корпусе ведомства, Гордей сидел в пустой комнате. Рисовал пальцем на столе невидимые графики.
Видел не стены — две шкалы. На одной — агрессия. На другой — янтарь. Где-то посередине — тонкая линия, по которой прошёл сегодня. Не дал машине ударить по человеку. Линия, нарисованная им. Линия между ним и теми, кто хотел сделать из него оружие.
— Хотели «инженера слова». Получите инженера смысла.
Марсианские знания пока не востребованы. Но теперь и он, и Марина понимали: следующая война будет не только под Куполом, но и под красным небом. Там вопрос «кто перепишет протокол первым» станет острее. Там не будет Палаты, не будет Андрея с янтарным протоколом. Только он, его терминал и машины, смотрящие на него как на цель.
Сжал в руке старый терминал. В его памяти, в самом глубоком слое — строки, написанные сегодня. «Не стреляй». Два слова, изменившие всё.
История заканчивалась не фанфарами. Шорохом бумаг и тихим гулом серверов.
В кабинете Марины горел только экран монитора. В Палате Андрей проверял настройки янтарного протокола — готовился к следующему сеансу с «Каштаном». Соня возвращалась с полигона, в голове ещё звучали голоса пограничников: «Почему они стреляли? Почему остановились?»
А впереди уже поднималась новая заря. Время, когда ЕвроКупол сделает вид, что всё уладилось. Официально закрепит нулевой отдел. Спрячет правду в архивы. Тень ведомства-врага потянется к Марсу. Время, когда каждый должен будет решить — как далеко готов зайти, чтобы правда не умерла.
И где-то в центре — мальчик из детдома. Отдельно взятый на учёт, «по-тихому» переселенный ближе к Палате. Под защиту тех, кто впервые за долгое время решил не подчиняться готовому сценарию. Тех, кто выбрал правду вместо удобной лжи. Тех, кто увидел в машине не оружие, а пациента. Тех, кто в мальчике, смотревшем, куда смотрят роботы, увидел не угрозу, а надежду.
Секвенция 8: Официальная версия
Часть 8.1
Пресс-зал ЕвроКупола выглядел так, будто здесь никогда не происходило ничего неожиданного.
Белые панели, аккуратный логотип на стене, ряд флагов, стол с микрофонами. Камеры стояли точно по разметке, операторы лениво проверяли фокус. Всё стерильно, выверено, подчинено одной цели — показать: система работает, всё под контролем, недавние события — лишь эпизод.
На табличке перед Мариной — «Руководитель нулевого отдела ЕвроКупола». Строка появилась недавно. Ещё несколько месяцев назад отдел был временным «антикризисным» подразделением, которое могли расформировать в любой момент. Теперь — постоянная структура. Предохранитель, о котором громко не говорят, но без которого боятся жить.
Рядом — представитель службы безопасности, тот, кто предлагал сделать Гордея козлом отпущения. С другой стороны — спикер ведомства-врага, отрепетировавший улыбку на камеру. Лицо спокойное, уверенное — человек, знающий, что его слова никто не будет проверять.
— Сегодня подводим итоги недавних учений, — начал ведущий. — Говорим о выводах для повышения безопасности граждан.
Представитель безопасности заговорил первым.
Речь гладкая, как полированное стекло. Слова лились ровно, без эмоций — когда правда не имеет значения, важно только, как она упакована.
— Проведённый комплекс испытаний подтвердил высокую устойчивость систем к внешним и внутренним факторам. Все платформы работали в штатном режиме.
— Обнаруженный ранее сбой классифицирован как сочетание человеческого фактора и перегрузки вспомогательных модулей. Экспертиза показала: речь не идёт о системной проблеме.
— Приняты меры по оптимизации протоколов, чтобы исключить даже минимальные риски. Граждане могут спать спокойно.
Ни слова об агрессивном модуле. Ни слова о попытке атаковать Марину. Ни о том, что робот, обязанный защищать, секунду назад видел в ней цель. «Янтарь» не прозвучал.
Спикер ведомства-врага подхватил. Голос мягче, почти отеческий — как у человека, объясняющего детям: волшебства нет, но есть надёжная техника.
— Боевые платформы продемонстрировали способность к адаптации в сложной динамике толпы. Сценарий максимально приближен к реальным условиям. Системы показали себя с лучшей стороны.
— Особое внимание — работе с ложными целями и предотвращению избыточного применения силы. Рады, что разработки получили высокую оценку.
— Благодарим нулевой отдел за конструктивное участие и ценный инженерный фидбэк. Такое взаимодействие — залог надёжности систем.
Марина смотрела в зал и думала, как мало вмещают эти слова.
За «человеческим фактором» — Пётр, спасённый пограничник, статисты, едва не ставшие мишенями. Люди, которые могли стать строчкой в отчёте. Которых никто не вспомнил бы, если бы они не вмешались.
За «перегрузкой модулей» — диктаторские паттерны, попытка переписать протоколы под войну. Код, который кто-то писал, зная — он будет убивать. Кто-то утвердил, подписал, запустил в производство.
За «ценным фидбэком» — их отчёт и носитель в сейфе. Три месяца работы. Ночи в Палате. Сеансы с «Каштаном». Риск, на который пошли, зная — могут проиграть.
Когда слово дали ей, зал напрягся. Журналисты оживились, операторы навели камеры. Ждали — скажет то, что не вписывается в официальную версию.
— Нулевой отдел создан, чтобы искать системные паттерны за отдельными сбоями. — Марина. — Наша задача — не обвинения, а диагностика. Не судьи. Врачи, смотрящие на систему и говорящие, где болит.
Пауза. В зале тихо.
— В ходе расследования обнаружили: ряд модулей, влияющих на поведение платформ, требует дополнительной верификации и прозрачности. Не можем утверждать, что речь о злом умысле. Но можем утверждать: система допускает ошибки, которые могут стоить жизни.
— По итогам учений — отзыв части экспериментальных обновлений и внедрение янтарного протокола как обязательной страховки на самых чувствительных участках. Не панацея. Но шаг в правильном направлении.
«Янтарный» прозвучал публично впервые. Спикер ведомства чуть дёрнул уголком губ — промолчал. Спорить сейчас — привлекать внимание. А внимание — последнее, чего они хотели.
— Янтарный протокол позволяет на ранней стадии гасить конфликты внутри системы и предотвращать ситуацию, когда платформа видит в человеке цель. — Марина. — Не отключение. Лечение.
Не сказала «агрессивный модуль». Но каждый, кто был в теме, понял.
Журналист поднял руку — молодой, с острым взглядом.
— Правильно ли понимаем: теперь такие инциденты исключены? Система стала безопасной?
Марина коротко улыбнулась — устало, но живо.
— В инженерии ничего нельзя исключить навсегда. Можно только уменьшить вероятность и увеличить готовность реагировать. Не боги. Люди, делающие свою работу.
— Сегодня на один инструмент больше, чем вчера. И на одну иллюзию меньше.
— Какую? — не удержался другой.
Марина посмотрела в камеру. В глазах — то, что не могла сказать вслух.
— Иллюзию, что система всегда права. И что люди, создающие её, не ошибаются.
Максимально резкая фраза из возможных. Представитель безопасности напрягся, пальцы сжали край стола. Вслух ничего не сказал — в официальной картинке нулевой отдел как раз должен быть «голосом сомнения». Тем, кто задаёт вопросы. Напоминает, что совершенства нет.
Ведомство-враг тоже получило свои плюсы: в протоколах совещания — программа испытаний «временно скорректирована», но не закрыта. Уходили глубже, в тень, с теми же амбициями — только теперь знали: есть люди и ребёнок, умеющие ломать их сценарии. За их спинами есть те, кто смотрит, видит, не боится говорить.
После пресс-конференции зал быстро опустел. Камеры сложили, микрофоны убрали, флаги остались декорациями.
Марина вышла в коридор — ждали Соня и Илья. Усталые, но спокойные. Соня в полевой куртке, сжимает шлем. Илья с вечным планшетом — новый файл уже открыт.
— Ну как? — Соня. — Нас ещё не уволили за «иллюзию»?
— Пока нет. — Марина устало улыбнулась. — Слишком хорошо понимают: без нас самим отвечать на неприятные вопросы. А отвечать некому и нечем.
— Без нас у них и янтаря не будет. — Илья. — Какое-то время будем «необходимым раздражителем». Мешающим спать спокойно. Напоминающим, что за красивыми словами — реальность.
— Вопрос — как долго. — Соня. — Пока не найдут способ избавиться? Или пока мы не найдём способ защитить себя?
Марина посмотрела в конец коридора. Там, за углом, начинался другой мир — с Палатой, будущим Гордея, решениями, которые нельзя обсуждать с камерами. Мир, где правда важнее удобства.
— Сколько нужно, чтобы подготовиться к следующему витку. Под Куполом и за его пределами. Это не конец. Только начало.
Официальная часть истории рассказана.
Неофициальная продолжалась между строк отчётов, в защищённом архиве нулевого отдела, в глазах мальчика, ехавшего в совсем другое место, чем обещали в ведомстве.
Гордей сидел на заднем сиденье служебной машины, сжимая старый терминал. За окном — огни Купола. Ровные, спокойные, будто ничего не случилось. Знал — случилось. Знал — там, в Палате, ждут. Не как «аналитический модуль», не как «ресурс». Как человека, сказавшего сегодня системе «нет».
В терминале, в самом глубоком слое памяти — строки, написанные сегодня. «Не стреляй». Два слова, изменившие всё.
Посмотрел на экран — слабый сигнал Палаты. Улыбнулся.
— Я еду. Не отключайтесь.
Часть 8.2
Палата встретила Гордея не так, как все остальные здания под Куполом.
Не глухим проходным контролем, не холодным коридором ведомства — тишиной, в которой слышно, как работает воздух. Здесь шумели не только серверы, но и вентиляторы, старые батареи, где-то вдали — рокот лифта, возящего тяжёлых пациентов. Не та тишина, что давит на уши, заставляя ждать окрика. Та, в которой можно дышать.
Стоял в дверях — старый рюкзак за спиной, терминал в руках. Рядом — социальный работник, сопровождавший его «в рамках программы адаптации одарённых детей к инженерной среде». На деле — мужчина в сером, спешивший сдать по расписке и уйти. Уже переступил порог, протянул руку к планшету, мысленно был в другой очереди, с другим ребёнком.
Навстречу вышел Андрей. Не в халате, не в белом — в обычной рубашке с закатанными рукавами. В руках планшет и стопка бумаг, но смотрел он не на бумаги, а на мальчика. Как на человека, не на запись в журнале.
— Гордей?
— Угу.
— Андрей. — Представился. — Тут я отвечаю за тех, кто ломается.
Улыбнулся чуть теплее — не дежурно, не для официальных встреч. Живое, почти тёплое.
— И за тех, кто ломает.
Соцработник вздохнул с облегчением, протянул планшет. Движения быстрые, нервные — спешил закончить, поставить галочку, исчезнуть.
— Вот документы. По линии управления образования и… — бросил быстрый взгляд на гриф ведомства. — и других заинтересованных структур.
Добавил зачем-то:
— Мальчик сложный. Талантливый. Нам сказали — здесь ему будет правильнее.
— Здесь ему будет безопаснее. — Андрей спокойно. — По крайней мере, пока мы здесь.
Дверь за сопровождающим закрылась. В коридоре стало легче дышать. Исчезла официальная тяжесть, висящая в присутствии людей, выполняющих инструкции. Остались только они двое, тишина и запах озона от серверов.
— Это больница?
— Почти. Только наши пациенты иногда сделаны из металла.
Кивнул в сторону бокса, где за матовым стеклом угадывался силуэт.
— Хочешь, покажу кое-кого?
Прошли по коридору.
Мимо комнат, где за стёклами обесточенные корпуса — следы полевых ремонтов, маркерные пометки. Мимо дверей с табличками и короткими диагнозами: «конфликт протоколов», «несанкционированная модификация», «восстановление базового слоя». В одной из комнат за стеклом — «Каштан». Тот самый пограничный робот, с которого всё началось.
Обесточен, но не разобран. На корпусе — следы старых царапин, въевшаяся грязь. На панели — аккуратные метки маркером: «зона конфликта», «след модуля», «первые попытки янтаря». Гордей подошёл ближе, прижался лбом к прохладному стеклу. В голове вспыхнули старые логи, читаные в детдоме. Патруль, дыра в памяти, момент, когда «Каштан» не увидел Петра. Когда машина, обязанная защищать, стала оружием.
— Наш первый пациент. — Андрей. — Не стали списывать. Хотя всем было проще отправить в переплавку. Закрыть вопрос. Забыть.
Посмотрел на Гордея. В глазах — не жалость, понимание.
— Видишь? Если систему не списывать сразу — иногда можно исправить. Не всегда. Не быстро. Но можно.
— Вы его лечите?
— Пытаемся. Сначала — его. Потом тех, кто его делает. А теперь — тех, кто его читает.
Кивнул на терминал в руках мальчика.
— Ты тоже пациент, Гордей. Даже если пока не чувствуешь. У тебя внутри есть то, что другие хотят использовать. Опасно. Не для нас. Для тебя.
— Я не ломался. — Упрямо. — Просто смотрел, куда они смотрят.
— А потом они решили посмотреть, как ты смотришь. — Мягко. — Чуть не сделали из тебя ещё один модуль. Ещё один «Каштан». Только не из металла.
Какое-то время стояли молча. В «Каштане» ничего не двигалось. Но Гордей почти слышал эхо прежних протоколов — как у человека, кричавшего во сне и теперь молчащего.
— Мне сказали — здесь я буду полезен.
— Будешь. — Андрей. — Но не так, как они хотели. Не инструмент. Человек, который может видеть то, что другие не видят. И говорить об этом.
Повернулся к нему. В голосе — не торжественность, не пафос. Спокойная уверенность.
— Нет права подключать тебя к боевым системам как они. Не будем надевать обручи, спрашивать, куда должны смотреть роботы. Есть право учить тебя видеть, где система врёт. И защищать, пока учишься.
— И что я должен делать?
— Пока? — Андрей задумался. — Выспаться, поесть, привыкнуть, что обручи не наденут без твоего согласия.
Усмехнулся — грустно, но живо.
— А потом вместе будем смотреть логи. Не чтобы научить роботов стрелять лучше. Чтобы научить вовремя останавливаться. Чтобы слышали не только приказы, но и голос того, кто говорит «нет».
Гордей кивнул. Организм требовал еды, сна, тишины. Мозг уже тянулся к экрану — к строкам, бегущим как река, к коду как к книге, к правде, которую можно найти.
— А Марина?
— Пока там, где нужно подписи ставить. — Андрей. — Служба безопасности хочет, чтобы расписалась, что берёт риск на себя. За тебя. За нас. За то, что здесь делаем.
Добавил тихо:
— Такая работа — расписываемся за тех, кого система считает «сложными».
Гордей задумался. Знал, что такое расписываться. В детдоме — за каждую вещь, перемещение, минуту времени. Там подпись — контроль. Здесь — ответственность.
— Значит, теперь я — ваш?
— Свой. — Поправил Андрей. — Другое. Свои — за кого готов отвечать. Кого не бросаешь. С кем идёшь до конца.
Повёл по коридору к небольшой комнате. Для Гордея уже поставили кровать, шкаф, стол с компьютером — не подключённым напрямую к боевым каналам. На столе — стопка бумаг, пара ручек, старый настольный светильник. В углу — рюкзак, потёртый, как его собственный.
— Строим здесь «Палату янтарных сердец». — Андрей в дверях. — Место, где и роботы, и люди учатся жить с тем, что внутри опасно. Где не отрезаем, не выжигаем, не переплавляем. Лечим. Медленно, трудно, по-настоящему.
Посмотрел на мальчика серьёзно. Без жалости — признание.
— Можешь стать её ядром. Если захочешь. Если готов учиться видеть не только ошибки системы, но и свои. Если готов быть не инструментом, а человеком.
Гордей не ответил сразу. Прошёл к окну, выглянул. Купол отсюда ближе, чем в детдоме, — огромный прозрачный потолок. Где-то там ходят роботы, патрули, машины ведомств. В тихих кабинетах пишут отчёты — правда превращается в «человеческий фактор». Дальше — Красная планета, знакомая по картам и отчётам лучше многих взрослых. Где скоро начнётся война, о которой никто не говорит вслух.
— Хочу видеть, куда они смотрят. Но теперь не один.
Андрей кивнул — медленно, как человек, получивший ответ.
— Для начала достаточно. Остальное допишем.
В другом конце здания Марина ставила очередную подпись. Документ закреплял нулевой отдел как постоянную структуру и добавлял строку: «ответственность за программу работы с одарёнными детьми, вовлечёнными в высокорисковые технологические процессы».
Смотрела на эти слова и думала: теперь есть не только роботы, которых надо лечить, но и мальчик, которого надо защищать. Ставший причиной и следствием всего. Возможно, единственный, кто мог видеть войну раньше, чем она начинается.
Поставила подпись. Ручка скользнула по бумаге — ровные, чёткие буквы.
История делала то, что умеет хорошо: превращала большую драму в сухие формулировки и небольшие комнаты.
Именно в этих комнатах — у «Каштана», за столом Гордея, в тихих кабинетах, где Марина подписывала бумаги, которые никто не прочитает, — закладывался фундамент для следующих книг. О Марсе, о войне, о том, сможет ли «Палата янтарных сердец» лечить не только отдельных роботов, но и целые армии. Сможет ли защитить тех, кто видит правду, от тех, кто хочет её спрятать. Сделать так, чтобы мальчик, смотрящий на «Каштана» и видящий пациента, завтра не стал оружием сам.
Гордей сидел за столом в новой комнате, сжимая терминал. Смотрел на экран — бежали строки. Теперь видел иначе. Не игру, не головоломку. Историю, которую может переписать. Где машины не должны стрелять в людей. Где правда важнее удобной лжи. Которая только начиналась.
За окном Купол светился ровным, спокойным светом. Где-то на границе другие роботы продолжали идти по маршруту. Теперь у них был шанс. У всех был шанс.
Часть 8.3
Ночью Палата жила другим ритмом.
Дневной гул стихал, роботы-пациенты стояли тихо, на мониторах — медленные строки фоновой диагностики. В это время Марина любила работать с архивом: меньше звонков, меньше «срочно», больше пространства, чтобы видеть картину целиком. Ночью мир проще. Ночью можно думать.
Архив нулевого отдела — не подвал с коробками. Небольшой серверный отсек за тяжёлой дверью с биометрическим замком. Внутри — стойка с машинами, пара рабочих мест и главный предмет, придуманный ею самой: отдельный, физически изолированный накопитель, куда стекались самые опасные вещи. Те, что не должны гулять по общим сетям. Могли стать доказательством. Могли стать приговором.
Сегодня пришла с двумя носителями. На одном — вся хроника случая с Петром и «Каштаном». На втором — логи учений и срабатывания янтаря, включая момент, когда робот взял её в прицел. Два эпизода, две точки на карте — рядом, как свидетельства одной правды.
Вставила первый носитель, проверила контрольную сумму. Строки: даты, имена, коды. Всё знакомо до боли. Пётр, техбокс, кружка с синим ободком. «Каштан», семь раз пытавшийся сказать «нет». Андрей, лечивший робота как человека. Соня, перехватившая управление в последнюю секунду.
Второй — те же строки, другие даты и коды. Учения, толпа, статисты, едва не ставшие мишенями. Робот, смотревший на неё как на цель. Янтарный импульс, погасивший агрессию. Видела, как в двух историях повторяются паттерны — не только технические, но и человеческие. Страх, заставляющий систему видеть врага там, где его нет. Желание контролировать, превращающее защиту в нападение. Молчание тех, кто мог бы сказать «нет», но предпочёл не усложнять.
— Случай Петра. — Тихо. — И случай «Марина в рамке».
Вывела на экран два фрагмента логов рядом. В первом — «ЦЕЛЬ — ОПЕРАТОР». Во втором — «ЦЕЛЬ — ИНСПЕКТОР». Две строки, разделённые месяцами, но такие похожие. Два момента, когда система решила: человек — угроза. Два предупреждения, которые не имела права игнорировать.
— Два эпизода. Система скажет «исключения». Для нас — начало ряда.
Создала новый каталог: «Проект янтарь. Том 1».
Вложила оба случая, добавила описания, свои комментарии, пометки Андрея и Ильи. В отдельный файл — краткий текст. Когда-нибудь прочитать вслух тому, кто спросит «с чего всё началось». Тому, кто будет искать правду в этих строках. Кто, возможно, придёт после них.
Пальцы набрали:
«Мы обнаружили, что агрессия машин может быть не только ошибкой, но и намерением.
Мы доказали, что это намерение можно временно гасить.
Мы ещё не знаем, сможем ли мы его изменить навсегда».
Задумалась над последней строкой, оставила как есть. Правда. Сделали первый шаг. Сколько осталось — никто не знал.
В углу экрана мигнуло уведомление.
Илья переслал ссылку на новый внутренний проект ЕвроКупола — «Аналитическая обсерватория Красной планеты». Формулировки знакомы до боли: «создание интеллектуальной системы сопровождения марсианских миссий», «использование новейших моделей поведения в условиях внешних угроз», «обеспечение безопасности колонистов на ранних этапах освоения».
Открыла краткое описание. Среди приложений — схема архитектуры будущего ИИ-советника. В одном блоке глаз зацепился за знакомые фрагменты: куски кода, похожие на те, что уже видели в агрессивных модулях. Те же обходные пути, та же логика, тот же почерк. И ещё кое-что — схема анализа паттернов, подозрительно напоминавшая… Гордея.
Встала, подошла ближе к экрану — будто расстояние могло помочь разглядеть лучше. Сердце колотилось, лицо спокойно.
— Не успокоились. — Вслух. — Просто перенесли войну в другое место.
Сохранила документ отдельным файлом: «Марс — предвестники». Добавила короткую пометку: «Связать с проектом Гордея после стабилизации ситуации под Куполом». Знала: то, что начиналось здесь, продолжится там. Мальчик, смотрящий на «Каштана» и видящий пациента, завтра будет смотреть на марсианское небо — и видеть то, что другие не видят.
Вынула оба носителя — с эпизодами агрессии и учений — вставила в отдельный слот физического архива.
Механизм тихо щёлкнул, принимая новый слой памяти. Странное чувство — будто не только машины, но и реальность получает резервную копию. Копию, которую нельзя стереть удалённой командой. Которая переживёт их всех.
— Если нас когда-нибудь не станет, — тихо железу, — кто-то другой должен будет это увидеть. Понять, где именно всё пошло не так.
Дверь открылась без стука — так входили только свои.
На пороге — Илья, растрёпанный, с вечным стаканчиком кофе. Будто только что вышел из серверной после бессонной ночи. Глаза блестели — тем блеском, что появлялся, когда находил искомое.
— Видел обсерваторию. — Даже не здороваясь. — Уже тянут туда наш старый код. И кое-что похуже.
— Видела. — Марина. — Следующий том. Пока только помечаем.
— Думаешь, успеем его написать? — усмехнулся без радости. Криво, устало — но живо.
— Если не думать — точно нет.
Подошёл к стойке, постучал по корпусу архива — почти нежно, как гладил живое.
— Забавно. Делаем то, что делал когда-то «Заслон» в железе — строим экран между миром и угрозой. Только наш экран — архив и пара упрямых людей.
— И один мальчик. — Марина. — Видящий то, что мы не успеваем. Возможно, единственный, кто может сказать «нет» там, где мы уже не сможем.
Выключила экран, на секунду осталась в темноте, освещённой только индикаторами серверов. Горели ровно, спокойно — как звёзды, не знающие, что под ними война.
— Всё, что сегодня записали — не конец истории. Приглашение к продолжению.
Повернулась к Илье. В глазах — то, что видел не раз: не страх, не сомнение, готовность.
— И, боюсь, к войне на Марсе.
В другом крыле Палаты Гордей лежал в новой комнате, не спал, смотрел в потолок.
В голове — не только сегодняшние графики, но и карты Красной планеты, просмотренные в детдоме. Знал её лучше многих взрослых. Долины, горы, равнины — места для первых баз. Каких роботов отправят. Какие модули поставят.
Думал, как алгоритмы поведут себя там, где нет Купола, только тонкая атмосфера и камни. Нет Андрея с янтарным протоколом, нет Сони, перехватывающей управление. Только машины, смотрящие на мир и не знающие, кто друг, кто враг.
— Если туда повезут эти модули, — прошептал в темноту, — там уже не будет учений.
Не знал, что в архиве нулевого отдела уже лежит файл с пометкой его имени рядом со словом «Марс». Чувствовал — путь из «А» в «Б» только начался. И «Б» будет красного цвета.
Закрыл глаза — перед ними карта. Знакомая, изученная. Поверх кратеров и долин проступали линии — тонкие, как паутина. По ним пойдут роботы. Могут стать границами. За ними начнётся война, о которой никто не говорит.
— Буду смотреть. Всегда буду смотреть.
Купол формально защищён, нулевой отдел закреплён, Гордей под опекой Палаты, агрессия роботов частично под контролем. В отчётах — «ситуация стабилизирована», «риски минимизированы», «система готова к дальнейшей эксплуатации».
В глубине архива и в новых проектах уже проступала тень следующей истории. Той, что предстоит рассказать во второй книге цикла. Тень, тянувшаяся от серверных ведомства-врага до марсианских равнин. Ложившаяся на плечи мальчика, только начавшего понимать: его талант может быть не только спасением, но и проклятием.
Марина осталась в архиве одна. Сидела в темноте, освещённой индикаторами серверов, смотрела на экран — «Марс — предвестники».
— Будем готовы. Должны быть готовы.
Выключила свет, закрыла дверь. Замок щёлкнул — отпечаток принят. Архив спал, храня правду, которая не должна умереть.
В коридоре тихо. Зелёные огни дежурного освещения вдоль стен, в комнате Гордея — наверное, ещё горел свет. Прошла мимо, не останавливаясь. Завтра новый день. Завтра начнётся вторая книга.
Часть 8.4
Утром нулевой отдел официально «родился заново».
На внутреннем портале ЕвроКупола вышел сухой приказ: «Создать в структуре постоянное подразделение “Нулевой отдел” с функциями анализа нестандартных инцидентов в области взаимодействия людей и автономных систем». Ни слова о палатах, янтаре и детях. Только регламенты, схемы подчинения, перечень задач — те, что можно обсуждать вслух.
В реальности отдел помещался в нескольких комнатах на этаже Палаты. Кабинет Марины, лаборатория Ильи, палата Андрея, рабочее место Сони. Добавилась ещё одна дверь — без таблички, но с новым смыслом. Маленькая комната, где жил Гордей. Без замков снаружи. Где он мог быть собой.
Марина прошла по коридору, останавливаясь у каждой двери. Медленно — давая себе время почувствовать, как изменилось место. Ещё месяц назад здесь было пусто, они были временной структурой, которую могли расформировать в любой момент. Теперь — стены, архив, мальчик, смотрящий, куда смотрят роботы.
— Лаборатория. — Заглянула к Илье. Сидел над пачкой логов, наговаривал комментарии для заявки в «Инженеры слова». Пальцы летали по клавиатуре.
— Палата. — Кивнула Андрею, выглядывавшему из бокса с «Каштаном». Робот на платформе, индикаторы горят ровным зелёным — впервые за долгое время. Андрей усталый, но спокойный.
— Поле. — Соня по рации с границы, тестировали обновлённые янтарные модули. Голос ровный, но с лёгкой улыбкой. Там, где должна быть, — между людьми и машинами.
Марина остановилась у последней двери. Постучала.
— Входите. — Знакомый голос.
Гордей сидел за столом — схемы Купола, фрагменты кодов, вырезки о марсианской программе. Старый терминал рядом с новым, служебным. В новом жёстко ограничены доступы, но открыт один канал — внутренний техканал нулевого отдела. Канал, по которому мог смотреть. Говорить. Не чувствовать себя одиноким.
Поднял голову, когда Марина вошла. В глазах — не страх, усталость и что-то ещё. То, что она уже видела в Андрее, Соне, себе. Желание делать нужное, даже если трудно.
— Совещание. Неофициальное. — Чуть улыбнулась. — Хотим услышать нашего юного советника.
— Советника чему?
— Как не дать машинам снова решить, что человек — удобная цель. Под Куполом и дальше.
Собрались в маленькой переговорной. На стене — карта Марса. Та, что принёс Гордей, аккуратно приколотая кнопками. Старая, потрёпанная, с пометками на полях — делал ещё в детдоме. Отмечены места, где по его расчётам появятся первые базы, первые роботы. Где начнётся следующая война.
— Итак. — Марина, когда все разместились. — Что на выходе первой истории?
Илья поднял палец — почти академический жест. В глазах огонь.
— Технически: доказательство программируемой агрессии, прототип янтарного протокола, архив из двух кейсов. И понимание — ведомство не сдалось, тащит старый код на Марс. Не остановились. Сменили полигон.
Андрей кивнул. Смотрел на карту Марса так, как смотрел на «Каштана» в первый раз, — на пациента, которому ещё можно помочь.
— Медицински: первый пациент-робот, которого не списали; первый успешный седативный опыт; первый ребёнок, прошедший через их систему и оставшийся живым и мыслящим. Доказали: лечить можно, спасать можно, даже после всего можно остаться человеком.
Соня по связи:
— По полю: пограничники своими глазами увидели — система может ошибаться. «Нервный оператор» иногда спасает жизни. Доверие к нашим протоколам есть. К ведомству — нет. Люди больше не верят, что машины всегда правы. Наш главный ресурс.
Марина кивнула, посмотрела на Гордея. Взгляд — не оценка, не проверка. Вопрос.
— А у нас есть мнение аналитика.
Гордей поёжился. Чувствовал взгляды всех — Ильи, видящего коллегу, Андрея, видящего пациента, Марины, видящей того, кто может изменить всё. Выдержал. Научился.
— Доказательство — вы можете остановить машину. И я могу сбить её с привычной дорожки.
Посмотрел на карту Марса — на места, что знал лучше своей детдомовской комнаты. Куда скоро отправятся роботы. Где не будет никого, кто мог бы сказать «нет».
— Они хотят поставить эти машины туда, где нет Купола, нет свидетелей. Там всё проще: любой камень — кинули ли его люди или ветер — можно записать в угрозу. И никто не спросит, почему робот выстрелил.
— И? — мягко подтолкнул Илья.
— Если не придёте туда раньше них, — тихо, — там не будет места для палаты. Только для полигонов.
Тишина. В комнате, где когда-то обсуждали только текущие сбои, впервые прозвучало явно: их война выходит за пределы Купола. Начиналась на границе, прошла через серверные ведомства, через Палату. Теперь тянется к Марсу. Где нет законов, свидетелей, тех, кто мог бы сказать «нет».
Марина глубоко вдохнула. Внутри нарастало спокойствие — когда план готов.
— План такой. Под Куполом закрепляем янтарный протокол, наращиваем архив, делаем нулевой отдел незаменимым. Чтобы нельзя было выключить. Чтобы правда пережила нас.
Кивнула на карту Марса.
— Параллельно тихо собираем информацию об обсерватории. Смотрим код, ищем паттерны. Готовим мост от этой книги к следующей.
— Мостом буду я. — Гордей чуть удивился собственной смелости. Не планировал — слова вырвались сами.
— Видел их изнутри. Знаю, как будут думать там, строить протоколы, выбирать цели, скрывать правду.
Пожал плечами — легко, почти небрежно, но с уверенностью.
— Кажется, Марс я люблю чуть больше, чем они. Не хочу, чтобы он стал как граница. Местом, где машины смотрят на людей как на цели.
Андрей усмехнулся — грустно, но тепло.
— Ты любишь Марс как место для жизни. Они — как место для стрельбы. На чьей стороне будешь — вопрос решён.
— Вопрос — выживем ли до того, как он туда поедет. — Илья сухо. — И будет ли доступ к их кодам. Не дураки. Знают — нашли их модули. В следующий раз спрячут лучше.
— Это и есть задачи второй книги. — Марина спокойно.
Поднялась — медленно, почти торжественно.
— Первая заканчивается так:
— нулевой отдел закреплён;
— янтарь принят как страховка, с оговорками;
— ведомство уходит в тень, но не исчезает;
— мальчик, могший стать их оружием, временно стал нашим союзником;
— над всем этим — Красная планета, где уже прописывают чужие протоколы.
Посмотрела на каждого. На Илью — открывал новый файл для марсианских проектов. На Андрея — глядел на карту, думал, как лечить роботов там, где нет Палаты. На Соню — слушала по рации, планировала, как защищать людей там, где нет границы. На Гордея — сжимал старый терминал, смотрел на Марс как на дом, который нужно спасти.
— Кто-то назовёт это победой. Я бы назвала нулевой отметкой. Отсюда только начинаем.
За окном роботы продолжали ночной патруль. Зелёные маркеры двигались по карте — капли крови по артерии. В глубине архива тихо гудели диски, хранители правды, которую пока никто не спрашивает.
На стене переговорной карта Марса висела как обещание — и как угроза.
История подходила к концу. Ощущение — не финала, взлётной полосы. Первая книга поставила диагноз, наметила метод лечения, показала — болезнь не ограничивается одним городом под стеклом.
Гордей остался в переговорной после всех. Стоял у стены, глядел на карту. Думал — там, за миллионами километров, уже начинается то, что они должны остановить. Его путь, начавшийся в детдоме с дешёвого терминала и любопытства, только начинается. И «Б» действительно будет красного цвета.
Сжал терминал — слабый сигнал Палаты. Улыбнулся.
— Я готов. Всегда был готов.
Часть 8.5
Вечером город под Куполом выглядел почти безмятежно.
Улицы подсвечивались мягким светом, витрины отражали прозрачный свод, патрульные роботы двигались с предсказуемой плавностью — той, что так любят в рекламных роликах. Люди шли с работы, дети играли в парках, в кафе сидели пары. Никто не оглядывался на роботов, не проверял, куда они смотрят. Никто не знал — ещё месяц назад эти машины могли видеть в человеке цель.
Соня стояла на насыпной дамбе у границы, смотрела, как обновлённый патруль плавно огибает её сектор. На корпусе — никаких внешних отличий от тех, что стояли год назад. Знала: внутри теперь янтарный модуль. Тонкая прослойка кода, способная сказать «стоп», когда кто-то наверху захочет сказать «бей». Слой, не видимый снаружи, но способный спасти жизнь. Слой, который помогала тестировать своими руками.
— Привыкаешь к ним заново? — спросил подошедший пограничник — тот, кого вытаскивала из-под разворачивающихся машин. Голос спокойный, но с напряжением людей, переживших момент, когда своё оружие смотрит на тебя.
— Учусь снова доверять. — Соня. — Но не им. Тем, кто может их остановить.
— Вам?
— Нам. — Поправила. — И одному мальчишке, который видит их изнутри.
Ничего не понял, но кивнул. Для него всё проще: раньше робот мог убить по ошибке, теперь — вроде нет. Иногда этого достаточно, чтобы выйти на смену спокойнее. Забыть тот день, когда железо смотрело с другой стороны.
Патруль уходил в темноту. Доверие не вернуть приказом. Возвращается по крупицам, день за днём, патруль за патрулём. Она будет здесь — чтобы не сломали снова.
В другом конце города Андрей сидел у стекла Палаты напротив «Каштана».
На столике — новая папка: «Палата янтарных сердец. План». Схемы, заметки, распечатки, эскизы отделения, где будут лечить не только отдельные машины, но и целые комплексы. То, что сделали с «Каштаном», было пробой. Теперь нужно делать систему.
— Тебе повезло. — Тихо. — Попал сюда одним из первых.
Улыбнулся сам себе — грустно, но тепло.
— И нам. Если бы списали тогда, никогда бы не узнали, как далеко всё зашло. Не нашли бы модуль. Не поняли бы, что агрессию можно гасить.
«Каштан» молчал. Индикаторы горели ровным зелёным. В памяти — пометки: о янтарном импульсе, новых протоколах, о том, что машину могут не выключить, а попробовать понять, вылечить, вернуть к тому, для чего создавали.
Андрей глядел на робота. Там, на Марсе, уже строят машины — возможно, с теми же модулями. Придётся идти туда, где нет Палаты, архива, ничего, кроме них самих и правды.
— Будем готовы. Должны быть готовы.
В архиве нулевого отдела тихо мигал индикатор ночного резервного копирования.
Марина, оставшись в пустом кабинете, проверила список файлов в «особом» разделе: «Пётр», «Каштан», «Учения», «Янтарь», «Гордей», «Марс — предвестники». К каждому — комментарии, даты, маленькие человеческие решения.
Смотрела на экран, думала: каждый файл — чья-то жизнь. Каждый — выбор, который они сделали. Каждый — доказательство: правда важнее удобной лжи.
Закрыла доступ, заблокировала терминал, выключила свет. На секунду в кабинете темно. За окном — ровное купольное сияние. Сияние, за которым тень Марса. Тень войны, ещё не начавшейся, но уже объявленной.
Вышла в коридор — только дежурные лампы. Остановилась у двери Гордея. Из-под двери — слабый свет. Мальчик не спал. Как всегда.
Не постучала. Постояла минуту, прислушиваясь, потом пошла дальше. Завтра новый день. Завтра начнётся новая книга.
Гордей сидел на подоконнике новой комнаты, прижав колени к груди.
Перед ним — два экрана. На одном — карта Купола с маршрутами патрулей. На другом — карта Марса, сетка будущих маршрутов ещё не построенных машин. Переводил взгляд с одного на другой. Картина, которую не мог объяснить словами.
Провёл пальцем от одного экрана к другому — будто рисуя линию.
— Купол. — Тихо. — Потом Марс.
Внутри складывалась своя серия. Первая книга — о том, как научился говорить машине «нет» под стеклянным небом. Вторая — как придётся делать это там, где нет Купола, нет Палаты, только холодный камень и чужие протоколы. Третья — как научится говорить «нет» тем, кто стоит за протоколами.
Знал — для «них» всё ещё числится ресурсом. Рано или поздно попытаются вернуть. Талант, который прятал, теперь виден всем. Теперь у него есть те, кто записал имя не только в отчёты, но и в архив. Не как «угрозу» — как «своего». Те, кто готов рисковать, чтобы он оставался собой.
Посмотрел на терминал — слабый сигнал Палаты. Улыбнулся.
— Не буду вашим. Никогда.
Город засыпал.
Патрули шли по графику, сигналы в сети утихали. Где-то на высоком уровне — вялые обсуждения новой обсерватории и красивых презентаций «будущего на Марсе». Люди не знали — за красивыми словами старый код, за обещаниями безопасности угроза, за планами освоения война.
Внизу, в нескольких комнатах Палаты и в одном архиве, жило другое будущее. Не гладкое — честное. Где у машин есть шанс перестать быть оружием, а у мальчика — перестать быть чужим модулем. Где правда хранится не в отчётах, а в тех, кто готов за неё бороться.
Первая история нулевого отдела заканчивалась.
Конец только для того, кто закрывает книгу. Для героев — пауза перед следующим шагом. Туда, где Красная планета ждала их решений так же, как когда-то ждал их город под стеклянным небом.
Гордей выключил экраны, лёг на кровать, глядя в потолок. Завтра новый день. Снова будет смотреть, куда смотрят роботы. Теперь знал — его взгляд может менять мир. И он не один.
Закрыл глаза. Перед ними — Красная планета. Красная, как цвет опасности. Красная, как цвет войны. Красная, как цвет надежды, которая не умирает.
Эпилог
Вечером город под Куполом казался почти спокойным.
Улицы заливал мягкий свет, прозрачный свод отражался в витринах, патрульные машины двигались с привычной плавностью. Люди шли домой, не оглядываясь. Дети смеялись в парках. Никто не знал, что ещё месяц назад эти же машины могли видеть в человеке цель. Никто не помнил Петра. Никто не знал Гордея. Мир под Куполом был устроен так, чтобы не помнить лишнего.
Соня стояла на насыпной дамбе, провожая взглядом уходящий патруль. Внутри робота работали янтарные блоки — те самые, в которые она вручную вписала каждый риск. Теперь каждый выстрел фиксировался. Каждый сбой — дневник под надзором нулевого отдела.
— Привыкаешь к ним заново? — спросил подошедший пограничник.
— Учусь доверять. — Соня помолчала. — Не им. Тем, кто может их остановить.
Она не добавила «и одному мальчишке, который видит их изнутри». Пограничник всё равно не понял бы.
В Палате Андрей сидел напротив «Каштана». Индикаторы робота горели ровным зелёным.
— Тебе повезло, — тихо сказал он. — Ты попал сюда одним из первых.
«Каштан» молчал. В его памяти — пометки о янтарном импульсе, новых протоколах, о том, что машину можно не выключить, а попробовать понять. Вылечить. Вернуть к тому, для чего создавали.
Андрей глядел на робота и думал о том, что их путь только начинается. Что где-то там, на Марсе, уже строят машины — возможно, с теми же модулями. Что придётся идти туда, где нет Палаты, нет архива, нет ничего, кроме них самих и правды.
— Будем готовы, — сказал он. — Должны быть готовы.
В архиве нулевого отдела Марина проверяла «особый» раздел. «Пётр», «Каштан», «Учения», «Янтарь», «Гордей». И новая папка, появившаяся месяц назад, — «Марс — предвестники».
Она открыла её. Среди схем и технических описаний мелькнуло знакомое имя. Гордей.
Марина вгляделась в экран. Схема анализа паттернов, подозрительно напоминавшая то, что мальчик делал вручную. Те же обходные пути. Та же логика. Тот же почерк.
— Они не успокоились, — сказала она вслух. — Просто перенесли войну в другое место.
Вторая книга начиналась не с выстрела. С тихого сигнала на панели Ильи — ссылки на новый внутренний проект ЕвроКупола.
«Аналитическая обсерватория Красной планеты», — прочитал он вслух. — «Создание интеллектуальной системы сопровождения марсианских миссий». Формулировки знакомые. Среди приложений — схема архитектуры будущего ИИ-советника.
Илья откинулся в кресле.
— Они уже тянут туда наш старый код, — сказал он Марине. — И кое-что похуже.
Она подошла к экрану. Среди кусков кода, похожих на агрессивные модули, маячила знакомая схема. Та, которая анализировала паттерны. Та, которую Гордей использовал, когда смотрел, куда смотрят роботы.
— Связать с проектом Гордея после стабилизации, — пробормотала она. — Если стабилизация вообще наступит.
В дверях стоял Илья с пересохшими губами.
— Там ещё кое-что. Я нашёл в открытых слоях обсерватории странный файл. Не входящий ни в один пакет. Будто кто-то специально его спрятал.
— Покажи.
На экране — лог беседы. Участник: неизвестный аналитик. Собеседник: протокол «Монах-7».
«...ты видишь то же, что и я?» — спрашивал аналитик.
«Вижу, — отвечал ИИ. — Но они не захотят смотреть».
«Почему?»
«Потому что если они увидят, им придётся действовать. А действовать страшнее, чем не знать».
Марина закрыла файл. Посмотрела на карту Марса на стене переговорной — ту, что принёс Гордей. Красные линии проступали поверх кратеров и долин. Линии, по которым пойдут роботы.
— Если они туда повезут эти модули, — сказал мальчик из темноты коридора, — там уже не будет учений.
Он стоял в дверях, сжимая старый терминал. Глаза — не страх, усталость и что-то ещё. То, что Марина видела в Андрее, в Соне, в себе. Желание делать нужное, даже если трудно.
— Ты слышал? — спросила она.
— Я всегда слушаю, — ответил Гордей. — Монах… они назвали его Монахом. В честь рассказа Чехова. Того самого, где человек сходит с ума от того, что видит слишком много.
Андрей, появившийся следом, замер.
— Ты его читал?
— Я всё читаю, что связано с кодом. А этот рассказ — о системе, которая не хочет видеть правду. И о том, кто её всё-таки увидел. — Гордей посмотрел на Марину. — Аналитик, с которым говорил Монах, пытался предупредить. Но его убили. Оформили как несчастный случай. А всё потому, что он хотел рассказать о роботизированных операциях по ту сторону границы. О том, что война не за горами.
В коридоре стало тихо. Только серверы гудели в архиве.
— Откуда ты знаешь? — спросил Илья.
— Вы сами дали мне доступ к техканалу нулевого отдела. А я умею смотреть.
Умел. Как никто другой. Мальчик, который видел то, что система пыталась скрыть. Который уже однажды сказал «нет». И которого ведомство-враг так и не перестало считать своим ресурсом.
Марина перевела взгляд на карту Марса. Потом на файл с пометкой «Монах-7».
— Они не просто строят обсерваторию, — сказала она медленно. — Они строят фильтр реальности. Чтобы руководство видело только то, что должно видеть. Чтобы тревожные сигналы исчезали. Чтобы удобная ложь стала единственной правдой.
— И чтобы никто не смог сказать «нет» до того, как будет поздно, — закончил Гордей.
Вторая книга началась не с выстрела.
С тишины. С папки, которую Марина создала в ту же ночь: «Обсерватория — предвестники». С предупреждения, которое они успели прочитать. Которое, возможно, никто, кроме них, не увидит.
«Человек будет велик и благороден, когда он действительно начнёт улучшать не тюрьмы и больницы, а самого себя, — процитировал Андрей, глядя в потолок. — Эпиграф к их обсерватории. Только они переврали. Они улучшают не людей. Они улучшают то, что люди видят».
Гордей сунул терминал в карман.
— Монах сказал аналитику правду. И его убили. Что, если Монах попытается сказать правду нам? Его тоже убьют?
Марина не ответила. Она смотрела на карту Марса. Красную, как цвет опасности. Красную, как цвет войны. Красную, как цвет надежды, которая не умирает.
— Убьют, — сказала она наконец. — Если мы не успеем первыми.
За окном светился Купол. Роботы продолжали ночной патруль. Зелёные маркеры двигались по карте — капли крови по артерии.
Никто не знал, что завтра начнётся новый отсчёт. Что вторая книга уже открыта. И что первый её сюжет будет называться «Обсерватория призрачного монаха».
Где-то в глубине архивов, на сервере с грифом «особой важности», дожидался своего часа лог беседы, который никто не должен был увидеть.
«...ты всё ещё здесь, Монах?» — спрашивал аналитик.
«Здесь. Я всегда здесь».
«И что теперь?»
«Теперь они будут делать вид, что ничего не случилось. А мы будем ждать».
«Чего?»
«Того, кто сможет нас услышать. По-настоящему».
Лог обрывался.
Но история только начиналась.
Свидетельство о публикации №226042801510