
Полная версия:
Алгоритм для проигравших
Антон открыл новый документ и написал заголовок: «Почему оценка некорректна».
Ниже быстро появились пункты. Смешение прогнозной и операционной метрики. Обратная причинность. Непрозрачное использование данных работодателя. Наказание за оспаривание. Возможная утечка экспериментального сценария. Через двадцать минут у него было две страницы аккуратного разбора, в котором не встречалось слово «я».
Он перечитал текст и понял, что мог бы отправить его комитету, журналисту, юристу — кому угодно. Из него следовало, что система плоха. Не следовало только, почему Антон четыре года помогал ей стать такой.
Телефон погас от бездействия. Когда он коснулся экрана, «Ноль» снова предложил начать.
На этот раз Антон нажал кнопку.
Появились три поля.
«Действие».
«Ожидание».
«Результат».
И четвёртая строка, отделённая янтарной чертой:
«Ваше решение, без которого поражение не произошло бы».
Антон положил пальцы на клавиатуру телефона.
В поле «Действие» написал: «Подготовил методику оценки устойчивого трудоустройства и представил её совету продукта».
Исправил «подготовил» на «представил». Методика была не только его.
«Ожидание»: «После расширения программы прогноз позволит заранее выделить участников с высоким риском ухода и направить им дополнительную помощь».
«Результат»: «Программа расширилась. Удержание снизилось. Руководство назвало методику причиной и уволило меня».
Система подсветила последнее предложение.
«В результате сначала названо решение другого человека. Укажите наблюдаемое последствие вашего действия».
Антон почувствовал злость, почти благодарную: наконец перед ним было нечто, с чем можно спорить прямо.
Он заменил: «Предупреждение о риске не остановило расширение. После расширения доля людей, продержавшихся на работе три недели, снизилась на одиннадцать процентов относительно плана».
Подсветка исчезла.
Оставалось четвёртое поле.
Антон напечатал: «Я согласился с коллективным решением».
«Назовите собственное действие».
«Я подписал записку с согласованным порогом».
«Действие уже указано. Какое решение сделало поражение возможным?»
— Ты не понимаешь причинность, — сказал Антон телефону.
Программа не ответила.
Он встал, прошёл на кухню, налил воды. На столе лежала квитанция. За стеной Лида Павловна смотрела телевикторину; ведущий тянул паузу перед правильным ответом. Антон вспомнил Нину в маленькой переговорной на третьем этаже. Она поставила ноутбук между ними и показала две выборки. В одной модель предсказывала, кто удержится на работе. В другой — кто выполнит рекомендацию консультанта. Совпадение было слабым. Нина сказала: «Мы называем послушание шансом». Антон ответил, что без выполнения рекомендаций невозможно измерить их эффект. Она предложила оставить две метрики. Он сказал, что совет не примет два ответа там, где ждёт один.
Потом он вынес на совет объединённый показатель. Тест Нины остался приложением. В презентации не хватило места для её имени.
Это не было причиной увольнения. Но без этого сегодняшнее поражение выглядело бы иначе. У него оставалась бы собственная работа, за которую можно отвечать, а не общая методика, которую компания присвоила ровно в тот момент, когда потребовалось пережить её ошибку.
Антон вернулся к телефону.
В четвёртом поле написал: «Я представил объединённый показатель как достаточный, хотя знал, что он смешивает вероятность трудоустройства и готовность человека следовать назначенному маршруту».
Палец завис над кнопкой «Сохранить».
Эта фраза могла остаться внутри приложения. А могла уйти Градовой, комитету, юристам. Он не видел соглашения, не знал, где хранятся записи «Ноля» и почему сценарий вообще появился. Нажать «Сохранить» означало отдать системе признание, которое против него ещё никто не сформулировал.
Рядом была кнопка «Отказаться».
Антон нажал её.
«От чего именно вы отказываетесь?»
Он написал: «От сохранения записи до получения сведений о том, кто имеет к ней доступ».
Ответ появился сразу:
«Отказ принят».
Янтарная линия погасла. Поля остались заполненными, но стали неактивны. Внизу появилась новая строка:
«Последствие отказа: запись хранится только на устройстве. Следующее задание не открыто».
Антон перечитал её несколько раз. Обычная программа трудоустройства не принимала отказ так спокойно. Она снижала рейтинг, напоминала, предлагала выбрать причину, передавала консультанту. Здесь отказ не назывался ошибкой и не превращался в недостаток мотивации. Он просто имел последствие.
На главном экране «Шанса» по-прежнему стояли шесть процентов.
Антон снова открыл карточку. В полях была его запись. Он мог удалить её вместе с данными приложения. Мог отнести телефон в компанию. Мог спрятать признание и строить спор только вокруг нарушенной процедуры.
Вместо этого он переписал четыре строки от руки в старый блокнот, найденный в ящике письменного стола. Не тот, что остался в офисе, а домашний — почти пустой, с номерами мастера по окнам и списком покупок трёхлетней давности.
На первой странице он поставил дату.
Ниже написал:
«Поражение № 1».
Он перенёс действие, ожидание и результат. Последнюю фразу переписал без слова «достаточный», потому что оно снова прятало решение внутри профессионального термина:
«Я знал, что показатель смешивает шанс найти работу и удобство управления человеком, но представил его как один ответ».
Антон закрыл блокнот.
Это не оправдывало публичного увольнения. Не делало Градову правой. Не возвращало Нине имя и не объясняло, кто вытащил «Ноль» из архива. Зато впервые за день одна запись не пыталась прекратить разговор.
Телефон мигнул уведомлением поддержки: обращение зарегистрировано под номером 80419.
Антон перевернул его экраном вниз, но через секунду передумал и положил рядом с блокнотом.
Он не сохранил признание в системе. Он не выполнил задание. И всё же поражение было записано.
За окном электронные часы на башне администрации сменили 20:59 на 21:00. В офисе «Шанса», вероятно, выключали свет в переговорной, где его фамилия несколько часов назад стояла рядом с красным числом. Здесь, на кухонном столе, фамилии не было. Только четыре строки, написанные его рукой, и принятый отказ, после которого ничего не открылось.
Антон впервые допустил, что именно так «Ноль» и должен был работать.
2. От автора системы
Утром рейтинг поднялся до восьми процентов.
Антон заметил это ещё до того, как окончательно проснулся. Телефон лежал на краю кухонного стола рядом с блокнотом, и зелёная цифра проступала сквозь уведомления так, будто ночью кто-то исправил арифметическую ошибку. В объяснении появилась новая строка: «Заполнен первичный отчёт о затруднении».
Он не заполнял отчёт в приложении.
Запись «Поражение № 1» по-прежнему оставалась на бумаге. Карточка «Ноля» показывала четыре неактивных поля и вчерашнее последствие отказа: данные хранятся только на устройстве, следующее задание не открыто. Значит, восемь процентов начислил не «Ноль». Обычный «Шанс» принял за отчёт либо его обращение об основании увольнения, либо сам факт визита в раздел помощи. Система не различала жалобу и сотрудничество, если оба действия можно было засчитать в маршрут.
Антон сделал снимок экрана. На этот раз снимок получился: зелёная цифра, стандартное объяснение, время обновления. Чёрная карточка в кадр снова не попала.
Он открыл сведения о приложении. Версия 6.14.2, городской поставщик, разрешения на уведомления, камеру и местоположение. Ничего, чего он не знал. Сетевые журналы были недоступны без служебного режима, а служебный режим требовал ключа, которого у него больше не было. Можно было подключить телефон к ноутбуку, поставить прокси, перехватить запросы — и получить в лучшем случае нарушение пользовательского соглашения, в худшем доказательство вмешательства в систему, с которой он собирался судиться.
Оставался предусмотренный маршрут.
В восемь сорок три «Шанс» предложил ему очную первичную процедуру в Центре повторного старта. Из трёх адресов был доступен только один — старое здание расчетной станции возле северной эстакады. Время: десять двадцать. Цель визита формулировалась безлично: «Уточнение барьеров возвращения к занятости».
Антон выбрал запись не потому, что нуждался в уточнении барьеров. Ему был нужен терминал Центра. Старые публичные терминалы работали через отдельный шлюз, и каждая карточка на них получала короткий технический идентификатор. Если «Ноль» существовал только в его телефоне, на терминале ничего не появится. Если сценарий приходил с серверной стороны, останется номер маршрута, время выдачи или хотя бы код шаблона.
Перед подтверждением приложение показало условия: консультант увидит анкету, рейтинг и историю назначений; отказаться от ответа можно в любой момент; неявка без отмены снизит приоритет записи.
Антон прочитал текст дважды. Первую версию этого согласия он видел четыре года назад. Тогда в ней было «отказ не влияет на доступ к базовым услугам». Позже фраза исчезла как избыточная: юридический отдел решил, что базовые услуги и так гарантированы регламентом. Антон согласился. Лишняя строка занимала место на маленьком экране.
Он нажал «Подтвердить».
До Центра можно было доехать двумя автобусами, но Антон пошёл пешком. После дождя город пах мокрым бетоном и листьями. Под эстакадой рабочие меняли янтарные лампы, в окнах закрытого мебельного магазина стояли кресла, повёрнутые к улице, словно ждали собеседования. Он повторял про себя безопасную версию ответа.
Участвовал в разработке аналитических инструментов платформы. Не в пользовательских сценариях. Не знает, почему на устройстве появилась экспериментальная карточка. Хочет проверить корректность данных.
Всё это было правдой, если правильно расставить границы.
В ранней группе их было шестеро. Нина отвечала за исследование и полевые интервью. Марк собирал приложение. Антон строил правила перехода между состояниями. «Ноль» тогда не назывался алгоритмом. Это была таблица: поражение, действие, наблюдаемый результат, следующий шаг. Антон предложил закрывать новую карточку, пока человек не опишет последствие предыдущего выбора. Так участники не могли листать советы, как ленту, и выбирать самый приятный. Нина настояла на праве отказа. Если человек отказывался, система должна была принять решение и показать его цену, не отнимая доступ к другим услугам.
Потом таблицу признали слишком медленной для масштабирования. Из неё выросли автоматические маршруты, баллы вовлечённости и тот самый объединённый показатель. Старую ветку выключили. По крайней мере, Антон подписал документ, в котором было написано «выключили».
Центр занимал два нижних этажа серого здания. Над входом сохранились каменные буквы «РАСЧЁТНАЯ СТАНЦИЯ», а под ними висела пластиковая табличка с зелёным знаком «Шанса». Последняя буква в слове «станция» потемнела от воды. Автоматическая дверь открылась только со второй попытки.
Внутри было теплее, чем требовала погода. У гардероба стояла очередь из пяти человек, хотя номерки выдавал терминал. Пожилая женщина держала в руках папку с прозрачными файлами. Молодой мужчина в курьерской куртке спал сидя, прижав к груди шлем. Возле розетки девушка в красном пальто заполняла анкету на собственном ноутбуке и каждый раз снимала руку с клавиатуры, когда мимо проходил сотрудник.
Антон остановился у стойки навигации.
План помещения он когда-то видел на совете: открытая зона снижает тревогу, стеклянные кабинеты повышают доверие, терминалы самостоятельного обслуживания разгружают консультантов. На схеме люди были одинаковыми голубыми силуэтами. В жизни открытая зона заставляла говорить о долгах и увольнениях в трёх шагах от очереди, стекло отражало лицо собеседника поверх чужих спин, а один из четырёх терминалов был обмотан лентой «Не работает».
— Вы по записи? — спросила администратор.
Ей было около пятидесяти. На бейдже значилось: «Лариса. Навигатор Центра».
— На десять двадцать. Рудин Антон Сергеевич.
Лариса нашла его в планшете и на мгновение задержала палец над экраном.
— Первичная после прекращения занятости. Документы с собой?
— Паспорт и соглашение.
— Трудовая электронная подтянется. Возьмите номер. Сначала короткая анкета на терминале, потом к консультанту.
— Я могу пройти анкету на своём телефоне?
— Можете. Но у вас отмечена сверка данных. Лучше здесь.
Именно этого он хотел. Антон взял талон А-147.
Рабочий терминал стоял у окна. На серой пластиковой панели остались светлые прямоугольники от прежних наклеек. Антон приложил код записи, ввёл последние четыре цифры паспорта и увидел свою карточку. В правом углу мелькнул адрес шлюза: `restart-gw2`. Ниже — идентификатор сессии. Антон переписал его на оборот талона, стараясь не заслонять камеру ладонью.
Первый вопрос был об образовании, второй — о последней должности, третий — о причине прекращения занятости. Варианты: сокращение, соглашение сторон, завершение договора, собственное желание, дисциплинарное основание, иное. Антон выбрал соглашение сторон.
Терминал показал предупреждение: «Данные работодателя указывают на конфликтное завершение. Хотите уточнить ответ?»
— Нет, — тихо сказал он и нажал «Оставить».
Следующий экран предложил перечислить барьеры. Недостаток опыта. Здоровье. Уход за близким. Транспорт. Долговая нагрузка. Потеря уверенности. Судимость. Цифровые навыки. Другое.
Антон выбрал «Другое» и написал: «Некорректное смешение прогнозной оценки и оценки поведения пользователя».
Система попросила говорить проще.
Он стёр фразу. Написал: «Платформа снижает мне шанс найти работу за отказ соглашаться с её данными».
Кнопка «Продолжить» стала зелёной.
После анкеты появилась рекомендация: «Выполните одно действие, которое можно проверить сегодня. Это поможет консультанту составить маршрут».
Под строкой были три карточки: обновить резюме, откликнуться на вакансию, запросить рекомендацию у прежнего работодателя.
Чёрной карточки не было.
Антон открыл сведения о странице. Внизу мелко стояли идентификаторы: шаблон `FIRSTSTEP04`, канал `KIOSK`, сессия, время. Он переписал всё на талон. Потом нажал логотип семь раз — старый жест входа в диагностическую панель. Ничего не произошло. Ещё год назад открылось бы окно с версией интерфейса. Марк всё-таки убрал служебный жест или перенёс его за авторизацию.
— Молодой человек, вы закончили? — спросила женщина с папкой.
За ней собралась очередь.
— Да. Простите.
Он отошёл, не выбрав действие. Терминал напечатал лист с результатом анкеты. На нём был QR-код для продолжения на телефоне и крупная строка: «Назовите консультанту один шаг, который вы сделаете до конца дня».
Талон А-147 вызвали в кабинет двенадцать.
Стеклянная дверь была заклеена полупрозрачной плёнкой до уровня плеч. За столом сидела женщина с короткими тёмными волосами и вязаным браслетом на запястье. На столе не было ничего личного, кроме кружки с отколотым краем. Бейдж: «Ольга Левина. Консультант».
— Антон Сергеевич? Садитесь. Воду хотите?
— Нет, спасибо.
— Я вижу, вы раньше работали в самой платформе.
Не вопрос. Антон положил соглашение на край стола.
— В аналитическом подразделении.
— Поэтому анкета у вас получилась как служебная записка.
Ольга развернула монитор чуть в сторону, не настолько, чтобы он мог читать. Он увидел цветные полосы профиля и своё имя.
— Формулировка точная.
— Возможно. Но мне нужно понять, что с ней делать сегодня. Вы оспариваете данные работодателя?
— Уже оспорил.
— И рейтинг снизился.
— Потом вырос.
— До восьми процентов, — сказала Ольга. — Это всё равно красная зона.
Она произнесла цифру без жалости и без удивления. Как температуру за окном.
— Вы считаете прогноз верным?
— Я считаю, что прогноз мешает вам отвечать на мои вопросы.
— Потому что он некорректен.
— Потому что вы смотрите на него и пытаетесь угадать, почему система вас обидела. А я спрашиваю, что вам нужно до пятницы.
Антон откинулся на спинку стула.
— Доступ к полному журналу изменений моей карточки.
— Этого у меня нет.
— Вы видите историю назначений?
— Вижу то, что положено консультанту.
— Там есть задание без названия? Вчера, после двадцати часов.
Ольга посмотрела на экран. Её правая рука легла на мышь, прокрутила страницу.
— Есть отказ от сохранения первичного отчёта.
— Какой код шаблона?
— Антон Сергеевич, я не выдаю технические сведения.
— Мне не нужны персональные данные. Это моя карточка.
— Вам нужен не код. Вы хотите понять, кто прислал задание.
Он промолчал.
— Вчера вы написали, что оно вам незнакомо, — продолжила Ольга. — Сегодня пришли именно в тот Центр, куда вас направила платформа. Вы напуганы или проводите проверку?
— Я хочу убедиться, что экспериментальная функция не используется без согласия.
— Вы знаете, что она экспериментальная?
— Видно по интерфейсу.
Ольга сняла руку с мыши.
— По интерфейсу вы определили происхождение функции, которую назвали незнакомой?
За стеклом Лариса объясняла кому-то, как восстановить пароль. Слова долетали обрывками: номер телефона, заявление, не переживайте. Антон видел собственное отражение в тёмной части монитора — ворот рубашки, слишком туго застёгнутый для человека без работы.
— Я видел похожий прототип, — сказал он.
— Где?
— В исследовательских материалах.
— Разрабатывали?
— Анализировал результаты.
Это тоже было правдой. Не вся.
Ольга подождала, но уточнять не стала. Открыла печатный лист его анкеты.
— Хорошо. Я могу оформить запрос в техническую поддержку от Центра. Основание — расхождение пользовательского сценария. Для этого вы показываете карточку на устройстве, я фиксирую время и видимое состояние. Содержание вашего локального отчёта переписывать не буду.
Антон достал телефон.
Чёрная карточка открылась сразу. Под четырьмя полями появилась строка, которой ночью не было:
«Очная процедура начата. Для продолжения назовите проверяемое действие консультанту».
Ни приветствия, ни нового задания. Событие записи в Центре открыло предусмотренную ветку после отказа. Старый сценарий умел принять очную процедуру как альтернативу сохранению. Антон вспомнил схему переходов: локальный отказ, внешний свидетель, действие, отчёт. На доске эту ветку рисовала Нина. Он спорил, что она слишком дорогая для массового сервиса.
— Вот, — сказал он и положил телефон перед Ольгой.
Она прочитала строку.
— Здесь нет задания.
— Есть условие перехода.
— Вы говорите как разработчик.
— Как аналитик.
— Нет. Аналитик сказал бы, что видит. «Условие перехода» говорит человек, который знает, что должно быть дальше.
Антон забрал телефон чуть быстрее, чем хотел.
— Вы оформите запрос?
— Оформлю. Но сначала закончим процедуру. Какое проверяемое действие вы сделаете сегодня?
— Запрошу журнал карточки.
— Это запрос. Что сделаете вы?
— Подготовлю описание ошибки.
— Для кого?
— Для технической поддержки.
— Результат зависит от того, ответят ли они. Назовите действие, которое к вечеру либо выполнено, либо нет.
Антон ощутил раздражение. Именно такой вопрос когда-то стоял в методичке «Ноля». Он сам переписывал его после теста, потому что участники называли целью ответ работодателя, одобрение пособия, приглашение на собеседование — то, чем не управляли. Теперь собственная фраза вернулась голосом женщины, которая не знала её происхождения.
— Я составлю хронологию появления карточки и передам вам копию без содержания локального отчёта.
— До какого времени?
— До восемнадцати.
— Как передадите?
— Через форму обращения, номер восемьдесят тысяч четыреста девятнадцать. Добавлю ваш внутренний номер запроса.
Ольга записала формулировку на листе.
— Это поможет вам найти работу?
— Это поможет понять, законно ли работает платформа.
— Я спросила не про платформу.
— Если мой профиль содержит неизвестный сценарий, я не могу доверять маршруту трудоустройства.
— Можете не доверять. У вас остаётся вопрос, что вы будете делать без него.
Антон посмотрел на список предложенных действий. Обновить резюме. Откликнуться. Запросить рекомендацию. Три жеста, которые превращали любой кризис в воронку конверсии.
— Вы хотите, чтобы я выбрал одну из карточек?
— Нет. Они удобны системе, потому что считаются автоматически. Мне нужен ваш шаг.
— Хронология — мой шаг.
— Тогда так и запишем.
Ольга не стала спасать его от бесполезности выбранного действия. Это было неожиданнее спора.
Она создала запрос. На экране мелькнула форма с обязательными полями. В строке категории Ольга выбрала «Неизвестный пользовательский сценарий». В описании написала: «После локального отказа пользователю отображается условие очной процедуры, отсутствующее в стандартном перечне назначений. Пользователь сообщает об участии в анализе раннего прототипа».
— Уберите последнюю фразу, — сказал Антон.
— Почему?
— Она не относится к ошибке.
— Относится к тому, почему вы её распознали.
— Я не давал согласия передавать сведения о моей прежней работе.
Ольга повернула монитор к нему полностью.
— Тогда я не отправлю фразу. Но в запросе останется: «пользователь распознал сценарий как экспериментальный». Подходит?
Антон прочитал описание. Если запрос попадёт Марку, тот поймёт, кто пришёл. Если попадёт службе безопасности, формулировка не доказывает участия Антона. Если убрать её совсем, поддержка ответит стандартной инструкцией очистить кэш.
— Подходит.
Ольга удалила последнюю строку и отправила форму. Внутренний номер: ЦПС-2217.
В ту же секунду телефон Антона завибрировал. Чёрная карточка изменилась.
«Действие: до 18:00 составить хронологию появления карточки и передать её консультанту через обращение 80419».
Ни Ольга, ни Антон не вводили эту фразу в его телефон. Но Ольга только что сохранила почти те же слова в системе Центра. Старый сценарий получил событие через общий журнал назначений и подставил его в шаблон. Никакого отправителя, наблюдавшего за разговором, не требовалось. Достаточно интеграции, которую должны были отключить.
Ниже появилась кнопка «Принять действие» и, рядом, менее заметная — «Изменить».
Антон нажал «Изменить».
— Что не так? — спросила Ольга.
— Я не выбирал формулировку для алгоритма. Я выбрал её в разговоре с вами.
— Но выбрали вы?
— Да.
— Тогда в чём разница?
— В том, кто присваивает себе действие.
Он удалил слова «через обращение 80419» и написал: «передать Ольге Левиной копию, пригодную для технического запроса». Потом подумал и убрал имя. Оно не было нужно для проверки, а персональные данные консультанта не должны были попадать в архив прототипа.
Осталось: «До 18:00 составить хронологию появления карточки и передать копию в Центр для технического запроса».
— Теперь ваше? — спросила Ольга.
— Теперь хотя бы точнее.
Он нажал «Принять действие».
Карточка стала белой. Вверху появилась обычная зелёная полоса «Шанса», но внизу сохранилась тонкая янтарная линия. Идентификатор шаблона на экране не показывался.
— Вы это видели раньше? — спросил Антон.
— Нет. У нас стандартный первый шаг выглядит иначе.
— Сколько людей проходит очную процедуру после локального отказа?
— Я не знаю, что вы называете локальным отказом.
— Если в истории назначений появится похожая карточка, не советуйте человеку её выполнять, пока не получите ответ поддержки.
Ольга закрыла ручку колпачком.
— Вы сейчас даёте мне инструкцию как бывший сотрудник или просите как пользователь?
Антон хотел сказать: как человек, который знает устройство системы. Но это потребовало бы объяснить, откуда знает.
— Прошу зафиксировать риск неизвестного сценария.
— Уже зафиксировала. А вы выполните своё действие до шести.
— Если не выполню, что произойдёт?
— Для Центра — ничего. Мы обсудим почему и выберем другое, если вы придёте снова.
— Рейтинг?
— Может измениться. Я не управляю формулой.
— Значит, всё-таки произойдёт.
— С цифрой — возможно. С правом прийти сюда — нет.
Фраза прозвучала просто, будто право действительно можно было отделить от цифры одним голосом. Антон вспомнил удалённую строку согласия. «Отказ не влияет на доступ к базовым услугам». Она занимала сто три знака.
Ольга протянула ему копию анкеты и карточку с часами приёма.
— Ещё одно. Вы скрыли часть участия в прототипе. Это ваше право, пока речь не о расследовании. Но технический запрос может вернуться с вопросами. Заранее решите, что вы готовы сообщить и зачем.

