Антон Абрамов – Охотник не стреляет (страница 2)
— Защита — это сохранить объект. В объекте резервуары, связь, энергетика. Потеряем их — погибнут люди. Длинная пауза даст тот же счёт трупов, только позже.
Здесь он был прав, и она кивнула. Признать это вслух было важнее, чем выиграть реплику.
— Поэтому я не прошу лекций на экране. Я прошу три строки оператору. Что подтверждает угрозу. Что ей противоречит. Кого заденет необратимое действие. Три строки, Роман. При любой скорости.
Крайнов отошёл к узкому окну. За стеклом низкое учебное небо висело над заливом; на мачте маленький оранжевый Мартынов сидел, обхватив перила, а рядом на страховочном тросе болтался его коптер.
— Вы оба правы, и это хуже всего. — Он не обернулся. — Зотову нужны чистые данные. Вам — осмысленное решение. А в моём порту будут ветер, усталые люди, вражеские аппараты, дырявые реестры и приказ сверху: держать. Сегодня ваш «Охотник» спас техника. Завтра такая же остановка откроет проход ударной группе.
Он вернулся к столу.
— Учите её различать остановку и отказ. Остановка — лишняя задержка. Отказ — запрет на слепое действие.
— Сегодня был отказ, — обронила Таисия.
У второй станции Лина Шахова, младший аналитик, делала вид, что работает с логами, а сама ловила каждое слово.
— Можно? — Она не дождалась ответа и вывела график канала допуска; голос подрагивал, но цифры держались твёрдо. — Метка Мартынова пришла с задержкой в двадцать семь секунд. Служба допуска передала закрытие зоны, а коптер остался в активном списке техобслуживания. «Охотник» получил два противоречивых статуса разом: сектор чистый, аппарат присутствует. И включил сомнение.
— Откуда задержка? — Роман нахмурился; цифры он уважал больше, чем её саму.
— Узел синхронизации. Пакет прошёл через резервный канал и получил старый штамп. Для системы коптер выглядел как слабая гражданская метка у зоны поражения.
— Значит, резервный канал хромает. — Крайнов произнёс это тихо.
— Значит, объект живой. — Таисия наконец отвернулась от экрана. — Он хромает всегда. Вопрос в том, видит ли это защита.
Глеб провёл ладонью по лицу:
— Я бы ударил. По регламенту — подтвердил бы. Красная цель, девяносто одна сотая, сектор чистый. Ударил бы.
— Для этого и нужен честный экран.
— Экран был честный. Просто я смотрел бы на другую строку.
— Значит, строку надо поднять выше.
Роман вздохнул — мол, опять загромождать оператору основной вид. Глеб обернулся к нему и отрезал: если строка про человека на мачте, пусть загромождает. Роман развёл руками и уступил. Победа вышла маленькая, без фанфар; в командном модуле такие не замечали, а двигали проект именно они.
Служебная связь щёлкнула, и на стеновом экране сменился канал. Дежурный диспетчер порта проступил бледным лицом в полосах помех; за его спиной мигали карты погоды и графики эвакуации.
— «Гавань-9» для полигона. Подтверждаем штормовое второй степени. В северных посёлках подтопление. С семнадцати ноль-ноль переводим спасательные платформы на аварийный режим. Запрашиваем готовность «Охотника» к смешанному трафику: спасатели, гражданские коптеры, служебные борта.
Крайнов переменился. Раздражение ушло вглубь, голос отвердел до командного:
— Сколько бортов в воздухе?
— До тридцати двух спасательных по плану. Гражданских — под полсотни при самостоятельной эвакуации. Плюс медицинские контейнеры. Видимость падает, радиошум растёт.
— Угроза внешнего воздействия?
Диспетчер помедлил:
— Мониторинг отмечает активность неизвестных малых платформ за дальним буем. Идентификация ведётся.
Роман глянул на Таисию, и впервые за утро в его взгляде не было насмешки. Была работа.
Крайнов раздал смену короткими фразами, как сбрасывают карты: полигон закрыть, логи — в его канал, Зотову — оценку автономного режима для смешанного трафика, Нечаевой — её предупреждения привести к виду, который оператор поймёт за секунду, Шаховой — реестры гражданских аппаратов и резервные каналы, каждую странность на стол. Глеб уже гасил учебный сценарий. Красная «Сойка» исчезла из списка, и на её месте раскрылась карта настоящего порта: причалы, мачты, склады, медицинский модуль, эвакуационный зал, паутина низких маршрутов. Метки двигались, пересекались, спорили друг с другом. В этом хаосе жила «Гавань-9».
Таисия задержалась на строке режима сомнения. Жёлтая рамка давно погасла, но система сохранила запись: блокировка признана обоснованной, цена необратимого действия — поражение гражданской метки, ответственное подтверждение отменено системой.
Роман подступил сбоку, понизив голос:
— Ты понимаешь, что Крайнов сегодня запросит право обхода.
— Понимаю.
— Если задержка убьёт людей, это тоже будет твоя подпись.
— Да.
За стеклом Мартынова снимали с мачты. Он шёл по площадке, держась за трос, и оглядывался на учебное небо с лицом человека, ещё не понявшего, как близко прошла мимо чужая уверенность. Сервисный коптер волокли на тележке — сломанный, жалкий, спасённый.
Таисия закрыла файл прогона. Система присвоила ему имя автоматически: «Прогон 14-А. Блокировка поражения». Она стёрла последнее слово и набрала другое — «Спасение». Машина запросила подтверждение изменения записи. Таисия поставила подпись.
В дверях Крайнов задержался:
— Нечаева. В реальной атаке я не позволю системе останавливать поражение, если пауза откроет путь удару.
— И правильно.
Он нахмурился, не ожидав согласия.
— Я говорю только, что у остановки тоже должна быть цена, — добавила она. — Как у выстрела.
Крайнов подумал недолго, кивнул и вышел в коридор, уже отдавая распоряжения по закрытому каналу. За окном учебная вода темнела, и ветер тащил с залива новый запах — железный, соленый, штормовой.
Глава 2. Кнопка без имени
Командный зал «Гавани-9» сидел под портом, в бетонной складке между энергоблоком и узлом связи. Сверху были ветер, солёная вода, краны и люди, которых свезли сюда из низовых посёлков. Внизу — карты, каналы, протоколы и та разновидность тревоги, что пахнет горячим пластиком и кофе из автомата.
Таисия вошла последней, у шлюза стряхнула с рукава капли. Зал уже перестал быть учебным, и это читалось по тому, куда смотрели люди. В учебном смотрят на экран. В рабочем — на удаленное управление: на палец оператора у клавиши, на губы начальника перед приказом, на табло времени, где каждая секунда становится имуществом службы безопасности.
Глеб занял главное кресло и развернул боевую карту. «Гавань-9» открылась целиком — причалы, энергоблок, медицинский модуль, склады, эвакуационный зал, вышка связи, низкие маршруты спасателей. Серые метки уже поднимались с крыш и площадок, тянулись к пунктам сбора, висели у посадочных зон, спорили с ветром и регламентом. Крайнов стоял у стола совещаний; влажная куртка темнела у плеч. Он принёс с собой запах моря. В голове уже прокручивался готовый приказ.
— Сорок минут до пикового трафика. — Он не сел. — За дальним буем — подозрительные малые платформы. Шторм идёт к порту. Эвакуация начата. Я хочу понять, что ваш «Охотник» делает сам, где просит подпись и где имеет право остановить поражение.
Роман подключил планшет к боковой панели и доложил коротко: базовый режим готов, по чистой цели система работает без оператора — подавление, увод, сетка, принудительная посадка; поражение — только по ответственному подтверждению, когда в зоне есть гражданская активность.
— Меня интересует красный протокол. — Крайнов отмёл остальное движением ладони. — Массовая атака. Потеря связи. Времени на решение меньше, чем реакция оператора.
— Тогда автономный режим расширяется, — отозвался Роман. — Система получает право на поражение при достоверности выше порога и угрозе критическому объекту.
Глеб скривился:
— Кто отвечает за порог?
— Модель, регламент и начальник смены.
— Модель в суд не вызовут.
Таисия подошла к свободной станции, открыла блок подтверждения и растянула на весь экран. На сером фоне горела одна зелёная кнопка: «ПОДТВЕРДИТЬ». Большое слово, никакой биографии решения за ним. Она смотрела на эту опрятную пустоту и думала, что катастрофы рождаются именно из неё, — но вслух выбрала проще:
— Вот это надо менять.
Крайнов бросил взгляд на экран:
— Кнопку?
— Имя кнопки.
— У неё есть имя.
— Нет. «Подтвердить» — служебная вежливость. Она прячет действие. — Таисия постучала ногтем по зелёному полю. — Оператор должен видеть, что именно подтверждает: поражение, мягкий перехват, отказ, риск для сектора, обход режима сомнения. Разные поступки нельзя складывать под один глагол.
Глеб наклонился к экрану. Эту мысль он принял сразу — она была про его палец.