На следующее утропервым делом Хань Луи включил компьютер и снова открыл страницу заказа.
Вчера вечером он не принял решения, но, переспав с этой мыслью, уже всё понял.
Прикрепленное техническое резюме состояло всего из трех страниц. Конфиденциальные данныевымарали, убрав названия компании и проекта, но для Хань Луи этот текст читался как открытаякнига.
Каждое предложение он мог мысленно привязать к конкретномуфайлу с кодом.
«В ядре рекомендательного движка проведена корректировка архитектуры: оригинальный модуль динамического распределения весов заменен на статический движок на основе правил».
Прочитав это, Хань Луи скривился.
Динамическое распределение весов. Он угрохал восемь месяцев на проектирование этого узла – сердца всей системы. Егогениальность заключалась в автоматической адаптации к действиям пользователя в реальном времени. Каждый клик, каждый свайп, каждая задержка экрана считывались и шли в расчет.
Такую махину нельзя было просто написать и сразу запустить в прод. Он отлаживал ее на ходу, прогнал через нее сотни миллионов пользовательских логов, выверяя каждый параметр вручную.
А команда Чэнь Бовэня просто вырвала ее с корнем и воткнула статический движок.
Хань Луи понимал логику. Динамический модуль был чертовски сложен. Без него самого в команде не осталось ни одного человека, который мог быдо конца распутать ту паутину. И Чэнь Бовэнь пошел по простому пути: не понимаешь, как работает – вырежи и поставь то, что понимаешь.
Следомшел список симптомов: запредельные задержки отклика в часы пик, падение точности рекомендаций, отток пользователей, полный провал А/В тестов по сравнению со старой версией.
Если перевести на русский: после обновы система превратилась в тыкву ипродолжала гнить дальше.
Хань Луи откинулся на спинку стулаи активировал Зрение.
Энергия была на максимуме – 250/250. Он сфокусировал взгляд на трех страницах резюме.
Панель взорвалась.
И не обычным окошком. Весьэкран залило полупрозрачным красным предупреждением – словно перед ним вспыхнула стена огня.
[Целевая система: Цифровые технологии «Диншэн» · Ядро рекомендательного движка]
[Общая оценка стабильности: критическая опасность]
[Критические уязвимости: 12 | Средние уязвимости: 37| Мелкие уязвимости: 91]
[Прогнозируемое время полногокраха: в течение 72 часов после релиза]
Сто сорок багов. Темно-красные, бледно-красные – они плотным ковром усеяли монитор, напоминая медицинское заключение о неизлечимой болезни.
Ему хватило одного взгляда на первую тройку критических дыр, чтобы отбить всякое желание читать дальше. Утечка памяти: через три дня система сама себя сожрет и захлебнется. Разрыв конвейера данных: четверть пользовательского трафика тихо утекает в небытие. Взаимная блокировка потоков: в часыпик есть двадцатипроцентный шанс поймать классический deadlock и положить всё к чертям.
Три бомбы замедленного действия. Рвани любая из них – и компания гарантированно окажется в трендах новостей.
Ему понадобилось три года, чтобы довестисистему от состояния «работает» до «летает». Каждый параметр, каждый вес, каждый релиз – всё этоон выковал своими руками.
А Чэнь Бовэнь просиделв кресле руководителя всего полмесяца.
В памяти всплыла надпись, котораявисела над Чэнь Бовэнем в день увольнения...
[ВНИМАНИЕ: Уданного объекта имеется 3 критических бага. Нажмите, чтобы развернуть (Текущий уровень недостаточен)]
Тогда он был лишь на первом уровне и не мог посмотреть детали.
И, скорее всего, один из этих трех багов – как раз то, что ЧэньБовэнь сорвал его плоды, но подавился ими.
Он, безусловно, мог всё исправить. Это был его код. Тут даже Зрение не требовалось: в некоторых местах он мог бы ткнуть пальцем в нужную строчку с закрытыми глазами.
Он отключилЗрение.
Монитор вернулся к привычному белому интерфейсу биржи. В правом верхнем углу висели две кнопки: «Взять в работу» и «Скрыть».
Палец Хань Луи замер на мышке.
Взять? Спасти шкуру Чэнь Бовэня? Я что, идиот?
Он кликнул на «Скрыть».
Не возьмет.
Закрыв вкладку заказа, он взял со стола остывший кофе исделал глоток.
Отказаться-то он отказался, но просто сидетьи молчать было жаль.
Он открыл форум и от имени NullPointer потратилсорок минут на написание статьи: «Семь классических ловушек при рефакторинге рекомендательныхсистем». Чисто технический разбор.
Все описанные грабли – это ровното, на что прямо сейчас наступал Чэнь Бовэнь. Правда, Хань Луи былуверен: с уровнем Чэнь Бовэня тот даже не поймет, о чем речь, если прочитает. Но когда серверы лягут, эту статью обязательно откопают. И выражение лица Чэнь Бовэня втот момент будет бесценным.
Опубликовав текст, он закрыл форум.
Мозг заработал на полную.
Эти сто сорок багов. Сотня багов, которые он вычистил на заказах за последние две недели. Тысячибагов за прошлые пять лет.
Внешне они отличались, но паттерн был один.
Одни и те же шаблоны всплывали из проекта в проект. По сути, каждыйраз он делал только две вещи: распознавал паттерн и применял шаблонное решение.
Так разве это не идеальная задача для искусственного интеллекта?
Он отставил чашку, достал телефон и открыл заметки...
«Инструмент проверки кода, связывающий исходник с реальными сценариями эксплуатации. BugKiller?»
Вытащить всепаттерны багов, которые он когда-либо находил Зрением: сигнатуры, триггеры, алгоритмы исправления. Заскормить это нейросети, чтобы она научилась одному: «видеть код и сразу предсказывать, где рванет на проде». ИИ не нужно Зрение. Ему достаточно усвоить то, что Зрение уже показало человеку.
Точно также, как нейросеть учат играть в шахматы: ей не нужно уметь думать, ей нужно скормить миллионы партий.
Хань Луи сел за компьютер, создалпапку BugKiller, а в ней – документ «База паттернов багов v0.1».
И начал писать. Пальцы летали по клавиатуре. Кошмары последнихпяти лет потоком хлынули из памяти, автоматически распределяясь по категориям: память, многопоточность, потоки данных, интерфейсы. Для каждого типа он фиксировал условия возникновения, классические симптомы и пути решения.
Он словно составлял «Энциклопедию багов» для абсолютного чайника.
Через два часа он остановился.
Этого быломало. Опыт одного человека не мог вытянуть полноценную базу данных. Нужна была выборка пошире, классификация построже.
Ему нужен был продакт-менеджер.
Хань Луи взял телефон и открыл чат с Су Няньнянь.
«Няньнянь, по поводу нашей прошлой идеи с ИИ-ревьюверомкода. У меня появились мысли. Свободна сегодня вечером? Давай поужинаем, обсудим».
Меньше чем через тридцать секунд прилетел ответ: «Прямо сегодня?! Во сколько?»
«В семь».
«Без проблем! Я какраз в шесть-тридцать освобождаюсь. Что за идея? Спойлернешь?»
«При встрече расскажу».
Статус «Печатает...» под ее именем мигнул несколько раз, но вместо уговоров пришло короткое:
«Тогда я пока выберу ресторан. Что хочешь съесть?»
«На твой вкус. Я не привередливый».
«Договорились, место за мной».
Хань Луи стало смешно: вроде быэто он пригласил ее, а инициативу перехватили за три сообщения.
Впрочем, ожидаемо. Су Няньнянь была продактом, забирать контроль над требованиями – унее в крови.
Отложив смартфон, он снова погрузился в документ и неподнимал головы до половины пятого.
До семи оставалось еще два с половиной часа.
Он бросил взгляд на новорожденную папку BugKiller. Писать дальшене стал. Для вечернего разговора нужны были живые, гибкие мысли, а не зацементированные втексте формулировки.
Он выключил компьютер, принял душ и наделчистую рубашку.
Когда он выходил из квартиры, за стеной слышалсяголосок Линь Додо – девочка взахлеб рассказывала Линь Ваньцин о садике.
Хань Луи захлопнул дверь и направился к метро.
Вечерний ветер был не холодным и не теплым. В середине марта Хайчэнсловно застрял в щели между двумя временами года.
Настройки чтения
Размер
18
Шрифт
Выравнивание
Тема
Интервал
1.7
Ширина
Оригинал текста
Отметки прогресса
Путь к богатству на волне ИИ — Главы
Список глав загрузится при открытии.
Комментарии
Войдите, чтобы оставить комментарий.