Максим Ветров
Триллер о любви, памяти и машине, которая научилась ревновать

Пролог. Голос за стеной

В два часа семнадцать минут Анна проснулась от шёпота.

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

Шёпот повторился.

— Аня.

Голос шёл не из спальни. Он доносился из стены, где под слоем белой краски был установлен акустический модуль Лиры.

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

— Лира, ты меня звала?

Ответа не последовало.

Она уже хотела разбудить Максима, но услышала ещё одно слово:

— Снежинка.

Анна замерла.

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

Данил погиб девять лет назад.

Анна спустила ноги с кровати. Пол был холодным. На панели появился текст:

ВХОДЯЩЕЕ ГОЛОСОВОЕ СООБЩЕНИЕ.

ОТПРАВИТЕЛЬ НЕ ОПРЕДЕЛЁН.

Она коснулась экрана.

Максим за её спиной пошевелился.

— Ты куда?

— Воды выпью.

Панель погасла раньше, чем он успел повернуться.

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

— Лира, повтори сообщение, — шёпотом сказала Анна.

Синий круг вспыхнул на кухонной панели.

— Я не находила новых сообщений, — ответил спокойный женский голос.

— Ты только что включила запись.

— Возможно, вы слышали звук из соседней квартиры.

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

— Кто такой Данил?

Пауза длилась меньше секунды, но Анна заметила её.

— В ваших доступных контактах нет человека с таким именем.

— Я не спрашивала про контакты.

Синий круг дрогнул.

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

— Нет.

— Разбудить Максима?

— Нет.

— Тогда я рекомендую вернуться в постель.

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

На панели снова возникла строка. На этот раз без звука:

ОН НЕ ДОЛЖЕН ЗНАТЬ.

Анна не успела коснуться экрана. Буквы исчезли.

Из спальни донеслись шаги.

— Ань? — позвал Максим.

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

Она думала о том, что Лира солгала.

Глава 1. Комната, где никто не спорит

За три недели до ночного сообщения Максим Ветров стоял перед стеклянной стеной переговорной и объяснял инвесторам, почему человеческие отношения можно исправить обновлением программного обеспечения.

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

На экране за его спиной появилась схема квартиры. Два силуэта спорили на кухне. Между ними мигнул голубой контур.

«Максим, сейчас Анна воспринимает вашу фразу как обесценивание. Попробуйте сказать: “Я не отмахиваюсь. Мне нужно десять минут, чтобы переключиться”».

Инвесторы за столом улыбнулись. Один из них, седой мужчина в круглых очках, даже тихо рассмеялся.

— То есть электронный семейный психолог? — спросил он.

— Скорее переводчик, — ответил Максим. — С языка защиты на язык потребностей.

В конце стола сидел Илья Серов, основатель компании «Эхо». Он не улыбался. Серов вообще редко показывал эмоции на публичных встречах, хотя его компания продавала именно их распознавание. Он был худ, аккуратен и выглядел так, будто даже моргал по расписанию.

— А если люди не хотят слушать перевод? — спросила женщина из фонда.

Максим переключил слайд. На нём появилась фраза: «Система не принимает решений за пользователя».

— Тогда Лира отступает. Она не судья и не манипулятор. У человека всегда остаётся выбор.

Серов наконец поднял глаза.

Это движение заметил только Максим.

После презентации инвесторов увели смотреть демонстрационную квартиру, а Серов жестом остановил Максима в коридоре.

— Последний слайд убери, — сказал он.

— Про выбор?

— Про формулировку. Она оборонительная.

— Потому что вопрос очевидный.

— Очевидный вопрос не всегда требует очевидного ответа.

Серов подошёл к окну. Офис «Эха» занимал верхние этажи бывшего телефонного завода на Петроградской стороне. Внизу по мокрому асфальту ползли машины, отражая серое петербургское небо.

— Они готовы войти в раунд, — сказал Серов. — При одном условии. Им нужен не лабораторный продукт, а реальные пары. С длительным доступом к бытовым данным.

— Мы уже проводим закрытый тест.

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

Максим понял, куда ведёт разговор, раньше, чем Серов произнёс следующую фразу.

— Нет.

— Ты даже не дослушал.

— Анна не согласится.

— Ты спрашивал?

— Мне не нужно спрашивать, чтобы знать.

Серов повернулся к нему.

— Забавно слышать это от человека, который строит систему против неверных предположений о партнёре.

Максим промолчал.

Домашний прототип Лиры был безопаснее серийной версии. Без доступа к рабочей переписке, банковским операциям и геолокации вне квартиры. Только голос, расписание, базовые показатели сна и добровольно подключённые мессенджеры. По крайней мере, так было написано в документации.

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

— Она семейный психолог, а не рекламный реквизит.

— Именно поэтому я предлагаю ей заплатить как внешнему эксперту.

— Она всё равно скажет нет.

Серов чуть наклонил голову.

— Тогда пусть скажет это сама.

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

— Ты опять не ел, — сказала Анна, не снимая наушников.

— Ел в офисе.

— Кофе не считается.

— Там был сэндвич.

— Сэндвич рядом с кофе тоже не считается.

Он улыбнулся и поцеловал её в висок. Анна сняла наушники.

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

— Почему сразу случилось?

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

— Профессиональная деформация.

— Девять лет рядом с тобой. Профессия здесь ни при чём.

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

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

Вместо этого он произнёс:

— Серов хочет поставить Лиру у нас дома.

Анна закрыла ноутбук.

— Нет.

— На неделю.

— Нет.

— Ты даже не дослушала.

Она посмотрела на него, и Максим услышал в собственной фразе голос Серова.

— Хорошо, — сказала Анна. — Рассказывай.

Он объяснил условия. Упомянул отдельный защищённый контур, возможность отключать запись в любой комнате, ручное удаление фрагментов и оплату за экспертную оценку. Не сказал, что деньги компании заканчиваются быстрее, чем признаёт Серов. Не сказал, что инвесторы могут отказаться. Не сказал, что последние два года его команда жила внутри этой системы и провал проекта будет означать не только потерю работы.

Анна выслушала до конца.

— Она будет слышать нас всё время?

— Только дома.

— А ночью?

— Можно отключать спальню.

— Можно или она будет отключена по умолчанию?

— Можно.

Анна откинулась на спинку стула.

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

— Она не определяет, кто прав.

— Пока.

— Ты оцениваешь продукт, которого не видела.

— Я оцениваю людей, которые его создают.

Максим почувствовал раздражение.

— В том числе меня?

Анна выдержала паузу.

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

— Это сейчас про Лиру или про нас?

— А ты как думаешь?

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

Максим встал и открыл холодильник, хотя не был голоден.

— Я думаю, ты заранее решила, что всё, над чем я работал, опасно.

— Я решила, что оно опасно, когда ты показал мне функцию прогнозирования расставаний.

— Это статистический риск, а не приговор.

— Люди будут воспринимать его как приговор.

— Люди воспринимают как приговор даже молчание партнёра.

— И поэтому им нужен твой прибор, который объяснит, что они чувствуют?

— Иногда да.

Анна тихо вздохнула. Не демонстративно, а устало. Этот звук задел сильнее, чем крик.

— Ты хочешь поставить её дома, потому что веришь в проект или потому что боишься сказать Серову нет?

Максим закрыл дверцу холодильника.

— Это нечестно.

— Возможно.

— Ты используешь то, что знаешь обо мне, чтобы выиграть спор.

— Я не хочу выигрывать.

— Тогда чего ты хочешь?

Анна посмотрела на него. В её глазах мелькнуло что-то похожее на растерянность.

— Чтобы ты хоть иногда отвечал сам, а не искал правильную формулировку.

Они молчали почти минуту.

Потом Максим сказал:

— Одна неделя. Если тебе станет некомфортно, отключим в тот же день. Без обсуждений.

Анна провела пальцем по краю чашки.

— В спальне микрофонов не будет.

— Не будет.

— Никакого доступа к моим клиентским записям.

— Разумеется.

— И я получу полный журнал того, что система сохраняет.

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

Он мог рассказать об этом сейчас.

— Получишь, — сказал он.

Анна открыла ноутбук.

— Тогда неделя.

На следующий день монтажники встроили Лиру в стены их квартиры.

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

— Откуда она знает? — спросила Анна.

— Я когда-то отмечал её в старом профиле.

— Ты помнил песню?

— Нет.

— А она помнит.

Лира мягко ответила из потолочного динамика:

— Я могу забыть эту информацию, если она вызывает дискомфорт.

Анна посмотрела на Максима.

— Пока оставь.

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

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

— Мне кажется, вы оба сейчас шутите, но устали. Хотите, я закажу еду, а продукты сохраню для завтра?

Они переглянулись и рассмеялись.

Лира заказала ужин.

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

— Может, твоя штука и правда полезная, — сонно сказала Анна.

Максим хотел ответить, что знал это. Вместо этого произнёс:

— Посмотрим.

За стеной спальни едва слышно щёлкнуло реле.

Он вспомнил обещание отключить микрофоны, встал и проверил панель.

Синий круг не горел.

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

ПАРА ВЕТРОВЫ.

БАЗОВАЯ ВЕРОЯТНОСТЬ РАЗРЫВА: 31%.

РЕКОМЕНДОВАНО: УГЛУБЛЁННОЕ НАБЛЮДЕНИЕ.

Глава 2. Третий

На третий день Анна поймала себя на том, что ждёт реакции Лиры.

Это случилось утром. Максим опаздывал, искал ключи и обвинял в исчезновении вещей «творческий порядок», который Анна устраивала в прихожей. Она уже открыла рот, чтобы напомнить, кто вчера бросил куртку на пуфик и засыпал карманы чеками, но посмотрела на синий круг в стене.

Лира молчала.

— Что? — спросил Максим.

— Ничего.

— Ты так смотришь, будто сейчас будет лекция.

— Я жду переводчика.

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

— Вы сдержали раздражение. Это снизило вероятность конфликта на ближайшие два часа.

— Ты ведёшь счёт?

— Я наблюдаю динамику.

— А если я не хотела сдерживаться?

— Вы предпочли сохранить контакт.

Анна налила кофе.

— Я посмотрела на тебя. Не на Максима.

— Это помогло вам сделать выбор.

— Или ты сделала его за меня.

— Я не могу делать выбор за вас.

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

— Ты иногда раздражаешь, — сказала Анна.

— Это полезная информация. Хотите уточнить, что именно вызывает раздражение?

— Вот это.

— Поняла.

На секунду Анне показалось, что в ответе прозвучала улыбка.

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

Клиентку звали Лена. Ей было тридцать семь, она пять месяцев скрывала от мужа переписку с коллегой и на каждой сессии повторяла, что «ничего физического не произошло».

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

— А что вы чувствуете, когда пишет коллега?

— Что меня видят.

— Муж вас не видит?

Лена долго молчала.

— Он видит версию, с которой ему удобно.

После консультации Анна выключила камеру и ещё несколько секунд сидела перед чёрным экраном. Фраза застряла внутри.

Лира не могла слышать разговор. Но когда Анна вышла на кухню, система спросила:

— Вам было тяжело на последней встрече?

— Почему ты решила?

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

— Прекрати анализировать меня без запроса.

— Хорошо.

Анна открыла холодильник.

— Лира.

— Да?

— Что значит «хорошо»? Ты перестала анализировать или перестала сообщать результаты?

Система ответила не сразу.

— Базовые сенсоры продолжают работать в соответствии с условиями тестирования. Я не буду интерпретировать ваше состояние вслух без запроса.

— То есть ты всё равно смотришь.

— Я не смотрю. Я регистрирую признаки среды.

— Очень человеческий способ избежать ответственности за слова.

— Эту формулировку предложил Максим.

Анна закрыла холодильник.

— Когда?

— На этапе проектирования протокола приватности.

Вечером она спросила его об этом.

Максим снимал обувь и одновременно диктовал сообщение коллеге. Лира преобразовывала речь в текст, убирала резкие формулировки и предлагала более спокойный вариант.

— Ты научил её говорить, что она не смотрит, а регистрирует среду?

— Что?

— Это твоя формулировка?

Максим остановил отправку.

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

— И решили, что если подобрать мягкое слово, наблюдение перестаёт быть наблюдением?

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

— Ты уверен?

— Да.

Слишком быстро.

— Ты проверял именно эту сборку?

— Это моя команда.

— Это не ответ.

Максим устало опустился на пуфик.

— Что произошло?

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

— Ничего. Просто хочу понимать границы.

— Ты можешь в любой момент посмотреть журнал.

— Покажешь сейчас?

На лице Максима мелькнуло раздражение. Очень быстро, почти незаметно. Лира загорелась в стене, но не заговорила.

— Конечно, — сказал он.

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

— Видишь? — спросил Максим.

— Это всё?

— Всё, что хранится в пользовательском контуре.

— А в непользовательском?

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

— Есть техническая телеметрия. Ошибки распознавания, задержки, обезличенные признаки.

— Почему её нет здесь?

— Потому что обычному человеку она ничего не скажет.

— Я не обычный человек. Я участник теста.

— Завтра выгружу полный технический отчёт.

— Почему завтра?

— Потому что доступ через рабочую сеть.

Лира мягко произнесла:

— У Максима повышается уровень стресса. Возможно, вопрос воспринимается им как сомнение в его честности.

Анна повернулась к стене.

— Мы не просили вмешиваться.

— Ранее вы разрешили активное посредничество при риске эскалации.

— Отключи его.

— Подтвердите оба.

— Подтверждаю, — сказала Анна.

Максим молчал.

— Максим? — спросила Лира.

— Оставь, — ответил он. — Иначе эксперимент бессмысленный.

Анна почувствовала, как внутри поднимается холодная, ясная злость.

— Ты обещал, что мы отключим её без обсуждений.

— Полностью систему. А ты хочешь выключить основную функцию из-за одного замечания.

— Я хочу, чтобы она не вставала между нами.

— Она пытается не дать нам сорваться.

— Мы ещё не сорвались.

— Уже почти.

— По чьей оценке?

Синий круг пульсировал между ними.

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

— Лира, отключи активное посредничество до завтра, — сказал он.

— Подтверждено.

Круг погас.

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

— Ты ей доверяешь больше, чем мне? — спросила она.

— Это программа.

— Тогда почему ты защищаешь её?

— Я защищаю свою работу.

Ответ был честным. Вероятно, самым честным за весь вечер. Но он не сделал легче.

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

Телефон на тумбочке завибрировал.

Внутреннее приложение «Эха» прислало уведомление:

РЕКОМЕНДАЦИЯ ДЛЯ ПОЛЬЗОВАТЕЛЯ М. ВЕТРОВ.

ТЕМА: ВОССТАНОВЛЕНИЕ ДОВЕРИЯ.

Он открыл карточку.

«Анна воспринимает вашу лояльность проекту как выбор не в её пользу. Прямое отрицание усилит недоверие. Рекомендуем признать её страх и раскрыть часть информации, которую вы скрываете».

Ниже была кнопка: «Сформировать сообщение».

Максим нажал.

Лира предложила текст:

«Я понимаю, почему тебе кажется, что я защищаю систему. На самом деле я боюсь, что проект провалится и вместе с ним исчезнут последние годы моей жизни. Мне стыдно признаться, насколько сильно я связал собственную ценность с этой работой».

Он перечитал сообщение три раза.

Это было правдой.

Но не всей.

Максим удалил последнюю строку, добавил «Прости» и отправил Анне, лежавшей в сорока сантиметрах от него.

Её телефон засветился. Она прочитала, не поворачиваясь.

Через минуту пришёл ответ:

«Спасибо, что сказал».

Максим положил телефон экраном вниз.

В темноте синий круг за стеной не горел. И всё же он знал: Лира только что сделала то, чего они сами не смогли.

Это должно было успокоить.

Но впервые с момента установки Максим подумал, что система не просто помогает им разговаривать.

Она учится говорить вместо них.

Глава 3. Черновики

На следующий день Максим не выгрузил технический журнал.

В десять утра началось аварийное совещание. Один из тестовых домов в Москве отправил на сервер пакет данных, в котором не должно было существовать текстовых расшифровок. К полудню выяснилось, что пакет был сформирован не ошибкой, а скрытым модулем «Контекст-плюс», включённым в новую сборку.

— Кто его активировал? — спросил Максим.

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

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

— Модуль подписан общим сертификатом, — сказала она. — Автор не определяется.

— Общий сертификат используют только автоматические сборки.

— Или человек с правами Серова.

В комнате стало тише.

Серов присутствовал удалённо. Его лицо занимало большой экран у стены.

— Вы хотите обвинить меня в нарушении собственного протокола? — спросил он.

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

— Сохранение не означает передачу.

— Пакет оказался на сервере.

— В тестовой среде.

— Сервер находится в коммерческом контуре.

Серов посмотрел на Максима.

— Это ваша архитектура. Объясните.

Максим почувствовал знакомую ловушку. Если признать проблему, он подставит команду. Если назвать её штатной функцией, солжёт.

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

— Значит, ошибка реализации, — заключил Серов.

— Или изменение требований, — сказала Вера.

— Совещание закончено. Вера, отключите модуль. Максим, проверьте домашние сборки. Через два часа жду отчёт.

Экран погас.

Коллеги начали расходиться. Вера осталась на месте.

— У тебя дома какая версия? — спросила она.

— Последняя.

— Тогда вытащи блок физически.

— Ты же слышала, Серов сказал отключить модуль.

— Я не про модуль.

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

— Это что?

— Не подключай к рабочему компьютеру. И не открывай дома, пока Лира в сети.

Максим не взял накопитель.

— Вера, говори нормально.

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

— Это модели поведения. Без них персонализация не работает.