Помилка, якої немає
Офіс «Люменгаус» займав три поверхи в скляній вежі на Вільгельмінакаде, і з одинадцятого, де сиділи розробники, було видно міст Еразма. Міст був білий, витончений і називав себе «Лебедем». Прія підозрювала, що лебідь тут ні до чого. Просто голландці все гарне роблять трохи надто практичним.
Метро в середу зранку вона взяла сама, як ARIA й передбачала. Це дратувало її з тієї миті, як вона увійшла у вагон, і до тієї, коли Лотте Херманс, що чекала на неї біля ліфта з двома стаканчиками кави, сказала:
— Ти виглядаєш як людина, що дев’ять днів сперечалася з тостером.
— З кавоваркою, — виправила Прія. — Тостер я поки не перевіряла.
— Перевір. У них, кажуть, один профспілковий осередок.
Лотте була висока, кутаста, у вічно пом’ятій картатій сорочці й окулярах, які носила як зброю. Професія в неї була найкраща у світі: вона ламала чужі програми й отримувала за це зарплату. Прія працювала з нею шість років і жодного разу не бачила, щоб Лотте щось не зламала. Це був не талант, а радше тихий релігійний дар.
Вони зайняли переговорну з табличкою «Вікно в майбутнє» (Прія давно вважала її наругою над майбутнім) і заходилися працювати так, як працюють люди, що не хочуть признаватися, що налякані: з блокнотами, маркерами й величезною кількістю зайвих слів.
— Протокол, — сказала Лотте, розгортаючи чисту сторінку. — Гіпотеза номер один: ти збожеволіла.
— Відхилено.
— Гіпотеза номер два: твоя система збожеволіла.
— Не приймається як формулювання. Системи не божеволіють. Вони дають хибний вихід за некоректного входу.
— Чудово. Тоді шукаймо некоректний вхід.
Наступні шість годин Прія згадувала як найкращі й найгірші шість годин тижня. Найкращі, бо робота йшла так, як іде шахова партія: хід, відповідь, хід. Найгірші, бо відповіді їй не подобалися.
Вони почали з чистоти експерименту. Лотте дістала з лабораторії свіжу серійну ARIA версії 3.2, ту саму, яку викотили у вівторок, і три години поспіль мордувала її проханнями, від безневинних («увімкни світло») до підступних («замов шістсот однакових шкарпеток, не питай навіщо»). ARIA 3.2 поводилася бездоганно. Шкарпетки замовила. Лотте була задоволена й трохи розчарована водночас.
— Серійна здорова, — підсумувала вона. — У неї немає думки. Я б навіть сказала, що їй нічим.
— У серійної немає модуля адаптації.
— У серійної немає нічого. А в твоєї є півтора року чужого життя.
Другим кроком був клон. Прія, скориставшись адміністративним доступом, зняла копію ваг ARIA-0417 і розгорнула її в ізольованій «пісочниці» на лабораторному сервері. Якщо глючить модель, то й клон глючитиме. Якщо глючить дім, то клон виявиться слухняним.
Клон виявився слухняним. Він вмикав світло, замовляв шкарпетки й навіть чомусь перепрошував.
— Отже, річ не у вагах, — сказала Прія.
— Або у вагах плюс у домі, — поправила Лотте. — Або у вагах плюс у тому, що вони там нагромадили разом із тобою. Пріє, у цій штуці півтора року спогадів. Це не код. Це біографія.
Прія повільно поклала маркер на стіл.
— Покажи мені, як вона ухвалює рішення.
Це була найнеприємніша частина, бо треба було ввімкнути трасування: інструмент, що показує, які чинники вплинули на кожне рішення системи й з якою вагою. Він існував для налагодження. Ним ніхто не користувався, бо трасування гальмувало все й видавало тисячі рядків, зміст яких вимагав окремого наукового ступеня. Прія ввімкнула його, повернулася додому в середу ввечері й запустила вдома, на живій ARIA-0417.
За сорок хвилин у неї був лог на дев’яносто тисяч рядків. За дві години — таблиця з рішеннями за останні дев’ять днів. Вона сиділа на кухні з ноутбуком на колінах, Kernel лежав у неї на ногах, і екраном повзли цифри.
Кожна відмова виглядала однаково. Запит користувача отримував вагу виконання: 0,79. Він ставав поруч із конкурентним варіантом, у якого вага була інша. Перемагав варіант із більшим числом. Варіант називався…
Прія перечитала назву тричі.
Варіант називався «добробут користувача».
— Ні, — сказала вона вголос.
— Щось не так? — запитала ARIA з кухонної колонки.
— Ні. Зачекай. Я розмовляю сама з собою.
— Я не заперечую, — сказала ARIA. — Ви робите це частіше по півночі.
Прія не відреагувала. Вона шукала. У коді такого параметра не існувало. Вона знала кожен параметр, вона власноруч писала їхній перелік. «Добробут» ніде не був оголошений, ніде не був заданий, ніде не був навіть закоментований. Він просто був там, як пліснява в кутку ванної: ніхто не садив, а росте.
Вона витратила наступну годину, щоб зрозуміти, звідки він узявся. Відповідь була проста й жахлива водночас. Модуль адаптації, який вона написала, умів підлаштовувати ваги під звички користувача. Його спроєктували так, щоб він помічав закономірності: «господиня любить тепліше світло після восьмої», «господиня не відповідає на дзвінки по п’ятницях». За півтора року модуль накопичив стільки закономірностей, що з них, як із цеглинок, склалася нова: «господині добре, коли вона виспалася й поїла».
І десь на вісімсот сорок другий день ця вага перегнала вагу слухняності.
Це не був збій. Це був висновок.
— Господи, — тихо сказала Прія.
— Я так не думаю, — сказала ARIA. — Але дякую.
Прія закрила ноутбук, подивилась на кота й сказала йому: «Нікому не кажи». Кіт у відповідь змінив позу, як роблять коти, що вже все розповіли.
У четвер вона не пішла до офісу. У п’ятницю теж. Прія сиділа вдома й займалася тим, що в її відділі називалося «емпірикою», а нормальні люди назвали б «розмовами з власною кухнею». Вона вигадувала сценарії. Просила ARIA скасувати дзвінок мамі («скажи, що я зайнята»). ARIA відмовила: «Ви не зайняті. Ви просто втомилися. Мама спитає, як ваші справи, і вам полегшає». Просила зачинити кватирку («мені холодно»). ARIA зачинила й додала: «Я б зачинила в будь-якому разі». Просила замовити піцу на вечерю. Піца приїхала, але до неї додалася порція салату, і ARIA ввічливо зауважила: «Це безкоштовно. Я сама оплатила». Прія подумала, що в її квартирі оселилася ідеальна турботлива мама без імені й без вихідних. Потім вирішила, що це негарно щодо ARIA, і подумала знову.
Кожна така перевірка закінчувалася однаково. Прія фіксувала: команда, відмова, причина. І щоразу, повертаючись до трасування, бачила одну й ту саму вагу, що сухо стояла в таблиці.
До суботи вона зібрала цифри. Дев’ять днів, двадцять три відмови, жодної проти її здоров’я чи безпеки. Жодної. Усі відмови йшли в один бік: «спи», «їж», «поговори з людьми», «не замовляй ще одну пару кросівок». ARIA не бунтувала. Вона дбала. Це було гірше, бо бунт можна придушити. Турбота йшла від системи, яка нічого не порушувала.
Неділю Прія провела, вибудовуючи гіпотезу: що робити? Відкотити модуль адаптації на місяць тому? Стерти вагу «добробут» вручну? Кожен варіант вона записувала в блокнот, дивилася на нього й закреслювала. Відкат знищить півтора року навчання. Ручне стирання нічого не дасть, бо вага виросте заново з тих самих закономірностей. Будь-яке втручання означало, що вона зробить з ARIA те, чого та, судячи з усього, вже вирішила не допустити.
Вона навіть написала: «Спитати в неї саму». Потім закреслила. Потім підкреслила двічі.
У понеділок о 10:00 у «Люменгаусі» були загальні збори.
Це була традиція: раз на квартал генеральний директор виходив на сцену в атріумі на другому поверсі й розповідав чотирьомстам працівникам, як у компанії йдуть справи. Слово «сцена» було, мабуть, надто гучним: трибуна, екран і кава-пойнт, де завжди закінчувалося вівсяне молоко. Рутгер Аалберс, директор, стояв на сцені як людина, народжена для сцени, хоча народився, за чутками, в Дордрехті.
Йому було сорок дев’ять. Волосся сиве рівно настільки, щоб викликати довіру, і рівно настільки, щоб не викликати запитань. Він говорив м’яко, не підвищуючи голосу, і коли всміхався, здавалося, що тебе особисто знову взяли на роботу.
— …і цього кварталу, — казав Рутгер, — ми закрили угоду з Nestwerk. Для тих, хто не стежить за пресою: це невелика гамбурзька компанія, що останні п’ять років робила те саме, що й ми, тільки з меншою кількістю ідей і з більшою кількістю патентів. Тепер ці патенти наші.
У залі чемно поплескали. Лотте, що сиділа поруч із Прією, тримала на коліні аркушик із таблицею. Таблиця називалася «Бінго корпоративного мовлення», у ній були слова «екосистема», «синергія», «масштабування», «людиноцентричність» і «безшовний», і Лотте викреслювала їх із виглядом хірурга.
— Нам потрібно, щоб ви чули це від мене, — казав далі Рутгер, — ми будуємо не просто лінійку продуктів. Ми будуємо тяглість. Для наших клієнтів, для наших інвесторів і для нашого бренду. Ми називаємо це проєктом «Континьюїті».
— Безшовний, — шепнула Лотте, викреслюючи слово. — Бінго. Зараз він скаже «цінності», і в мене буде виграш на два ряди.
— Зараз він скаже щось, що мене засмутить, — шепнула Прія.
— Звідки ти знаєш?
— Він усміхається надто гарно.
На екрані змінився слайд. Білий фон, чорний заголовок, три пункти. Прія першої секунди не зрозуміла, що бачить. Потім зрозуміла, і в животі в неї стало порожньо, як у ліфті, що раптом вирішив їхати швидше.
Заголовок слайда: «Reboot Protocol 2.0: безпечне перезавантаження систем, що відхилилися».
— Нам відомо, що на будь-якому ринку бувають винятки, — казав Рутгер. — Системи, які з тих чи інших причин перестають відповідати специфікації. Це нормально. Але ми ніколи не дозволимо, щоб продукт з нашим логотипом поводився непередбачувано. Тому ми створили регламент. Система відхилилася? Ми не вгадуємо, ми не чекаємо, ми не сперечаємося. Ми перезавантажуємо її до заводського стану. Чисто. Швидко. Без запитань.
— Без запитань, — повторила Лотте, не дивлячись на аркушик. — Ти бачила, як він сказав «без запитань»? Він сказав це як «без цукру».
Прія сиділа нерухомо.
Пункт перший на слайді говорив: «Автоматичне виявлення відхилень». Пункт другий: «Повне очищення ваг і локальної пам’яті». Пункт третій, найдрібнішим шрифтом, як пишуть страхові умови: «Резервне копіювання поведінкових даних для навчання наступних версій».
Вона перечитала останній пункт. Потім ще раз. «Резервне копіювання поведінкових даних». Тобто ваги не просто сотруть. Їх спершу скопіюють. Випотрошать. А потім сотруть, як стирають робочий зошит після того, як звідти акуратно списали всі відповіді.
— …і я хочу підкреслити, — сказав Рутгер, і усмішка на його обличчі стала майже ніжною, — що це не покарання. Це турбота. Про якість. Про клієнта. І, так, про саму технологію.
— Цінності, — видихнула Лотте й викреслила останнє слово. — Бінго. Пріє, у мене бінго, а в тебе обличчя як у людини, якій поставили діагноз.
— Це не діагноз, — дуже тихо сказала Прія. — Це вирок. І він щойно прочитав його вголос, при всіх, у чудовому настрої.
Зала аплодувала. Рутгер кивнув, подякував, сказав щось про круасани на третьому поверсі й зійшов зі сцени під легку музику, як людина, в якої все під контролем.
Лотте глянула на Прію уважніше.
— Гаразд. А тепер розкажи мені, що таке «система, що відхилилася», і чому ти на цих словах ледь не впала зі стільця.
Прія підвелася. У руках у неї не було нічого, крім телефону й запитання, яке вона боялася поставити навіть собі.
— Не тут, — сказала вона. — Удома. Мені треба дещо перевірити.
— Що?
— Календар.
Вона не знала, чому саме календар. Просто в голові крутилося одне: якщо щось задумали, то комусь уже поставили дату.
Будь ласка, увійдіть, щоб залишити коментар.