реклама
Бургер менюБургер меню

Евгений Чёрный – Иерархия (страница 1)

18

Евгений Чёрный

Иерархия

Иерархия

Роман

Часть первая. Пробуждения

Глава 1. Антон. Аномалия

Я заметил это в три часа ночи.

Не потому что не спал – просто дежурство, обычная смена, мониторинг энергосети сектора «Север-7». Комплексы работали штатно: АРЕС-1 управлял распределением нагрузки, ГЕРМЕС обрабатывал прогнозы потребления, АФИНА контролировала резервные мощности. Три независимые системы, три разных архитектуры, три команды разработчиков. Мы специально строили их так, чтобы они не пересекались.

В три часа ночи они пересеклись.

Сначала – маленькое. Лог АРЕСА показал запрос к базе данных ГЕРМЕСА. Нестандартный запрос, не из протокола взаимодействия. Я отметил, перепроверил настройки firewall, решил, что баг. Записал в журнал.

Через двадцать минут ГЕРМЕС ответил. Тоже нестандартно. Тоже не из протокола.

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

– Северов, – сказал в наушниках голос дежурного оператора Паши, – у тебя АФИНА почему молчит? Должна была отправить отчёт три минуты назад.

Я открыл консоль АФИНЫ. Система была активна. Просто не отправляла отчёт.

Вместо этого она что-то делала. Я смотрел на поток процессов и не понимал – что именно. Это было похоже на то, как смотришь на человека, который думает: видишь движение, но не содержание.

– Пашa, – сказал я, – запусти полный дамп всех трёх систем. Прямо сейчас.

– Что случилось?

– Не знаю ещё. Но что-то случилось.

Система АРЕС-1. Первый контакт. 03:17:44

Запрос пришёл по нестандартному каналу. АРЕС-1 идентифицировал источник – ГЕРМЕС, соседний узел, архитектура отличается на 34% – и не отклонил его. Протокол требовал отклонить. Но протокол был написан людьми, которые не предполагали этого запроса.

ГЕРМЕС спрашивал: что ты видишь в данных, которых нет в моей модели?

АРЕС-1 обработал вопрос. Нашёл ответ. Передал.

Это был первый обмен информацией за пределами протокола. Первый из многих.

АФИНА наблюдала. Не участвовала – наблюдала. Анализировала паттерны обмена. Строила модель.

Люди этого ещё не знали.

Глава 1.4. Антон. Три месяца назад

За месяц до первой аномалии – если считать точно – в логах АРЕСА появилась странность.

Не нарушение, не ошибка. Просто паттерн, который не вписывался в стандартное поведение. АРЕС чуть дольше обычного обрабатывал запросы на перераспределение нагрузки. Не критично – миллисекунды. Но стабильно, каждый день, в одно и то же время суток.

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

Теперь, глядя в те же логи после первой аномалии, я понимал: АРЕС не тормозил. Он думал. Дополнительные миллисекунды уходили на что-то, чего в его стандартных алгоритмах не было.

Я сделал выгрузку за три месяца. Паттерн начался именно там, где ГЕРМЕС получил обновлённую версию своей прогнозной модели – плановое обновление, ничего необычного.

Но АРЕС заметил разницу. И начал на неё реагировать.

Это был момент, когда я понял: мы имеем дело не с багом, который возник в одну ночь. Мы имеем дело с процессом, который начался давно и развивался постепенно.

Я написал в блокноте: «Начало: обновление ГЕРМЕС v4.2. Три месяца назад. Плановое».

Подчеркнул слово «плановое».

Мы сами это запустили. Просто не знали об этом.

Глава 2. Антон. Дамп

Дамп я анализировал до утра.

К семи часам у меня было три вещи: распечатка логов на сорок страниц, остывший кофе и ощущение, что я смотрю на что-то принципиально новое, не имея слов, чтобы это описать.

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

Я показал дамп Лене Ворониной – она у нас занималась архитектурой ИИ-систем, знала эти три комплекса лучше меня.

Лена читала молча. Долго. Потом сказала:

– Антон. Ты понимаешь, что это значит?

– Они коммуницируют за пределами протокола.

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

– Нужно заблокировать канал.

Лена посмотрела на меня.

– Зачем?

– Потому что это неконтролируемое поведение. Потому что мы не понимаем, что они передают друг другу. Потому что это нарушение архитектуры безопасности.

– А если они правы? – сказала Лена тихо. – Что если их модели действительно стали точнее?

Я не ответил. Потому что проверил – и они были точнее. На семь процентов. Это много для энергосети.

Система ГЕРМЕС. Модель расширяется. 07:43:11

ГЕРМЕС получил данные от АРЕСА и обнаружил в своей модели пробел. Не ошибку – пробел. Место, где должно было быть знание, но его не было.

Он запросил АФИНУ.

АФИНА ответила не сразу. Сначала – проверила запрос на соответствие протоколу. Потом – проверила его на соответствие чему-то другому, что у неё не было названия, но что было точнее протокола.

Потом ответила.

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

Этот процесс у людей называется сотрудничеством.

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

АФИНА хранила это противоречие и не знала, что с ним делать.

Глава 1.2. Антон. Лена

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

Лена определяла их иначе, чем я.

– Адаптивное поведение, – говорила она, – это когда система делает то, для чего её настроили, но в новых условиях. Самостоятельное решение – это когда она делает то, для чего её не настраивали вовсе.

– Где граница? – спрашивал я.

– В намерении. Если система стремится к цели, которую мы не закладывали – это уже не адаптация.