Часть 1. Камера на 200 миров
Алина заметила курьера ещё из окна редакции. Яркий рюкзак, серый пакет в руках, взгляд, который бегло проверяет номера офисов. Лифт при этом не работает третий день, поэтому тяжёлое дыхание доносится по лестнице раньше стука в дверь.
— На «Город.Нет», обзоры техники, — уточняет он, когда Алина выходит в коридор.
Она расписывается на экране, забирает пакет и возвращается в узкую комнату с двумя столами, старыми мониторами и видом на Амур. Кондиционер гремит, но даёт слабый поток прохладного воздуха. На соседнем столе мигает чат: редактор напоминает про сроки.
Внутри пакета — белая коробка, плотный картон, плотная полиэтиленовая плёнка. Логотип китайского бренда, слоган на английском и русском. «200 Мп. Видеть больше. Оживлять моменты». Алина тихо фыркает, но интерес не скрывает. Такие вещи она любит: шум вокруг «революции», техно-обещания, которые можно проверить в реальности.
Она аккуратно снимает плёнку, раскрывает коробку. Телефон лежит в формованной вкладке, стекло переливается в светлом отражении окна. Камера на задней панели действительно напоминает глаз: крупный круг на отдельном островке, вокруг мелкие датчики и вспышка.
— Ну здравствуй, — бормочет она, поднимая устройство. — Посмотрим, что там у тебя с мирами.
Включение занимает пару секунд. Логотип, короткая вибрация, настройка. Алина привычно пролистывает шаги: язык, сеть, учётная запись. Пропускает советы, отказывается переносить данные. Ей нужен «чистый» аппарат.
Когда на экране появляется рабочий стол, она сразу открывает камеру. Интерфейс стандартный, но вверху горит небольшой значок, подписанный «200M MAX». При нажатии открывается предупреждение: «Максимальное разрешение. Обработка может занять больше времени. Включить?»
Алина соглашается. Это и есть повод для обзора.
Первый кадр — кружка с остывающим кофе на столе, рядом мышка, блокнот, ручка. Камера щёлкает без звука. Файл появляется в галерее почти сразу, но рядом с миниатюрой возникает тонкая белая полоска — индикатор обработки.
Через несколько секунд к снимку добавляется маленькая иконка: «Оживить». Алина приподнимает брови. Маркетологи бренда любят такие фокусы: псевдо-видео из статики, плавное увеличение, псевдо-параллакс.
Она открывает фото, нажимает кнопку.
Кружка на экране медленно смещается, тень по столу ползёт в сторону, капля на стенке сползает вниз. В конце анимации кружка чуть задевает блокнот и сдвигает его. В этом нет ничего особенного, но Алина отчетливо помнит: кружка утром стояла неподвижно, блокнот она сама убирала.
— Предсказательная анимация, — вслух резюмирует она. — Нейросетка, сценарий, всё, как всегда.
Но внутри всё равно шевелится лёгкое сомнение. Она закрывает галерею и снова смотрит на настоящий стол. Кружка стоит на месте, блокнот ровно по краю, ручка поперёк. Она машинально подтягивает кружку ближе. Бумага под ней чуть сдвигается, и ручка скатывается на пол.
Она наклоняется, поднимает ручку. Чувство дежавю становится плотным.
— Запишем это как совпадение, — примиряюще говорит она самой себе.
Телефон она берёт с собой к окну. За окном лениво тянется Амур, набережная почти пустая, только редкие прохожие и велосипедист в шлеме. Небо белёсое от жары, дальний берег в лёгкой дымке.
Алина прислоняет устройство к стеклу, включает режим 200 мегапикселей и делает ещё один кадр. На экране — прогулочная дорожка, пара лавочек, урна, фонари, узкая полоска воды и мост в дальнем плане. И снова — индикатор обработки, иконка «Оживить».
Теперь она не спешит. Сначала вытаскивает из ящика штатив-прищепку, закрепляет телефон так, чтобы объектив был точно напротив стекла. Движение точное, отработанное годами съёмок.
Пока всё это происходит, внизу по дорожке проходит тот самый велосипедист. Шлем, чёрная майка, на спине маленький рюкзак. Он едет неторопливо, обгоняя пожилую женщину с сумкой.
На экране появляется надпись: «Оживление готово. Посмотреть?» Алина нажимает.
Дорожка в кадре оживает. Сначала лёгкое дрожание листьев, небольшое изменение света. Потом в кадре, от левого края, въезжает велосипедист. Но в галерее он появился позже, чем снимок был сделан. Алина щурится.
В кадре мужчина немного ускоряется и срывается с дорожки на край плитки, перед самой урной цепляется колесом за край и падает на бок. Велосипед уходит в сторону, он остаётся на плитке и в конце ролика поднимается, потирая колено.
Алина рефлекторно отводит взгляд от устройства к окну. В этот момент реальный велосипедист ещё только приближается к урне. Она видит, как он чуть смещается к краю, как колено сдвигается, как колесо задумывается на стыке. Мужчина всё-таки цепляется за ту же кромку, но удерживает равновесие и проезжает дальше, даже не оглянувшись.
Она выдыхает медленно, почти неслышно.
— Уже интереснее, — шепчет она.
Это можно объяснить. Можно сказать, что камера сняла чуть больше, а алгоритм «додумал». Можно сослаться на микролаги, разные моменты. А можно признать, что аппарат показал один из вариантов, который почти реализовался, но в итоге нет.
Она возвращается к столу, подключает телефон к компьютеру кабелем. Для неё важны не рекламные обещания, а то, что скрыто в глубине. Она открывает проводник, перекидывает два свежих файла в отдельную папку, запускает программу для просмотра служебных данных.
EXIF открывается полной таблицей. Время съёмки, модель устройства, диафрагма, выдержка. Ничего необычного. Внизу она замечает строчку, которой не было раньше у других телефонов: «wr_session_id». Значение — длинная комбинация букв и цифр.
— Новый трекер? — тихо интересуется она у экрана.
Алина копирует значение в блокнот, затем проверяет ещё несколько кадров из архива, снятых другими телефонами. Там этой строки нет. Только у новых снимков.
Она делает себе пометку: «wr_session_id — возможно, облачный сервис производителя. Проверить позже».
Рабочий день идёт своим чередом. Редактор забегает в комнату, напоминает про дедлайн по статье о тарифах связи. Алина кивает, обещает вечером всё закончить. План простой: короткий обзор самого телефона, пара тестов камеры, фраза про «олюднённые фото», ссылки на примеры. Остальное — потом, когда будет больше времени.
В обед она спускается на улицу. Жара с первого шага накрывает влажным воздухом. Асфальт отдаёт теплом, дыхание становится тяжёлым. Она идёт к ближайшему перекрёстку, где всегда много машин, и достаёт телефон снова. Нужно больше материала, чем два кадра из окна.
Перекрёсток широкий, четыре полосы, пешеходные переходы во все стороны, над дорогой висит точечный светофор. На одном углу киоск с мороженым, на другом — аптечный крест, который мигает без чёткой логики. По обочине стоят маршрутки и один старый школьный автобус с жёлтой полосой по борту.
Алина становится у края тротуара, наворачивает зум, включает режим максимального разрешения. В кадр попадают светофор, автобус, часть витрины аптеки с отражением неба. Нажимает на кнопку. Камера тихо отрабатывает, файл попадает в галерею.
Индикатор «оживить» появляется чуть позже, когда она уже отошла к тени ближайшего дерева. Здесь прохладнее, но шум колёс и сигналов всё равно остаётся фоном.
Она открывает только что сделанное фото и запускает анимацию. В начале всё спокойно: машины стоят, пешеходы ждут зеленого сигнала. Потом светофор переключается, люди начинают переходить дорогу. В центре кадра появляется грузовая фура с белым тентом, которая явно не успевает остановиться. Она вылетает на перекрёсток и врезается в бок школьного автобуса. Стекло разлетается, автобус разворачивает, он задевает стоящие на обочине машины. Анимация обрывается шумом пикселей и тусклой вспышкой на экране.
Алина ощущает, как пот на спине становится холодным. Она прислоняется к стволу дерева, не сводя взгляда с телефона. Демонстрационный ролик получается слишком жёстким для маркетинговой шутки.
Она перематывает анимацию назад, ещё раз смотрит. Ставит паузу на момент удара, приближает номер фуры, надпись на боку. Различимо имя перевозчика, логотип, даже наклейка с номером телефона службы поддержки. У автобуса виден номер маршрута и кусок надписи на лобовом стекле.
Она ещё раз осматривается. Сейчас на реальном перекрёстке всё другое: зелёный сигнал в другую сторону, автобус поехал вперёд медленно и уже почти исчез за поворотом, фуры рядом нет. Только красный седан чуть нервно переезжает стоп-линию и тут же возвращается назад.
— Этого же не было, — выдыхает она.
Пальцы дрожат чуть заметно. Но она уже привыкла работать с тревогой. Журналистика про опасные дороги, провалы инфраструктуры, аварии — всё это бегает фоном по её лентам. Отстранённость — часть ремесла.
Алина делает скриншот EXIF для этого файла. В нижней части таблицы появляются две новые строчки: «wr_node» и «branch_count». Значения: «amur-khb-03» и «16».
Она мотает головой. Это уже не похоже на фирменное облако производителя. Бренд телефона здесь даже не упомянут.
Она ещё несколько минут стоит в тени, затем, не отключая телефон, идёт по улице к ближайшему кафе. Ей нужна розетка, Wi-Fi и кофе, чтобы думать.
Кафе оказывается полупустым. За стойкой бариста смотрит в планшет, из колонок тихо играет поп-музыка. Алина заказывает капучино, занимает стол у окна, кладёт телефон рядом с ноутбуком. Включает зарядку, подключается к сети.
Сначала она открывает карту и набирает адрес перекрёстка. Снимок из спутника показывает знакомую развязку, можно поставить точку. Потом она снова открывает EXIF, копирует строки «wr_session_id» и «wr_node» и пробует закинуть их в поиск. Сначала общий, потом специфический по форумам.
Результатов нет. Только шум: какие-то белые реестры юридических лиц, каталоги, случайные совпадения.
Она нервно постукивает ногтем по столу. Радужка камеры телефона поблёскивает приглушённым отражением лампы.
— Ладно, — говорит она наконец. — Привяжем это к обзору, но аккуратно.
Она открывает черновик статьи и пишет первые строки. Обычный вход: «Китайские бренды любят радовать нас внезапными цифрами в характеристиках. Двести мегапикселей в смартфоне — именно такой случай». Дальше пара шуток про «кадры, где видно поры на носу соседа». Потом коротко о режиме «оживить».
При мысли о перекрёстке руки снова становятся сухими. Она останавливается и стирает последние предложения. Так писать не получится. Её текст в итоге прочитают не только любители техник, но и те, кто каждый день ездит мимо этого места.
Телефон тем временем подаёт сигнал. На экране всплывает уведомление: «Обработка сценариев завершена. Доступны новые варианты оживления 1 файла». Кнопка «посмотреть» уже подсвечена.
— Новые варианты? — спрашивает она вполголоса.
Она отменяет, закрывает уведомление. Потом всё-таки открывает галерею и находит тот самый снимок перекрёстка. Иконка «оживить» теперь выглядит чуть иначе: поверх неё появился маленький белый круг с цифрой «2».
Алина вздыхает и нажимает.
Первая анимация проигрывается без изменений. Та же фура, тот же удар, тот же рывок автобуса. Второй вариант начинается ещё с момента ожидания пешеходов на тротуаре. В этот раз фура всё равно врывается на перекрёсток, но автобус не успевает доехать до центра, его водитель резко тормозит чуть раньше. Фура задевает только заднюю часть, автобус остаётся почти на месте. Стекло всё равно бьётся, но масштаб разрушений меньше.
В углу ролика мелькает схема: несколько узких линий, расходящихся от точки. Выделенная линия подсвечена. На секунду появляется подпись на английском и русском: «ветвь 7 из 16, вероятность 0,43».
Алина рефлекторно делает скриншот.
— Вы ещё и проценты показываете, — проводит она пальцем по экрану.
Это уже не игрушка. Она закрывает галерею и смотрит на детей, которые тянут родителей к витрине с десертами. В голове всплывает простая мысль: если хотя бы один из этих сценариев может реализоваться, что она собирается с этим делать?
До вечера она остаётся в редакции. Пишет другой текст, который проще: про новые правила роуминга. Параллельно раз в полчаса открывает галерею и проверяет: не изменились ли анимации. Они остаются прежними.
Ближе к шести она всё-таки решает вернуться к месту съёмки. Ей нужен воздух и подтверждение того, что жизнь идёт своей дорогой.
На перекрёстке к этому времени плотный поток. Солнце опускается, но асфальт ещё горячий. Автобус того же маршрута снова стоит у остановки. У борта топчутся школьники с рюкзаками, две девочки спорят о чём-то, размахивая руками. Они спорят громко, серьёзные лица, но в каждом движении есть привычная подростковая игра.
Алина переходит дорогу, подходит ближе. Она снимает на обычный режим, без максимального разрешения. На всякий случай делает кадр того, как водитель закрывает дверь и смотрит в зеркало.
Потом решает идти ва-банк. Стучит пальцем в стекло двери, когда автобус ещё стоит.
— Извините, — говорит она, когда водитель открывает створку. — Можно на пару слов? Я журналист, пишу про безопасность движения. У меня… специфический вопрос.
Водитель средних лет, в рубашке с расстёгнутым верхним пуговицей, смотрит настороженно.
— Только быстро, — отвечает он. — Городу и так всё равно.
Алина поднимается на первую ступеньку, показывает телефон.
— Смотрите, пожалуйста. Это не монтаж. Эта штука показывает возможные варианты. Я сняла ваш автобус сегодня, и вот что он мне показал через пару дней.
Она запускает анимацию прямо при водителе. Тот смотрит, сначала с досадой, потом с явным напряжением. На лице появляется плохо скрытая злость.
— Очень смешно, — выдыхает он, когда автобус в ролике получает удар. — Вы знаете, сколько у меня инспекторов вокруг? Штрафы, проверки, разборы. А вы тут ещё со «сценариями» пришли.
— Я не шучу, — говорит Алина. — Там есть данные, которые совпадают. Номер маршрута, ваш борт, разметка. Судя по метке, это должно быть через пару дней. Вы могли бы предупредить диспетчера, попросить изменить график, перестроить схему?
— Диспетчер меня слушать не будет, — отрезает водитель. — У него план, у меня часы. Я не по своему желанию тут езжу. И это, — он кивает на экран, — для него просто кино. Вы хотите помочь — идите в ГИБДД, в администрацию, куда угодно. У меня и без того нервы на пределе.
За его спиной шумят дети. Девочка с синим рюкзаком заглядывает через плечо, ловит взгляд Алины и тут же отступает.
— Хорошо, — говорит Алина. — Я попробую.
Она выходит на тротуар, автобус закрывает двери и постепенно трогается. Алина чувствует, как внутренний мотор включается на полную мощность. Теперь это уже не тест устройства, а цепочка действий, за которые потом придётся отвечать.
Вечером, дома, она пишет письма. Сначала короткое обращение на горячую линию ГИБДД. Потом более развёрнутое сообщение в городскую приёмную, где рассказывает о перекрёстке, о плотном трафике, об автобусах со школьниками. Про камеру она пишет осторожно: «тестовый функционал, который моделирует варианты развития ситуации». О процентах ветвей она пока молчит.
Она не верит, что это приведёт к мгновенной реакции. Но совесть требует хотя бы попытаться.
Перед сном Алина снова берёт телефон. Иконка на снимке перекрёстка теперь показывает цифру «3». Новое уведомление говорит: «Доступны обновлённые сценарии в связи с изменением условий».
Она уже не колеблется. Запускает.
Первый вариант опять демонстрирует аварию с фурой и автобусом. Второй — тот же удар с меньшими последствиями. Третий начинается совсем иначе. На кадре — серое утро, мокрый асфальт, светофор мигает жёлтым. Автобуса в кадре нет вовсе, вместо него по полосе идёт другая машина. Фура всё равно появляется, но, не встретив препятствий, успевает остановиться у линии пешеходного перехода. Несколько детей перебегают в кадре уже после того, как она стоит. А внизу, под анимацией, всплывает новая надпись: «ветвь 3 из 16, вероятность 0,12. Статус: пересчёт в процессе».
Алина смотрит на эти цифры долго. У неё возникает ощущение, что кто-то в системе заносит пометки карандашом поверх её действий. Как будто письма, разговор с водителем, даже запись в черновике создают небольшие рычаги, за которые невидимые руки чуть подправляют рисунок.
Она открывает EXIF ещё раз. Рядом с «branch_count» появляется новая строка: «user_intervention: yes». Её ни разу не видели ни в одном рекламном буклете.
Внутри поднимается злость. Она не любит, когда её превращают в элемент чужой схемы.
Ночь проходит неспокойно. Ей снится город, в котором каждый перекрёсток светится тонкими линиями, уходящими куда-то вверх. Линии дрожат и меняют оттенок, когда она делает шаг, когда насупленный водитель автобуса ругается, когда кто-то в чате ставит лайк её посту. Над всем этим — невидимая сетка, которая шепчет одинаковыми строками кода.
Утром она просыпается раньше будильника, хватает телефон и первым делом проверяет новостные ленты. Никаких сообщений об авариях на нужном перекрёстке нет. Город прожил ещё один день по своему расписанию.
В редакции её встречает запах растворимого кофе и встревоженный редактор.
— Алина, ты чудо, конечно, но нам сегодня нужен хоть какой-то черновик по этому чудо-телефону, — говорит он с порога. — Китайцы уже пишут, спрашивают, где наш отзыв.
— Будет, — отвечает она. — Только это не «чудо», а что-то совсем другое.
— Пусть будет чем угодно, только не судебной претензией, — вздыхает он. — Ты меня понимаешь.
Она понимает. Любое громкое обвинение в обзоре — риск. Но замолчать тоже нельзя.
Она открывает блокнот и создаёт новый файл. Техническую часть можно написать стандартно: экран, батарея, скорость интерфейса. А вот раздел о камере придётся выстроить тонко. Она не хочет быть человеком, который в два абзаца превращает встречу с возможным будущим в шутку про «магический ИИ».
Пока она думает, телефон снова подаёт сигнал. В этот раз уведомление выглядит странно: «Белый регистр. Обновление профиля. Требуется подтверждение участия в программе наблюдения». Внизу две кнопки: «подробнее» и «отмена».
Название режет глаз. Она знает про Чёрного дракона, старое имя Амура, истории о реке, которая помнит каждую жертву. Белый регистр звучит так, будто кто-то решил составить перечень всего, что эта память включает.
Алина нажимает «подробнее». Экран темнеет, появляется текст мелким шрифтом. «Белый регистр — экспериментальный сервис моделирования сценариев городской среды. Принимая участие, вы помогаете анализировать риски и предотвращать опасные события. Сервис использует данные вашей камеры и встроенных сенсоров. Активация некоторых функций камеры возможна только при согласии».
Внизу — чекбокс и ссылка на многостраничное пользовательское соглашение.
Она закрывает окно без галочки. Кнопка «отмена» не даёт никаких эффектов. Только маленький значок сверху экрана сменяется на едва заметный серый контур, словно сервис просто ушёл в тень.
— То есть я уже в игре, даже если ничего не подписала, — тихо произносит она.
В голове складывается простая, неприятная цепочка. Камера на двести мегапикселей, которая видит мельчайшие детали. Функция «оживить кадр», которая не просто разбавляет фотографии эффектом, а показывает возможные варианты близкого будущего. Скрытые строки в EXIF, которые отправляют каждый сценарий в некое «облако». И поверх всего этого — Белый регистр, который, по формулировке, занимается «моделированием городской среды».
Она вспоминает велосипедиста, который почти упал, но удержался. Водителя автобуса, который отмахнулся. Номер фуры, аккуратно прописанный в футуристической псевдо-анимации. И понимает: в этой схеме её роль — не просто наблюдать. Она становится частью механизма, который постоянно подталкивает её к действиям и собирает статистику.
— Я им нужна как источник ветвей, — говорит она себе. — Человек с камерой, который не сидит дома, а ходит, снимает, вмешивается.
Мысль об уничтожении телефона приходит без паузы. Достаточно отнести его на набережную и отправить в воду. Или разбить о бетон лестницы. Она даже представляет, как стекло разлетается на крупные осколки, как корпус раскалывается, как слоты памяти перестают отвечать.
Но вместе с этим встает другой кадр. Автобус с детьми, фура, вероятность аварии. Если она избавится от устройства, не увидит и следующего сценария, где кто-то может погибнуть. Белый регистр всё равно найдёт других добровольцев, другие камеры. А у неё больше не будет никакого, даже спорного инструмента влияния.
— Очень удобно, — хмыкает она. — Поставить выбор между чужой волей и собственной совестью.
Редактор заглядывает снова, спрашивает, не нужна ли помощь. Она отмахивается. Объяснить это ему сейчас нет сил.
Днём она проверяет перекрёсток ещё раз. Делает снимок уже с противоположной стороны, чтобы проверить, не исчезли ли сценарии. В этот раз в анимации появляется новый вариант. В нём автобус неожиданно меняет маршрут и уходит на соседнюю улицу. Над ним пробегает строка: «ветвь 9 из 16. Статус: архив».
Архив. Где-то собираются все эти ветви. Кто-то их просматривает.
По дороге домой она ловит себя на том, что начала снимать чаще. Дворы, подъезды, входы в магазины, остановки. Она оправдывает это рабочей привычкой, но каждый кадр в режиме 200 мегапикселей теперь несёт возможность увидеть на шаг вперёд. В половине случаев анимация показывает мелочи: рассыпанный пакет с семечками, поскользнувшегося школьника, кошку, которая выскакивает из кустов и заставляет выругаться водителя курьерской машины. Иногда эти мелочи реализуются через минуту. Иногда нет.
Она пробует эксперимент. Снимает пустой лифт в своём доме. Оживляет кадр. В одном сценарии дверцы закрываются, лифт уезжает, всё спокойно. В другом через пару секунд в кабину заходит соседка с пятого этажа, и дверь застревает, оставляя её внутри на несколько минут.
Через пять минут она специально выбирает лестницу вместо лифта. Когда возвращается позже, встречает ту же соседку в коридоре. Та эмоционально рассказывает кому-то по телефону, что чуть не застряла в лифте, но всё обошлось, техника снова пошалила и поехала.
— Я не должна этого знать, — говорит себе Алина. — Но, если знаю, уже не могу вести себя «как раньше».
Вечером, на Амуре, воздух становится мягче. На набережной собираются компании, кто-то выгуливает собак, кто-то просто сидит на ступенях. Алина опускается на край широких бетонных плит, ставит рядом рюкзак, вытаскивает ноутбук. Телефон кладёт экраном вниз, чтобы не отвлекал.
Она открывает новый документ. В строку заголовка набирает: «Камера на 200 миров». Автозамена послушно исправляет «миров» на «мировых». Она усмехается и возвращает обратно.
Текст рождается медленно. Она пишет не об «уникальном разрешении» и «магии ИИ», а о том, что иногда устройство видит не только деталь лица или номер дома, но и шаг, который ещё не был сделан. Что где-то в глубине системы существует Белый регистр, который записывает каждый возможный вариант как отдельную историю. Что любой человек с такой камерой становится участником эксперимента, даже если об этом не просил.
Она не расставляет громких оценок. Не говорит «опасность» и «контроль» прямым текстом. Но каждый абзац подталкивает читателя к мысли, что слишком удобные сервисы редко бывают бескорыстными.
Заканчить текст она пока не может. Это было бы ложью: история далеко не закончена. Чтобы поставить точку, нужно хотя бы понять, кто именно сидит по ту сторону облака и зачем ему столько вариантов одного перекрёстка.
Она закрывает документ, оставляя его без финального абзаца. Сохраняет файл в папку с временным названием «Белый регистр». В этом имени уже есть что-то личное.
Телефон рядом тихо вибрирует. На экране всплывает новое уведомление: «Новый узел: amur-khb-04. Ваши данные помогают сделать город безопаснее. Подробнее…»
Она не открывает сообщение. Просто берёт устройство в ладонь и смотрит на потемневший экран, в котором отражается полоска воды и огни на дальнем берегу.
Выбор она откладывает. Телефон пока останется с ней. Камера-глаз продолжит видеть ветви будущего, а она — искать за этим чью-то волю. Вторая часть её истории начнётся с того, что кто-то попытается закрыть ей доступ к этим ветвям. Или, наоборот, пригласить внутрь.
Сейчас же она нажимает кнопку питания, гасит экран и поднимается. Вечерний Амур тихо шумит, город готовится к ночи. Алина идёт по набережной в сторону дома, чувствуя, что каждый шаг уже записан где-то в другом месте — в списке ветвей, которые кто-то будет изучать так же внимательно, как она изучает EXIF своих снимков.