0%
Путь к богатству на волне ИИ

Глава 24. «На шаг впереди»

Свободный доступ

Среда, вторая половина дня. Bug Café.

Старина Чжоу бросилвзгляд на часы за барной стойкой:

— Ты пришел еще в час дня. Сегодня безпереработок?

— У фрилансеров не бывает переработок, — Хань Луи уселся на свое привычное место в углу с чашкой американо.— …У нас просто ненормированный график.

— Когда я был программистом, мы так себя не успокаивали, — хмыкнул старина Чжоу.

Хань Луи открыл ноутбук.

В браузере всееще висела вкладка с сайтом CodeSafe. Число регистраций выросло до трех тысяч восьмисот, а количество хвалебных обзоров увеличилось с трех до семи.

Онпрочитал каждый из них.

Сделав глоток кофе, он скачал открытую бета-версию CodeSafe, установил ее локально и запустил.

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

Активация Зрения.

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

Начнем с хорошего.

Фронтенд на React и TypeScript, грамотное разделение на компоненты, плавная анимация. Пользовательский интерфейс выглядел на три головы выше, чем у BugKiller. У них была отдельная команда фронтендеров, и в одиночку такой разрыв ненаверстать. Шлюзы бэкенда написаны на Go, логический вывод работает на Python, междуними очередь сообщений на Kafka. Хрестоматийный выбор технологий. Поддержка трех языков, приличная скорость сканирования, а документация для корпоративной интеграции написана лучше, чем у многих ИТ-гигантов.

Рядом с общей оценкой качества кода Зрение вывелоярлык:

【Оценка качества кода: Отлично】

Неплохо. Степень доктора в Стэнфорде и работа в Google даром не прошли. Инженерныйуровень этой системы был топовым даже по меркам стартапов. Чжао Вэньюань определенно знал свое дело.

Хань Луи погрузился глубже.

Зрение проникло в ядро движка обнаружения. Потоки кода уплотнились, объем информации резко возрос. Он сосредоточился, и энергия начала расходоваться в ускоренном темпе.

А затемнад ядром движка медленно всплыла желтая надпись с предупреждением:

【Архитектурный риск: Движок обнаружения использует метод полного обхода + логический вывод большой языковой модели | Текущая производительность: Отлично при объеме кодовой базы < 50 000строк | ПРЕДУПРЕЖДЕНИЕ: При объеме кодовой базы более 200000 строк процент ложных срабатываний будет расти нелинейно (Прогноз: 50 000 строк – 3% → 200 000 строк – 17% → 500000 строк – 41%) | Первопричина: Отсутствует иерархическое отсечение при извлечении признаков. Переполнение контекстного окна на крупных кодовых базах приводит к галлюцинациям модели】

50 тысяч строк – 3%.

200 тысяч строк – 17%.

500 тысяч строк – 41%.

Три показателя, растущие в нелинейной прогрессии.

Сейчас CodeSafe использовали только инди-разработчики и небольшие команды, чьи кодовые базы редко превышали 50 тысяч строк. Отличный пользовательский опыти положительные отзывы были настоящими. Чжао Вэньюань не мухлевал – его продуктдействительно работал на ура при текущих масштабах.

Но у корпоративных клиентов кодовые базы насчитывали сотни тысяч строк.

И это был даже не баг, который можно просто пофиксить. Фундаментальный выбор архитектуры пошел по неверному пути. В извлечении признаков отсутствовало иерархическое отсечение, ядро движка опиралось наполный логический вывод LLM. До 50 тысяч строк все работало отлично, помещаясь в контекстное окно. Но при преодолении отметки в 200 тысяч строк окно переполнялось, и модель начинала галлюцинировать. Результаты сканирования из «точных» превращались в «пальцем в небо».

Как это исправить? Переписывать ядро движка с нуля.

Минимум три месяца работы.

Чжао Вэньюань, скорее всего, еще даже не подозревал об этом. В фазе ОБТ все проекты были мелкими, статистика выглядела красиво, и он наверняка мнил себя гением.

Авот когда дело дойдет до первых корпоративных заказов, он поймет, в какую глубокую яму угодил.

Хань Луи отключил Зрение. Энергия просела более чем на шестьдесят единиц.

Он откинулся на спинку стула и уставился на слоган «Самое комплексное решение для ИИ-ревью кода» на главной странице CodeSafe.

В кафе вошла Су Няньнянь, впустив с улицы порыв свежего ветра. Неснимая шарфа, она прямиком направилась к Хань Луи, села напротив и достала ноутбук. Они заранее договорились встретиться здесь.

— Я зарегистрировалась в CodeSafe, — сказала она.

— Угу.

— Устроим сравнительный тест? — Она открыла репозиторий на GitHub. — …Вот опенсорсный проект. Бэкенд-сервис на Python, около восьмидесяти тысяч строк. Прогоним через оба.

Два ноутбука запустили анализ одновременно.

Полоса загрузки BugKiller заполнилась первой, CodeSafe отстал почти на минуту.

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

BugKiller выдал 50 багов, CodeSafe – 36.

Хань Луи снова активировал Зрение и просканировал код. 51 баг.

Он использовал результаты Зрения как эталон и начал постатейное сравнение.BugKiller: из 50 багов 48 настоящих, 2 ложных срабатывания,3 пропущено. CodeSafe: из 36 багов 32 настоящих, 4 ложныхсрабатывания, 19 пропущено.

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

Су Няньнянь сделала расчеты в блокноте:

— Процент ложных срабатываний: у нас четыре процента, у них одиннадцать.

О проценте пропусков он умолчал – нельзя же было объяснить Су Няньнянь, откуда онзнает точный ответ в 51 баг. Но в уме он прикинул: шесть процентов против тридцати семи.

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

Но количество было не главным.

Су Няньнянь открыла первый результат в BugKiller. Под описанием бага висел блокоценки рисков: «Прогноз после релиза: вероятность срабатывания при высокой нагрузке около 12%. Ожидаемое ежемесячное влияние на 12 000 пользователей. Приоритет исправления: P0». Следом шли три варианта исправления кода.

Затем она открыла тот жебаг в CodeSafe.

«Обнаружено потенциальное исключение нулевого указателя. Рекомендуется проверка».

Одна строчка. И всё.

Изучив оба отчета, Су Няньнянь ненадолго задумалась.

— По качеству обнаружения мы их размазали, — она подняла глаза. — …У них больше поддерживаемых языков, и они раньше выкатили корпоративную интеграцию, но это лишь вопрос времени.

— Верно. К тому же, на больших базах кода их движок начнет захлебываться, — кивнул Хань Луи. — …Как только наберуткорпоративных клиентов, сами все поймут.

Су Няньнянь прищурилась:

— Откуда ты знаешь?

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

Су Няньнянь некоторое время сверлила его взглядом.

Но расспрашивать не стала.

Она перевернула страницу в блокнотеи вывела заголовок: «План ОБТ v0.1».

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

— Спасибо. Очень мотивирует.

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

Су Няньнянь снова перелистнула страницу и постучала ручкой по бумаге.

— Бьем исключительно по оценке рисков. Остальное не трогаем.

Она указала на экран с результатами сканирования:

— CodeSafe говорит тебе, что есть баг. BugKiller говорит тебе, к чему этот баг приведет после релиза. Это совершенно разный уровень продукта.

— Что по плану запуска?

— Сначала создадим темы на форумах – V2EX и Juejin. Подтянем бета-тестеров, чтобы помогли с оглаской, попросим Ма Сяофэя выпустить еще одно видео. Если в первый день соберем пятьсот регистраций – это уже успех, — ее рука стремительно исписывала страницу.

— Когда стартуем?

Су Няньнянь открыла календарь:

— В первый рабочий день после праздников. План запускаи промо-материалы подготовим за выходные. На Первое мая все отдыхают, а шестого числа, вернувшись в офис, первым делом полезут читать форумы. Тянуть дальше нельзя, иначе CodeSafeобрастет пользовательской базой, и переманить их будет тяжело. Тебе хватит времени на код?

— Хватит.

— Значит, шестого.

С этими словами она сразу же начала строчить сообщение Ма Сяофэю вWeChat.

За окном стемнело. Старина Чжоу принес имеще по чашке кофе и сделал свет поярче. Хань Луи писал код, Су Няньняньсоставляла стратегию. Они почти не разговаривали. Лишь изредка Су Няньнянь поднимала головуи спрашивала: «Ты обновил документацию API?», или Хань Луи скидывал ей кусок логики, чтобы подтвердить продуктовый процесс.

В половине девятого старина Чжоу начал убирать со столов.

— Ребята, мы закрываемся.

Су Няньнянь посмотрела на часы:

— Уже?

Старина Чжоу с улыбкой покачал головой.

Они собрали вещи и вышли на улицу, продолжая обсуждать план запуска по дороге к метро.

У входа на станцию Су Няньнянь внезапно остановилась:

— Луи.

— М-м?

Су Няньнянь слегка улыбнулась.

— …Да так, ничего. До завтра.

Она скрылась в метро, а Хань Луи повернул кдому.

Когда он подошел к двери квартиры 502, было уже почти девять.

На пороге лежал бумажный пакет.

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

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

Он перевернул лист. На обратной стороне неровными буквами, старательно выведенными карандашом, былонаписано:

«Братик Луи, удачи!»

Иероглиф «Цзя» был написан зеркально.

Хань Луи прямо в дверях откусил кусок. Крем был слишком сладким, а коржи суховатыми. Он откусил еще.

Остаток он убрал в холодильник.

Экран телефона засветился.

Гу Сыюэ: «Юйвэй взялась за дело Линь Ваньцин. Предварительная оценка – шансы на выигрыш очень высоки».

Он набрал ответ: «Спасибо, адвокат Гу».

Пришло еще одно сообщение. Су Няньнянь скинула ссылку на документв Feishu: «План ОБТ BugKiller v0.1».

Онпробежался глазами по тексту и ответил: «Принято. Ложись пораньше».

Хань Луи прикрепил рисунок Додо к краю монитора.

Затем открыл редактор кода.

Божья коровкана картинке таращилась на него огромными нарисованными глазами.

Обсуждение

Комментарии

Чтобы участвовать в обсуждении, войдите по email.
Комментариев пока нет.
Обратная связь

Сообщить об ошибке

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