AI для "маленьких"

Внедрение AI в SDLC

C/C++
Асинхронное программирование, реактивное программирование
Оптимизация производительности
Поддержка и развитие legacy систем

Программный комитет ещё не принял решения по этому докладу

Целевая аудитория

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

Тезисы

С момента прошлого доклада прошло три года, и 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