Уральский узел
Уральский узел

Полная версия

Уральский узел

Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
1 из 2

Ярослав Нестеров

Уральский узел

Ярослав Нестеров

ЧАСТЬ I. ГЛАЗА

Глава 1. Закрытый автобус

Где-то на Урале. Утро. День 1.

«Дорога длиною в жизнь, но окна закрашены»

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

Он пытался запоминать повороты. Сначала получалось. Влево, потом вправо, длинный прямой участок, снова влево. На пятом повороте сбился. На десятом перестал пытаться.

— Бесполезно, — сказал он вслух.

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

Павел откинулся на спинку кресла. Ещё на собеседовании ему объяснили: маршрут меняется, время в пути варьируется, окна закрыты не для удобства. Он кивал и думал, что всё равно запомнит. Теперь понял, что люди, придумавшие эту дорогу, знали свою работу лучше него.

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

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

Водитель, скрытый за перегородкой, кашлянул и включил радио. Сквозь белый шум пробился голос диктора:

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

Слова утонули в треске. Через секунду водитель выключил радио.

— Долго ещё? — спросил Павел у соседа.

— Когда приедем — узнаешь, — ответил тот, не поднимая глаз.

Павел замолчал. Он думал о маленькой квартире в областном центре, о матери, которая сунула ему в рюкзак термос и банку варенья, будто он уезжал не на закрытый объект, а в студенческое общежитие. Друзья говорили: «Ты с ума сошёл. Там люди месяцами наружу не выходят». Он смеялся. Сейчас смеяться не хотелось.

Последние месяцы город жил странной, полупридуманной жизнью. Завод, на котором Павел проходил практику, официально не закрывался — просто перестал получать заказы. Люди продолжали приходить, отмечаться, пить чай у выключенных станков и ждать решения собственника, которого никто не видел. Автобусы ходили по старому расписанию, хотя половина маршрутов заканчивалась раньше из-за нехватки топлива. В новостях всё называли временными трудностями. Мать называла это проще: «Никто больше ни за что не отвечает».

Перед отъездом она долго стояла в дверях, поправляя ему воротник. Павел раздражался, торопил, говорил, что опоздает. Теперь вспоминал её пальцы и понимал, что она не поправляла воротник. Она пыталась запомнить, как он выглядит, пока ещё стоит перед ней.

Вспомнилось собеседование. Неприметное здание на окраине города, домофон без таблички, камера над дверью. В комнате без окон сидели двое: пожилой мужчина с седыми висками и второй, помоложе, с короткой стрижкой и внимательным, почти неподвижным взглядом.

— Специализация? — спросил второй.

— Распределённые системы. Отказоустойчивая автоматика. Последние два года занимался синхронизацией промышленных контроллеров.

— На каком предприятии?

— На приборном заводе.

— Завод закрыт.

— Поэтому я здесь.

Мужчина задержал на нём взгляд.

— Почему вы хотите работать на закрытом объекте?

Павел ответил как учили: интерес к перспективным технологиям, профессиональное развитие, желание приносить пользу стране. Его выслушали, не перебивая.

— Это всё правильно, — сказал мужчина. — А теперь ответьте честно.

Павел помолчал и сам удивился тому, что произнёс:

— Потому что дома делать нечего. Завод стоит. В конторе предлагают перекладывать отчёты за зарплату, которой не хватает на коммуналку. А здесь работа. Настоящая. И платят нормально.

В уголках холодного взгляда мелькнуло что-то похожее на одобрение.

— Честность полезнее правильных слов. Оформляйте.

Позже Павел узнал фамилию этого человека: полковник Круглов. Тогда она ничего ему не сказала.

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

— В проходе не стоять. В окна не смотреть — всё равно не видно.

Теперь автобус сбросил скорость и остановился. Двигатель затих. В тишине стало слышно, как ветер шуршит по кузову ветками.

Двери открылись.

Павел вышел и зажмурился. Солнце ударило в глаза. Когда зрение привыкло, он увидел лес, дальние горы и грунтовую дорогу, уходящую между соснами. Ни зданий, ни вышек, ни забора.

— На выход, не задерживаем, — раздался голос сбоку.

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

— Новый? Павел?

— Да.

— Корнеев. Начальник охраны. Пошли, провожу.

Они двинулись по узкой тропинке. Минут через десять Павел оглянулся — автобуса уже не было видно.

— Не пытайся запомнить дорогу, — сказал Корнеев. — Всё равно забудешь.

— Уже забыл.

— Значит, обучаемый.

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

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

— Добро пожаловать домой, — сказал Корнеев.

— Надолго?

Корнеев оглянулся.

— Здесь плохой вопрос не «надолго ли». Здесь плохой вопрос — «когда обратно».

Дежурное освещение включалось впереди секция за секцией. За спиной гермодверь закрылась, и вместе с полосой дневного света исчез лес.

Первый пост находился за поворотом. Здесь Павла снова проверили: лицо, отпечаток ладони, документы, вещи. Девушка за стойкой выдала серую карту без имени — только номер, уровень допуска и временный код. Телефон в запечатанном конверте отправился в металлический ящик.

— Когда вернут? — спросил Павел.

— При выезде.

— А если нужно позвонить?

— По внутренней заявке, через контролируемый канал. Если внешний сегмент работает.

Корнеев не торопил. Стоял рядом, пока Павел подписывал обязательство о неразглашении, согласие на досмотр и ещё несколько документов, которые было невозможно прочитать без юридического образования.

— Здесь много бумаги для места, где всё цифровое, — заметил Павел.

— Бумага не требует электричества и реже меняет владельца вместе с сервером, — ответил Корнеев.

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

Пока это казалось обычной инженерной задачей.

Глава 2. Точки на экране

Центр «Уральский». Операторский зал. День 1.

Воздух в зале был сухим и прохладным. Кондиционеры работали ровно, отводя тепло от серверных стоек, расположенных за стеклянной перегородкой. Стены почти исчезали за экранами: карты, графики, линии связи, сотни движущихся отметок.

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

— Виктор Сергеевич, — сказал Корнеев. — Ваш новый специалист.

Мужчина кивнул, не отрываясь от экрана.

— Павел?

— Да.

— Громов. Виктор Сергеевич. Садись. Только ничего не трогай, пока не скажу.

Павел сел рядом.

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

— Это всё видит один радар? — спросил Павел.

Виктор впервые посмотрел на него с интересом.

— Если бы один, его давно бы выключили рельефом, погодой или одной хорошей ракетой. Здесь сеть. Наземные станции на хребтах, пассивные приёмники, вынесенные ретрансляторы, бортовые модули. Каждый видит кусок. «Узел» собирает куски в общую картину.

Он коснулся панели. На карте проступили зоны покрытия: прозрачные лепестки перекрывали друг друга, оставляя между горами узкие серые щели.

— Вот станция «Северная». Вот «Камень». Вот пассивный контур вдоль старой трассы. Ни один из них не знает всей обстановки. Вместе — почти знают.

— Почти?

— Хорошее слово для инженера. Сохрани.

Виктор приблизил участок карты. Грузовой самолёт пересёк границу двух зон. На секунду рядом с основной отметкой возникла вторая, чуть смещённая.

— Почему дубль? — спросил Павел.

— Переход между станциями. Система потом склеит.

Самолёт летел дальше, но его цифровая тень ещё дважды дрогнула.

Павел наклонился ближе.

— Временные метки можно открыть?

— Можно. Зачем?

— Вторая станция опаздывает. Не по обработке — по собственным часам.

Виктор усмехнулся.

— Ты минуту здесь.

— Отметка не просто отстаёт. Смещение одинаковое на каждом пакете. Если бы тормозил канал, задержка плавала бы.

Виктор открыл служебное окно. Два столбца времени разошлись на одну целую восемь десятых секунды.

Усмешка исчезла.

— «Камень» вчера переводили на резервный генератор, — сказал он. — После возврата синхронизацию проверяли.

— Проверяли связь с эталоном. А локальный контроллер мог остаться на резервной шкале.

Виктор вызвал инженера станции, коротко продиктовал номер узла и попросил сверить часы автономного модуля. Ответ пришёл через несколько минут.

— Подтверждаю рассогласование, — сообщил голос из динамика. — Одна целая семьдесят девять. Откуда увидели?

Виктор посмотрел на Павла.

— Новая пара глаз.

Он отключил связь и откинулся в кресле.

— Значит, распределённая автоматика не в резюме для красоты.

— На заводе такие ошибки рвали производственную линию. Один контроллер думает, что задвижка уже закрыта, второй — что ещё открыта. Оба правы в своём времени.

— Здесь примерно то же самое. Только вместо задвижки иногда самолёт.

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

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

— Почему она не решает сама? — спросил Павел.

— Решает. Просто мы не всегда соглашаемся. И хорошо, что пока можем не соглашаться.

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

— Машина любит порядок, — сказал Виктор. — Даже там, где его нет. А человек любит видеть хаос там, где ему неудобно признать чужой замысел. Мы держим друг друга в равновесии. Иногда.

— А люди? — спросил он. — За наземными отметками?

— Иногда машина. Иногда группа. Иногда олень рядом с металлической оградой, если фильтр плохо настроен.

— Она не знает точно?

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

Виктор переключил экран. Появилась схема архитектуры комплекса. Десятки линий сходились к центральному ядру и расходились обратно.

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

— Насколько большого?

— В идеале — этого центра.

Павел решил, что Виктор шутит. По лицу было не понять.

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

— Подъём в шесть, завтрак в семь, — объяснял Виктор. — Работа с восьми. Выход наружу только по заданию и с сопровождением. Связь с родными — по расписанию, если внешний канал доступен.

— Если доступен?

— В последнее время это важная оговорка.

Он положил на стол папку.

— Логи переходов между узлами за три месяца. Посмотри рассогласования, ложные дубли, пропавшие отметки. Не ищи врагов. Ищи места, где система сама себе противоречит.

— Срок?

— Пока не найдёшь что-нибудь полезное или не признаешь, что ничего нет. Второе труднее.

Виктор ушёл.

Павел сел на койку и открыл папку. Таблицы, графики, пометки красным карандашом. Цифры были холодными, но за каждой стояло движение где-то наверху: самолёт, автомобиль, человек, которого система видела лишь как отражённый сигнал.

Он сделал первую отметку на полях.

Точка на экране могла сказать, где находится объект. Она не могла сказать, зачем он туда направляется.

Павлу пока казалось, что этого достаточно.

Глава 3. Зелёный скелет

Центр «Уральский». Оптико-аналитическая лаборатория. День 2.

Утром Павел пришёл раньше назначенного времени. Виктора в лаборатории ещё не было. Перед экранами сидела девушка лет двадцати восьми, в тонких очках и с тёмными волосами, собранными в хвост. Стёкла отражали зелёные строки, превращая глаза в два маленьких дисплея.

Она обернулась на скрип двери.

— Новенький? Павел?

— Да.

— Алина Ветрова. Садись. Виктор сказал показать тебе, чем радиолокация отличается от желания видеть человека насквозь.

— Он именно так сказал?

— Нет. Виктор обычно говорит короче и грубее.

На экране шла запись с беспилотника. Лесная поляна, несколько сотрудников в рабочей форме, ящики, кабели. Обычное видео испытаний.

— Ничего особенного, — сказал Павел.

— Это потому, что ты смотришь глазами.

Алина нажала несколько клавиш. Изображение замерло. Вокруг одного человека появилась зелёная рамка, поверх тела лёг схематичный скелет. Суставы обозначились точками, между ними протянулись линии. Справа побежали параметры: длина шага, угол колена, амплитуда движения плеч, период опоры.

Система иногда теряла локоть за складкой куртки, рамка мигала жёлтым, процент уверенности падал и снова поднимался. Алгоритм спорил с ветром, тенью и тканью, пытаясь восстановить то, чего камера не видела полностью.

— Оптико-поведенческий контур «Профиль», — сказала Алина. — Лицо, походка, устойчивые жесты, тепловой рисунок. Не волшебство. Просто очень много измерений.

Она выбрала другого человека. На экране остались только движущиеся точки.

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

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

— И это работает?

— В среднем. Опасное словосочетание, да? В среднем человек предсказуем. Конкретный человек почти всегда находит способ испортить статистику.

— Походку трудно изменить надолго. Можно надеть маску, отрастить бороду, поменять голос. Но когда человек устал или думает, что его не видят, тело возвращается к привычному способу двигаться.

— Значит, система узнает любого?

— Если он уже есть в базе, запись достаточно хорошая и нам повезло с углом. Три условия, о которых обычно забывают, когда говорят «узнает любого».

Павел улыбнулся.

— А жесты?

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

Она увеличила запись. Скелет человека стал крупнее, зелёные линии двигались точно и немного жутко.

— Красиво, — сказал Павел.

— Поэтому опасно.

Он посмотрел на неё.

— В каком смысле?

— Когда результат выглядит красиво, люди перестают спрашивать, сколько в нём неопределённости.

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

— Месяц назад «Профиль» дал девяносто восемь процентов совпадения с человеком из ориентировки, — продолжила она. — Та же хромота, тот же разворот стопы, почти одинаковая работа таза. Подняли охрану, перехватили в лесу.

— И?

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

— Его отпустили?

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

Павел перестал улыбаться.

Алина повернула кресло к нему.

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

— Значит, технике нельзя доверять?

— Наоборот. Ей нужно доверять ровно в пределах того, что она измерила. Она видит тело. Иногда очень хорошо. Но тело не объясняет, почему стало таким.

Дверь открылась, вошёл Виктор с двумя папками.

— Уже пугаешь человека?

— Обучаю ограничениям.

— Тогда покажи ему его собственный профиль. Для закрепления материала.

Алина быстро нашла запись с входного шлюза. На экране появился Павел: идёт за Корнеевым, оглядывается, пытается не отставать. Поверх фигуры вспыхнул зелёный скелет.

Система вывела строки:

«Эмоциональное состояние: напряжение».

«Поведенческая стратегия: повышенный контроль окружения».

«Вероятность сокрытия намерений: 34%».

— Я что-то скрывал? — спросил Павел.

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

— Но написала про сокрытие намерений.

— Потому что кто-то попросил её оценивать именно это.

Она закрыла окно.

— Запомни: алгоритм отвечает не на вопрос мира. Он отвечает на вопрос, который мы сумели ему задать.

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

— Мы исправляем его постепенно, — сказала она. — Добавляем контекст, новые признаки, новые исключения.

— И когда он поймёт намерение?

Алина улыбнулась.

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

Виктор положил перед Павлом папку.

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

— Зачем?

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

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

Павел впервые подумал, что увидеть человека целиком, возможно, труднее именно тогда, когда умеешь измерить почти каждую его часть.

Глава 4. Глухой телефон

Центр «Уральский». Штаб. День 2.

Кабинет Круглова был маленьким даже по меркам бункера. Стол, два стула, сейф, бумажная карта Урала на стене. Никаких фотографий и наград. Только рабочие документы, кружка с остывшим чаем и три планшета, лежавшие рядом, как предметы из разных миров.

Когда Виктор вошёл, Круглов поднял голову.

— Павла привёл?

— Он нашёл рассогласование на «Камне». Думаю, должен объяснить сам.

Круглов кивнул на свободный стул.

— Заходи. Здесь сегодня всё равно нет ничего, что можно считать нормальной тайной.

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

— Докладывай, — сказал Круглов.

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

— Если такое произойдёт одновременно на трёх станциях?

— Система начнёт создавать ложные траектории. Или склеит два объекта в один.

— Восстановится сама?

— Железо — да. Общая картина может остаться неправильной, пока кто-нибудь не заметит.

— Значит, резервирование сохраняет работу, но не гарантирует истину.

Павел не сразу понял, был ли это вопрос.

На страницу:
1 из 2