AI для "маленьких"
Программный комитет ещё не принял решения по этому докладу
Целевая аудитория
Тезисы
С момента прошлого доклада прошло три года, и MediaSniper «немного» подрос: нагрузка увеличилась с 500 до более чем 600 тысяч RPS, а число ядер в бэкендах превысило 2000. Вместе с нагрузкой росла и кодовая база: основной монолит перешагнул 100 тысяч SLoC, а вместе с сервисами обвязки и прототипом новой версии — 200 тысяч. Команда разработки при этом осталась прежней: два человека, которым нужно одновременно развивать ядро рекламной платформы, сервисы, пиксели, парсеры данных и хранилища реального времени.
Так зачем же команде из двух программистов AI-ассистент? Конечно, чтобы он работал за нас, а мы пили кофе и наблюдали за коммитами в GitHub. Реальность оказалась более жестокой:
- AI предлагал неработающие или избыточно сложные архитектуры.
- Метался между гипотезами и заводил исследования в тупик.
- Не всегда мог проверить собственный результат.
- Ломал серверы при настройке, а однажды скриптом отката отключил себе доступ по SSH.
В итоге оказалось, что AI лучше работает не ЗА нас, а ВМЕСТЕ с нами. Именно так проявились его преимущества:
- Проверка гипотез. Мы провели более ста экспериментов — от DPDK, UDP и аллокаторов до HTTP, разбора запросов, генерации XML/JSON и подстановки плейсхолдеров. На такой объём ручной работы у нашей команды ушли бы годы.
- Аудит кода. AI сформировал и проанализировал более сотни Audit Units. Нашел ошибки в hot path монолита, в HTTP-библиотеке и во вспомогательных сервисах.
- Рефакторинг legacy-монолита. Ускорили HTTP-слой в два раза, высвободив по четыре ядра на каждом бэкенде.
- Генерация и сопровождение тестов. Наконец-то у монолита появилось полноценное покрытие.
В докладе — больше кейсов, цифр, примеров и грусти от того, что за всем приходится обязательно следить человеку.
Директор по разработке высоконагруженных сервисов. Более 15 лет опыта работы над enterprise- и open source-решениями. C++- и Go-разработчик.
Видео
Другие доклады секции
Внедрение AI в SDLC