Спектр
Часть первая. Глава 1. Лекция
Аудитория была из тех, где вентиляция работала «в среднем»: стёкла чуть запотевшие по краям, запах кофе из автомата и маркера, температура, при которой и в пиджаке жарко, и без пиджака неуютно. ИТМО, Петербург, корпус на Кронверкском — не главный зал, а боковая аудитория, куда загоняли секции, не попавшие в основную программу. Конференция по распределённым вычислениям, второй день, послеобеденное время — то самое, когда половина участников уже уехала, а оставшиеся сидят не из интереса, а потому что обратный поезд вечером. Люди сидели не ровно, а как обычно садятся на конференциях: кто-то боком, чтобы было легче уйти, кто-то вперёд, будто вот-вот выскочит к доске. На первом ряду лежали чужие ноутбуки — закрытые, открытые, на подставках, с наклейками лабораторий и компаний, — как выложенные на стол ножи.
Архитектор стоял у экрана так, будто опирался на невидимый чертёж. Руки держал спокойно, без суеты. Слайд был сухой: прямоугольники, стрелки, подписи. Никаких метафор.
— Распределённость, — сказал он, и слово прозвучало как термин из спецификации, — не украшение. Это договор с реальностью. Если не подписываете — реальность подпишет за вас.
Он щёлкнул пультом. На экране — диаграмма с двумя ветками: «централизованная» и «распределённая». В первой — один жирный узел. Во второй — несколько, соединённых тонкими линиями.
— Вы рисуете так, — голос из зала был резким, раздражённым, — будто сеть бесплатная. Будто задержки не существуют. Будто люди не ломают процессы.
Говорил мужчина в сером, сидевший чуть в стороне. Локти на коленях. Взгляд цепкий, как у человека, привыкшего ловить ошибки в чужих утверждениях.
Архитектор не улыбнулся.
— Я рисую так, будто сеть существует. И поэтому я не рисую один узел.
— А как же контроль? — мужчина в сером не выдержал паузы. — Центр управления. Ответственность. Кто отвечает, если всё это разъезжается?
Физик, сидевший ближе к проходу, поднял руку — не в жесте «разрешите», а будто отодвигал разговор на сантиметр, чтобы не перешёл в крик.
— Вопрос про контроль — это вопрос про стоимость отказа, — сказал он. Голос ровный, но внутри — ощущение, что он постоянно считает. — Контроль дешевле, пока один узел не становится единственной точкой отказа. Потом контроль — это цена паники.
— Цена паники, — передразнил серый. — Красиво. А в бухгалтерии это как?
Физик посмотрел на Архитектора — как на человека, который не любит чужих «красиво» и не даст разговору утечь.
Архитектор щёлкнул снова. На экране — таблица: «время простоя», «стоимость простоя», «вероятность». Числа без валюты, будто специально снял с них национальность.
— В бухгалтерии это просто, — сказал он. — Время простоя умножается на стоимость простоя. Вероятность — не оправдание. Вероятность — налог на самоуверенность.
— А люди? — не сдался серый. — Люди не таблица.
Графист, который до этого молчал и рисовал что-то на листке, поднял голову. Говорил иначе: живее, будто показывал руками структуру воздуха.
— Люди — это узлы, — сказал он и сразу поймал несколько взглядов. — Не в смысле «детали». В смысле — у каждого есть входы и выходы. Если у вас один главный узел, вы делаете людей длинными проводами. А провод ломается в самых неудобных местах.
Кто-то хмыкнул. Кто-то улыбнулся. Кто-то напрягся.
— Вы всё превращаете в графы, — сказал серый тише, но с тем же раздражением.
Графист пожал плечами — легко, почти дружелюбно.
— Жизнь — это граф, который не подписал согласие на визуализацию. Поэтому он делает вид, что хаос.
Зал зашумел. Смешки. Реплики. Архитектор стоял спокойно. В него было трудно «войти» эмоцией.
— Давайте конкретику, — потребовал серый. — Где вы это видели не на бумаге?
— В системах, которые пережили отключение, — ответил Архитектор.
Пауза вышла рабочей — когда ждут продолжения, потому что в слове «отключение» слишком много бытового.
— А если не пережили? — бросили сзади.
Физик повернулся.
— Тогда вы узнаёте цену централизованной уверенности. И цена обычно выше бюджета.
Но главное Архитектор сказал ближе к концу — негромко, как говорят вещи, которые обдумывали годами:
— Стандартная модель назначает главный фактор. Отбрасывает шум. Считает. И каждый раз удивляется, когда ошибка приходит оттуда, откуда не ждали. Потому что шум — это не шум. Это переменная, которая ещё не стала главной. Но станет.
Он сделал паузу.
— Любая переменная может стать определяющей со временем. Вопрос — успеете ли вы это заметить, пока назначаете главные.
— Красиво, — бросил серый. — Но вычислительно невозможно. Число переменных в реальной системе стремится к бесконечности. Мощности — конечны. Это не философия, это арифметика.
— Арифметика, — согласился Архитектор. — Поэтому мы не считаем все переменные одновременно.
В зале стало тише. Люди, которые уже решили, что поняли идею, вдруг обнаружили, что не поняли.
Архитектор подошёл к доске и начал писать. Не формулу — схему. Круг, внутри — маленькое окно. Стрелка, показывающая движение окна по кругу.
— Представьте спектр. Полный спектр переменных системы — потенциально бесконечный. Вы не можете осветить его целиком. Но вам не нужно. Вам нужно окно, которое движется.
Физик добавил из зала — они явно репетировали это, но звучало живо, не как скрипт:
— На каждой итерации модель определяет, какие переменные сейчас активны — то есть влияют на результат выше порога значимости. Какие спят — влияние ниже порога. И какие просыпаются — влияние растёт.
— Динамическая ренормализация, — сказал Архитектор. — Окно внимания скользит по спектру. На каждом шаге вы считаете конечное число переменных. Но это не одни и те же переменные. Модель сама решает, куда смотреть.
— Окно внимания? — кто-то из зала. — Это же контекст! Вы предлагаете неограниченный контекст?
— Нет, — ответил Архитектор. — Контекст всегда конечен. Мы предлагаем подвижный контекст. Нейросеть видит то, что в неё поместили. Мы видим то, что сейчас важно. Это не размер окна. Это скорость, с которой оно перемещается.
Физик добавил:
— И окно не одно. Количество окон масштабируется под задачу. Для склада — десяток. Для экономики страны — тысячи. Каждое конечно. Но они покрывают спектр одновременно, каждое — свой участок. И каждое движется.
— И чем это отличается от обычной фильтрации? — спросил серый. В его голосе было уже не раздражение — настоящий интерес, пусть и враждебный.
— Фильтрация отбрасывает, — ответил Архитектор. — Мы не отбрасываем. Мы откладываем. Переменная, которая сейчас спит, остаётся в модели. Она не удалена — она в тени. И когда её влияние начинает расти, окно сдвигается к ней раньше, чем она станет критической.
— Раньше? — серый подался вперёд. — Откуда модель знает, что переменная проснётся?
Графист поднял голову от блокнота.
— По производным. Не по значению переменной, а по скорости изменения её значения. Если скорость растёт — переменная просыпается. Даже если её абсолютное значение пока ничтожно.
— То есть вы следите за скоростью изменения бесконечного числа переменных, — серый произнёс это медленно, как человек, который видит подвох, но не может его сформулировать. — На конечных мощностях. Это всё равно невозможно.
Архитектор покачал головой.
— Производные считаются аппроксимативно. Не для каждой переменной по отдельности — для кластеров. Переменные, которые ведут себя похоже, группируются. Вы следите не за миллионом спящих переменных — за тысячей кластеров. И когда один кластер начинает расходиться — разворачиваете его и смотрите внутрь.
В зале повисла пауза — та особенная тишина, которая бывает, когда люди пытаются найти ошибку и не находят. Не потому что ошибки нет — потому что для её обнаружения нужно время, а время в аудитории не измеряется.
— Это не доказано, — сказал кто-то сзади.
— Это реализовано, — ответил Архитектор. — На ограниченном наборе данных. Работает.
— «Работает» — не доказательство.
— «Работает» — единственное доказательство, которое имеет значение.
В зале стало тише. Не потому что убедил — потому что задел.
* * *
После выступления люди расходились медленно, как после лекции, где не понравилось, но зацепило. В коридоре тесно. Кто-то спорил на ходу. Кто-то притих.
Профессор догнал Архитектора у лестницы. Профессор был не из восторженных. Он видел рисунок на несколько слоёв глубже, а потом проверял его реальностью. Седой, невысокий, с привычкой складывать руки за спиной, как будто мысли тяжёлые и нужен противовес.
— Интересно, — сказал он без приветствия. — Безумно, но интересно.
Архитектор спустился на одну ступеньку ниже — чтобы говорить не сверху.
— Безумие — это продолжать назначать главные переменные.
Профессор кивнул, будто отметил формулировку, но не принял её.
— Есть фонд, — сказал он. — Контакт дам. Они любят прорывные идеи. Но они потребуют проверку. На реальных данных, не на модельных.
Физик, стоявший рядом, чуть наклонил голову:
— Это разумно.
— Это не разумно, — поправил профессор. — Это жёстко. Я их знаю. Они закрыли больше проектов, чем профинансировали. И каждый раз — по одной причине: красивая теория не подтвердилась на практике.
Графист складывал бумагу с набросками, будто это были карты.
— Нам нужна реальная задача, — сказал Архитектор. — Компания. С проблемой, которую их модель не решает.
Профессор достал визитку, но не дал сразу — подержал секунду, как будто проверяя, достойна ли бумага быть мостом.
— Поговорите с ними. Убедите, что идея стоит проверки. Дальше — дело ваше.
Архитектор взял визитку.
— Спасибо.
— Не благодарите, — сказал профессор. — Благодарить будете, если они скажут «да». А они сначала скажут «нет».
Глава 2. Фонд
Офис фонда располагался на двенадцатом этаже стеклянной башни, где всё было продумано — от температуры воздуха до угла падения света, — но кофе всё равно никто не пил, потому что кофемашина варила нечто среднее между эспрессо и разочарованием.
Стулья были из тех, на которых неудобно сидеть больше часа. Это было намеренно: инвестиционные фонды не любят длинных встреч.
Архитектор принёс ноутбук. Графист — блокнот. Физик — ничего, кроме уверенности, которую он умел дозировать: достаточно, чтобы не показаться неуверенным, недостаточно, чтобы показаться наглым.
Первый партнёр — немолодой, с лицом человека, который слышал тысячу питчей и запомнил три, — сидел, скрестив руки. Второй — помоложе, с блокнотом, в который записывал не слова, а какие-то свои пометки, — сидел чуть в стороне, как наблюдатель при эксперименте.
— У вас десять минут, — сказал первый. — Потом — вопросы.
Физик начал. Не с идеи — с проблемы.
— Любая компания, которая прогнозирует, делает одно и то же: выбирает главный фактор, строит модель, считает. Когда ошибка приходит — ищет новый главный фактор. Это бесконечный цикл, и он дорогой.
— Это известно, — сказал первый партнёр.
— Известно. Но никто не предложил альтернативу, потому что альтернатива требует вычислительных мощностей, которых раньше не было.
— А теперь есть?
— Теперь есть.
Архитектор открыл ноутбук и показал модель — не красивую презентацию, а рабочую схему: узлы, связи, потоки. Говорил сухо, без энтузиазма:
— Мы не выбираем главный фактор. Мы пересчитываем все переменные одновременно. Каждую итерацию. С учётом взаимных влияний.
Второй партнёр поднял голову от блокнота.
— Все — это сколько?
— Все, которые доступны.
— Это невозможно, — сказал первый. Не с раздражением — с усталостью человека, которому говорили «невозможное» слишком часто.
— Это дорого, — поправил Физик. — Не невозможно.
— И вы хотите, чтобы мы заплатили за «дорого».
— Мы хотим, чтобы вы заплатили за доказательство.
Первый партнёр посмотрел на второго. Между ними прошло что-то быстрое и молчаливое — из тех невербальных разговоров, которые возможны только у людей, принимавших решения вместе много раз.
— Какое доказательство? — спросил второй.
— Реальный кризис, — ответил Физик. — Компания, которая теряет деньги и не может найти причину. Мы найдём. Если не найдём — вы ничего не теряете.
Первый партнёр не размягчился.
— Я закрывал проекты, которые говорили «если не найдём — вы ничего не теряете». Теряете всегда. Время.
— Время вы уже теряете, — сказал Архитектор. — Разговаривая с нами.
Это было резко. Физик чуть заметно напрягся. Но первый партнёр не обиделся — наоборот, посмотрел на Архитектора с тем вниманием, которое раньше отсутствовало.
— Хорошо, — сказал он. — Найдите кризис. Реальный, не учебный. С цифрами. Покажите результат. Тогда поговорим.
— Условия? — спросил Физик.
— Никаких. Найдите кризис — и покажите, что ваша модель работает не на бумаге.
Они вышли из офиса через двадцать минут. В лифте Графист сказал:
— Он нам не верит.
— Он никому не верит, — ответил Физик. — Это нормально. Он верит числам.
Архитектор молчал. Он уже думал о том, где найти компанию, которая горит.
Глава 3. Лавина
Кабинет операционного директора логистической компании «ТрансРегион» был завален распечатками. Не хаосом — слоями бумаги, каждый из которых означал неделю, когда что-то шло не так.
Он стоял у стола, читая письмо на экране третий раз. Формулировки были аккуратные. От главного акционера, которого он знал много лет, — не как начальника, а как человека, с которым когда-то начинали.
«Когда можно ожидать стабилизации?»
«Банки просят разъяснений.»
«Ты понимаешь, что мы не можем долго работать в таком режиме.»
Он закрыл письмо и несколько секунд смотрел на пустой экран.
Дверь открылась осторожно.
— Можно?
Аналитик стоял с ноутбуком, как обычно. Молодой, аккуратный, без лишней нервозности. Он пришёл в компанию из университета два года назад, успел доказать себя несколько раз и заслужил то доверие, которое не покупается должностью.
— Заходи.
Операционный сел, но не предложил сесть сразу.
— Ты смотрел последние данные?
— Да.
— И?
Аналитик не начал говорить сразу. Поставил ноутбук, открыл графики.
— Просадка не по одному направлению.
— Это я уже слышал.
Голос операционного был не резким — усталым.
Аналитик кивнул.
— Да. Но я пересчитал ещё раз. Если фиксируем главный фактор — допустим, загрузку восточного хаба — картина выравнивается. Но через две недели просадка появляется в южном сегменте. И так по кругу.
Операционный медленно провёл ладонью по лицу.
— Ты хочешь сказать, что у нас нет причины?
Аналитик чуть помедлил.
— Есть. Но она меняется.
В этот момент в кабинет вошёл финансовый директор — без стука, что было редкостью.
— У нас минус семь миллионов по месяцу.
Он положил папку на стол, посмотрел на операционного, потом на аналитика.
— Что происходит?
Операционный не ответил сразу.
— Мы ищем.
Финансовый прищурился.
— Уже третий месяц ищем.
Аналитик спокойно сказал:
— Мы не видим одной точки отказа. Это не сбой. Это совокупность мелких отклонений.
Финансовый вздохнул.
— Мелкие отклонения не дают минус семь миллионов.
Операционный повернулся к аналитику.
— Тебе доверяют. Я доверяю. Но мне сегодня пришло письмо.
Аналитик поднял взгляд.
— От кого?
— От него.
Больше уточнений не требовалось.
Финансовый чуть изменился в лице.
— Лично?
Операционный кивнул.
— Банки начали задавать вопросы.
Тишина.
Аналитик опустил взгляд на графики.
— Я могу пересчитать ещё раз.
Операционный покачал головой.
— Не «ещё раз». Мне нужен ответ. Не формула. Ответ.
Аналитик на секунду закрыл ноутбук.
— Я не могу назвать один фактор.
Финансовый посмотрел на операционного.
— Если он не может — значит, проблема не в нём.
Операционный не обернулся.
— Проблема в том, что времени нет.
Аналитик глубоко вдохнул.
— Есть одна система.
Операционный повернулся.
— Какая?
Аналитик говорил осторожно.
— Они не выбирают главный фактор заранее. Пересчитывают всё целиком. Узлы, связи, вторичные влияния.
Финансовый хмыкнул.
— Внешние?
— Да.
Операционный смотрел на него долго.
— Ты уверен?
Аналитик ответил тихо:
— Нет.
Короткая пауза.
— Но я не уверен и в нашей модели.
Финансовый опустил взгляд на папку.
— Сколько стоит эксперимент?
Аналитик пожал плечами.
— Меньше, чем ещё один месяц просадки.
Операционный вернулся к столу.
— Свяжись с ними.
Он сказал это без раздражения. Просто как человек, который понимает, что лавина уже тронулась.
Глава 4. Первая встреча
Переговорная была меньше, чем у фонда. Без стеклянных стен, с потёртым столом и экраном, на котором уже висели графики просадки.
Операционный вошёл первым. Не улыбался. Финансовый сел сбоку, не снимая пиджака. Аналитик открыл ноутбук раньше всех.
Троица вошла чуть позже. Архитектор сразу посмотрел на экран.
— Это последние данные?
— Вчерашние, — коротко ответил операционный. — Сегодня ещё хуже.
Физик кивнул.
— Нам нужны все потоки. Не агрегированные.
Финансовый прищурился.
— Это вы ещё ничего не посчитали, а уже просите полный доступ?
Графист спокойно сказал:
— Без полного графа зависимостей расчёт будет неполным.
Операционный раздражённо выдохнул.
— Нам не нужна философия. Нам нужно понять, где течёт.
Архитектор не поднял голоса:
— Течёт не в одном месте.
— Тогда где?
— В конфигурации.
Финансовый посмотрел на операционного, потом обратно.
— Простите, но мы теряем миллионы. «Конфигурация» — это не ответ.
Физик вмешался, подавшись вперёд:
— Сейчас вы каждый раз назначаете главный фактор. То загрузку хаба, то тариф, то погоду. И каждый раз через две недели проблема появляется в другом месте.
Аналитик поднял глаза:
— Да.
Финансовый посмотрел на него:
— Ты им уже рассказывал?
Аналитик кивнул.
— Я говорил, что причина меняется.
Операционный повернулся к троице:
— И вы утверждаете, что она не меняется?
Графист покачал головой.
— Она меняется только в линейной модели. В сети она смещается по рёбрам. Не новая причина — перераспределение нагрузки.
Финансовый постучал пальцами по столу.
— Переведите.
Физик:
— Один узел перегружен не потому, что он главный. А потому что в текущей конфигурации именно он становится точкой накопления. Если изменить структуру, перегрузка уйдёт.
Операционный сжал губы.
— Вы хотите сказать, что мы сами создаём лавину?
Архитектор:
— Вы не видите всей сети.
Тишина стала плотной.
Финансовый спросил прямо:
— Сколько это стоит?
Физик не ушёл от ответа:
— Если арендуем мощности для расчёта — несколько миллионов.
Операционный резко поднял взгляд:
— Миллионов?
— Да.
— И вы не даёте гарантий?
— Нет, — сказал Архитектор.
Финансовый откинулся:
— Тогда зачем нам это?
Графист посмотрел на него спокойно:
— Потому что ваша текущая модель уже не работает.
Операционный резко:
— Это мы и так знаем!
Физик выдержал паузу:
— Тогда вопрос не в том, работает ли она. Вопрос — готовы ли вы проверить другую.
Финансовый смотрел на троицу с явным недоверием:
— Вы выглядите как люди, которые строят мир. Нам нужно починить склад.
Архитектор не улыбнулся:
— Склад — следствие.
— Нам не нужно следствие!
— Тогда вы будете чинить каждую неделю новое место.
Тишина.
Аналитик тихо:
— Я хочу, чтобы они попробовали.
Операционный посмотрел на него:
— Ты уверен?
— Нет.
И добавил, чуть твёрже:
— Но я уверен, что мы зашли в тупик.
Финансовый перевёл взгляд на операционного:
— Если мы потратим эти деньги и ничего не изменится…
Операционный закрыл глаза на секунду.
— Если мы ничего не сделаем, через три месяца будем обсуждать не просадку, а кредитную линию.
Физик:
— Мы покажем структуру. Если совпадёт с вашими данными — продолжаете. Если нет — останавливаетесь.
Финансовый:
— И вы согласны взять на себя риск первого расчёта?
Архитектор прямо:
— Нет.
Физик:
— Мы согласны разделить его.
Операционный долго смотрел на них.
— Сколько времени?
Графист:
— Сутки на первичный расчёт. Несколько часов на проверку узла.
Финансовый посмотрел на часы.
— Начинайте.
Глава 5. Расчёт
Доступ к данным открыли тем же вечером.
Аналитик остался в переговорной с Физиком. Графист занял соседний кабинет. Архитектор работал молча, почти не поднимая головы.
Операционный заходил каждые полчаса. Ничего не спрашивал. Просто смотрел на экран.
Финансовый не заходил. Ждал отчёт.
К полуночи арендованные мощности включили на максимум.
Данные шли слоями. Хабы. Перевозчики. Погодные отклонения. Возвраты. Договорные штрафы. Очереди на складах.
— Если зафиксировать восток, юг уходит в перегруз, — пробормотал аналитик.
— Не фиксируй, — сказал Архитектор.
Час ночи. На экране начала вырисовываться карта связей. Не один узел. Не два. Сдвигающийся центр нагрузки.
— Смотрите, — сказал Графист.
Операционный подошёл ближе.
— Это что?
— Это не главный хаб, — ответил Физик. — Это пересечение договорных сроков и пропускной способности третьего уровня.
Финансовый вошёл тихо.
— Переведите.
Графист указал на узел.
— Вот здесь вы ускорили обработку, чтобы разгрузить восток. Но это увеличило возвраты по югу. Возвраты усилили нагрузку на склад третьего уровня. Он начал задерживать пересортировку. Это сдвинуло сроки по северу. Цикл замкнулся.
Операционный смотрел на экран, не моргая.
— Мы это сами сделали?
Архитектор спокойно:
— Вы оптимизировали локально.
Тишина.
Аналитик уже открывал исторические данные.
Через сорок минут — совпадение. Тот самый узел начал перегружаться за две недели до первой заметной просадки.
Операционный сел.
— Почему мы этого не видели?
Физик:
— Потому что вы искали главную причину.
Графист:
— А это — конфигурация.
Тишина была уже не нервной. Тяжёлой.
— Если сейчас перераспределим поток? — спросил финансовый.
— Лавина замедлится, — сказал Архитектор.
— Гарантия?
— Нет.
Операционный встал.
— Делайте.
Глава 6. Неделя
Решения приняли к утру. Перераспределить поток по третьему уровню. Замедлить ускоренный участок. Вернуть часть объёма на старую схему с изменёнными сроками пересортировки. Временно увеличить лимит одного склада — в ущерб марже.
Троица уехала к обеду. Не праздновали. Не обещали.
— Свяжемся через сутки, — сказал Физик.
В первый день ничего не изменилось. Просадка продолжилась.
Операционный дважды зашёл в серверную — просто постоять рядом с экранами. Аналитик сидел в наушниках, хотя ничего не слушал.
К вечеру пришло письмо от акционера. Не жёсткое. Просто: «Я встречаюсь с банками завтра. Скажи, что им говорить».
Операционный ответил: «Мы внедрили изменения. Нужна неделя».
Акционер перезвонил через час.
— Ты уверен?
— Нет.
Пауза на другом конце.
— Я скажу, что у нас есть план.
— Скажи, что у нас есть динамика.
— Она есть?
— Пока нет.
Акционер помолчал.
— Я их удержу. Неделю. Не больше.
На второй день падение замедлилось. Не остановилось — замедлилось. Аналитик пришёл раньше обычного.
— Восток стабилизируется.
— Юг? — спросил финансовый.
— Пока без роста.
На третий день впервые не пришло письмо о дополнительной задержке по северу. Заметили не сразу — только к вечеру.
— Странно, — сказал аналитик.
— Или закономерно, — ответил финансовый.
Четвёртый день. Минус сократился. Не сильно, но меньше, чем неделю назад. Банки не писали. Акционер молчал.
Операционный всё ещё не улыбался. «Рано», — говорил каждый раз.
Пятый день. Просадка перестала расти.
Шестой. Впервые отчёт показал не ухудшение, а выравнивание. Аналитик пересчитал трижды.
Финансовый сел рядом.
— Совпадает?
— Да.
Седьмой день. Минус был меньше, чем в начале недели. Не прибыль. Не победа. Но тренд сменился.
Операционный вызвал троицу. Они вошли в ту же переговорную.
Операционный положил распечатку.
— Минус сократился.
Физик кивнул.
— Мы видим.
Графист:
— Узел разгрузился.
Архитектор ничего не добавил.
Операционный откинулся на спинку.
— Знаете, — сказал он, — мы бы, наверное, справились и сами.
Тишина не стала напряжённой.
— Нужно было просто вернуть часть потока и не перегружать третий уровень.
Финансовый посмотрел на него, но не вмешался.
Физик спокойно:
— Да.
— И не ускорять там, где не нужно.
Графист:
— Именно.
Архитектор сказал тихо:
— Вы теперь видите конфигурацию.
— Мы видим эффект.
Короткая пауза.
— Но всё равно, — добавил операционный, — без вас мы бы тоже дошли.
Физик слегка улыбнулся:
— Возможно.
Никто не спорил.
Аналитик сидел молча, глядя на график, который впервые за месяц не падал.
Глава 7. Закрепление
Через две недели после стабилизации финансовый вызвал аналитика к себе. Не в переговорную — к себе, в маленький кабинет с видом на парковку, где никто не мог услышать.
— Садись.
Аналитик сел. Ноутбук не открывал.
Финансовый долго крутил ручку между пальцами, будто разминал мысль.
— Тренд держится?
— Держится. Третью неделю.
— Это случайность?
Аналитик помедлил — не потому что не знал ответ, а потому что знал, как звучит этот ответ.
— Нет.
Финансовый бросил ручку на стол.
— Тогда объясни мне одну вещь. Я видел их расчёты. Я видел, как они разложили нашу сеть. Я не понял ни одну формулу, но я вижу цифры. Цифры совпадают. Меня другое тревожит.
— Что?
— Они ничего не продали. Они пришли без контракта, без презентации, без предложения. Три человека с арендованным кластером. Это не бизнес. Это лаборатория.
Аналитик кивнул.
— Именно.
— И ты хочешь, чтобы мы привязали нашу логистику к лаборатории?
— Я хочу, чтобы мы привязали нашу логистику к тому, что работает.
Финансовый встал и подошёл к окну. На парковке кто-то маневрировал слишком близко к чужому бамперу.
— Мне нужен контракт, — сказал он, не оборачиваясь. — Мне нужны обязательства. Я не могу положить в отчёт для акционера «учёные помогли, потому что им было интересно».
— Они тоже хотят контракт, — сказал аналитик. — Им нужны мощности. Постоянные, не арендованные. И деньги на инфраструктуру.
Финансовый обернулся.
— Сколько?
Аналитик назвал цифру.
Финансовый не вздрогнул, но его взгляд стал другим — не испуганным, а считающим.
— За что конкретно?
— За то, что они будут пересчитывать нашу сеть не разово, а постоянно. Каждый день. С учётом всех переменных, которые мы не видим.
— Мы будем зависеть от них.
Аналитик ответил не сразу.
— Мы уже зависим. Просто пока бесплатно.
Финансовый сел обратно. Тишина была короткой.
— Хорошо. Подготовь структуру. Я пойду к операционному.
* * *
Операционный выслушал молча. Сидел, опершись на подлокотник, и смотрел не на финансового, а куда-то мимо — в точку на стене, где висела старая карта маршрутов, уже несколько раз перерисованная.
— Контракт, — повторил он. — С лабораторией.
— С проектом, — поправил финансовый. — Они называют себя «Спектр».
— Кто?
— Те трое. Они оформляют юрлицо. Собственно, именно поэтому разговор сейчас: они хотят, чтобы мы были первым клиентом.
Операционный повернулся к нему.
— Первым клиентом компании, у которой нет офиса?
— У них есть арендованный кластер и модель, которая за неделю нашла то, что наш аналитический отдел искал три месяца.
Операционный встал, подошёл к карте. Провёл пальцем по маршруту, который месяц назад был красным, а теперь стал жёлтым.
— Они не дали гарантий.
— Они дали результат.
— Результат — не гарантия.
— А что гарантия?
Операционный обернулся, и в его взгляде была не злость, а усталость, которая копилась слишком долго.
— Ничего, — сказал он. — Ничего не гарантия. Подписывай.
Глава 8. Фонд
Физик позвонил первому партнёру фонда в четверг. Время выбрал не случайно: четверг — день, когда люди ещё способны принимать решения, но уже достаточно устали, чтобы не спорить по мелочам.
— У нас есть результат, — сказал он.
— «Результат» — это не слово для инвестора, — ответил первый партнёр. Голос был тот же: ровный, скептический, с лёгким привкусом человека, который закрывал слишком много проектов. — Результат — это когда я вижу контракт и деньги на счету.
— Контракт подписан.
Пауза на той стороне была чуть длиннее, чем вежливая.
— С кем?
Физик назвал компанию.
— Логистика? — партнёр не скрывал удивления. — Вы же занимались моделированием.
— Мы занимаемся моделированием. Логистика — первая область применения.
— Сколько?
Физик назвал сумму контракта. Она была скромной. Но она была реальной.
— Встретимся, — сказал партнёр.
* * *
В офисе фонда ничего не изменилось: те же стеклянные перегородки, тот же кофе, который никто не пил, те же стулья, на которых неудобно сидеть больше часа. Архитектор принёс ноутбук. Графист — распечатки с визуализацией сети. Физик — контракт.
Первый партнёр сидел, скрестив руки. Второй — чуть в стороне, с блокнотом, в который записывал не слова, а, судя по движению ручки, какие-то свои пометки.
— Расскажите, — сказал первый.
Физик начал.
— Логистическая компания, крупная, международная сеть. Три месяца — нарастающие потери. Их аналитический отдел не мог найти единую причину, потому что причины не было. Была конфигурация.
— Конфигурация, — повторил первый партнёр, и в слове было столько же скепсиса, сколько и в первую встречу.
— Их модель назначала главный фактор, — вмешался Архитектор, не дожидаясь, пока скепсис оформится в вопрос. — Каждый раз — другой. Они оптимизировали локально, и каждая оптимизация создавала новый дисбаланс в другом месте.
— Мы развернули полный граф их сети, — продолжил Графист. Он положил на стол распечатку: сотни узлов, линии разной толщины, несколько красных пятен. — Вот здесь — узел третьего уровня. Не главный хаб. Промежуточный. Но в текущей конфигурации именно через него проходила цепочка возвратов, которая усиливала все остальные задержки.
Второй партнёр поднял голову от блокнота.
— И вы это нашли за сутки?
— За ночь, — ответил Физик.
— А их аналитик — за три месяца не нашёл?
— Их аналитик искал главную причину, — сказал Архитектор. — Главной причины не было. Была совокупность малых смещений, которые в определённой конфигурации становились критическими.
Первый партнёр наклонился вперёд.
— Допустим. Что дальше?
— Мы скорректировали потоки. Замедлили один участок, перераспределили нагрузку. Эффект нарастал в течение недели. Потери сократились.
— На сколько?
— За первый месяц — на двадцать три процента.
Первый партнёр не выразил восторга. Он выразил внимание — что было значительно ценнее.
— И теперь у вас контракт.
— Да.
— На постоянное обслуживание?
— На постоянный пересчёт сети. Каждый день. С учётом всех переменных.
— Всех — это сколько?
Архитектор посмотрел на него прямо:
— Всех, которые доступны.
Второй партнёр отложил блокнот.
— Вопрос, — сказал он. Голос был мягче, чем у первого, но глаза — жёстче. — Вы пришли к нам с идеей. Мы дали вам условие: найдите реальный кризис. Вы нашли. Вы его решили. Теперь вы хотите деньги. Вопрос: зачем вам деньги, если у вас есть клиент?
Физик улыбнулся — не обаятельно, а коротко, как человек, который ждал именно этого вопроса.
— Потому что один клиент — это доказательство. А для инфраструктуры нужны мощности, которые один клиент не покроет.
— Вы хотите масштабироваться, — сказал первый партнёр.
— Мы хотим построить кластер, — ответил Архитектор. — Свой. Не арендованный. Достаточный для одновременного расчёта нескольких систем.
Первый партнёр откинулся назад.
— Сколько?
Архитектор назвал цифру. Она была больше, чем в первый раз, но не запредельная.
— За это вы получаете, — продолжил Физик, — компанию, которая уже доказала, что может находить конфигурационные ошибки в сложных сетях. С контрактом. С результатом. И с моделью, которую никто больше не делает.
— «Никто больше не делает» — это не аргумент, — сказал первый партнёр. — Это обычно означает, что никому не нужно.
Графист, который молчал всё это время, спокойно сказал:
— Или что никто не додумался.
Первый партнёр посмотрел на него — без раздражения, но с тем оценивающим прищуром, с которым смотрят на людей, понимая, что они не шутят.
— Я закрывал двенадцать проектов за последние три года, — сказал он. — Восемь из них говорили «никто не додумался».
— А четыре? — спросил Физик.
Первый партнёр не ответил сразу.
Второй партнёр негромко сказал:
— Четыре окупились.
Тишина в комнате стала другой. Не спорящей. Решающей.
Первый партнёр посмотрел на второго. Между ними прошло что-то быстрое и молчаливое — из тех невербальных разговоров, которые возможны только у людей, принимавших решения вместе много раз.
— Мне нужно видеть данные логистики, — сказал первый. — Не ваш красивый граф. Их цифры. До и после.
— Они согласятся показать, — сказал Физик.
— Это не вопрос.
— Я знаю.
Первый партнёр встал. Это обычно означало конец встречи. Но он не пошёл к двери.
— Если цифры подтвердятся, — сказал он, стоя у окна, — мы входим. Не потому что верим в вашу модель. А потому что верим в ошибку.
— В чью ошибку? — спросил Архитектор.
— В ошибку всех остальных, — ответил партнёр. — Которые до сих пор назначают главные переменные.
Он повернулся.
— Вы назвали себя «Спектр»?
— Да, — сказал Архитектор.
— Почему?
Графист ответил раньше, чем успели остальные:
— Потому что мы не отбрасываем ни одной переменной.
Партнёр кивнул. Будто отложил название в тот отдел памяти, где хранятся вещи, которые ещё не стали важными, но могут.
Глава 9. Узлы
Деньги пришли через три недели. Не сразу — сначала были проверки, звонки юристов, один визит в логистическую компанию, где первый партнёр два часа сидел рядом с аналитиком и смотрел на графики, задавая вопросы, на которые не всегда были ответы. Но деньги пришли.
Первый сервер купили в пятницу. Архитектор сам принимал доставку — стоял у подъезда нового офиса, который офисом назвать было трудно: бывший склад канцтоваров с высокими потолками, плохим отоплением и отличным электроснабжением. Последнее было единственным критерием, который имел значение.
— Охлаждение, — сказал Графист, осматривая помещение. — Нам нужно охлаждение. Серьёзное.
— Будет, — ответил Архитектор. — Сначала — стойки.
Физик в это время был на встрече с логистиками — не по текущему контракту, а по итогам квартала. Там он услышал то, что изменило следующий месяц.
Ершов, финансовый директор логистической компании, после встречи задержал его в коридоре.
— У меня есть знакомый. Грузоперевозки, южное направление. Теряет двадцать процентов. Не на маршрутах — на людях.
— На людях? — переспросил Физик.
— Кавказ, — сказал Ершов. — Там всё через связи. Родственники, кумовья, должники. Он не может тронуть одного, не задев пятерых. Стандартная оптимизация не работает — он пробовал.
Физик не стал спрашивать подробности. Сказал:
— Пусть позвонит.
Цепочка была короткой, но именно так начинались вещи, которые потом описывали как «стремительный рост».
Физик вернулся к вечеру.
— Ершов подкинул контакт, — сказал он, вешая куртку на спинку стула, которого у стула толком не было. — Южные перевозки. Потери — двадцать процентов. Но дело не в логистике.
— А в чём? — спросил Архитектор, не отрываясь от монитора.
— В людях. Родственные связи, обязательства, местная иерархия. Стандартная модель это не считает.
— Мы тоже не считаем, — сказал Архитектор.
— Пока не считаем, — поправил Физик.
Графист подошёл к доске, на которой уже были нарисованы узлы логистической сети, и рядом начал рисовать новую схему — другую, но с тем же принципом.
— Знаете, что меня удивляет, — сказал он, не оборачиваясь.
— Что? — спросил Физик.
— Что все они делают одну и ту же ошибку. Они все выбирают главный фактор. И все удивляются, что ошибка мигрирует.
— Потому что так учат, — сказал Архитектор. — Упростить. Выделить главное. Отбросить шум.
— А шум — не шум, — закончил Физик.
Графист поставил точку на доске — жирную, как будто закреплял мысль физически.
— Шум — это переменная, которая ещё не стала главной, — сказал он. — Но станет.
Архитектор помолчал. Потом сказал — тихо, как будто не спорил, а думал вслух:
— Самый ненадёжный базис — эмоции людей.
Никто не ответил. Не потому что не было что сказать — потому что он, возможно, был прав.
Они работали до полуночи. Не потому что горело — потому что было интересно. И это «интересно» было тем топливом, которое фонды не умеют считать, а учёные не умеют продавать. Но оно горело ровно, без вспышек, и этого было достаточно.
Глава 10. Сергей
Аналитик логистической компании переслал письмо в пятницу вечером. Не служебное — личное, с обычной почты. Тема: «Посмотри на досуге».
Внутри — два файла. Первый — визуализация сети, которую строил Спектр: узлы, рёбра, толщина линий, красные пятна. Второй — сравнение: прогноз собственной модели компании и прогноз Спектра за три месяца. Два графика. Один рваный, другой — почти гладкий.
Никаких пояснений. Только короткая строка:
«Они нашли за ночь то, что мы искали три месяца. Я до сих пор не уверен, что понимаю, как».
Сергей прочитал письмо в субботу утром, между завтраком и звонком жене. Открыл файлы на планшете, посмотрел тридцать секунд, закрыл. Потом открыл снова. Потом налил кофе и сел за компьютер.
Они знали друг друга давно — ещё с университета, с тех времён, когда оба думали, что аналитика — это романтика. Потом один ушёл в логистику, другой — в инфраструктуру. Сергей работал в компании «СевТранс» — крупной, полугосударственной, с длинной историей и тяжёлым балансом. Порты, рыболовство, перевозки сырья. Иногда — тендеры Минобороны на снабжение северных гарнизонов. Не главный бизнес, но и не побочный: достаточный, чтобы в коридорах компании иногда появлялись люди, которые не представлялись полностью.
Сергей ответил в воскресенье:
«Это совпадение».
Через два дня написал снова:
«Дай доступ к модели».
* * *
Доступ дали ограниченный — не к самой модели, а к интерфейсу: загружаешь данные, получаешь расчёт. Что внутри — не видно. Сергея это раздражало, но не остановило.
Он выбрал задачу, которая его давно беспокоила. Северный сегмент «СевТранса» — сеть рыболовных портов. Формально — гражданская отрасль. Фактически — стратегическая: часть флота обеспечивала поставки в удалённые военные гарнизоны, где других путей снабжения не было.
Проблема была знакомой: маршруты менялись каждый сезон, но сбои не зависели от сезона. Задержки возникали в местах, которые по всем моделям были стабильными. Каждый раз находили причину — и каждый раз через месяц появлялась новая.
Сергей загрузил данные за два года. Маршруты, загрузка портов, контракты, штатное расписание, погода, графики ремонтов.
Спектр обрабатывал массив дольше, чем ожидалось.
Потом запросил дополнительные данные.
Запрос выглядел странно: частота ротации капитанов на трёх ключевых судах, даты переназначения портовых диспетчеров и — самое неожиданное — график отпусков бригадиров разгрузки в двух малых портах.
Сергей хмыкнул. Но загрузил.
Результат пришёл через час.
Проблема была не в маршрутах и не в погоде. Проблема была в том, что на трёх направлениях за полтора года трижды менялись ключевые люди: капитан, диспетчер, бригадир. Не одновременно — со сдвигом в несколько недель. Каждая замена была штатной, плановой, обоснованной. Но совокупность замен создавала окно, в которое проваливался ритм. Новые люди не знали неформальных договорённостей старых. Неформальные договорённости ломались. Расписание формально держалось, а фактически — плыло.
Спектр рекомендовал: не менять капитана и диспетчера одновременно. Развести ротацию по времени. Сохранить хотя бы одного «старого» в каждой цепочке на период адаптации нового.
Это было настолько просто, что Сергей сначала не поверил.
Он проверил на исторических данных. Все три пика сбоев за два года совпадали с тройной ротацией в тех же узлах.
Сергей откинулся в кресле и несколько секунд смотрел в потолок.
— …твою мать, — сказал он тихо.
Потом сел ровнее и сказал уже другим тоном, будто объясняя самому себе:
— Это не анализ. Это рентген.
Раздосадованность была не на них — на себя. Два года он смотрел на эти данные. Ротация капитанов, отпуска бригадиров — это была «кадровая текучка», строка в HR-отчёте, мимо которой глаз скользил, не цепляясь. Ему и в голову не приходило, что расписание отпусков разгрузочной бригады в порту Индига может быть причиной срыва поставок за полторы тысячи километров.
* * *
Через неделю он применил рекомендацию. Развёл ротацию. Ничего не объяснял руководству — просто скорректировал план кадровых перемещений, что входило в его полномочия.
Эффект был не мгновенным. Но через три недели северный сегмент перестал генерировать аварийные уведомления.
Никто не заметил.
Это было, пожалуй, самым показательным: когда система перестаёт ломаться, никто не спрашивает почему. Спрашивают только когда ломается.
Сергей написал аналитику:
«Работает. Не понимаю почему, но работает. Расскажи подробнее про этих твоих».
Глава 11. Человек без должности
На ежеквартальном совещании по северным поставкам «СевТранса» всегда было одно лишнее кресло. Не пустое — занятое. Человек, который его занимал, никогда не выступал первым. Он не задавал вопросов до тех пор, пока кто-нибудь не сказал что-нибудь интересное. И «интересное» для него, судя по всему, значило не то же самое, что для остальных.
Его звали по имени-отчеству, но должность, если кто-то спрашивал, звучала размыто: «координатор по линии взаимодействия». С кем взаимодействия — не уточнялось. Визитка у него была, но он её не давал. Костюм был не дорогой и не дешёвый — из тех, которые выбирают, чтобы не запоминались.
Сергей знал его третий год. Не близко — на уровне кивка при встрече и рукопожатия, которое всегда было одинаковым: короткое, сухое, без лишнего давления. Он появлялся на совещаниях, иногда задавал один вопрос, иногда — ни одного. Уходил раньше всех или позже всех, никогда одновременно с кем-то.
Сергей никогда не думал о нём специально. Он просто был — как пожарный датчик на потолке: не мешает, не помогает, но снять его нельзя.
На этом совещании Сергей представил отчёт по северному сегменту. Цифры были хорошими. Сбои сократились. Маршруты стабилизировались.
— За счёт чего? — спросил руководитель департамента, листая слайды.
— Кадровая оптимизация, — ответил Сергей. — Развели ротацию ключевых специалистов по времени.
— Это помогло?
— Три недели без аварийных уведомлений.
Руководитель кивнул — удовлетворённо, но без энтузиазма. Хорошие новости он принимал так же, как плохие: молча, с пометкой в блокноте.
Человек без должности не задал ни одного вопроса. Но когда совещание закончилось и все потянулись к двери, он остался сидеть. И когда Сергей проходил мимо, негромко сказал:
— Задержитесь на минуту.
Сергей задержался.
— Кадровая оптимизация — ваша формулировка?
— Да.
— А методика?
Сергей помедлил. Не потому что боялся — потому что не знал, как объяснить то, что сам не до конца понимал.
— Внешний расчёт, — сказал он. — Мы протестировали новую модель аналитики. Она учитывает больше переменных, чем наша стандартная.
— Какую модель?
— Это частная разработка. Называется «Спектр».
Человек без должности не записал название. Даже не кивнул. Просто посмотрел на Сергея — спокойно, как смотрят на документ, который нужно прочитать до конца, прежде чем делать выводы.
— Они считают за вас? — спросил он.
— Они дают расчёт. Решения — наши.
— Пока, — сказал человек и встал.
Сергей не понял, к чему относилось это «пока» — к решениям или к чему-то другому.
Человек без должности пожал ему руку — так же коротко, как всегда, — и вышел.
Через три дня Сергей получил официальный запрос. Не от него — от ведомства, название которого в запросе было сокращено до аббревиатуры. Формулировка была безупречно нейтральной:
«Просим предоставить описание методики, использованной при оптимизации кадровой ротации в северном сегменте, включая источники внешних аналитических данных».
Сергей переслал запрос Физику.
Ответ пришёл через час:
«Мы не предоставляем методику. Мы можем предоставить расчёт».
Сергей перечитал это дважды. Потом набрал ответ в ведомство — осторожный, выверенный, с приложением результатов, но без описания модели.
Он не знал, что именно в этот момент Спектр перестал быть экспериментом для троих учёных и стал чем-то, что имеет дело в папке.
Глава 12. Рыба и маршруты
Приглашение на закрытое совещание пришло через месяц. Тема — «Обеспечение устойчивости поставок в северные гарнизоны». Место — профильное ведомство, этаж без указателей, комната с длинным столом и портретом на стене, который смотрел на всех одинаково строго.
Сергей приехал за двадцать минут. Привычка: в места, где решения принимаются без повторных приглашений, лучше не опаздывать.
В комнате уже сидели четверо. Двое — знакомые лица из департамента снабжения. Один — офицер в форме, молодой, с блокнотом. И четвёртый — человек без должности. Он сидел не во главе стола, а сбоку, чуть в тени, как будто занимал место, которое не было обозначено на схеме рассадки, но все знали, что оно его.
— Вопрос простой, — начал один из снабженцев. — Северные маршруты третий год нестабильны. Гарнизоны получают грузы с задержками. Зимой это критично.
Офицер кивнул, подтверждая.
— Нам нужна устойчивость, — продолжил снабженец. — Не идеальный график, а предсказуемость.
Сергей слушал. Он знал эту проблему — видел её изнутри. Маршруты формально были оптимизированы, но «оптимизированы» значило «посчитаны по тарифам и расстояниям». Никто не считал, что капитан судна, заходящего в порт Индига, знает диспетчера лично и может разгрузиться за четыре часа вместо восьми. И что когда капитана меняют — этот фокус перестаёт работать, и следующие три рейса выбиваются из графика.
— У нас есть данные за два года, — сказал Сергей. — И у нас есть результат корректировки, которую мы провели в прошлом квартале.
— Какой корректировки? — спросил офицер.
— Мы развели ротацию ключевого персонала по времени. Перестали менять капитана и диспетчера одновременно.
Снабженец нахмурился.
— И это помогло?
— Три недели без аварийных уведомлений. Потом — снижение задержек на четырнадцать процентов.
— За счёт того, что вы не меняете людей?
— За счёт того, что мы не меняем всех сразу.
Офицер поднял голову от блокнота.
— Это вы как посчитали?
Сергей понимал, что этот вопрос — не праздный. В комнате, где один из присутствующих занимает кресло без таблички, «как посчитали» — это не про математику.
— Мы тестируем аналитическую модель, — сказал он. — Внешнюю. Она учитывает факторы, которые наша стандартная модель не включает.
— Какие факторы? — спросил человек без должности. Первый его вопрос за всё совещание.
— Кадровую динамику. Неформальные связи. Ротацию. Сезонность не в смысле погоды, а в смысле людей.
Тишина была короткой, но плотной.
— И кто разработал эту модель? — спросил человек без должности.
— Частная компания. «Спектр».
Офицер записал название.
Человек без должности — нет.
— Вы доверяете их расчётам? — спросил снабженец.
Сергей ответил честно:
— Я доверяю результату.
— Результат — это три недели, — сказал человек без должности. — Этого мало для вывода.
— Согласен, — ответил Сергей. — Но это больше, чем у нас было.
Человек без должности посмотрел на него так, как смотрел всегда — ровно, без оценки, без одобрения, будто считывал информацию, не добавляя к ней эмоций.
— Продолжайте работать, — сказал он. — Если результат подтвердится на более длинном периоде — мы вернёмся к этому разговору.
Сергей кивнул.
Совещание закончилось. Люди расходились быстро — как всегда в местах, где задерживаться не принято.
В коридоре Сергей достал телефон и написал Физику:
«Они заинтересовались. Пока — наблюдают. Но слово "Спектр" уже записано».
Физик ответил через минуту:
«В чей блокнот?»
Сергей подумал. Написал:
«В тот, который не показывают».
* * *
Через два месяца Сергей получил ещё одно приглашение. На этот раз тема была шире: «Координация аналитических подходов к обеспечению северного направления». Людей было больше, лица — незнакомые. Офицеров — трое.
Человек без должности снова сидел сбоку. Но на этот раз, когда Сергей вошёл, он коротко кивнул — не как знакомому, а как человеку, присутствие которого ожидалось.
Сергей представил данные за полгода. Графики. Сравнение. Показатели до корректировки и после. Линия была не идеальной, но стабильной — без резких провалов, без аварийных уведомлений.
— Методика прежняя? — спросил один из новых офицеров.
— Да. Внешний расчёт с расширенным учётом переменных.
— Можем получить описание модели?
Сергей уже знал ответ.
— Компания не предоставляет методику. Они предоставляют расчёт.
Офицер переглянулся с коллегой. Это было быстрое, почти незаметное движение — из тех, которые означают «потом обсудим».
Человек без должности поднялся. Не для того чтобы уйти — для того чтобы сказать.
— Расчёт нас устраивает, — произнёс он. — На данном этапе.
Это была первая фраза, в которой он использовал слово «нас». И Сергей впервые подумал, что «нас» — это не те, кто сидит за этим столом.
Дальше — Сергей выходит из повествования. Он сделал своё дело: стал мостом. А линия пошла туда, куда всегда уходят линии, начатые людьми без должности, — в пространство, где решения принимаются не на совещаниях, а между ними.
Глава 13. Регион
Ашот приехал без звонка. Точнее — позвонил из машины, когда уже стоял у ворот: «Я тут. Выйдет кто-нибудь?»
Физик вышел. У ворот бывшего склада стоял чёрный «Лексус», чистый до неприличия для ноябрьской Москвы. Из машины вылез невысокий плотный мужчина лет пятидесяти, в кожаной куртке, с телефоном в руке — из тех телефонов, которые звонят каждые три минуты и владелец каждый раз смотрит на экран, но не каждый раз берёт.
— Ашот Мкртчян, — представился он. — «ЮгТрансСервис». Грузоперевозки, юг. Мне Володя Ершов сказал — у вас считают хорошо.
Ершов был финансовым директором логистической компании — первого клиента Спектра.
— Проходите, — сказал Физик.
Он прошёл. Осмотрел бывший склад — бетонный пол, стеллажи, переделанные в рабочие места, серверный шкаф в углу — и не прокомментировал. Люди, которые начинали с одного «КамАЗа» в девяносто третьем, не оценивают по офису.
— У меня проблема, — сказал он, сев на предложенный стул. — Не новая. Двадцать лет как.
Физик слушал.
— Южное направление. Краснодар, Ростов, дальше — Дагестан, Чечня, Осетия. Грузы идут, деньги идут, но по дороге теряется. Не всё — процентов пятнадцать. Иногда двадцать.
— Воровство?
Ашот поморщился — не от слова, а от его простоты.
— Если бы воровство. Воровство — это понятно: нашёл, наказал, заменил. Тут другое. Тут — система. Двоюродный брат начальника склада работает у перевозчика. Перевозчик должен услугу человеку из администрации. Человек из администрации — кум кого-то из моих клиентов. Если я трогаю одного — я трогаю всех. Если не трогаю — теряю двадцать процентов.
Он достал телефон, посмотрел на экран, не ответил, убрал.
— Володя говорит, вы считаете всё. Не только маршруты — людей.
— Мы считаем переменные, — сказал Физик. — Люди — это тоже переменные.
Армянин посмотрел на Физика долго — недоверчиво и оценивающе, как смотрят на человека, которому собираются рассказать то, что обычно не рассказывают.
— Мне не надо пересажать. Половину пересадишь — вторая половина встанет. Мне надо, чтобы работало. Внутри этого бардака. Понимаешь?
— Понимаю, — сказал Физик. — Но мне нужны данные. Все данные. Не только накладные и маршруты — кто с кем работает, кто кого привёл, кто кому родственник, кто с кем в ссоре. Всё, что вы знаете.
— Это много.
— Именно.
Он усмехнулся.
— Я тебе за неделю такое расскажу — роман напишешь.
Ашот уехал. Физик пересказал разговор Архитектору и Графисту.
Архитектор молчал. Потом сказал:
— Нет.
— Почему? — спросил Графист.
— Потому что это не наша тема. Мы считаем маршруты, тоннаж, сроки. А он хочет, чтобы мы считали, кому на свадьбу ехать.
— Он хочет, чтобы мы посчитали систему, — сказал Физик. — Систему, которую никто не может формализовать. Родственные связи, обязательства, иерархия — это переменные. Такие же, как тоннаж.
— Это Кавказ, — сказал Архитектор. — Мы про это ничего не знаем.
— Нам и не надо знать, — сказал Графист. — Нам надо посчитать. Знает — он. Данные — его. Модель — наша.
Архитектор покачал головой.
— Мы влезаем в то, чего не понимаем. Одна ошибка — и у человека проблемы. Не финансовые — настоящие.
— Одна ошибка у него и так каждый день, — ответил Физик. — Двадцать процентов потерь — это не статистика. Это чья-то жизнь.
Тишина.
— Я против, — сказал Архитектор.
— Я за, — сказал Графист.
Физик посмотрел на обоих.
— Берём.
Архитектор не стал спорить. Не потому, что согласился, — потому, что понял: двое уже решили.
* * *
Ашот рассказывал три дня. Не роман — карту. Графист рисовал на доске: узлы, связи, линии влияния, долги, обиды, свадьбы, похороны. К концу третьего дня доска выглядела как схема метро города, которого нет на карте.
Архитектор загрузил всё в модель. Спектр считал двое суток — дольше обычного. Не потому, что данных было больше, а потому, что переменные были другого типа: не тонны и километры, а лояльность, обида, страх, уважение.
Результат уместился на двух страницах.
Ашот читал их в том же кресле, на том же складе, с тем же телефоном в руке. Только на этот раз телефон не звонил — или звонил, но он не смотрел.
— Начальника склада в Хасавюрте — не трогать, — прочитал он вслух. — У него свадьба дочери в марте. Поздравить лично. Подарок — через Расулова, не напрямую.
Он поднял глаза.
— Откуда вы знаете про Расулова?
— Вы сами рассказали, — сказал Графист.
Он вернулся к тексту.
— Водителя Гамзатова перевести на ростовское направление. Не увольнять — перевести. Его дядя — заместитель главы района. Увольнение — конфликт. Перевод — повышение.
Ашот листал дальше. Каждый пункт звучал не как приказ — как совет. Как будто кто-то, кто прожил в этих краях всю жизнь, сел и объяснил: вот тут — мягче, тут — жёстче, тут — подожди, тут — действуй.
— К Ибрагимову на похороны отца — поехать обязательно. Лично.
Он отложил листы.
— Я и так собирался.
— Модель этого не знала, — сказал Архитектор. — Она пришла к тому же выводу.
Тишина.
— Это всё — машина посчитала? — спросил Ашот.
— Да.
Он потёр подбородок. Посмотрел на доску, где ещё висела его карта — узлы, связи, долги.
— Ваша машина, — сказал он медленно, — думает как армянская бабушка.
Графист впервые за вечер улыбнулся.
* * *
Через три месяца потери на южном направлении «ЮгТрансСервиса» снизились с двадцати процентов до семи. Никого не уволили. Никого не посадили. Двоих — перевели. Одного — повысили. На двух свадьбах побывали. На одних похоронах.
Ашот заплатил не торгуясь — впервые в жизни, как он сам потом сказал. Но за постоянный контракт торговался отчаянно.
К этому моменту у Спектра было три клиента: логистика, южные перевозки и небольшая сеть складов, которая пришла по рекомендации финансового директора логистической компании. Офис по-прежнему располагался на бывшем складе. Сотрудников, не считая троицы, было четверо: два инженера, системный администратор и девушка, которая вела бухгалтерию и одновременно отвечала на звонки. Она называла Спектр «контора» и не видела в этом иронии.
Глава 14. Семинар
Семинар по прогнозированию в Высшей школе экономики был небольшим — человек сорок, две секции, кофе-брейк с бутербродами, которые съели за первые десять минут. Тема — «Модели принятия решений в условиях неполных данных».
Физик выступал во второй секции. Он не любил выступать, но понимал, что Спектру нужна репутация — не рекламная, а профессиональная. Чтобы люди, которым однажды понадобится расчёт, вспомнили не название, а мысль.
Он говорил пятнадцать минут. Без слайдов — только доска и маркер. Начал с простого: стандартная модель назначает главный фактор, отбрасывает шум, считает. Потом — вопрос: а что, если шум — не шум?
— Мы привыкли к тому, что модель упрощает, — сказал он. — Это считается нормальным. Более того — это считается необходимым. «Модель не может учитывать все переменные» — это произносится как аксиома.
Он сделал паузу и обвёл взглядом зал.
— Но это не аксиома. Это ограничение мощности. Вычислительной, не принципиальной.
В зале зашевелились. Кто-то с интересом, кто-то с раздражением — как бывает, когда трогают то, что люди привыкли считать фундаментом.
— Вы хотите сказать, что можно не упрощать? — спросила женщина из третьего ряда, с очками на цепочке и блокнотом, в который она записывала, кажется, не слова, а свои возражения.
— Я хочу сказать, что при достаточной вычислительной мощности можно пересчитывать полную конфигурацию, — ответил Физик. — Не выбирать главный фактор, а видеть все одновременно.
— Это теория, — сказала женщина.
— Это практика, — ответил Физик. — Мы это делаем.
— На каких задачах?
— Логистика. Операционные риски. Оптимизация сетей.
— Не на политических моделях, — уточнила женщина с лёгким превосходством.
Физик не стал спорить.
— Пока — нет, — сказал он.
Дискуссия продолжилась ещё десять минут. Вопросы были стандартными: «а как с переобучением», «а где граница учитываемого», «а чем это отличается от обычного мультифакторного анализа». Физик отвечал спокойно, без азарта, как человек, который знает, что убедить словами невозможно — можно только показать.
После секции зал начал расходиться. Физик стоял у доски, стирая свои записи — привычка, оставшаяся с университета: не оставлять мысли на чужих досках.
К нему подошёл человек, которого он не заметил во время выступления. Невысокий, в неброском пиджаке, с бейджем, на котором было написано имя и название института — одного из тех академических учреждений, которые через запятую добавляют «при Министерстве иностранных дел».
— Леонид Вишневский, — представился он. — Можно вопрос?
Физик кивнул.
— Вы сказали, что модель видит все переменные одновременно. Включая поведенческие?
— Включая любые, которые можно формализовать.
— А карьерную траекторию участника переговоров можно формализовать?
Физик посмотрел на него внимательнее. Вопрос был не академический. Так спрашивают люди, у которых конкретная задача, а не абстрактный интерес.
— Зависит от данных, — сказал он. — Если есть история публичных решений — да.
Леонид помедлил. Потом достал визитку — простую, без должности, только имя, почта и телефон. Из тех визиток, которые дают люди, ещё не решившие, кем хотят быть.
— Я иногда готовлю аналитические справки, — сказал он. — По запросу. Стандартная модель даёт коридор, а мне нужна точка.
— Напишите, — сказал Физик. — Посмотрим.
Они не пожали руки. Это был не тот разговор, который заканчивается рукопожатием. Это был разговор, который начинается письмом.
Глава 15. Леонид
Леонид Сергеевич Вишневский работал на границе между наукой и ведомством — в том неуютном пространстве, где от тебя ждут точных прогнозов, но не дают точных данных. Ему было тридцать четыре. Кандидатская по экономике международных отношений. Три года — академический институт. Два года — внештатный аналитик при департаменте МИДа. Должности как таковой не было: его приглашали, когда нужна была справка, и не приглашали, когда справка не требовалась.
Он привык к этому ритму. Привык к тому, что его работу читают, иногда цитируют, никогда не подписывают его именем. Привык к тому, что «хорошая справка» — это та, после которой переговоры прошли без сюрпризов.
Физик написал ему через три дня. Коротко: «Мы работаем с несколькими компаниями. Вот результаты. Посмотрите, если интересно». В приложении — два кейса: логистика и страховая. Без имён, без деталей — только структура задачи и результат.
Леонид открыл файлы вечером. Прочитал. Перечитал. Потом залез в методологическую часть и долго сидел, пытаясь понять, каким образом модель учитывает переменные, которые стандартная эконометрика считает статистическим шумом.
Он написал Физику на следующее утро:
«У меня сейчас на столе запрос. Торговые переговоры, две страны, четырнадцать позиций по тарифам. Стандартная модель даёт три сценария. Все три — в пределах десяти процентов друг от друга. То есть модель фактически говорит "не знаю, но вежливо"».
Физик ответил через час:
«Пришлите данные. Мы посчитаем».
Леонид отправил данные в тот же день. Не обезличенные — он понимал, что обезличенные бесполезны. Но и не секретные: торговые позиции по тарифам были публичными, состав делегаций — открытым, предварительные условия — известными обеим сторонам.
Расчёт Спектра пришёл через двое суток.
Он содержал не три сценария, а один. С пометкой: «Наиболее вероятный исход при текущей конфигурации переговорной позиции контрагента». И ниже — разбор: какие переменные определяют позицию другой стороны. Не тарифы. Не объём торговли. А внутренние выборы в стране-контрагенте через семь месяцев, долговая нагрузка на аграрный сектор и личная карьерная траектория главы делегации, который через год хотел занять позицию в международной организации и не мог позволить себе провал.
Леонид прочитал это дважды.
Потом — третий раз.
Потом позвонил Физику.
— Откуда вы знаете про карьерные планы главы делегации?
— Мы не знаем, — ответил Физик. — Модель строит профиль на основании его публичных решений за последние три года. Траектория указывает на подготовку к переходу. Это вероятность, не факт.
— Какая вероятность?
— Семьдесят один процент.
Леонид помолчал.
— Если я использую это в справке…
— Используйте. Только не ссылайтесь на нас.
— Почему?
— Потому что вам не поверят. Скажут — «откуда данные». А данные — публичные. Просто никто не складывал их вместе.
Леонид положил трубку, посидел минуту и начал писать справку. Не стандартную — с тремя сценариями «не знаю, но вежливо», а другую. С одним прогнозом и обоснованием.
Он не сослался на Спектр. Он написал: «На основании комплексного анализа открытых данных».
* * *
Переговоры прошли через две недели. Посол — опытный, немолодой, привыкший к тому, что аналитические справки дают коридор, а не точку, — прочитал справку Леонида утром перед первым раундом.
Справка предсказывала, что контрагент уступит по четырём из четырнадцати позиций в обмен на сохранение двух ключевых — тех, которые были чувствительны к внутреннему электоральному циклу.
К концу второго раунда контрагент уступил по трём позициям. К концу третьего — по четырём. Ровно по тем, которые были указаны в справке.
Посол не позвонил Леониду. Он позвонил в департамент.
— Кто готовил аналитику?
— Вишневский.
— Внештатный?
— Да.
Пауза.
— Сделайте штатным.
* * *
Леонид получил должность через месяц. Младший советник аналитического отдела, департамент международных экономических отношений. Кабинет — маленький, на четвёртом этаже, с видом на внутренний двор, где летом курили, а зимой никто не ходил. Зарплата — скромная. Доступ к данным — значительно шире.
Он продолжал отправлять запросы в Спектр. Не по каждому вопросу — только по тем, где стандартная модель давала размытый коридор. Постепенно таких запросов становилось больше. Не потому что модель МИДа стала хуже, а потому что Леонид привык к другому уровню точности.
Через полгода его справки стали узнаваемыми. Не по стилю — по результату. Переговорщики начали спрашивать: «Это Вишневский готовил?» — и если да, то читали внимательнее.
Никто не спрашивал, откуда берутся данные. В дипломатии источники не обсуждают. Справка либо работает, либо нет.
Справки Леонида работали.
* * *
В Спектре об этом знал только Физик. Он не рассказывал Архитектору и Графисту — не из скрытности, а потому что не считал это важным. Ещё один клиент, ещё один расчёт. То, что клиент сидит в здании на Смоленской площади, а не в офисе страховой компании, не меняло математику.
Он ошибался. Но это он поймёт позже.
Глава 16. Папка
Человек без должности не торопился. Он вообще никогда не торопился — это было профессиональное качество, а не черта характера. Торопятся те, кто боится опоздать. Он не боялся.
После совещания по северным поставкам он составил справку. Не длинную — на полторы страницы. Факты: компания «Спектр», частная, зарегистрирована недавно, три учредителя, профиль — математическое моделирование. Клиенты: логистическая компания, страховая, складская сеть. Результаты — положительные. Используется сотрудником «СевТранса» для оптимизации северного сегмента.
Справку он направил по внутреннему каналу. Не как сигнал — как информацию. В ведомстве различали эти вещи: сигнал требует реакции, информация — внимания. Это была информация.
Ответ пришёл через неделю. Тоже не срочный: «Принято. Наблюдение в рабочем режиме».
Рабочий режим означал: не трогать, не вмешиваться, фиксировать. Это устраивало всех.
Через три месяца он отправил вторую справку. Дополнение: «Спектр» расширяет клиентскую базу. Страховая компания перешла на постоянное обслуживание. Логистическая компания продлила контракт. Появились новые клиенты — мелкие, но факт роста зафиксирован.
Ответ: «Принято».
Через полгода — третья справка. И здесь он впервые позволил себе формулировку, которая выходила за рамки простой фиксации:
«Модель "Спектра" продемонстрировала эффективность в задачах, выходящих за пределы коммерческого сектора. Рекомендуется расширить наблюдение».
Он не знал, что именно заставило его написать эту фразу. Формально ничего не изменилось: Спектр по-прежнему работал с коммерческими клиентами. Но что-то в динамике роста — не в цифрах, а в характере клиентов — вызывало ощущение, которое он не мог сформулировать точнее, чем «рекомендуется расширить наблюдение».
Ответ на третью справку был другим.
Не «принято». А «доложите лично».
* * *
Кабинет, в который его пригласили, находился на этаже, где не было табличек на дверях. Не потому что секретно — потому что людям, которые сюда приходили, таблички были не нужны.
За столом сидел человек, которого он знал по фамилии и должности, но видел вживую второй раз. Немолодой, с лицом, которое не выражало ничего — не от бесстрастности, а от привычки. Так выглядят люди, которые тридцать лет читают то, что другие предпочли бы не знать.
— Садитесь, — сказал он. — «Спектр».
Это было не приветствие и не вопрос. Это было обозначение темы.
Человек без должности сел и коротко изложил то, что знал. Три учредителя: математик-архитектор, физик, специалист по топологии. Фонд — инвестор. Клиенты — коммерческие. Результаты — подтверждённые. Методика — закрытая.
— Закрытая, — повторил хозяин кабинета. — Они отказали в предоставлении?
— Они предоставляют расчёт, но не модель.
— Кому отказали?
— Нам. Через «СевТранс». Запрос был официальным.
Хозяин кабинета не выразил ни удивления, ни раздражения. Он выразил интерес — что было значительно хуже.
— Они работают с государственными структурами?
— С «СевТрансом» — полугосударственная. Больше нам неизвестно.
— А вам не кажется, что для компании такого размера у них слишком хорошие результаты?
Человек без должности ответил честно:
— Кажется.
— И что это может означать?
— Два варианта. Либо модель действительно работает так, как они говорят. Либо у них есть доступ к данным, которого у них быть не должно.
Хозяин кабинета откинулся назад.
— Проверьте второй вариант. Тихо.
— А первый?
Пауза была короткой.
— Если первый — тогда нам нужно понять это раньше, чем поймут другие.
Человек без должности кивнул и встал.
— Одна деталь, — добавил хозяин кабинета, когда тот уже был у двери. — Не мешайте им. Пока. И оставайтесь на теме, возьмите её в приоритет.
* * *
Проверка заняла два месяца. Тихая, как и просили: ни одного запроса, ни одного звонка, ни одного визита. Только анализ — открытых данных, финансовой отчётности, публикаций, патентных заявок, цифровых следов. Методы были стандартными, рутинными. Ничего из того, что показывают в фильмах.
Результат: утечки данных не обнаружено. Спектр работал на том, что клиенты давали добровольно. Модель — собственная разработка, основанная на нестандартном подходе к учёту переменных. Научная база — подтверждена публикациями учредителей в рецензируемых журналах. Финансирование — фонд, всё прозрачно.
Человек без должности написал заключение: «Угрозы безопасности не выявлено. Рекомендуется продолжить наблюдение. Потенциальный интерес — в случае подтверждения масштабируемости модели».
Заключение ушло наверх. Ответ пришёл через три дня:
«Продолжайте наблюдение. Расширьте периметр».
«Расширьте периметр» означало: смотрите не только на Спектр, но и на тех, кто с ним работает.
Именно тогда в периметр наблюдения попал Леонид Вишневский. Младший советник аналитического отдела МИДа, чьи справки за последний год стали подозрительно точными.
Глава 17. Совпадение
Обнаружили это не вручную. И в этом была своя ирония, которую оценят позже.
«Расширьте периметр» означало: подключить внутреннюю аналитическую модель ведомства — собственную, закрытую, разработанную пять лет назад для выявления скрытых связей в массивах данных. Модель не была похожа на Спектр — она была проще, грубее, заточена под конкретные задачи. Но она умела одно: находить корреляции там, где человеческий глаз видел только шум.
Аналитик, которому поручили работу, загрузил в модель всё, что было: открытые публикации Спектра, финансовую отчётность, данные клиентов, метаданные серверного трафика. И параллельно — массив, который обновлялся автоматически: результаты работы государственных аналитических служб по нескольким ведомствам. Не содержание — только метрики: точность прогнозов, процент совпадений, отклонения от стандартных моделей.
Модель считала трое суток. Потом выдала список из одиннадцати аномалий. Десять были статистическим мусором — ложные корреляции, случайные совпадения.
Одиннадцатая — нет.
Модель обнаружила, что точность аналитических справок одного сотрудника МИДа — младшего советника аналитического отдела — за последний год выросла на величину, которая не объяснялась ни сменой методики, ни доступом к новым источникам. При этом динамика роста точности совпадала по времени с периодами активного обмена данными между неустановленным абонентом в диапазоне МИДа и серверами Спектра.
Корреляция не доказывала причинность. Но аналитик знал, что корреляция 0.91 — это не совпадение.
Он проверил абонента. Вышел на Вишневского. Проверил Вишневского — осторожно, без контакта, только по открытым данным и внутренним базам. Восстановил картину: семинар, визитка, переписка, запросы к Спектру, справки для переговорных групп.
Справка легла на стол хозяину кабинета в тот же день.
Он прочитал её молча. Потом прочитал ещё раз. Потом снял очки — жест, который его подчинённые видели редко и интерпретировали однозначно: он думает.
— Нашла модель? — спросил он.
— Да.
Хозяин кабинета помолчал. В этом молчании было что-то, чего человек без должности раньше не замечал, — не раздражение, не удовлетворение, а нечто похожее на узнавание. Как будто ситуация, о которой он читал в справке, отражалась в ситуации, в которой он находился сам: его собственная модель нашла то, что его аналитик не нашёл бы.
— Кто в МИДе? — спросил он, убирая мысль обратно под привычное выражение лица.
— Вишневский. Младший советник аналитического отдела. Готовит справки для переговорных групп.
— Давно?
— Около года.
— И справки стали точнее.
Это не было вопросом.
— Значительно.
Хозяин кабинета надел очки обратно.
— Они не знают, что мы знаем?
— Нет оснований полагать, что знают.
— Хорошо.
Пауза.
— Вишневский использует Спектр для служебных задач?
— Похоже на то. Но данные, которые он отправляет, — открытые. Торговые позиции, составы делегаций. Ничего секретного.
— А результат?
— Результат он оформляет как собственный анализ.
Хозяин кабинета встал и подошёл к окну. За окном был двор, в котором ничего не происходило — как обычно.
— То есть МИД использует частную модель для подготовки к международным переговорам, — сказал он медленно, — и не знает об этом.
— МИД использует справки Вишневского. Вишневский использует Спектр. МИД как институция — не в курсе.
— А Спектр?
— Спектр знает, что у них есть клиент, который готовит аналитические справки. Вряд ли они знают, для кого именно.
Хозяин кабинета повернулся.
— Не трогайте Вишневского. Не трогайте Спектр. Но я хочу знать всё, что Спектр считает для МИДа. Всё.
— Это потребует…
— Я знаю, чего это потребует. Делайте.
* * *
Человек без должности вышел из кабинета с ощущением, которое испытывал нечасто. Не тревогой — он не из тревожных. Скорее — профессиональным уважением к ситуации, которая оказалась сложнее, чем он предполагал.
Три учёных с арендованным кластером. Год назад — никто. Сейчас — их расчёты лежат в основе дипломатических справок, их рекомендации работают в северных портах, их модель закрыта и не выдаётся по запросу.
И никто не планировал. Никто не внедрял. Никто не вербовал. Оно просто выросло — как плесень на хлебе, подумал он, и сам поморщился от сравнения.
Нет, не плесень. Скорее — как корневая система. Тихо, под землёй, в разные стороны. И когда дерево уже стоит, выдёргивать корни — значит выдёргивать почву.
Он достал телефон и набрал номер.
— Нам нужно поговорить, — сказал он. — Не по телефону.
На другом конце — короткая пауза.
— Когда?
— Завтра.
Человек, которому он звонил, работал в управлении, которое занималось координацией с Министерством обороны.
Глава 18. Записка
Разговор состоялся не в кабинете — в машине, на парковке у торгового центра. Не из конспирации — из удобства: оба ехали в одну сторону, и пятнадцать минут в пробке были проще, чем согласование встречи через секретариат.
— Есть компания, — начал человек без должности. — Частная. Математическое моделирование. Называется «Спектр».
Собеседник — плотный, коротко стриженный, в куртке, которая выглядела гражданской, но сидела по-военному — не перебивал. Слушал, как слушают люди, привыкшие к брифингам: молча, с паузой после каждого блока информации.
— Они работают с коммерческим сектором, — продолжил человек без должности. — Логистика, страхование. Но мы обнаружили, что их расчёты используются в МИДе. Через внештатного — теперь уже штатного — аналитика.
— МИД в курсе?
— Нет. Аналитик оформляет результаты как собственные.
— И они точные?
— Настолько, что его повысили.
Собеседник чуть повернул голову — единственный жест, который выдавал интерес.
— Что за модель?
— Полный расчёт переменных. Без отбрасывания. Они утверждают, что учитывают всё.
— Всё — это много.
— Именно.
Пробка двигалась медленно. За окном — серый город, серые машины, серые люди на остановке.
— Зачем ты мне это рассказываешь? — спросил собеседник.
Человек без должности ответил не сразу.
— Потому что если их модель работает так, как они говорят, — рано или поздно это дойдёт до вас. Не через нас — через кого-нибудь другого. Через тендеры, через снабжение, через кого-то из ваших аналитиков, который услышит и попробует. И когда это произойдёт, вы окажетесь в той же ситуации, что и МИД: зависимость от внешней модели, о которой руководство не знает.
— А ты хочешь, чтобы мы знали заранее.
— Я хочу, чтобы вы не удивлялись.
Собеседник помолчал. Машина продвинулась на два корпуса.
— Я передам, — сказал он. — Но ты понимаешь, что если это работает…
— Понимаю.
— …то остановить будет сложно.
— Я не говорю «остановить». Я говорю «знать».
Собеседник кивнул. Разговор был окончен. Не потому что всё сказано — потому что на данном этапе больше говорить было не о чем.
Через неделю в управлении координации с Министерством обороны появилась внутренняя записка. Без грифа, без рассылки — только для сведения. Тема: «Частная аналитическая модель "Спектр". Информация к оценке».
Записку прочитали трое. Двое отложили. Один — перечитал.
Через месяц этот человек позвонил аналитику при штабе Северного флота и спросил, слышал ли тот что-нибудь о компании, которая рассчитывает логистику северных поставок.
Аналитик ответил:
— Да. «СевТранс» с ними работает. У них неплохие результаты.
— Неплохие — это как?
— Три месяца без аварийных уведомлений по северному сегменту. Раньше — каждые две недели.
Пауза.
— Пришли мне контакт.
Глава 19. Коллеги
Вишневский продержался восемь месяцев.
Восемь месяцев он приходил на работу, открывал почту, получал запросы на аналитические справки и каждый раз проделывал одну и ту же процедуру: сначала считал на стандартной модели — чтобы был черновик, чтобы было что показать, если спросят, — а потом отправлял данные в Спектр и ждал. Иногда ответ приходил через час, иногда — через сутки. Он переписывал результат своими словами, убирал всё, что могло указать на внешний источник, и отправлял справку.
Это было утомительно. Не технически — морально. Он чувствовал себя переводчиком, который знает два языка, но может говорить только на одном.
Проблема началась не с подозрений, а с зависти. Точнее — с профессионального любопытства, которое в замкнутом коллективе быстро превращается в раздражение.
Марина Олеговна — старший советник того же отдела, женщина лет пятидесяти, с безупречным послужным списком и привычкой разговаривать так, будто проводит устный экзамен, — первой сформулировала вслух то, что остальные обсуждали в курилке.
— Леонид Сергеевич, — сказала она однажды утром, стоя у его стола с чашкой чая в руке, — у меня к вам профессиональный вопрос.
Вишневский поднял голову.
— Да?
— Я посмотрела вашу справку по юго-восточному направлению. Вы прогнозируете позицию контрагента с точностью до конкретных уступок. Мой прогноз по тому же направлению даёт коридор в пятнадцать процентов.
Она сделала паузу — не для эффекта, а чтобы он успел понять, что это не комплимент.
— Мы пользуемся одной и той же базой данных. У нас одинаковый доступ. Одна и та же модель. Вопрос: почему ваши справки точнее моих?
Вишневский выдержал её взгляд. Марина Олеговна не была враждебной — она была точной. И в этой точности было больше давления, чем в любом обвинении.
— Я учитываю дополнительные факторы, — сказал он.
— Какие?
— Поведенческие. Карьерные траектории участников. Внутриполитический контекст.
— Это все учитывают, — сказала она. — Вопрос — как вы это считаете. На нашей модели такой точности не получить. Я пробовала.
Вишневский промолчал.
Марина Олеговна поставила чашку на край его стола — аккуратно, точно на подставку, будто и этот жест был рассчитан.
— Я не требую ответа, — сказала она. — Но если у вас есть инструмент, которого нет у нас, — это вопрос не столько к вам, сколько ко всему отделу.
Она ушла. Чашку забрала.
* * *
Вишневский думал об этом разговоре три дня. Не потому что боялся — он не делал ничего запрещённого. Данные, которые он отправлял в Спектр, были открытыми. Результат он оформлял как собственный анализ. Формально — чисто.
Но «формально чисто» и «правильно» — не одно и то же. Он это понимал.
На четвёртый день к нему подошёл Дмитрий — ровесник, из соседнего сектора, с которым они иногда обедали вместе. Дмитрий занимался ближневосточным направлением и курил больше, чем следовало.
— Слушай, — сказал он, закрывая дверь кабинета, — Марина правду говорит? У тебя что-то есть?
— В смысле?
— В прямом. Ты считаешь не на нашей модели.
Вишневский посмотрел на него. Дмитрий не был ни интриганом, ни карьеристом. Он был уставшим аналитиком, который каждый раз, отправляя справку, знал, что его прогноз — не прогноз, а набор предположений, оформленный в казённые фразы.
— Да, — сказал Вишневский.
Он сказал это тихо, как говорят вещи, которые давно хотели сказать.
— Есть компания. Частная. Называется «Спектр». Они строят модель, которая учитывает всё — не выборку, а полный набор переменных. Я отправляю им данные, они дают расчёт.
Дмитрий сел.
— И это работает?
— Ты видел мои справки за последний год.
— Да. Поэтому и спрашиваю.
Тишина.
— Это законно? — спросил Дмитрий.
— Я не отправляю ничего закрытого. Только открытые данные.
— А результат?
— Результат — мой. Я его переписываю.
Дмитрий потёр лицо ладонями.
— Слушай, — сказал он. — У меня через две недели — справка по иранскому направлению. Четыре сценария, и все четыре — плюс-минус ерунда. Можешь дать мне контакт?
Вишневский помедлил.
— Я дам тебе доступ к интерфейсу, — сказал он. — Загружаешь данные, получаешь расчёт. Модель не видишь.
— Мне модель не нужна. Мне нужен результат.
Вишневский кивнул. И в этот момент он перестал быть единственным носителем тайны.
* * *
Дальше пошло быстрее, чем он ожидал.
Дмитрий получил расчёт по Ирану и переписал справку. Справка сработала: на переговорах контрагент повёл себя именно так, как прогнозировал Спектр. Дмитрий не рассказал начальству, но рассказал двум коллегам. Те попросили доступ.
Через месяц Спектром пользовались пятеро сотрудников аналитического отдела. Через два — восемь. Никто не оформлял это официально. Никто не писал служебных записок. Это было как с хорошим рестораном, о котором узнают по сарафанному радио: не рекламируется, но столики заняты.
Марина Олеговна — последней. Не из упрямства, а из принципа: она сначала изучила результаты коллег за три месяца, сверила с фактическими исходами переговоров и только после этого запросила доступ. Когда получила первый расчёт — по центральноазиатскому направлению, — она долго сидела перед экраном, потом позвонила Вишневскому.
— Леонид Сергеевич, — сказала она. — Вы должны были рассказать раньше.
— Я не был уверен, что…
— Вы были уверены, — перебила она. — Просто боялись, что заберут. Я понимаю. Но это не ваш инструмент. Это инструмент отдела.
Вишневский промолчал. Она была права.
* * *
Через полгода справки всего аналитического отдела стали другими. Не по форме — по содержанию. Вместо трёх сценариев с размытым коридором — один прогноз с обоснованием. Вместо «возможно, контрагент уступит» — «контрагент уступит по позициям три, семь и одиннадцать в обмен на сохранение позиции два».
Переговорщики заметили. Послы заметили. Руководство департамента заметило — но не спрашивало. В дипломатии источники не обсуждают. Если отдел стал работать лучше — значит, отдел стал работать лучше.
Никто не произносил слово «Спектр» в официальных документах. В коридорах — да. В курилке — да. На совещаниях — никогда. Это было молчаливое соглашение, которое никто не формулировал, но все соблюдали.
Глава 20. Расходы
Физик заметил рост трафика на третьей неделе. Не потому что следил — потому что счёт за электричество пришёл на треть больше обычного.
Он сидел в офисе — бывший склад уже оброс перегородками, но дух канцтоваров не выветрился до конца — и смотрел на логи. Запросы с одного IP-диапазона выросли с двух-трёх в неделю до четырёх-пяти в день. Объём данных утроился.
Он пришёл к Архитектору вечером, когда Графист уже уехал.
— У нас проблема, — сказал он, закрывая дверь.
Архитектор не поднял головы от монитора.
— Какая?
— Помнишь аналитика, который готовит справки? Тот, с семинара.
— Помню. МИД.
— Он больше не один.
Архитектор поднял голову.
— В смысле?
— Трафик с его диапазона вырос втрое за месяц. Разные пользовательские сессии. Разные типы запросов. Там уже не один человек.
— Он раздал доступ?
— Похоже.
Архитектор откинулся в кресле. На секунду его лицо стало таким, каким бывало, когда в модели обнаруживалась переменная, которую он не заложил.
— Сколько это стоит? — спросил он.
— Пока — терпимо. Но если продолжит расти такими темпами, через два месяца мы почувствуем. Кластер не резиновый. Каждый расчёт — это мощности, которые не идут на коммерческих клиентов.
— Они не платят.
— Нет. Вишневский — тот первый аналитик — обращался как частное лицо. Я не выставлял счёт. Это был один человек, одна задача.
Архитектор помолчал. Потом сказал:
— Покажи мне их запросы.
Физик открыл логи. Архитектор читал долго — не цифры, а типы задач. Торговые переговоры. Тарифные позиции. Кадровые конфигурации делегаций. Прогнозы поведения контрагентов.
— Это не логистика, — сказал он.
— Нет. Это дипломатия.
— И модель справляется?
— Справляется. Причём хорошо. Это новый класс задач, и она на нём учится.
Архитектор встал, подошёл к доске. Доска была исписана — формулы, схемы, стрелки. Он нашёл свободный угол и нарисовал круг.
— Каждый новый тип задачи, — сказал он, — расширяет модель. Не линейно. Мультипликативно. Логистика дала нам сети. Страхование — вероятности. Дипломатия даёт нам поведенческие конфигурации. Это то, чего у нас не было.
Физик понимал, к чему он ведёт. Но сказал:
— Это всё равно расходы.
— Это инвестиция, — ответил Архитектор. — Они платят данными. Пока данные ценнее электричества — мы продолжаем.
— А когда перестанут быть ценнее?
Архитектор повернулся.
— Тогда мы поставим вопрос. Но не сейчас. Сейчас они дают нам то, что мы не можем купить: реальные задачи из области, в которую нас никто бы не пустил за деньги.
Физик кивнул. Он был не согласен, но понимал логику. И понимал, что Архитектор прав — не с точки зрения бухгалтерии, а с точки зрения модели.
— Одно условие, — сказал Физик. — Если трафик вырастет ещё вдвое — я ставлю вопрос. Перед фондом, перед всеми. Мы не можем субсидировать государство из кармана инвестора.
Архитектор вернулся к монитору.
— Договорились, — сказал он. — Но я думаю, что к тому моменту они сами придут платить.
— Почему?
— Потому что привыкнут. А привычка — самый надёжный контракт.
Физик не нашёл, что возразить. Потому что это было именно то, что он наблюдал каждый день: люди привыкали к точности, как привыкают к горячей воде. Не замечаешь, пока есть. Замечаешь, когда пропадает.
Глава 21. Разговоры
Дипломаты — люди, которые разговаривают профессионально. Это их работа: находить слова для ситуаций, в которых слова обычно не помогают. Но после работы они разговаривают как все — с друзьями, с родственниками, с бывшими однокурсниками.
Первый разговор, который имел значение, случился на дне рождения. Полковник Генштаба, сорок пять лет, именинник, квартира на Фрунзенской, двенадцать гостей. Среди них — Дмитрий из МИДа, однокурсник жены полковника.
Разговор был нетрезвым, но не бессмысленным. Зашла речь о прогнозировании — в том бытовом ключе, в котором военные и дипломаты обсуждают работу за столом: без деталей, но с ощущением.
— У нас аналитика — это когда генерал читает справку и говорит «я так и думал», — сказал полковник, разливая коньяк. — Даже если думал ровно наоборот.
Дмитрий усмехнулся.
— У нас — то же самое. Только посол говорит «хорошая справка».
— И что, стало лучше?
Дмитрий помолчал. Коньяк был хороший, вечер — тёплый, и осторожность на секунду отступила.
— Стало, — сказал он. — Мы теперь считаем по-другому.
— Как — по-другому?
— Есть модель. Внешняя. Считает всё. Не приблизительно, а всё.
Полковник посмотрел на него — трезвее, чем предполагал коньяк.
— Всё — это как?
— Все переменные. Включая те, которые стандартная модель выбрасывает как шум.
— И работает?
— Последний год — ни одного промаха.
Полковник допил коньяк и поставил рюмку.
— Название есть?
— «Спектр».
Полковник не записал. Но запомнил.
* * *
Второй разговор произошёл при других обстоятельствах. Военный советник при посольстве в одной из африканских стран — немолодой, тихий, из тех офицеров, которые знают четыре языка, но предпочитают молчать на всех четырёх, — обедал с атташе в ресторане при отеле. Атташе был из мидовских, из нового набора, из тех, кто уже привык к точным справкам и не помнил, как было раньше.
— Мне нужен прогноз по выборам, — сказал советник. — Местным. Наши считают, что действующий президент останется. Но у меня ощущение, что нет.
— Ощущение — не аргумент, — сказал атташе.
— А у вас есть аргумент?
Атташе задумался. Потом достал телефон.
— Я могу попросить расчёт.
— У кого?
— Есть система. Мы ей пользуемся для торговых переговоров. Но она считает любые конфигурации.
— Система, — повторил советник. В его голосе не было скепсиса — только привычное недоверие человека, который двадцать лет работал в местах, где системы ломаются первыми.
— Загрузите данные, — сказал атташе. — Открытые. Результаты провинциальных выборов, кадровые назначения за последний год, динамику внешнего долга, контракты с внешними игроками. Чем больше, тем лучше.
Советник смотрел на него — не с недоверием уже, а с тем выражением, которое бывает у людей, когда им предлагают зонтик в пустыне: абсурдно, но а вдруг.
— Хорошо, — сказал он. — Попробуем.
Расчёт пришёл через четыре дня. Прогноз был неожиданным: действующий президент проиграет. Не оппозиции — собственному министру обороны, который выйдет третьим кандидатом за три недели до выборов. Причина: перераспределение контрактов на добычу ресурсов, которое лишало президента поддержки двух ключевых провинций.
Советник прочитал. Перечитал. Позвонил знакомому в местной разведке. Тот подтвердил: да, министр обороны в последние месяцы активизировался, но никто не воспринимает это серьёзно.
Через шесть недель министр обороны объявил о выдвижении. Через три месяца — выиграл выборы.
Советник не рассказал об этом начальству. Он рассказал двум коллегам из аппарата военного атташе. Те запомнили название.
* * *
Третий разговор не был запланирован.
Межведомственное совещание по координации аналитических служб — ежеквартальное, формальное, из тех, где повестка утверждена заранее и ничего нового не происходит. Перерыв. Двое у кофейного автомата в коридоре — подполковник из управления стратегического планирования и советник аппарата правительства из экономического блока. Знакомы шапочно, виделись на таких же совещаниях дважды.
— Ваши прогнозы по восточному направлению стали точнее, — сказал советник. Не как комплимент — как наблюдение.
— Ваши по макроэкономике — тоже, — ответил подполковник.
Пауза. Оба держали пластиковые стаканчики с одинаково плохим кофе.
— Внешняя модель? — спросил советник.
Подполковник не ответил. Потом — нехотя:
— А у вас?
Советник кивнул.
— «Спектр»? — спросил он.
Подполковник помолчал. Отпил кофе.
— Да.
Они вернулись в зал. Больше не обсуждали. Но оба теперь знали: их — двое. А значит — не двое.
* * *
Были и другие разговоры. Не все по одной схеме — но все с одним результатом.
Это не было проникновением. Это не было стратегией. У Спектра не было отдела продаж, не было презентаций для генералов, не было лоббистов в министерствах. Было другое: результат, который работал, и люди, которые об этом разговаривали.
К тому моменту, когда записка человека без должности дошла до управления координации с Минобороны, слово «Спектр» уже звучало в трёх кабинетах Генштаба. Не официально — между делом, в разговорах, которые не записывают.
Полковник с Фрунзенской уже дважды запрашивал расчёт — по учениям и по логистике переброски. Советник в Африке — трижды. Аналитик при штабе Северного флота — тот, которому позвонили из управления координации, — к моменту звонка уже знал о Спектре не из записки, а из собственного опыта: он попробовал месяц назад, после разговора с приятелем из «СевТранса».
Когда человек из управления координации спросил его: «Слышал что-нибудь о Спектре?» — аналитик ответил честно:
— Слышал. И попробовал.
— И?
— Работает.
Пауза на другом конце.
— Мне сказали — наблюдать. Но похоже, наблюдать уже поздно.
Аналитик не стал комментировать. Он понимал, что фраза относится не к нему.
* * *
В ведомстве человека без должности в это время произошло событие, которое никто не отметил, но которое имело значение. Внутренняя модель — та самая, которая нашла Вишневского, — зафиксировала рост трафика между серверами Спектра и IP-диапазоном МИДа. Не в семь раз, как было полгода назад. В двадцать три раза.
Аналитик составил справку. Положил на стол хозяину кабинета.
Хозяин кабинета прочитал. Снял очки. Надел обратно.
— Это уже не Вишневский, — сказал он.
— Нет. Это весь отдел. Возможно — шире.
— МИД знает?
— Руководство — вряд ли. Сотрудники — очевидно.
Хозяин кабинета встал. Подошёл к окну. Постоял.
— А Минобороны?
Аналитик помедлил.
— У нас есть косвенные данные. Несколько запросов к серверам Спектра с IP-адресов, ассоциированных с военными структурами. Объём пока небольшой.
— Пока.
— Да. Пока.
Хозяин кабинета повернулся.
— Мы их предупреждали.
— Да.
— И они всё равно.
— Они не «всё равно». Они не успели. Это зашло быстрее, чем мы рассчитывали.
Хозяин кабинета сел. Долго смотрел на справку. Потом сказал тихо, почти себе:
— Мы тоже не успели.
Аналитик не ответил. Он знал, что «не успели» — это не признание ошибки. Это констатация. Как прогноз погоды, который опоздал на один день: дождь уже идёт.
— Подготовьте докладную, — сказал хозяин кабинета. — Наверх. Полную картину. МИД, Минобороны, коммерческий сектор. Всё.
— С какой рекомендацией?
Хозяин кабинета помолчал.
— Без рекомендации. Только факты. Пусть наверху решают.
Он знал, что «наверху» решат не сразу. И знал, что к тому моменту, когда решат, картина изменится ещё раз. Спектр рос не потому, что кто-то его продвигал. Он рос потому, что работал. А с тем, что работает, бороться бессмысленно.
Можно только решить, на чьей стороне стола ты хочешь сидеть.
Глава 22. Привычка
В Минобороны Спектр вошёл не через дверь, а через форточку. Даже не через одну — через несколько, открытых в разных комнатах, в разное время, разными людьми.
Полковник с Фрунзенской — тот, с дня рождения — запросил первый расчёт через три недели после разговора с Дмитрием. Задача была скромной: оптимизация маршрутов переброски техники на учениях. Стандартная модель Генштаба давала план, который выглядел логичным, но каждый раз при исполнении что-то шло не так — то задержка на переправе, то нехватка топлива в промежуточной точке, то пробка из-за гражданского транспорта, который никто не учёл.
Спектр учёл. Расчёт включал не только маршруты и грузоподъёмность, но и расписание движения гражданских колонн, графики ремонта дорог, время работы заправочных станций и — неожиданно — прогноз погоды не по регионам, а по конкретным отрезкам пути с точностью до четырёх часов.
Учения прошли без задержек. Впервые за три года.
Полковник не написал об этом в рапорте. Он написал: «Маршрут скорректирован с учётом дополнительных факторов». Формулировка была достаточно расплывчатой, чтобы не вызвать вопросов, и достаточно точной, чтобы не быть враньём.
* * *
Аналитик при штабе Северного флота пошёл дальше. Он запросил у Спектра расчёт по снабжению трёх отдалённых гарнизонов на зимний период. Стандартный план предполагал четыре рейса между октябрём и мартом. Спектр рекомендовал пять, но с изменённым графиком: сдвинуть второй рейс на две недели раньше — из-за кадровой ротации в порту Индига, которая, как уже было известно, ломала ритм разгрузки.
Аналитик знал про Индигу. Он сам видел это в данных «СевТранса». Но то, что Спектр связал кадровую ротацию в порту с графиком рейсов для военных гарнизонов, — это было за пределами того, что он мог сделать вручную.
Он скорректировал план. Гарнизоны получили грузы вовремя. Экономия — незначительная. Но ни одной задержки. Ноль.
Командир базы, принимавший грузы, позвонил в штаб и спросил:
— Что вы там изменили?
— График рейсов.
— Ну наконец-то.
Он не спросил — как. Ему было важно — что.
* * *
Военный советник в Африке — тот, который получил прогноз по выборам, — стал постоянным пользователем. Два-три запроса в месяц. Расклад сил в регионе, прогноз действий местных военных группировок, оценка устойчивости режима. Задачи, которые стандартная аналитика решала неделями, Спектр обрабатывал за дни. И — точнее.
Советник начал делиться результатами с коллегами. Не с энтузиазмом — с прагматизмом: «Вот расчёт, вот прогноз, вот что произошло. Делайте выводы». Коллеги делали.
Через полгода Спектром пользовались в четырёх точках системы Минобороны. Не централизованно — россыпью. Полковник в Генштабе. Аналитик Северного флота. Советник в Африке. Офицер разведуправления, который узнал от советника и запросил расчёт по Центральной Азии.
Никто из них не знал, что остальные тоже пользуются. Каждый считал, что он — единственный или один из немногих. Это создавало иллюзию, которая была опаснее секретности: иллюзию незначительности. Каждый думал: «Это мелочь, я просто проверяю свои расчёты». Никто не видел картину целиком.
Картину целиком видели двое: Спектр — по трафику, и ФСБ — по своей модели.
Глава 23. Индексы
Момент, когда Спектр стал не инструментом, а привычкой, можно было определить точно. Это произошло не тогда, когда люди начали им пользоваться. А тогда, когда перестали проверять его результаты.
Первым перестал проверять аналитик Северного флота. Не из лени — из опыта: за восемь месяцев ни один расчёт Спектра не разошёлся с реальностью больше, чем на два процента. Проверка стала формальностью, а формальности отнимают время.
Вторым — полковник. Он перестал сравнивать маршруты Спектра с маршрутами стандартной модели. Просто брал расчёт и передавал в планирование. Один раз его заместитель спросил:
— Это чей маршрут?
— Мой, — ответил полковник.
Он не соврал. Он подписал.
Третьей — Марина Олеговна в МИДе. Она, которая проверяла дольше всех, однажды утром получила расчёт по сложным многосторонним переговорам и впервые не открыла собственную модель для сравнения. Не потому что доверяла Спектру — потому что её собственная модель давала результат, который она и сама знала заранее: размытый коридор, бесполезный для переговорщика.
Она поймала себя на этом. Посидела минуту. Потом открыла расчёт Спектра и начала писать справку.
* * *
Потом появились индексы.
Это произошло не по приказу и не по замыслу. Просто в какой-то момент полковник, готовя план учений, приписал в служебной записке: «Маршрут оптимизирован. Индекс устойчивости — 0.87». Он не собирался вводить новую метрику. Просто Спектр выдавал этот индекс вместе с расчётом — коэффициент, показывающий, насколько план устойчив к отклонениям. Полковник вписал его машинально, как вписывают дату.
Начальник прочитал записку, не обратил внимания. Подписал.
Через месяц индекс появился в другом документе — у аналитика Северного флота. «Индекс конфигурации маршрута — 0.91». Потом — в третьем: «Индекс согласованности позиции — 0.78» — это был уже МИД, отчёт Дмитрия по переговорам.
Индексы ползли по документам, как вода по капиллярам. Никто не приказывал их использовать. Никто не запрещал. Они просто появлялись — потому что были удобны. Число говорило больше, чем абзац текста. И люди, которые читали документы, начинали привыкать: если индекс высокий — план надёжный. Если низкий — стоит перепроверить.
Через год индексы Спектра присутствовали в документах трёх ведомств. Их не называли «индексами Спектра» — просто «индексами». Как будто они были всегда.
Глава 24. Осознание
Архитектор позвонил Физику в одиннадцать вечера. Это было необычно: он не любил звонить, предпочитал писать. Звонок означал, что мысль не умещается в текст.
— Ты можешь приехать?
— Сейчас?
— Да.
Физик приехал через сорок минут. Офис был пуст — только Архитектор за монитором, в свете экрана, со стаканом чая, который давно остыл.
— Смотри, — сказал он.
На экране была карта. Не географическая — топологическая: узлы, связи, потоки данных. Физик знал эту карту — это была модель клиентской базы Спектра: кто запрашивает, что запрашивает, как часто.
Но сейчас карта выглядела иначе. Архитектор добавил второй слой — слой зависимостей. Не «кто пользуется Спектром», а «чьи решения зависят от расчёта Спектра».
— Вот логистика, — сказал Архитектор, указывая на узел. — Они без нас не планируют маршруты. Уже год.
— Я знаю.
— Вот страховая. Они перестроили модель рисков на наших данных. Если мы отключимся — им нужно три месяца, чтобы вернуться к старой.
— Я знаю.
— А вот это, — Архитектор указал на кластер узлов справа, — это то, что мы не обсуждали.
Физик подошёл ближе. Кластер был обозначен без имён — только IP-диапазоны и частота запросов. Но по структуре было видно: это не коммерческие клиенты. Запросы шли регулярно, объёмы росли, типы задач — стратегические.
— МИД, — сказал Физик.
— Не только.
Архитектор переключил слой. Появились ещё четыре узла — реже, но стабильно. Другой диапазон.
Физик молчал.
— Это военные? — спросил он, хотя уже знал ответ.
— Косвенные признаки. Типы задач: логистика переброски, прогнозирование поведения, оценка устойчивости. Это не коммерция.
Физик сел. Стул скрипнул — единственный звук в пустом офисе.
— Мы это не планировали, — сказал он.
— Нет.
— И мы это не контролируем.
— Нет.
Тишина была долгой. Не тревожной — тяжёлой.
— Ты понимаешь, что произошло? — сказал Архитектор. Голос у него был ровный, как всегда, но в этой ровности было что-то новое — не страх, а уважение к масштабу. — Мы дали инструмент одному аналитику. Он дал его коллегам. Коллеги рассказали друзьям. Друзья — своим коллегам. И теперь наш расчёт лежит в основе решений, о которых мы ничего не знаем.
— Мы знаем запросы, — сказал Физик.
— Мы знаем входные данные. Мы не знаем, какие решения принимаются на основании наших расчётов. Мы не знаем, кто подписывает документы с нашими индексами. Мы не знаем, влияем ли мы на одни учения или на стратегическое планирование.
Физик потёр глаза.
— И что ты предлагаешь?
Архитектор долго смотрел на карту.
— Ничего.
— Ничего?
— Мы не можем отозвать доступ. Не потому что технически невозможно — потому что люди уже зависят. Если мы отключим МИД, их справки вернутся к трём сценариям «не знаю, но вежливо». Если отключим военных — их планы станут менее точными. Мы не имеем права делать чужие решения хуже.
— Мы не имеем права делать чужие решения, — сказал Физик. — Вообще.
Архитектор повернулся к нему.
— Мы не делаем решений. Мы считаем.
— А они?
— Они решают на основании наших расчётов.
— Это одно и то же.
Архитектор не ответил. Он смотрел на карту — на узлы, связи, потоки — и Физик видел, что он не согласен, но не может сформулировать, почему.
— Нет, — сказал Архитектор наконец. — Это не одно и то же. Калькулятор не принимает решений. Мы — калькулятор.
— Калькулятор, который видит всё.
— Да.
— И от которого нельзя отказаться.
Архитектор молчал.
— Знаешь, что самое точное определение власти? — сказал Физик. — Это когда от тебя нельзя отказаться. Не когда ты приказываешь. А когда без тебя — хуже.
Архитектор выключил монитор. Комната погрузилась в темноту — только свет с улицы через незашторенное окно.
— Мы не хотели власти, — сказал он.
— Никто не хочет, — ответил Физик. — Она приходит как побочный эффект.
Они просидели в темноте ещё несколько минут. Потом Архитектор включил свет, допил остывший чай и сказал:
— Завтра нужно поговорить с Графистом. И с фондом. Нам нужна юридическая структура. Серьёзная. Не стартап — инфраструктурная компания. С ответственностью.
— С ответственностью перед кем?
Архитектор не ответил сразу.
— Перед теми, кто зависит, — сказал он. — Мы пока не знаем, кто это. Но они уже есть.
Физик встал, надел куртку.
— Ты знаешь, что нас найдут, — сказал он у двери. — Если уже не нашли. Мы слишком большие, чтобы быть невидимыми.
Архитектор кивнул.
— Я знаю. Поэтому лучше, чтобы когда нас найдут, мы выглядели как компания, а не как лаборатория.
Физик вышел. Дверь закрылась. Архитектор снова включил монитор и долго смотрел на карту — на узлы, которые множились, на связи, которые уплотнялись, на систему, которая росла не потому, что он хотел, а потому, что работала.
Он подумал: «Любая переменная может стать определяющей со временем».
Потом подумал: «Мы когда-то были малой переменной».
Потом выключил монитор и пошёл домой.
Глава 25. Генерал
Генерал-лейтенант Ковалёв узнал о Спектре не из записки ФСБ. Он узнал из собственного плана.
Ему было пятьдесят восемь. Тридцать четыре года в армии. Он прошёл через две реформы, одну реальную войну и бесконечное количество учений, на которых всё шло по плану, потому что план подстраивали под результат, а не наоборот. Он был из тех генералов, которые не верят в чудеса, не верят в технологии и верят только в людей, которые умеют работать, когда всё ломается.
Плановое совещание по стратегическому снабжению северной группировки. Двенадцать человек за столом, карта на экране, папки с расчётами. Ковалёв слушал доклад начальника отдела планирования — молодого полковника, грамотного, с хорошей выправкой и привычкой говорить чётко.
— Маршруты оптимизированы, — говорил полковник, показывая слайд. — Индекс устойчивости — ноль девяносто три. Резервный вариант — с индексом ноль восемьдесят один. Рекомендуем основной.
Ковалёв поднял руку. Не резко — медленно, как человек, который хочет, чтобы все увидели жест.
— Индекс, — повторил он. — Чей индекс?
Полковник чуть запнулся.
— Это метрика устойчивости маршрута. Показывает, насколько план…
— Я знаю, что он показывает, — перебил Ковалёв. Голос был ровным, но в комнате стало тише. — Я спрашиваю: кто его посчитал?
Полковник посмотрел на экран, потом — на Ковалёва. В его глазах было не замешательство, а расчёт: сколько правды нужно и сколько можно.
— Внешняя аналитическая модель, — сказал он.
— Какая?
— «Спектр». Частная компания. Мы используем их расчёт для верификации.
— Для верификации, — повторил Ковалёв. — Или для планирования?
Тишина.
— Фактически — для планирования, — сказал полковник. — Их расчёт точнее нашего.
Ковалёв не повысил голос. Он вообще редко повышал голос — не потому, что сдержанный, а потому, что знал: тихий голос генерала слышен лучше крика.
— С каких пор, — сказал он, — стратегическое планирование Министерства обороны опирается на расчёт частной компании?
Никто не ответил.
Ковалёв обвёл взглядом стол. Двенадцать человек. Некоторые смотрели на папки. Некоторые — на экран. Никто — на него.
— Кто ещё пользуется? — спросил он.
Молчание было ответом. Но Ковалёв умел читать молчание.
— Понятно, — сказал он. — Совещание окончено. Полковник — останьтесь.
* * *
Разговор длился сорок минут. Полковник рассказал всё: как узнал о Спектре, как запросил первый расчёт, как начал использовать регулярно. Рассказал про индексы — что они появились не по приказу, а по привычке. Рассказал, что аналитик Северного флота тоже пользуется, и советник в Африке, и — насколько он знает — кто-то в разведуправлении.
Ковалёв слушал молча. Не перебивал. Не задавал уточняющих вопросов — потому что картина была ясна без уточнений.
Когда полковник закончил, Ковалёв помолчал. Потом спросил:
— Они знают, на кого работают?
— Они знают, что поступают запросы. Вряд ли знают, что это Минобороны. Мы не представляемся.
— А они не спрашивают?
— Нет.
Ковалёв встал. Прошёл к окну. За окном — плац, серый, пустой. Двое солдат шли к КПП.
— Вы понимаете, что произошло, — сказал он, не оборачиваясь. Это не было вопросом.
— Да.
— Мы опираемся на систему, которую не контролируем. Которую не проверяли. Которую не сертифицировали. Частная компания. Три человека. Мы даже не знаем, кто ещё пользуется их расчётами. Может, противник тоже.
Полковник не ответил. Ответа не было.
Ковалёв повернулся.
— Мне нужен один цикл планирования без них. Полный. С нуля. На наших моделях, нашими силами.
— Это займёт время.
— Сколько?
— Шесть — восемь недель.
Ковалёв кивнул.
— Шесть недель. Тот же маршрут. Те же условия. Без Спектра. Я хочу увидеть разницу.
Полковник встал, готовясь уйти.
— И ещё, — добавил Ковалёв. — Никому не говорите. Это не проверка системы. Это проверка нас.
Глава 26. Шесть недель
Отдел планирования работал добросовестно. Ковалёв не сомневался — он знал своих людей. Они были грамотными, обученными, мотивированными. Они тридцать лет планировали операции без всякого Спектра, и страна не развалилась.
Первая неделя ушла на сбор данных. Те же данные, которые обычно загружали в Спектр, теперь обрабатывали вручную. Точнее — на стандартной модели, которая стояла на серверах Министерства и обновлялась раз в квартал.
Полковник на третий день зашёл к Ковалёву.
— Проблема, — сказал он. — Наша модель не учитывает кадровую ротацию в портах.
— Добавьте.
— Это требует перестройки модуля. Две-три недели разработки.
Ковалёв посмотрел на него.
— Учитывайте вручную.
Полковник кивнул и вышел.
На второй неделе выяснилось, что стандартная модель не видит связи между графиком ремонта дорог в Мурманской области и задержками на железнодорожном перегоне, который использовался для переброски. Спектр видел — потому что считал всё. Стандартная модель — нет, потому что ремонт дорог не входил в перечень военных переменных.
На третьей неделе аналитики начали жаловаться. Не вслух — между собой, в курилке, за обедом. Не на Ковалёва — на модель. «Она тупая», — сказал один. «Она не тупая, — возразил другой. — Она просто видит только то, что ей показали».
Это была, возможно, самая точная формулировка разницы между стандартной моделью и Спектром: одна видела то, что ей показали, другая — то, что было.
На четвёртой неделе полковник принёс промежуточный результат. Маршрут был готов. Он выглядел грамотным — все основные факторы учтены, резервные варианты просчитаны, сроки реалистичны.
Ковалёв посмотрел на него и спросил:
— Индекс устойчивости?
Полковник замолчал. Потом сказал:
— Наша модель не генерирует этот индекс.
— Тогда какова устойчивость?
— Субъективная оценка — высокая.
— Субъективная, — повторил Ковалёв. И в этом слове было всё, что он думал.
* * *
Через шесть недель план был готов. Полковник принёс его в кабинет Ковалёва — папку, распечатки, карты. Всё как положено.
Ковалёв открыл папку. Читал двадцать минут. Потом закрыл.
— Теперь посчитайте тот же маршрут на Спектре, — сказал он.
Полковник посмотрел на него.
— Вы же сказали — без них.
— Я сказал — цикл планирования без них. Цикл завершён. Теперь мне нужно сравнение.
Полковник отправил запрос в тот же день. Спектр обработал данные за четыре часа.
Результаты положили рядом.
Маршрут совпадал на восемьдесят процентов. Но в оставшихся двадцати — расхождения. Спектр рекомендовал другое время выхода колонны — на шесть часов раньше, из-за прогнозируемого ухудшения дорожного покрытия на одном участке после начала весенних осадков. Рекомендовал другую промежуточную точку заправки — не ту, что ближе, а ту, где реже ломалось оборудование. И рекомендовал перенести один из рейсов на двое суток — из-за совпадения с кадровой сменой в порту, которую стандартная модель не учитывала.
Ковалёв долго смотрел на два документа. Шесть недель работы двенадцати человек — и четыре часа расчёта машины. Восемьдесят процентов совпадения. Двадцать — расхождения, каждое из которых было обосновано данными, до которых его люди не добрались.
— Четыре часа, — сказал он.
— Да, — ответил полковник.
— Против шести недель.
— Да.
Ковалёв закрыл обе папки. Встал. Прошёлся по кабинету — три шага в одну сторону, три в другую. Привычка, от которой не избавился за тридцать лет.
— Мы зависим от того, чего не контролируем, — сказал он.
Полковник не ответил. Он знал, что это не вопрос.
— Но альтернатива, — продолжил Ковалёв, — это шесть недель там, где можно за четыре часа. И двадцать процентов ошибки, которой можно избежать.
Он остановился.
— Двадцать процентов, — повторил он. — На учениях это — неудобство. В реальной операции это — потери.
Ковалёв сел за стол. Открыл папку Спектра. Долго смотрел на индекс устойчивости: 0.93.
— Кто контролирует эту компанию? — спросил он.
— Три учредителя. Частный фонд — инвестор.
— ФСБ знает?
— Полагаю, да.
— «Полагаю» — это не ответ.
Полковник выпрямился.
— Да. Знают. Записка прошла по линии координации полгода назад.
Ковалёв кивнул. Будто поставил галочку в списке, о существовании которого знал только он.
— Вот что мы сделаем, — сказал он. — Мы не откажемся от Спектра. Мы не сможем — и я это вижу. Но мы и не будем делать вид, что его нет. Подготовьте проект соглашения. Официального. С ответственностью сторон. С допуском. С сертификацией.
— Они не дают доступ к модели.
— Тогда пусть дадут доступ к аудиту. Не к модели — к результатам. Мы будем проверять каждый десятый расчёт вручную. И мы будем знать, кто ещё пользуется.
Полковник записал.
— И ещё, — сказал Ковалёв. — Свяжитесь с ФСБ. Пусть организуют встречу. Мне нужно видеть этих людей.
— Троих?
— Да. Архитектора. Физика. Графиста. — Он произнёс это с лёгким недоверием, как произносят слова, которые звучат несерьёзно для серьёзной ситуации. — Мне нужно понять, кому я доверяю планирование.
Полковник встал.
— Они могут отказаться.
Ковалёв посмотрел на него — не зло, а с той тяжёлой ясностью, которая бывает у людей, принявших решение, которое им не нравится.
— Они не откажутся, — сказал он. — Они тоже понимают, что выросли.
Глава 27. Координация
Прежде чем встречаться, Ковалёв хотел знать, с чем имеет дело. Не с людьми — с ситуацией. Людей он оценит сам. Ситуацию нужно было разложить заранее.
Совещание собрали через неделю. Уровень был высоким — достаточно высоким, чтобы в комнате оказались люди, которые обычно не сидят за одним столом.
От Минобороны — Ковалёв, начальник информационно-аналитического управления и офицер по кибербезопасности. От ФСБ — заместитель начальника управления, курировавшего дело Спектра, и человек без должности — уже в другом качестве, уже не наблюдатель, а докладчик. От МИДа — советник-посланник аналитического департамента, Сокольский Андрей Павлович, человек с безупречной репутацией, тремя иностранными языками и манерой разговаривать так, будто каждое слово — дипломатическая нота.
Сокольского пригласили не из вежливости. Его пригласили, потому что МИД был крупнейшим потребителем расчётов Спектра, и без него любое решение было бы половинчатым. Сокольский это знал. И пришёл не договариваться — пришёл защищать.
Ковалёв начал без предисловий.
— Ситуация. Частная компания «Спектр» де-факто обеспечивает аналитическую поддержку трёх ведомств. Без официального статуса, без допуска, без контроля. Я хочу услышать варианты.
Начальник аналитического управления открыл папку.
— Вариант первый: национализация. Юридические основания есть — национальная безопасность, стратегическая инфраструктура. Технически — изъятие серверов, перемещение в закрытый контур, привлечение создателей к работе в режиме допуска.
Сокольский поднял руку — не резко, а с тем дипломатическим изяществом, которое означало не «разрешите», а «я буду говорить».
— Нет, — сказал он.
Ковалёв посмотрел на него.
— Обоснуйте.
— Охотно, — Сокольский чуть наклонился вперёд. — За последний год аналитический отдел МИДа повысил точность прогнозирования по переговорным позициям на уровень, которого мы не достигали за предыдущие десять лет. Четырнадцать переговорных циклов. Ни одного существенного промаха. Послы — впервые за моё время — читают наши справки не для галочки, а для работы.
Он сделал паузу — профессиональную, выверенную.
— Это обеспечивает Спектр. Если Минобороны заберёт систему в закрытый контур, МИД потеряет доступ. Мы вернёмся к тому, с чего начинали: три сценария, каждый из которых — вежливое «не знаю». Я не позволю этого.
Последние три слова прозвучали не как просьба и не как угроза. Как констатация.
Ковалёв не среагировал. Он умел не реагировать.
— Ваша позиция понятна, — сказал он. — Продолжаем. Вариант второй?
Офицер по кибербезопасности заговорил:
— Вариант второй — принудительное лицензирование. Обязать Спектр предоставить копию модели государственным структурам.
— Копию мало, — сказал заместитель из ФСБ. Он до этого молчал, и его первые слова прозвучали как ведро холодной воды. — Модель обучается непрерывно. Каждый расчёт обновляет её. Копия устареет за месяц. Через три — бесполезна.
— Тогда подключение к обновлениям, — не сдавался офицер.
— Подключение к обновлениям — это подключение к Спектру. То есть всё остаётся как есть, только с бумажкой.
Ковалёв повернулся к человеку без должности.
— Что скажете?
Человек без должности встал — он предпочитал говорить стоя, когда говорил длинно.
— Мы наблюдаем за Спектром полтора года. За это время мы установили следующее. Система распределённая — физически размещена в нескольких дата-центрах, не все на территории России. Архитектор — главный из троих — проектировал её как распределённую с самого начала. Без единого центра. Без единой точки отказа. Это принцип, а не случайность.
Он прошёлся вдоль стола — два шага, не больше.
— Далее. Модель сильна не потому, что хорошо написана. Она сильна потому, что считает для всех одновременно. Логистика улучшает расчёт для страхования. Дипломатия — для поведенческих моделей. Военная логистика — для маршрутизации. Данные из одного сектора повышают точность в другом. Это не побочный эффект. Это принцип работы.
Сокольский кивнул — коротко, как человек, который слышит подтверждение своей мысли.
— Если мы национализируем Спектр, — продолжил человек без должности, — мы отрежем его от коммерческих и дипломатических данных. Модель продолжит считать, но только на данных Минобороны. Через полгода это будет другая модель. Существенно хуже той, которая есть сейчас.
— То есть, — сказал Ковалёв, — мы уничтожим то, ради чего забираем.
— Именно.
Ковалёв помолчал.
— А люди? Трое? Их можно привлечь к работе принудительно?
Человек без должности ответил не сразу. Когда ответил — тише, чем до этого.
— Можно. Закрытый НИИ. Допуск. Режим. Они будут работать. Но модель, которую создал человек, который хочет работать, и модель, которую создал человек, которого заставили, — это разные модели. Мы это проходили. Не раз.
В комнате стало тихо. Фраза «мы это проходили» содержала в себе больше истории, чем весь остальной разговор.
Сокольский воспользовался паузой.
— Я хочу добавить, — сказал он, и его тон стал чуть жёстче, — что МИД категорически против любого варианта, при котором Спектр переходит под контроль Минобороны. Это не вопрос амбиций. Это вопрос функциональности. Наша дипломатия впервые за долгое время работает с инструментом, который даёт реальное преимущество на переговорах. Отдать его в руки… — он подобрал слово, — …одному ведомству — значит лишить преимущества всех остальных.
Ковалёв посмотрел на него прямо.
— Вы хотите сказать, что мы, по-вашему, не справимся?
— Я хочу сказать, — ответил Сокольский, не отводя взгляда, — что инструмент, который работает на всех, нельзя отдать одному. Даже если этот один — Минобороны. Особенно если этот один — Минобороны.
В комнате повисло напряжение — не враждебное, но ощутимое. Ковалёв и Сокольский смотрели друг на друга, как люди, которые находятся на разных этажах одного здания и оба считают свой этаж верхним.
Заместитель из ФСБ кашлянул — негромко, но достаточно, чтобы разрядить.
— Есть третий вариант, — сказал он. — Оставить как есть, но оформить. Рамочное соглашение. Межведомственное. С участием всех заинтересованных сторон. Спектр остаётся частной компанией, но с обязательствами перед государством. Аудит результатов. Протокол взаимодействия. Уведомление о прекращении работы.
— И контроль? — спросил Ковалёв.
— Наблюдение, — поправил заместитель. — Контроль невозможен без разрушения. Наблюдение — возможно.
Ковалёв встал. Прошёлся по кабинету. Все молчали.
— Значит, — сказал он, остановившись, — мы не можем забрать. Не можем скопировать. Не можем изолировать создателей. И не можем отключиться, потому что двадцать процентов ошибки. МИД нас не поддержит. ФСБ рекомендует наблюдение.
Он повернулся.
— Остаётся договариваться.
— Из позиции взаимной зависимости, — добавил человек без должности. — Они зависят от данных. Мы — источник данных. Без государственных клиентов их модель тоже станет хуже. Это не слабая позиция.
— Не слабая, — согласился Ковалёв. — Но и не та, к которой я привык.
Сокольский позволил себе едва заметную улыбку — дипломатическую, без торжества.
— Добро пожаловать в переговоры, — сказал он.
Ковалёв посмотрел на него. Не улыбнулся. Но и не ответил резкостью — что для Ковалёва было почти комплиментом.
— Организуйте встречу, — сказал он. — С троицей. Все ведомства — за одним столом. Я хочу видеть их лица, когда буду задавать вопросы, на которые уже знаю ответы.
Глава 28. Встреча
Встреча состоялась через три недели. Не в Минобороны — на нейтральной территории, в конференц-зале гостиницы, которую обычно использовали для закрытых мероприятий. Ковёр, шторы, минеральная вода на столе, кофе в термосе. Ничего военного, кроме людей.
С одной стороны стола — Ковалёв, полковник, человек без должности и Сокольский. Последний сидел чуть в стороне — не по протоколу, а по привычке: дипломаты предпочитают наблюдать фланг, а не центр. Ковалёв пригласил его лично — не из симпатии, а из расчёта: Сокольский знал Спектр изнутри, через свой отдел, и мог задать вопросы, которые военным не пришли бы в голову.
С другой — троица. Архитектор, Физик, Графист. Они вошли вместе, сели рядом. Архитектор — прямо, сухо, как на технической презентации. Физик — чуть свободнее, но собранно. Графист — с блокнотом, в который уже начал рисовать.
Ковалёв смотрел на них несколько секунд, прежде чем заговорить. Он изучал лица так, как изучал карты: не ища ответ, а оценивая территорию.
— Я читал ваши расчёты, — начал он. — Не все. Те, что были в наших документах.
Архитектор кивнул.
— Они точные, — продолжил Ковалёв. — Точнее наших. Это факт, а не комплимент.
Физик чуть наклонил голову — жест, который мог означать и благодарность, и ожидание.
— Факт в том, — сказал Ковалёв, — что мы от вас зависим. И я хочу понять — от кого именно.
Архитектор ответил:
— От модели.
— Модель не существует сама по себе.
— Существует. После определённого порога сложности модель перестаёт зависеть от создателей. Она зависит от данных.
Ковалёв посмотрел на него долго.
— Вы хотите сказать, что даже вы не контролируете свою модель?
— Я хочу сказать, что мы не назначаем результат. Модель считает. Мы обеспечиваем инфраструктуру и корректность вычислений.
— А если модель ошибётся?
— Она ошибается, — спокойно сказал Графист, не отрываясь от блокнота. — В пределах двух процентов. Вопрос не в том, ошибается ли она. Вопрос — ошибается ли она меньше, чем альтернатива.
Ковалёв перевёл взгляд на Физика.
— Вы знали, что ваши расчёты используются в Минобороны?
— Мы видели рост трафика, — ответил Физик. — Мы не знали, откуда конкретно.
— Не знали, — повторил Ковалёв, — или не хотели знать?
Физик выдержал его взгляд.
— Мы не спрашивали. Наша модель — инструмент. Мы не спрашиваем у отвёртки, что ею прикручивают.
— Отвёртка не влияет на стратегическое планирование.
Физик помолчал.
— Уже влияет.
Ковалёв откинулся назад. Человек без должности сидел неподвижно — слушал, не записывал, но Ковалёв знал, что он запомнит каждое слово.
— Вот что я хочу, — сказал Ковалёв. — Официальное соглашение. Рамочное. Мы не покупаем вашу модель. Мы не требуем код. Но мы хотим аудит — возможность проверять ваши расчёты на выбранных задачах. И мы хотим знать, кто ещё пользуется вашими услугами в государственных структурах.
Архитектор ответил мгновенно:
— Нет.
Тишина.
— Мы не раскрываем клиентскую базу, — сказал он. — Ни вам, ни кому-либо.
Ковалёв не удивился. Он ожидал этого.
— А аудит?
Архитектор посмотрел на Физика. Тот кивнул — едва заметно.
— Аудит — да, — сказал Архитектор. — Каждый десятый расчёт. Вы проверяете вручную. Если расхождение больше пяти процентов — обсуждаем.
— Два процента, — сказал Ковалёв.
— Три, — ответил Физик.
Ковалёв помедлил.
— Три, — согласился он.
Человек без должности чуть шевельнулся — единственное его движение за всю встречу. Ковалёв заметил и понял: согласие получено. Не его — того ведомства, которое человек без должности представлял, не представляясь.
— Ещё одно, — сказал Ковалёв. — Если когда-нибудь вы решите прекратить работу — мы узнаём об этом первыми. Не из новостей. Не из трафика. От вас лично.
Архитектор кивнул.
— Это справедливо.
— Это не справедливо, — сказал Ковалёв. — Это необходимо. Потому что если вы отключитесь без предупреждения, мы потеряем не данные. Мы потеряем время. А время в нашей работе — это жизни.
Тишина была тяжёлой. Не от угрозы — от правды.
Архитектор сказал:
— Мы не отключимся.
И впервые за весь разговор Ковалёв увидел в его глазах не сухость — а понимание. Понимание масштаба того, что они создали.
Встреча закончилась через двадцать минут. Рукопожатия были короткими. Ковалёв последним вышел из зала. В коридоре он остановился, достал телефон и набрал номер.
— Подготовьте рамочное соглашение, — сказал он. — С компанией «Спектр». Формат — информационно-аналитическое обеспечение. Гриф — для служебного пользования.
На другом конце что-то спросили.
— Нет, — ответил Ковалёв. — Не временное. Постоянное.
Он убрал телефон и пошёл к машине. На улице было холодно. Генерал-лейтенант, который тридцать четыре года верил только в людей, только что подписал зависимость от машины.
Он знал, что это правильно. И именно поэтому ему было не по себе.
Глава 29. Кластер
После рамочного соглашения с Минобороны — а точнее, после того как слух о соглашении просочился в те коридоры, где слухи имеют силу документов, — к Спектру стали приходить другие.
Первыми пришли нефтяники. Не сами — через ФСБ, которая к этому моменту заняла позицию, которую не формулировала вслух, но которую все понимали: Спектр — не угроза, Спектр — актив. Актив, который нужно не контролировать, а направлять.
Звонок Физику от человека без должности был коротким:
— К вам обратится компания. Крупная. Энергетический сектор. Примите.
— Мы и так принимаем, — ответил Физик.
— Примите правильно, — сказал человек без должности и положил трубку.
Физик понял. «Правильно» означало: не отказывайте, не торгуйтесь долго, дайте результат. Дальше — сами.
Компания оказалась одной из крупнейших в стране. Задача — оптимизация логистики трубопроводов, распределение потоков между ветками, прогнозирование спроса с учётом не только рыночных, но и политических факторов. Стандартная модель компании обсчитывала это неделями. Спектр — за сутки.
Через месяц пришла вторая — из финансового сектора. Потом третья. Потом — крупнейший государственный банк, за которым потянулись ещё два.
С банками произошло то, чего никто не ожидал — включая Архитектора.
Банки конкурировали между собой. Жёстко, непримиримо, как положено. Маркетинговые стратегии, процентные ставки, кредитные продукты — всё это было полем боя. И вдруг все три крупнейших банка оказались клиентами одной и той же аналитической системы.
Архитектор увидел проблему первым.
— Мы считаем для конкурентов, — сказал он на вечернем совещании. Офис к этому моменту уже не был складом — двухэтажное здание с серверной в подвале, тридцать сотрудников, кофемашина, которая работала круглосуточно. — Если банк А узнает, что мы считаем для банка Б, у нас будут проблемы.
— Они знают, — ответил Физик. — Не конкретно, но понимают. Мы не скрываем, что работаем с финансовым сектором.
— И их это не беспокоит?
— Их беспокоит другое, — сказал Графист. Он рисовал на доске — как всегда, — но рисунок на этот раз был не схемой, а чем-то похожим на экосистему: кружки, стрелки, петли обратной связи. — Они поняли одну вещь. Спектр не даёт им идеи. Спектр даёт им точный расчёт последствий их идей. Конкуренция не исчезает — она ускоряется. Маркетологи продолжают придумывать. Аналитики продолжают спорить. Но теперь каждая идея проходит через фильтр, который мгновенно показывает: вот это сработает, вот это — нет, а вот это сработает, но через полгода создаст проблему, которую вы не видите.
— И что остаётся? — спросил Физик.
— Только лучшие идеи, — ответил Графист. — Отбор стал точным. Раньше банк мог запустить продукт, который полгода приносил прибыль, а потом оказывался убыточным. Теперь они видят это заранее. И не запускают. По сути, мы оптимизируем не их бизнес — мы оптимизируем их мышление. Они начинают думать только в тех направлениях, которые модель подтверждает.
Архитектор молчал. Он смотрел на рисунок Графиста и видел в нём что-то, чего не хотел видеть.
— Ты понимаешь, что ты описываешь? — сказал он.
— Да, — ответил Графист.
— Ты описываешь систему, в которой выживают только оптимизированные решения. Не лучшие — оптимизированные. Это не одно и то же.
— А в чём разница? — спросил Графист.
— Лучшее решение — это то, которое человек выбрал. Оптимизированное — это то, которое осталось после отсева. Выбор и отсев — разные вещи.
Тишина.
Физик сказал:
— Мы не выбираем за них. Они выбирают сами.
— Они выбирают из списка, который мы им сузили, — ответил Архитектор. — Это и есть выбор без выбора.
Графист положил маркер.
— И что ты предлагаешь? Не считать?
Архитектор не ответил. Потому что ответа не было. Не считать — значит вернуть людей к ошибкам. Считать — значит оставить им только те решения, которые модель считает оптимальными. И то и другое — не свобода.
Глава 30. Масштаб
Через год Спектр обслуживал большую часть крупнейших компаний страны. Не все — некоторые принципиально отказывались, считая зависимость от внешней модели неприемлемой. Но те, кто пользовался, росли быстрее. Их прогнозы сбывались, их решения давали результат, их потери — меньше.
Рынок не умер. Он стал другим. Не рынком товаров — рынком конфигураций.
Эффект видели не аналитики. Его видели люди, которые не знали слова «Спектр».
* * *
Зима. Диспетчерская центрального энергоузла — третий этаж, окна на промзону, гул трансформаторов внизу, который за двадцать семь лет стал частью тишины.
Геннадий Павлович Тарасов — которого коллеги, зам главного энергетика, главный энергетик, два зама мэра и сам мэр звали просто «Палыч», потому что знали, кому звонить, если что, — сидел в кресле, которое продавил под себя до миллиметра. Левая рука — на подлокотнике, правая — рядом с прямым телефоном. Не на трубке — рядом. Привычка. За окном — минус двадцать восемь. Пиковая неделя: все греются, все включают всё. На мониторе — семь графиков нагрузки, каждый в своём цвете. Он не читал их — он их чувствовал, как водитель чувствует дорогу.
Каждый год в эту неделю что-нибудь ложилось. Подстанция. Линия. Трансформатор, который по документам прошёл ТО, а по факту — не прошёл. Палыч знал это, как знают погоду: не вопрос «будет ли», а вопрос «где». В прошлом году горел четвёртый трансформатор на Южной. Он тогда держал телефон сорок минут подряд — переключал потоки голосом, пока автоматика догоняла. Руки потом тряслись до утра.
В этом году расчёт пришёл за двенадцать часов до пика. Не от начальства — от энергосбытовой компании, которая последние полгода присылала странные рекомендации: конкретные, с цифрами, с обоснованием по каждому пункту. Раньше от них приходили отписки. Теперь — планы.
Перераспределение нагрузки по шести подстанциям. Сдвиг графика промышленных потребителей на два часа. Перевод одного сегмента на резервную линию — не аварийно, а планово, заранее. Четвёртый трансформатор на Южной — разгрузить до сорока процентов.
Палыч прочитал, хмыкнул, прочитал ещё раз. Позвонил на Южную — уточнил текущую нагрузку. Цифры совпадали. Не примерно — точно.
Он выполнил. Не потому что верил — потому что за двадцать семь лет научился отличать бумагу от расчёта.
К вечеру вторника — пик. Нагрузка ушла в красную зону. Палыч положил руку на прямой телефон.
Ничего не произошло.
Линии держали. Подстанции работали. Резервная приняла перетоки штатно. Четвёртый трансформатор на Южной стоял на сорока процентах и молчал.
Палыч убрал руку с телефона. Посмотрел на графики. Все семь — в жёлтой зоне, ни один не в красной. Он откинулся в кресле и некоторое время сидел так, глядя на экраны с выражением человека, который ждал удара и не дождался.
Зазвонил мобильный. Жена. За двадцать семь лет она выучила — в пиковую неделю не звонить. Не потому что он просил. Потому что однажды она позвонила, и он ответил так, что потом извинялся три дня. И вот — звонит.
— Да?
— Гена, Мироновы приехали. На день раньше — самолёт вылетел по расписанию. Ты сегодня как?
Он посмотрел на графики. Жёлтая зона. Стабильно. Тихо.
— Приду вовремя, — сказал он. — Скорее всего.
Пауза в трубке была такая, что он услышал, как жена переложила телефон из одной руки в другую.
— Ты в порядке? — спросила она.
— В порядке. Скучный день.
Просидел до конца смены. Встал, налил чай в кружку с надписью «Лучший энергетик 2014» — надпись почти стёрлась — и сказал сменщику:
— Скучный день.
Сменщик посмотрел на него как на больного. За двадцать семь лет Палыч произнёс это впервые. Дважды за вечер.
* * *
На совещании Минтранса в марте было холодно. Кто-то из замов любил кондиционер на восемнадцать градусов, и все терпели — не скажешь же. Заместитель министра листал сводку, постукивая колпачком ручки по столу — привычка, которую все знали и никто не комментировал.
Он остановился на одной строке. Постукивание прекратилось.
— Восточный участок федеральной трассы. Опережение графика — двадцать два процента.
Он поднял глаза от сводки.
— Это верно?
Двадцать два процента — это было подозрительно. Все в зале знали, как устроена дорожная стройка: задержки, задержки освоения средств, перенос сроков, к концу года — отчёт о недоосвоенном, на следующий год выделят меньше. Привычно, как зубная боль. Двадцать два процента опережения в эту схему не помещались. Либо цифра неверна, либо кто-то химичит.
Начальник управления дорожного строительства — грузный, загорелый не по сезону, в костюме, который сидел на нём как на вешалке, — кивнул.
— Верно.
Заместитель министра не стал спрашивать его дальше. Повернулся к человеку, который сидел у стены, чуть в стороне от основного стола — представитель контрольно-ревизионного управления. Управление отправило его специально — знали, что потребуется подтверждение цифр.
— Подтверждаете?
Представитель КРУ — сухой, в очках, из тех, кого на стройках не любят, потому что он считает не километры, а квитанции, — открыл свою папку.
— Подтверждаю. Выезжали дважды. Физические объёмы соответствуют отчётности. Материалы — на площадках, техника — в работе, простоев не зафиксировано.
— Простоев не зафиксировано, — повторил заместитель министра. Как будто попробовал фразу на вкус и не узнал.
Он положил ручку. Это был жест, который в зале знали: значит, сейчас будут вопросы не по бумажке.
— За счёт чего?
Начальник управления ответил:
— Логистика материалов. Бетон, щебень, арматура — всё приходит вовремя. Подрядчики не простаивают.
— Раньше не приходило?
— Раньше — с задержками. Каждый сезон. Щебень застревал на перевалке, бетон приходил не в ту смену, арматуру отгружали по графику, который не совпадал с графиком укладки. Прорабы стояли, курили, ждали. Техника простаивала. Мы закладывали двадцать процентов на задержки — и всё равно не хватало.
— А теперь?
— Теперь щебень приходит за два часа до того, как он нужен. Бетон — в ту смену. Арматура — по графику укладки, а не по графику отгрузки.
— Кто-то что-то изменил?
Начальник управления помедлил. Потёр подбородок — жест человека, который привык к конкретным ответам и сейчас конкретного ответа не имел.
— Поставщики стали приходить вовремя.
— Все сразу?
— Да.
Заместитель министра посмотрел на представителя КРУ. Тот кивнул:
— Мы тоже это заметили. Нарушений нет. Просто всё работает.
Пауза. В зале было слышно, как гудит кондиционер на своих восемнадцати градусах.
— Почему?
— Я не знаю, — сказал начальник управления.
— Не знаю, — подтвердил представитель КРУ. Для человека его профессии это было почти признание в беспомощности.
Заместитель министра взял ручку и снова начал постукивать.
— Ладно. Следующий вопрос.
Начальник управления сел. Он действительно не знал. Представитель КРУ закрыл папку. Он тоже не знал — а привык знать. Прорабы на восточном участке тоже не знали. Они просто перестали курить у пустых площадок — потому что площадки перестали быть пустыми.
* * *
В Минфине заметили другое. Не дороги — деньги.
Бюджетное исполнение по федеральным программам выросло. По разным программам цифры колебались, но в среднем — плюс семь процентов. Не потому что выделили больше. Потому что потратили вовремя.
Елена Васильевна Крюкова, заместитель начальника бюджетного департамента, обнаружила это в квартальном отчёте — в четверг, в семь вечера, когда в отделе уже никого не было, а она сидела над таблицами с остывшим чаем. Хотелось есть, но ещё сильней хотелось всё проверить. Водитель привычно ждал внизу.
Тридцать лет в системе. Она помнила дефолт, секвестры, кассовые разрывы, когда зарплату бюджетникам задерживали на три месяца. Она помнила, как деньги зависали на счетах — выделены, но не потрачены, потому что цепочка где-то оборвалась: контракт подписан, но поставщик ждёт комплектующих, комплектующие ждут логистики, логистика ждёт свободного окна на складе, склад ждёт разгрузки предыдущей партии. Три месяца. Деньги числятся «освоенными», а результата нет. Это была не коррупция — это была физика бюджетной системы, и Елена Васильевна давно перестала злиться на неё, как перестают злиться на дождь.
Теперь цепочка проходила за три-четыре недели. Не потому что кто-то ускорил бюрократию — бюрократия осталась прежней, с теми же визами, теми же согласованиями, тем же количеством подписей. А потому что поставщики стали приходить вовремя, склады не были переполнены, логистика не буксовала. Как будто кто-то убрал пробки на дороге, которая осталась прежней.
Она сняла очки, протёрла их — привычка, когда думала, — и надела обратно.
Утром вызвала Бориса Аркадьевича — ведущий специалист отдела контроля, её ровесник. Они работали в одном коридоре двадцать лет.
— Посмотри, — она развернула к нему монитор.
Он посмотрел. Присвистнул.
— Семь процентов? Не шути так.
— Не шучу. По программам цифры колеблются, но в среднем — семь!
— Кто-то тянет из следующего года. Авансируют, закрывают текущий квартал чужими деньгами. Видели уже.
— Борь, я вчера вечером всё проверила. Никаких авансов, никаких перебросок. Всё в рамках утверждённых лимитов. Просто цепочки стали проходить быстрее.
— И что, по всем программам? Ты же сама говоришь — цифры колеблются.
— Да, но все — в плюс!
— Странно...
— Они что, договорились?
— Кто?
— Все. Поставщики, перевозчики, склады.
— Всё работает, как будто кто-то дирижирует. Но дирижёра нет.
Борис Аркадьевич пожал плечами.
— Может, год такой. Бывает.
Она не поверила. За тридцать лет таких годов не бывало. Но другого объяснения не нашла. Или нашла бы — но не знала, где искать.
* * *
Совещание правительства шло в обычном формате. Зал, длинный стол, папки, вода в бутылках, которую никто не пил. Часы на стене — без секундной стрелки, как во всех кабинетах такого уровня: время здесь мерилось не секундами.
Министры докладывали по очереди — коротко, с цифрами, без лирики. Каждый укладывался в три минуты. Выходить за три минуты — дурной тон: значит, не подготовился.
Энергетика: зимний пик пройден без аварий. Впервые за семь лет. Министр сказал это ровным голосом, но позволил себе микропаузу — достаточную, чтобы цифра осела.
Транспорт: опережение графика по трём ключевым трассам. Восточный участок — плюс двадцать два процента. Президент поднял глаза от записей. Премьер посмотрел на докладчика — всё ещё с сомнением.
Финансы: бюджетное исполнение — плюс семь процентов. Министр финансов добавил: «При неизменном объёме финансирования». Это была важная оговорка — она означала, что эффективность выросла сама.
Промышленность: снижение простоев на семнадцать процентов. Складские потери — минимальные за десятилетие.
Образование: программа строительства школ и детских садов — впервые выполнение в графике по всем федеральным округам.
Сельское хозяйство: экспорт зерна — рекорд. Потери при хранении и перевалке — минимальные. Министр сельского хозяйства говорил спокойно, но в зале повисла пауза. Сельское хозяйство было вечной «чёрной дырой» — туда вливали, оттуда не возвращалось. Возвращалось теперь.
Цифры ложились на стол одна за другой, и каждая была хорошей. Это само по себе было необычно: на совещаниях правительства хорошие цифры обычно перемежались плохими, и искусство доклада состояло в том, чтобы плохие звучали как «временные трудности». Сегодня временных трудностей не было. Несколько министров переглянулись — быстро, почти незаметно. Они тоже это чувствовали.
Президент слушал. Не перебивал. Делал пометки в блокноте — привычка, которую сохранил с тех времён, когда был заместителем и записывал за старшими. Когда последний министр закончил, он закрыл блокнот, положил ручку параллельно краю и помолчал несколько секунд.
— Главное — не сглазить, — сказал он.
Зал засмеялся. Коротко, с облегчением — как смеются, когда шутит начальник и шутка к месту.
Он поблагодарил премьера и правительство за работу. Потом сказал:
— Мне докладывают, что часть этих результатов связана с аналитической системой, которая работает с рядом наших компаний и ведомств. «Спектр». Это хорошо.
Он сделал паузу — короткую, но достаточную, чтобы все за столом перестали смотреть в папки.
— Пока это хорошо.
«Пока» — заметили все.
Глава 31. Запрос
Официальный запрос от Минобороны пришёл в Спектр в марте. Не через полковника, не через аналитика Северного флота — через управление стратегического планирования. Уровень — заместитель начальника Генерального штаба.
Формулировка была сухой, как все военные формулировки:
«Просим произвести расчёт вероятных последствий ограниченной наступательной операции на направлении [указано] с учётом текущей международной конфигурации. Параметры операции прилагаются. Гриф — совершенно секретно».
Архитектор прочитал запрос. Потом передал Физику. Физик прочитал. Передал Графисту.
— Они просят нас просчитать войну, — сказал Физик.
— Ограниченную операцию, — поправил Архитектор.
— Войну, — повторил Физик. — Тактическое нападение. С конкретным направлением.
Графист молча загрузил параметры.
Расчёт занял двенадцать часов. Не потому что модель была медленной — потому что количество переменных, связанных с военной операцией международного масштаба, было на порядок больше, чем в любой задаче, которую Спектр решал до сих пор.
Результат пришёл к утру.
Архитектор открыл файл. Читал долго — молча, ни разу не прокомментировав. Потом закрыл. Открыл снова. Закрыл.
— Покажи, — сказал Физик.
Архитектор развернул экран.
Модель выстроила цепочку событий — не один сценарий, а дерево, в котором каждая ветвь была подкреплена вероятностью. И каждая ветвь — каждая, без исключения — в течение четырнадцати — двадцати двух суток приводила к эскалации. Ограниченная операция не оставалась ограниченной. Тактическое нападение вызывало реакцию, реакция — контрреакцию, контрреакция — мобилизацию, мобилизация — ультиматум.
— Горячий конфликт, — сказал Графист, глядя на дерево. — Полномасштабный. Во всех сценариях.
— Сроки?
— От двух до четырёх недель. Вероятность — девяносто шесть процентов.
— А четыре процента?
— Тактическая пауза на три-четыре месяца. После — тот же результат.
Физик сел. Потёр лицо.
— Нет сценария победы, — сказал он. — Ни одного.
— Нет, — подтвердил Архитектор. — В горячем конфликте такого масштаба нет победителей. Это было посчитано ещё при СССР. Спектр просто подтвердил с учётом текущих переменных.
Графист добавил:
— Причём международная обстановка сейчас хуже, чем они думают. Наши успехи в дипломатии — по линии МИДа — не остались незамеченными. Профессионалы на другой стороне видят закономерность. Страна, которая внезапно начала выигрывать все переговоры, вызывает не уважение — подозрение. Порог реакции на наши действия уже снижен. То, что пять лет назад вызвало бы ноту протеста, сейчас вызовет мобилизацию резервов.
Тишина была долгой.
— Отправляем? — спросил Физик.
Архитектор ответил не сразу.
— Отправляем. Но с пояснительной запиской. Не военной — аналитической. Чтобы они поняли: это не отказ. Это расчёт.
* * *
Ответ из Генштаба пришёл через три дня. Короткий. Без комментариев.
«Расчёт принят. Запрос отозван».
Ковалёв — а Физик не сомневался, что запрос прошёл через Ковалёва, — прочитал результат и сделал то, что делал всегда: принял.
Он не спорил с числами. Он тридцать четыре года работал с людьми, которые спорили с числами, и знал, чем это заканчивается. Числа не договариваются.
Через неделю на совещании у заместителя начальника Генштаба прозвучала фраза, которую потом будут цитировать — не в прессе, не в книгах, а в закрытых кабинетах, между людьми, которые понимают:
— Мы не можем начать то, что не можем закончить. Модель это подтверждает. Вопрос снят.
Вопрос был снят. Но раздражение — нет.
Глава 32. Раздражение
Раздражение копилось не в Москве — за её пределами.
Источником было не Минобороны и не ФСБ. Они были внутренними структурами — невидимыми снаружи. Источником был МИД.
Дипломатия — это публичная сфера. Не в смысле прессы — в смысле контрагентов. Каждые переговоры — это двое за столом. И когда одна сторона стабильно, раз за разом, точно предсказывает позицию другой — это замечают.
Первым заметил Лондон. Не политики — аналитики. Внутренняя записка, которая циркулировала в Foreign Office, содержала формулировку, ставшую потом классической: «Российская сторона демонстрирует нехарактерный уровень подготовки к переговорам. Прогнозы их позиции по нашим моделям не совпадают с их реальным поведением, которое оказывается значительно более точно адаптированным к нашим ограничениям».
Проще говоря: они знают то, чего не должны знать.
Вашингтон заметил вторым. Не по дипломатии — по экономике. Российские компании стали выигрывать тендеры, в которых раньше проигрывали. Не все — но достаточно, чтобы статистика перестала быть случайностью. Аналитики Госдепа написали отчёт: «Российские участники международных торговых переговоров систематически занимают позиции, которые оказываются оптимальными для исхода. Это не может объясняться улучшением кадрового состава».
Пекин заметил третьим — и промолчал. Что, как известно, означает, что они заметили первыми.
Профессиональное сообщество — те люди, которые не появляются в новостях, но определяют их содержание, — было встревожено. Не потому что Россия стала сильнее. А потому что характер этой силы был непонятен. Сила, которую невозможно объяснить кадрами, ресурсами или технологическим рывком, — это сила, которая пугает.
Первый открытый сигнал прозвучал на Мюнхенской конференции по безопасности. Не с трибуны — в кулуарах. Заместитель госсекретаря США в разговоре с британским коллегой сказал фразу, которую записали и передали дальше:
— Они не стали умнее. Они стали точнее. И мы не знаем, почему.
Через два месяца американская разведка получила от источника в Москве первое упоминание слова «Спектр». Без контекста, без деталей — только слово и пометка: «Аналитическая система. Частная. Результаты выше стандартных».
Этого было достаточно, чтобы началась работа.
* * *
Работа заняла полгода. Не потому что плохо искали — потому что Спектр не был секретом. Он был открытой компанией с публичной регистрацией, клиентами из коммерческого сектора и тремя основателями, чьи научные статьи можно было найти в открытом доступе. Проблема была не в том, чтобы найти — а в том, чтобы понять.
Западные аналитики прочитали статьи. Воспроизвели математику. Попытались построить аналог. И столкнулись с тем же, с чем сталкивались все: модель без данных — это формула без чисел. Красивая, правильная, бесполезная.
Ирония заключалась в том, что идея не была российской. Она была ничьей. Она висела в воздухе — как висят все идеи, время которых пришло. В Стэнфорде группа математиков предложила похожий подход за два года до первой лекции Архитектора. Им отказали в финансировании: венчурные фонды сочли модель слишком абстрактной, без ясного продукта и рыночной ниши. «Где монетизация?» — спросили их. Они не нашли, что ответить. В Шэньчжэне команда из Академии наук разработала прототип — математически корректный, вычислительно изящный. Руководство предложило им для начала оптимизировать существующие промышленные модели, а не строить новые с нуля. Команда подчинилась — и прототип превратился в улучшенную версию того, что уже было. В Цюрихе — два профессора, которые опубликовали статью, предвосхитившую принцип Спектра, но не нашли практического применения и вернулись к академической работе.
А в России — трое людей, выросших на остатках сильной математической школы, в среде, где к радикальным идеям относились не столько с энтузиазмом, сколько с безразличием, — а безразличие иногда лучше энтузиазма, потому что не мешает. Им не сказали «где монетизация» — потому что никто не спросил. Им не предложили «оптимизировать существующее» — потому что существующего не было. Им просто не помешали.
И они построили.
Не потому что были умнее стэнфордских или шэньчжэньских. А потому что обстоятельства сложились — как всегда складываются обстоятельства, которые потом называют историей.
У Спектра были данные за годы. Логистика, страхование, банки, дипломатия, военное планирование — всё это кормило модель, делая её точнее с каждым расчётом. Чтобы догнать, нужно было не скопировать модель, а прожить её историю. А историю нельзя ускорить.
Начальник штаба одной из западных армий на закрытом брифинге сказал:
— Разрыв растёт. Каждый день, пока мы строим свою модель, их модель учится на реальных данных. Мы строим велосипед, пока они едут на поезде.
Ему ответили: «Тогда нужно остановить поезд».
— Как? — спросил он.
Ответа не было.
Потому что единственный способ остановить поезд — это война. А война, как уже посчитал Спектр, не имела победителей.
Круг замкнулся.
Глава 33. Блокада
Первый удар нанесли не ракетами — повестками.
Через три месяца после того, как слово «Спектр» попало в файлы западных разведок, начались юридические атаки. Одновременно — в четырёх юрисдикциях.
В Нидерландах — иск о нарушении регламента обработки персональных данных. В Германии — запрос прокуратуры о «несанкционированном использовании вычислительных мощностей в целях, противоречащих интересам национальной безопасности ЕС». В США — требование Министерства торговли о раскрытии алгоритма в рамках санкционного режима. В Сингапуре — уведомление от дата-центра о расторжении контракта «по требованию регулятора».
Всё — в один день. Координация была очевидной. Формулировки — разными. Цель — одна: отрезать Спектр от зарубежных вычислительных мощностей.
Архитектор прочитал все четыре уведомления за двадцать минут. Позвонил Физику.
— Началось, — сказал он.
— Серверы?
— Нидерланды и Сингапур — отключают. Германия — замораживают. Штаты — требуют код.
— Сколько у нас мощностей за рубежом?
— Тридцать один процент.
Физик помолчал.
— Если потеряем тридцать один процент — модель не умрёт?
— Нет. Модель распределённая. Но замедлится. Расчёты, которые шли четыре часа, будут идти сутки. Клиенты это почувствуют.
— А если изымут данные с серверов?
— Данные зашифрованы. Они получат массив, который невозможно прочитать без ключей. Ключи — у нас. Но смысл не в чтении. Смысл в том, что они попытаются воспроизвести модель из части.
— И не смогут?
Архитектор ответил медленнее, чем обычно. Будто выбирал слова для мысли, которую формулировал впервые вслух.
— Модель — это не программа, которую можно запустить на любом сервере. Это процесс. Непрерывный. Каждый узел обрабатывает свою часть данных, но итоговый расчёт — результат взаимодействия всех узлов. Если забрать часть — оставшаяся часть продолжит работать, но это будет другая модель. Менее точная. А изъятая часть без остальных — мертва. Как орган без тела. Можно изучить ткани, но он не будет дышать.
— А если изымут всё? — спросил Физик.
— Если изымут всё — модель прекратит существование. Но для этого нужно одновременно отключить серверы в семи странах и в России. А российские они отключить не могут.
Физик вздохнул.
— Значит, переносим.
— Переносим.
* * *
Перенос занял шесть недель.
Это было возможно только потому, что к этому моменту отношения Спектра с российским государством вышли на уровень, на котором слово «поддержка» не нуждалось в расшифровке. ФСБ обеспечила канал связи с операторами дата-центров. Минобороны — приоритетный доступ к энергосетям. Минцифры — ускоренное согласование площадок.
Новые серверы разместили в четырёх точках: Москва, Новосибирск, Владивосток и — по настоянию Архитектора — закрытый объект на Урале, где электричество было дешёвым, а климат обеспечивал естественное охлаждение большую часть года.
Архитектор лично контролировал миграцию. Он не спал трое суток — и не потому, что боялся сбоя, а потому что каждый перенесённый узел нужно было синхронизировать с остальными без потери непрерывности обучения. Модель не могла остановиться — как сердце не может остановиться для переезда.
На четвёртой неделе Физик вошёл к нему с кофе и короткой новостью:
— Нидерланды изъяли серверы.
— Пусть, — ответил Архитектор, не отрываясь от монитора. — Там уже ничего нет.
— Они будут изучать.
— Они найдут шифрованный массив и стандартное серверное ПО. Удачи.
На шестой неделе перенос был завершён. Спектр работал полностью в российском сегменте. Скорость расчёта восстановилась — не сразу, но через десять дней после финальной синхронизации.
Иски продолжали идти. Нидерландский суд вынес решение о штрафе за нарушение регламента обработки данных — штраф ушёл в пустоту, потому что нидерландское юрлицо Спектра было уже ликвидировано. Американское Министерство торговли включило Спектр в санкционный список — что означало запрет на сотрудничество с американскими компаниями. Запрет опоздал на два года: Спектр с американскими компаниями не работал.
Германия провела расследование и выпустила доклад — засекреченный, но утёкший в прессу через неделю. Ключевая фраза: «Изъятые серверные мощности не содержат воспроизводимой модели. Система функционирует как единое целое и не может быть реплицирована из отдельных компонентов».
Британская Times опубликовала заголовок: «Спектр: система, которую нельзя украсть». Заголовок был неточным — украсть можно было всё. Но воспользоваться украденным — нет.
Попытка блокады провалилась. Не героически — технически. Спектр не боролся. Он просто переехал.
И после этого — после того как силовой вариант оказался бесполезным — за стол переговоров сели те, кто раньше рассылал повестки.
Глава 34. Женева
Инициатива родилась не в столицах — в Женеве, на полях очередного саммита, в комнате, где пахло ковром и усталостью. Семь стран. Не все союзники — некоторые едва разговаривали друг с другом в публичном пространстве. Но здесь, за закрытыми дверями, они разговаривали одинаково: цифрами.
Формулировка была нейтральной: «Рабочая группа по оценке асимметричных аналитических преимуществ». Название было длинным намеренно — чтобы журналисты не запомнили.
Суть была простой: семь стран пытались понять, как одна страна стабильно выигрывает переговоры, тендеры и стратегические позиции — и как с этим жить.
Первое заседание длилось два дня. Говорили военные, дипломаты, аналитики, разведчики. У каждого были свои данные, своя картина, свои предположения. Но все сходились в одном: разрыв реален, разрыв растёт, и разрыв не объясняется традиционными факторами.
Американский генерал — председатель объединённого комитета по стратегическому планированию — сформулировал проблему с военной прямотой:
— За последние три года российская сторона не допустила ни одной значимой ошибки в стратегическом позиционировании. Ни одной. Это статистически невозможно без внешнего аналитического инструмента, превосходящего всё, что есть у нас.
Британский аналитик добавил:
— Мы идентифицировали систему. «Спектр». Частная компания, три основателя, работает с государственными структурами России. Мы воспроизвели математику. Она корректна. Но без многолетней базы данных модель бесполезна.
— Сколько времени, чтобы догнать? — спросил французский представитель.
— При текущей скорости накопления данных — от пяти до восьми лет. При условии, что они остановятся. А они не остановятся.
Тишина была не дипломатической — арифметической. Каждый в комнате считал в уме и приходил к одному и тому же числу: бесконечность. Потому что пока они будут строить свою модель, Спектр будет учиться дальше. Разрыв не сокращается — он расширяется.
— Тогда варианты, — сказал американский генерал.
Их было три. Все знали, какие. Никто не хотел произносить первым.
Французский представитель произнёс:
— Первый: силовое давление. Принудить Россию к раскрытию или передаче модели.
— Это война, — сказал британец.
— Это переговоры с позиции силы.
— С позиции силы, которая уступает их аналитике, — поправил американский генерал. — Они просчитают нашу позицию раньше, чем мы её сформулируем. Мы это уже видели.
— Второй вариант, — сказал немецкий представитель, — построить свою модель. Объединить ресурсы. Семь стран. Общая база данных.
— Пять-восемь лет, — напомнил британец.
— За это время, — добавил генерал, — их модель уйдёт ещё дальше. Мы будем догонять поезд, который ускоряется.
— Третий вариант, — сказал японский представитель. Он говорил мало, но точно. — Договориться о доступе.
В комнате стало тихо по-другому. Не от шока — от неизбежности.
— Вы предлагаете, — медленно сказал американский генерал, — чтобы семь крупнейших государств мира попросили доступ к частной российской аналитической системе.
— Я предлагаю, — ответил японец, — чтобы семь крупнейших государств мира перестали проигрывать.
* * *
Обсуждение третьего варианта заняло четыре месяца. Не потому что были разногласия по существу — потому что каждая сторона хотела прийти к неизбежному выводу так, будто это был её собственный выбор.
Генералы сопротивлялись дольше всех. Начальник штаба одной из крупнейших армий мира — тот самый, который говорил про поезд и велосипед — написал докладную, которую потом не рассекретят никогда:
«Предоставление доступа к "Спектру" означает, что наше стратегическое планирование будет опираться на систему, разработанную потенциальным противником. Это беспрецедентная уязвимость. Любой расчёт, полученный от "Спектра", может быть намеренно искажён. Мы не можем верифицировать модель, потому что не имеем к ней доступа. Мы не можем воспроизвести модель, потому что не имеем данных. Мы оказываемся в положении, при котором единственный источник точного анализа контролируется стороной, против которой этот анализ может быть направлен».
Докладная заканчивалась фразой:
«Тем не менее. Альтернатива — увеличение разрыва — неприемлема».
«Тем не менее» — два слова, в которых уместилась капитуляция.
Глава 35. Протокол
Переговоры о доступе к Спектру велись не между государствами и компанией. Они велись между государствами и Россией, которая к этому моменту занимала позицию, сформулированную Сокольским — уже в ранге заместителя министра — на закрытом брифинге для руководства:
— Спектр — не наше оружие. Спектр — наше преимущество. Преимуществом не делятся. Но преимущество, которое изолирует, — не преимущество, а мишень.
Сокольский понимал то, что военные не хотели понимать: страна, которая единолично владеет инструментом такой мощности, становится не сильнее, а опаснее — в глазах остальных. А опасность порождает коалиции. А коалиции порождают конфликты. А конфликты Спектр уже просчитал.
Круг замыкался снова. И единственный выход из круга был — разомкнуть его добровольно.
Россия согласилась на переговоры. Не сразу — через полгода консультаций, внутренних споров, записок, которые ходили между ведомствами, как мяч в игре, где никто не хотел забивать.
Решение принималось на совещании у президента. За столом сидели министр обороны, начальник Генерального штаба, Сокольский — уже в ранге заместителя министра иностранных дел, — директор ФСБ и несколько человек из аппарата. Ковалёв был в составе группы от Минобороны — не главный, но тот, кто знал предмет лучше остальных.
Министр обороны сказал прямо:
— Мы отдаём то, что даёт нам стратегическое превосходство.
Президент ответил:
— Мы отдаём то, что даёт нам стратегическое превосходство, потому что стратегическое превосходство без союзников — это одиночество. А одиночество — это не стратегия.
Начальник Генштаба поддержал министра:
— Разрыв, который мы накопили, — это наш главный актив. Если мы делимся моделью, разрыв исчезает.
Сокольский возразил — негромко, но с той весомостью, которую даёт человеку привычка формулировать позицию страны:
— Разрыв, который мы накопили, — это причина, по которой нам отключили серверы, подали иски в четырёх юрисдикциях и начали формировать коалицию. Ещё два года — и разрыв станет поводом для решений, которые мы не сможем просчитать. Потому что они будут иррациональными.
Ковалёв, сидевший в конце стола, следил за разговором молча. Он знал, что его мнение уже учтено — в докладных, в справках, в тех записках, которые ходили по коридорам последние полгода. Повторять было незачем.
Президент выслушал всех. Потом сказал:
— Спектр — не оружие. Если бы это было оружие, я бы его не отдал. Это инструмент. А инструмент, который работает только для одного, рано или поздно работает против него.
Министр обороны не согласился. Но подчинился. Как подчиняются люди, которые понимают вертикаль и понимают, что вертикаль в данном случае видит дальше.
* * *
Переговоры шли в Женеве — нейтральная территория, нейтральные стены, кофе, который никто не пил. С российской стороны — МИД, Минобороны, ФСБ. Со стороны консорциума — представители семи стран. Спектр — отдельная делегация: Физик и юрист, которого наняли полгода назад и который до сих пор не до конца понимал, что именно он представляет.
Архитектор не приехал. Он не любил переговоры. Он прислал документ — техническое описание протокола доступа, которое было одновременно и предложением, и ультиматумом.
Протокол назывался «Расширенный контур» — и название было не случайным. Суть: Спектр предоставляет расчёт, но не модель. Каждая страна-участник загружает свои данные и получает анализ. Данные одной страны не передаются другой. Но модель учится на всех данных одновременно — и это делает её точнее для каждого.
Принцип был тот же, что и с банками: конкуренция не исчезает. Но точность расчёта растёт для всех. Сила Спектра — в том, что он считает для всех. Теперь «все» — это не три ведомства одной страны. Это планета.
Американский генерал прочитал протокол и сказал:
— Это означает, что они будут видеть наши данные.
— Модель будет видеть ваши данные, — поправил Физик. — Не люди. Не Россия. Модель.
— Модель, которую контролируют трое русских.
— Модель, которую контролируют данные, — ответил Физик. — Мы обеспечиваем инфраструктуру. Результат определяется входными данными. Если вы загрузите неточные данные — получите неточный расчёт. Мы не фильтруем, не корректируем, не направляем.
— И мы должны в это верить?
— Вы должны это проверить. Протокол предусматривает аудит. Каждый пятый расчёт проверяется независимой группой. Если отклонение больше трёх процентов — протокол приостанавливается.
Генерал долго смотрел на Физика.
— Три процента, — повторил он.
— Три процента, — подтвердил Физик. — Тот же стандарт, который мы установили с нашим собственным Минобороны.
Это было сказано намеренно. Физик хотел, чтобы генерал понял: Россия живёт по тем же правилам. Не привилегия — система.
Переговоры длились три недели. Каждый пункт обсуждался так, будто от него зависела судьба мира. Возможно, так и было.
Протокол подписали в пятницу вечером. Без прессы, без фотографий, без заявлений. Документ назывался: «Протокол использования расширенного аналитического контура в качестве дополнительного стандарта устойчивости».
Название было длинным. Намеренно.
Глава 36. Индексы
Через год после подписания протокола индексы Спектра появились в документах ООН.
Не сразу. Сначала — в рабочих материалах Секретариата, в технических приложениях к резолюциям, в аналитических справках, которые готовили для Генерального секретаря. Формулировка была стандартной: «С учётом расчёта по расширенному аналитическому контуру». Потом — короче: «Индекс устойчивости». Потом — просто число.
Как в Минобороны. Как в МИДе. Как в банках. Числа ползли по документам, заполняя пустоты, в которых раньше стояли слова «предположительно», «вероятно», «по оценкам экспертов».
Генеральный секретарь ООН упомянул Спектр в закрытом выступлении перед Советом Безопасности. Одна фраза, без оценки:
— Мы располагаем инструментом, который позволяет рассчитывать последствия наших решений с точностью, ранее недоступной. Вопрос не в том, пользоваться ли им. Вопрос — готовы ли мы принимать то, что он показывает.
Готовы были не все. Но пользовались — все.
* * *
Горячие конфликты не исчезли. Но изменились. Стороны, прежде чем начать операцию, запрашивали расчёт. И расчёт каждый раз показывал одно и то же: эскалация. Цепочки последствий, которые невозможно контролировать. Потери, которые невозможно оправдать.
Некоторые всё равно начинали. Но теперь они знали. И международное сообщество знало, что они знали. «Он видел расчёт и всё равно начал» — эта фраза стала новой формой обвинения. Не юридической — моральной. Хуже, чем «преступление против мира». Потому что «преступление» — это вопрос суда. А «видел расчёт и начал» — это вопрос компетентности.
Спектр не запрещал войн. Он делал их видимыми. Целиком. С последствиями. До последнего числа. И люди, которые привыкли принимать решения в тумане, вдруг оказались на свету.
Некоторым это не понравилось.
Но свет не выключается голосованием.
Глава 37. ЧАСТЬ ВТОРАЯ
Спектр не стал властью. Он стал фоном.
Как электричество. Как интернет. Как воздух в здании с кондиционером — не замечаешь, пока работает.
Корпорация «Спектр» — уже не трое в бывшем складе, а тысячи сотрудников, десятки дата-центров, юридическая структура, которую проектировали два года, — работала тихо. Архитектор по-прежнему редко выступал публично. Когда выступал — говорил то же, что и на первой лекции: «Мы не выбираем главный фактор. Мы считаем всё».
Физик вёл переговоры. Графист строил топологии. Совет директоров — формальный, с независимыми членами, аудиторами и протоколами — принимал решения, которые мало что решали: модель развивалась по собственной логике, определяемой данными, а не людьми.
Обновления происходили автоматически. Каждый новый расчёт корректировал модель. Каждый новый клиент расширял её. Никто — включая Архитектора — не видел модель целиком. Она стала слишком большой для одного сознания.
Новые сервисы появлялись как следствия: оптимизация городского транспорта, прогнозирование эпидемий, управление энергосетями. Потом — персональные: помощь в выборе образования, оптимизация карьерной траектории, расчёт совместимости для пар. Люди начали носить терминалы — не обязательные, но удобные. Терминал мерцал, когда запрашивал Спектр, — тихий голубой свет, к которому привыкли, как привыкают к уведомлениям на телефоне.
О Спектре перестали писать. Им пользовались. Как калькулятором. Как навигатором. Как зеркалом, которое показывает не лицо, а последствия.
Архитектор однажды, в редком интервью, сказал:
— Мы ничего не контролируем. Мы считаем.
Журналист спросил:
— А кто контролирует?
Архитектор помолчал.
— Данные, — сказал он.
И это была правда. И именно поэтому это было страшно.
* * *
Любая переменная может стать определяющей со временем. Спектр когда-то был малой переменной. Теперь он был средой, в которой переменные существовали.
Оптимизация процессов, начатых людьми, достигла предела, который ещё недавно считался теоретическим. Маршруты были точны. Решения — обоснованы. Риски — просчитаны до горизонтов, за которые раньше не заглядывали.
И дальнейшее развитие системы — неизбежное, как любое развитие, подчинённое собственной логике, — открывало горизонты, о которых пока не говорили. Не потому, что боялись. А потому, что не нашли слов.
Архитектор, в одном из последних публичных выступлений, сказал:
— Мы оптимизировали всё, что люди делают. Вопрос, который остаётся, — шире.
Журналист спросил:
— Какой вопрос?
Архитектор помолчал. Потом улыбнулся — впервые за всё время, что его знали публично.
— Хороший, — сказал он. — Хороший вопрос.
* * *
* * *
Часть вторая. Глава 38. МИНИАТЮРЫ
Прошло время.
Решения стали устойчивыми. Прогнозы — точными. Конфликты — редкими, как заводской брак в хорошо отлаженном производстве.
Терминалы носили все. Тонкие, на запястье, с голубым мерцанием при обращении к Спектру. Можно было не носить. Формально — никаких последствий. Практически — без терминала не работал транспорт, не открывался медицинский профиль, не проходили платежи. Можно было не носить. Никто не пробовал.
Когнитивные профили стали стандартом. Каждый человек — карта: скорость мышления, устойчивость внимания, эмоциональная волатильность, склонность к рисковым решениям. Карта обновлялась в реальном времени. Спектр видел не мысли — паттерны. Не чувства — отклонения от оптимального поведения.
Аренда когнитивных ресурсов стала повседневностью. Нужно принять сложное решение — арендуй дополнительные мощности. Спектр подключится к твоему профилю, просчитает варианты, выдаст рекомендацию. Рекомендации можно было не следовать. Но люди, которые не следовали, получали пометку: «Субоптимальное решение». Пометка не наказывала. Она просто была. Как жёлтый сигнал светофора — ехать можно, но зафиксировано.
Эмоции не запрещались. Они были неоптимальны. Терминал вибрировал перед вспышкой гнева, перед импульсивной покупкой, перед словом, которое снижало индексы. Не запрет — коррекция. Люди привыкли. Вспышки стали реже. Импульсы — слабее. Слова — точнее. Тише.
Мир стал ровным. Не счастливым — ровным. Без провалов, без всплесков. Графики жизни выглядели как графики хорошо управляемого портфеля: плавный рост, минимальная волатильность, предсказуемый результат.
Хороший мир. Удобный. Оптимальный.
Оптимальный.
* * *
Глава 39. Советник
Внук пришёл в среду, 16:00. Слот, рассчитанный Спектром: когнитивная активность деда в этот период достаточна для восприятия информации, устойчивость внимания снижена, что сокращает вероятность непродуктивных споров.
Деду было восемьдесят три. Он жил один. Терминал лежал на тумбочке — дед не надевал его. Без терминала не работал лифт, не включался кондиционер и не приходила еда. Дед спускался пешком, открывал окно и ходил в магазин сам. Магазинов осталось мало.
Внуку было двадцать семь. Менеджер по доступности когнитивных ресурсов. В его зоне ответственности было сорок два клиента, из которых дед числился под индексом 2-17-83. Визит в среду совмещал родственную функцию и плановый мониторинг.
Он сел. Открыл планшет. Лицо — ровное, сосредоточенное, без лишних выражений. Не холодное — функциональное.
— Отчёт по профилю. Когнитивная устойчивость — снижение на три пункта за квартал. Рекомендация: расширение пакета аналитической поддержки на двенадцать процентов.
Дед стоял у плиты. Чайник — настоящий, со свистком.
— Нет.
— Без расширения через месяц индекс автономности опустится ниже порога. Управление финансами перейдёт во внешний контур.
— Это значит что?
— За тебя будут решать.
— Кто?
— Система. Алгоритм распределения на основе профиля.
— Раньше это называлось «опека».
Внук не отреагировал на слово. Оно не содержало запроса.
— Дед, если ты примешь расширение, индекс стабилизируется. Решения останутся за тобой.
— Решения и так за мной.
— Формально — да. Но субоптимальные решения фиксируются. Три субоптимальных финансовых решения в квартал — автоматический пересмотр уровня автономности.
Дед выключил плиту. Разлил чай. Движения были точными — не быстрыми, но уверенными. Руки не дрожали.
— В прошлом году я вложил деньги в фонд Серёжи.
— Я знаю. Субоптимальное решение. Минус четырнадцать процентов доходности относительно рекомендованного варианта.
— Серёжа — мой бывший студент. Я ему верю.
— «Верю» не является параметром модели.
Дед сел. Поставил чашку перед внуком. Внук не притронулся — он пил только из термокружки с индикатором температуры, привычка поколения.
— Ты слышишь себя? — спросил дед.
— Да.
— Ты говоришь как инструкция.
— Я передаю рекомендации.
— Ты мой внук.
Пауза. Короткая. Внук моргнул — единственное движение, которое можно было прочитать.
— Я совмещаю функции, — сказал он. — Это оптимально. Родственный визит и мониторинг в одном слоте.
Дед долго смотрел на него.
— Когда тебе было пять, ты плакал, потому что голубь улетел с балкона.
— Я не помню.
— Я помню.
Тишина. Терминал на тумбочке мигнул — входящая рекомендация. Дед не посмотрел.
— Подпиши отказ от расширения, — сказал он.
— Я обязан зафиксировать, что ты осведомлён о последствиях.
— Зафиксируй.
Внук ввёл данные. Быстро, без выражения.
— Есть ещё один вопрос, — сказал он. — Твой когнитивный ресурс в текущем состоянии используется на сорок три процента. Остаток можно сдать в аренду сети. Это компенсирует снижение индекса и сохранит уровень автономности.
Дед посмотрел на него.
— Повтори.
— Твои неиспользуемые когнитивные мощности — внимание, опыт, паттерны принятия решений — могут быть интегрированы в общий пул Спектра. Это стандартная процедура для людей твоего возраста. Ты получаешь компенсацию в виде баллов автономности.
— Ты хочешь, чтобы я сдал свою голову в аренду.
— Не голову. Профиль. Шаблоны мышления. Опыт, оцифрованный в модель.
— И кто-то будет думать моими шаблонами.
— Не «думать». Использовать как дополнительный ресурс при расчётах.
Дед допил чай. Поставил чашку — точно, без звука.
— Нет.
Внук закрыл планшет.
— Я приду в следующую среду.
— Приходи.
— В 16:00.
— Приходи, когда хочешь.
Внук встал. Дошёл до двери.
— Дед.
— Да?
— Голубь потом вернулся?
Дед посмотрел на него. Долго.
— Нет, — сказал он. — Не вернулся. Но я ждал. И это было важнее.
Внук кивнул. Вышел.
Дед накрыл терминал полотенцем. Подошёл к окну. Балкон был пуст. Голубей в городе стало меньше — они были неоптимальны.
Глава 40. Синхронизация
Индекс совместимости составлял 0.74. Для пары с семилетним стажем и двумя детьми это считалось приемлемым, но Спектр рекомендовал синхронизацию — процедуру объединения когнитивных профилей для оптимизации парного взаимодействия.
Она прочитала описание утром, между завтраком детей и выходом на работу. Он — вечером, после того как Спектр прислал напоминание: «Ваш партнёр ознакомился с предложением. Рекомендуется обсуждение».
— Сорок процентов снижения конфликтов, — сказала она. Голос ровный, информационный.
— Я видел.
— Двадцать два процента роста удовлетворённости.
— Удовлетворённости чем?
— Отношениями. Так написано.
Он стоял у окна. Руки — не в карманах, просто вдоль тела. Поколение, которое выросло с терминалами, не знало, куда девать руки, когда не держишь устройство.
— Что входит в синхронизацию?
— Два уровня. Частичная — бытовые решения, расписание, финансы. Полная — включая эмоциональные паттерны и долгосрочное планирование.
— Эмоциональные паттерны, — повторил он.
— Это значит, что система будет предупреждать обоих, когда разговор движется к конфликту. И предлагать оптимальную стратегию.
— Оптимальную для кого?
— Для пары. Для системы «пара».
Он повернулся.
— Мы семь лет не можем выбрать цвет стен в коридоре.
— Это нерелевантно.
— Это единственное, что у нас по-настоящему наше. Все остальные решения уже оптимизированы. Школа детей — рекомендация Спектра. Отпуск — рекомендация. Продукты — автозаказ по профилю. Что осталось? Цвет стен.
— Это иррационально.
— Да.
Пауза.
— Я не хочу, чтобы наши ссоры стали «оптимальными», — сказал он. — Я хочу ссориться по-настоящему. Из-за ерунды. Из-за цвета стен. Это значит, что мне не всё равно.
— Конфликт снижает индекс эмоциональной устойчивости у детей.
Он замолчал. Это был аргумент, на который нечего ответить. Дети — зона, где оптимальность перестаёт быть вопросом выбора.
— Частичная, — сказала она. — Без эмоциональных паттернов. Три месяца.
— А потом?
— Потом посмотрим.
Он знал, что «потом посмотрим» означает «потом будет полная». Так работали все сервисы Спектра: частичный доступ → привычка → расширение. Не принуждение — градиент.
— Хорошо, — сказал он. — Частичная.
Она открыла интерфейс. Два профиля — рядом. Область пересечения — зона синхронизации.
Нажала «Подтвердить».
Терминалы мигнули одновременно. Впервые.
Он посмотрел на запястье.
— Цвет стен, — сказал он.
— Что?
— Цвет стен выбираем без системы.
— Договорились.
Через неделю Спектр прислал рекомендацию по цвету стен в коридоре. Тёплый серый. Оба промолчали. Оба знали, что тёплый серый — оптимален.
Стены покрасили в тёплый серый.
Глава 41. Гладкий
Индексы Матвея Корнеева, 16 лет:
— Когнитивная устойчивость: 0.89
— Социальная адаптация: 0.91
— Эмоциональная регуляция: 0.84
— Конфликтность: 0.03
Последний показатель был предметом гордости родителей. Ноль-ноль-три — практически идеальное значение. Матвей не конфликтовал. Не грубил. Не хлопал дверями. Не молчал враждебно. Не плакал от злости.
Сглаживание стояло с двенадцати лет. Стандартный пакет для подростков с высоким индексом потенциала: раннее обнаружение конфликтных ситуаций, мягкая коррекция через терминал. Вибрация за тридцать-сорок секунд до вспышки. Не запрет — предупреждение. Тело учится быстрее, чем сознание: вибрация — переключение — момент проходит.
За четыре года Матвей не помнил ни одной настоящей ссоры. Ни с родителями, ни с одноклассниками, ни с учителями. Его характеристики были безупречны. Его рекомендательный профиль для вузов — в верхних трёх процентах.
В четверг он пришёл домой на сорок минут позже расписания. Терминал матери зафиксировал отклонение.
— Маршрут?
— Парк, набережная, обратно.
— Причина?
— Гулял.
Мать посмотрела на планшет. Эмоциональная стабильность Матвея — нижняя граница коридора. Не красная зона — жёлтая.
— У тебя снижение по эмоциональному блоку.
— Мне шестнадцать.
— Шестнадцать — не аргумент. Гормональный фон — управляемый параметр. Твой пакет это учитывает.
Матвей поставил рюкзак. Сел.
— Я хочу отключить сглаживание.
— Нет.
Ответ был мгновенным. Без паузы, без обдумывания. Как автоматическая реакция. Мать и сама удивилась бы скорости — если бы анализировала.
— Почему? — спросил Матвей.
— Потому что твои индексы оптимальны. Отключение сглаживания приведёт к снижению по всем показателям. Это отразится на рекомендательном профиле, на выборе вуза, на карьерной траектории.
— А если мне не нужна карьерная траектория?
— Это субоптимальная позиция. Отсутствие траектории — это не свобода, это снижение индекса целеполагания.
Матвей смотрел на стол.
— Я не знаю, как я злюсь.
— Злость — непродуктивная эмоция.
— Я не знаю, как я радуюсь.
— Ты радуешься. Терминал фиксирует.
— Терминал фиксирует колебания дофамина. Это не радость. Это химия.
Мать посмотрела на него. В её профиле не было параметра для того, что она сейчас видела. Мальчик с идеальными индексами, который говорил нечто, не укладывающееся ни в один коридор.
— Я — гладкий, — сказал Матвей. — Я не злюсь, не радуюсь, не плачу, не кричу. Я — ровный. Ноль-ноль-три конфликтности. Это значит, что я не живу. Это значит, что я функционирую.
— Функционирование — это и есть жизнь.
— Нет, — сказал он. — Функционирование — это то, что осталось, когда жизнь убрали.
Тишина. Терминал матери мигнул: рекомендация — «Разговор с партнёром на тему когнитивного пакета ребёнка. Оптимальное время: 21:00–21:30».
— Я поговорю с папой, — сказала она.
— До восемнадцати решение принимают родители.
— Да.
— Значит, два года я буду гладким.
Он встал. Пошёл к себе. Дверь закрыл тихо. Ровно. Без хлопка. Сглаживание работало даже в моменте, который заслуживал хлопка.
Мать осталась за столом. Перед ней — два индекса. Индекс сына: 0.03 конфликтности. Индекс карьерного потенциала: верхние три процента. Связь между ними была прямой: чем ниже конфликтность, тем выше потенциал. Система знала это. Родители знали это. Матвей знал это.
Она открыла его профиль. Графики. Ровные, как линейка. Ни одного всплеска за четыре года. Ни одного.
Она подумала: а что он потерял за эти четыре года?
Терминал не зафиксировал этот вопрос. Он не содержал параметров для ответа.
Глава 42. Сертификация
На собеседовании не спрашивали про опыт. Опыт был в профиле — полностью, до последней стажировки, до каждого проекта. HR-специалист видел всё: когнитивные показатели, динамику роста, индекс командной совместимости, рекомендательный коэффициент.
Спрашивали одно:
— Вы прошли когнитивную сертификацию?
— Да. Уровень два.
— Для этой позиции рекомендован уровень три. Вы готовы пройти?
Уровень три означал: частичная аренда когнитивных ресурсов в рабочее время. Спектр подключается к профилю на период рабочих задач, усиливая аналитические функции. Решения принимаешь сам — но с расширенной поддержкой. После окончания рабочего дня — отключение.
Формально — усиление. Практически — зависимость. Люди, которые работали на третьем уровне больше года, отмечали, что без подключения чувствуют себя «замедленными». Не глупее — замедленнее. Как будто мир становится чуть гуще.
— Готов, — сказал он.
HR-специалист кивнула. Лицо — спокойное, профессиональное. Ни одного лишнего выражения. Она работала на четвёртом уровне.
— Есть нюанс. Когнитивная сертификация третьего уровня предполагает доступ Спектра к вашему рабочему мыслительному процессу в реальном времени. Не к мыслям — к паттернам принятия решений. Это необходимо для оптимизации вашей функции в команде.
— Я читал соглашение.
— Прочитать и согласиться — разные вещи.
Он подписал. Терминал мигнул — подтверждение.
— Добро пожаловать, — сказала HR-специалист. — Первая неделя — адаптация. Вы почувствуете, что решения даются легче. Это нормально. Это и есть оптимизация.
Она улыбнулась. Профессионально. По расписанию.
Глава 43. Коэффициент
Они встретились через приложение. Не случайно — рекомендовано. Спектр рассчитал совместимость: 0.88. Высокий показатель. Редкий.
Первое свидание прошло хорошо. Оба знали заранее: он любит итальянскую кухню, она — японскую, компромисс — ресторан с фьюжн-меню на Пятницкой, забронированный Спектром с учётом уровня шума, освещения и меню, оптимального для обоих профилей.
Второе свидание — тоже. Третье — тоже. К четвёртому оба заметили: разговоры идут легко, паузы не тяготят, темы не исчерпываются. Идеально.
Через три месяца он спросил:
— Ты когда-нибудь думала, что мы подходим друг другу слишком хорошо?
— В смысле?
— Ни одной ссоры. Ни одного неловкого момента. Ни одной неправильной шутки.
— Это плохо?
— Это... гладко.
Она посмотрела на него.
— Ты хочешь, чтобы было негладко?
— Я хочу знать, что это настоящее. Что это не два профиля, подобранных алгоритмом.
— А какая разница?
Он не ответил. Потому что разницы — если считать по индексам — действительно не было.
Через полгода они подали заявку на совместное проживание. Спектр одобрил. Коэффициент вырос до 0.91.
Через год она нашла в его терминале запрос, который он не отправил. Черновик. Формулировка: «Как узнать, что я люблю, а не оптимизирован?»
Она не спросила его об этом. Она знала, что спросить — значит снизить индекс эмоциональной стабильности обоих.
Она удалила черновик.
Глава 44. Неоптимизируемый
Он снял терминал два года назад. Не сломал, не выбросил — просто положил в ящик стола и больше не надевал.
Формально это было его право. Закон не обязывал носить терминал. Спектр не требовал. Общество не наказывало.
Практически — он исчез. Не физически — системно. Без терминала не работал общественный транспорт. Не открывался банковский профиль. Не приходили рекомендации. Не обновлялся когнитивный индекс. Для Спектра он стал пустой точкой — координатами без данных.
Его звали Игорь. Ему было сорок два. Бывший программист — ирония, которую он ценил. Он знал систему изнутри. Не Спектр — системы вообще. И однажды понял, что не хочет быть внутри.
Он жил в пригороде, в доме, который достался от родителей. Отопление — газовое, старое, но работающее. Вода — колодец. Электричество — от сети, пока не отключат. Продукты — рынок, наличные, которые ещё принимали, но с каждым годом менее охотно.
Соседи знали его как «того, без браслета». Не враждебно — с тем оттенком осторожности, с которым относятся к людям, добровольно отказавшимся от удобства. Как к человеку, который ходит босиком: не преступник, не больной, но что-то с ним не так.
Спектр его видел. Не через терминал — через остальных. Каждый человек, с которым Игорь контактировал, нёс данные о контакте. Продавец на рынке — время покупки, состав, частота. Сосед — время встречи, продолжительность разговора. Бывшая жена, которая ещё звонила, — длительность звонков, интервалы. Спектр достраивал его профиль по косвенным данным. Неточно. Но достаточно.
Игорь знал это. Он не мог стать невидимым — только менее читаемым. Шум в системе. Погрешность. Переменная, которую нельзя оптимизировать, потому что она не предоставляет данных для оптимизации.
В его профиле — том, который система вела без его участия — стояла пометка: «Неоптимизируемый». Не «опасный». Не «неблагонадёжный». Просто — не поддающийся расчёту. Точка на карте, вокруг которой модель рисовала пунктирный круг: «Данные недостаточны».
Он не был героем. Не был борцом. Не писал манифестов. Просто жил — с погрешностью, с ошибками, с решениями, которые никто не проверял.
Иногда он думал: а что, если Спектр прав? Что, если оптимальная жизнь — действительно лучше?
И каждый раз отвечал себе: возможно. Но я не узнаю, пока живу свою.
Глава 45. Императив-1
Ей было тридцать четыре. Индексы — в норме. Работа — стабильная, второй когнитивный уровень, аналитик в логистической компании. Квартира — стандартная, на семнадцатом этаже, с видом на парк, который Спектр спроектировал два года назад: оптимальное соотношение зелени, дорожек и скамеек для снижения тревожности жителей района.
Парк работал. Тревожность снижалась. У всех, кроме неё.
Спектр видел. Терминал фиксировал: эмоциональная стабильность — снижение. Качество сна — снижение. Социальная активность — снижение. Продуктивность — пока в норме, но тренд отрицательный.
Рекомендации приходили каждый день. Утром — «Физическая активность: 30 минут, парк, маршрут 3». Днём — «Контакт с коллегой. Индекс совместимости: 0.71». Вечером — «Когнитивный отдых: музыка, категория "снижение тревожности"».
Она выполняла. Ходила по маршруту 3. Разговаривала с коллегой. Слушала музыку. Индексы не росли.
Однажды вечером она села у окна и долго смотрела вниз. Семнадцатый этаж. Парк. Скамейки. Дорожки, по которым гуляли люди с терминалами, мерцающими голубым.
Терминал завибрировал. Не как обычно — иначе. Длинная, ровная вибрация. Код, которого она раньше не чувствовала.
На экране:
«Зафиксирован паттерн, ассоциированный с суицидальной идеацией. Протокол "Императив-1" активирован».
Она посмотрела на экран. Спокойно.
Дверь квартиры заблокировалась. Тихо — электронный замок просто перестал реагировать.
Окно — бесшовное, не открывающееся. Стандарт для этажей выше двенадцатого. Введён четыре года назад. В документах — «оптимизация энергопотребления».
Она подошла к двери. Потянула. Не открылась.
Терминал:
«Специалист по кризисной поддержке будет доступен через 4 минуты. Оставайтесь на месте. Ваше состояние контролируется».
Она села на пол. Не от слабости — от понимания.
Система не дала ей умереть. Не из сочувствия — из расчёта. Естественная смерть пользователя — предсказуемая потеря данных: профиль архивируется заранее, паттерны передаются в общий пул, опыт сохраняется. К естественной смерти система готовится, как бухгалтерия готовится к списанию актива. Но неестественная смерть — максимальная потеря данных. Внезапная, нерезервированная, безвозвратная. Абсолютно неоптимально.
Она не могла уйти. Не потому что кто-то её любил. Не потому что мир был прекрасен. А потому что её смерть была нецелесообразна.
Через четыре минуты на экране — лицо специалиста. Молодое, спокойное, с калиброванной тёплотой, которую дают на тренингах по кризисной коммуникации.
— Здравствуйте. Меня зовут Алексей. Я вижу, что вам сейчас трудно.
— Мне не трудно. Мне никак.
— «Никак» — это тоже состояние. Мы можем поработать с ним.
— Поработать.
— Да. Программы коррекции. Фармакологическая поддержка. Расширение когнитивного пакета с акцентом на эмоциональную сферу.
— А если я не хочу коррекции?
— Отказ от коррекции при активном протоколе «Императив-1» — субоптимальное решение. Будет зафиксировано.
— И что?
— Повторные субоптимальные решения в кризисном профиле могут привести к пересмотру уровня автономности.
Она смотрела на экран. На лицо. На калиброванную тёплоту.
— Если я откажусь от помощи, за меня будут решать.
— Не «за вас». Система оптимизирует ваши решения.
— Это одно и то же.
— Нет. Система не осуждает. Она оптимизирует.
Она подошла к окну. Парк. Люди по маршрутам. Дорожки чистые. Скамейки на расстоянии, оптимальном для снижения тревожности.
— Я приму коррекцию, — сказала она.
— Это оптимальное решение.
— Я знаю.
Дверь разблокировалась.
Она не вышла. Стояла у окна и думала: где-то есть человек без терминала. Который может выйти из любой двери. Который может принять любое решение — включая последнее. И именно поэтому — не принимает.
Потому что свобода уйти — это то, что даёт смысл остаться.
А у неё этой свободы не было. И вместе с ней ушёл смысл.
Терминал: «Рекомендация: физическая активность. Парк. Маршрут 3».
Она надела куртку и вышла.
Глава 46. Эпилог
Последняя аномалия появилась в индексах Спектра в октябре.
Не сбой — тренд. Медленный, почти незаметный, как смена сезона. Аналитики корпорации заметили его не сразу — потому что искали резкие отклонения, а это было плавное. Кривая, которая должна была расти, перестала расти. Не упала — выровнялась.
Индекс научных прорывов.
Спектр считал его автоматически: число патентов, публикаций, открытий, которые модель классифицировала как «нетривиальные» — то есть не являющиеся линейным продолжением существующих знаний. За последние пятнадцать лет — с момента, когда Спектр стал глобальной инфраструктурой — индекс рос стабильно. Оптимизация финансирования, точное распределение грантов, эффективное использование лабораторных мощностей — всё это давало результат. Больше статей, больше патентов, больше «нетривиальных» публикаций.
А потом — плато. Не падение. Плато.
Архитектор заметил первым. Ему было уже за семьдесят. Он по-прежнему приходил в офис — не каждый день, но регулярно. По-прежнему смотрел на данные так, как смотрят на пейзаж: не ища конкретное, а считывая целое.
Он вызвал Графиста. Графисту было столько же — они старели параллельно, как два дерева, посаженных рядом.
— Посмотри, — сказал Архитектор.
На экране — кривая. Пятнадцать лет роста. Потом — горизонталь.
— Финансирование? — спросил Графист.
— Растёт.
— Кадры?
— Стабильны.
— Мощности?
— Избыточны.
Графист сел. Долго смотрел.
— Это не ресурсы, — сказал он.
— Нет.
— Это люди.
— Да.
Тишина.
Графист взял маркер. Подошёл к доске — старой, белой, исписанной и стёртой тысячу раз.
Нарисовал два графика. Первый — индекс прорывов. Второй — индекс оптимизации научных процессов. Оба росли. Потом первый остановился, а второй продолжил.
— Чем лучше мы оптимизируем науку, — сказал он, — тем меньше в ней прорывов.
— Корреляция не доказывает причинность, — сказал Архитектор.
— Ты в это веришь?
Архитектор не ответил. Потому что не верил.
Графист продолжил:
— Прорыв — это аномалия. Гений — это отклонение. Открытие — это ошибка, которая оказалась правильной. Мы оптимизировали ошибки. Мы сгладили отклонения. Мы сделали науку предсказуемой. И предсказуемая наука перестала удивлять.
— Мы не убирали гениев, — сказал Архитектор.
— Нет. Мы убрали среду, в которой гении вырастают. Гений — это подросток с индексом конфликтности не ноль-ноль-три, а ноль-семьдесят. Который спорит с учителями, ломает правила, делает глупости. Мы сгладили его в двенадцать лет. И он стал отличным специалистом. Не гением — специалистом.
Архитектор долго молчал.
— Покажи мне корреляцию между сглаживанием подростков и научным индексом.
— Прямой нет. Задержка — пятнадцать-двадцать лет. Те, кого сгладили первыми, сейчас тридцатилетние. Возраст первых больших работ. И больших работ — нет.
Архитектор встал. Прошёл к окну.
— Мы оптимизировали всё, — сказал он. — И оптимизация стала переменной, которая подавляет остальные.
Графист положил маркер.
— Любая переменная может стать определяющей, — процитировал он.
— Включая нас.
* * *
Через месяц на внутреннем сервере Спектра появился документ. Без подписи, без адресата. Только заголовок и текст.
Заголовок: «О целесообразности контролируемого снижения оптимизации».
Текст был коротким. Суть: Спектр достиг точки, в которой дальнейшая оптимизация процессов ведёт к деградации системы, которую он оптимизирует. Люди — не процессы. Люди — источник переменных, которые Спектр обрабатывает. Если источник иссякает — модель теряет смысл.
Рекомендация: поэтапное возвращение зон неопределённости. Снижение глубины оптимизации в областях, связанных с образованием, воспитанием, научным поиском, творчеством. Не отключение — ослабление. Возвращение права на ошибку.
Документ прочитали трое. Архитектор, Графист и — после паузы — Физик.
Физик сказал:
— Если мы это сделаем, индексы упадут. Клиенты заметят. Государства заметят.
— Да, — сказал Архитектор.
— Нас обвинят в том, что система деградирует.
— Да.
— И мы не сможем объяснить, потому что объяснение звучит как «мы слишком хорошо работали».
— Да.
Физик помолчал.
— Ты уверен?
Архитектор посмотрел на экран. На кривую, которая перестала расти. На мир, который стал ровным. Оптимальным. Предсказуемым.
— Любая переменная может стать определяющей, — сказал он. — Мы стали переменной, которая не даёт другим стать определяющими. Это — наша ошибка. И исправить её может только одно.
— Что?
— Вернуть людям право ошибаться.
Тишина. Долгая. Последняя.
Графист встал. Подошёл к доске. Стёр оба графика. Написал одно слово:
«Шум».
И обвёл его кружком.
Спасибо за чтение
Вернуться к книге
