Вадим Мустяца

+12
с 29.05.2024

Head of Engineering @ Alfa Bank Belarus

1 подписчик
0 подписок

Раз на уровне Velocity и процентов мне не удалось донести смысл, давайте ещё упростим и изложим всё в стиле школьной задачи по математике:

Условие:
Команда "А" каждые две недели поставляет клиентам 10 новых функций в своём продукте.
После внедрения ALT-man Reviewer участники команды стали тратить меньше времени на проверку кода и на исправление ошибок в тестовой и промышленной средах. В результате команда стала успевать реализовывать и поставлять на 1 функцию больше.

Вопрос:
Сколько теперь функций команда "А" поставляет клиентам каждые две недели?

Решение и ответ, думаю, писать не нужно. Разве только то, что за 14 недель команда поставит на 14 функций больше, чем могла сделать это раньше. То есть 154 вместо 140 функций. Откуда взялся рост в 2 раза я, честно говоря, не понял.

Почему это важно для клиентов:
Если бы команда "А" работала с прежней скоростью, клиент "К" получил бы важную для него функцию лишь две недели спустя. Важность функций обеспечивает владелец продукта, который находится в постоянном контакте с клиентами, выявляя, что именно им необходимо в данный момент времени.

Кажется, в комментариях выше я всё это уже пояснял: мы используем не "дефолтный гпт" (то есть не просто базовую модель Llama 3, к примеру), а модель, которая прошла файнтюнинг ("натрениную под ревью"). При этом тратим, конечно, не десятки миллионов долларов, но столько, сколько необходимо для получения высокого уровня качества рекомендаций. И мы действительно считаем, что ALT-man Reviewer – это крутой продукт, который, в том числе, готовы предлагать внешним компаниям. Если есть интерес, можно обращаться в личные сообщения.

А мы – год, с лета 2023, как указано в статье. Вполне можно допустить, что в это же время в Microsoft и других компаниях параллельно тоже что-то подобное разрабатывалось, но в Интернете об этом не было никакой информации.

Если внимательно посмотреть, мы такого не утверждали: наш инструмент не исправляет ошибки, он заводит задачи на исправление найденных ошибок на инженеров. Чтобы генерировать «правильный код», нужные «правильные -пчёлы- модели», то есть нужно файтюнить базовые модели именно для генерации такого кода, который нужен именно вам. Как раз этим мы сейчас и занимаемся, но это уже другая история.

Да, наша модель значительно лучше справляется с ревью (80% против 13%, как указано в статье), поскольку она работает в тандеме с локальными инструментами статического анализа кода, чего ChatGPT, по понятным причинам, лишён.

Что касается оценки, то мы проводили её с помощью подсчёта количества релевантных задач (https://bitbucket.org/blog/introducing-pull-request-tasks), заведённых по одному и тому же пулл-реквесту. Релевантность задач оценивает автор пулл-реквеста, в спорных ситуациях – соответствующий лид. Сейчас мы именно так сравниваем качество работы ALT-man Reviewer и человека.

Отвечу тезисно:
1. Находить ошибки в чужом коде и писать без ошибок собственный – не одно и то же, особенно для таких вероятностных "штуковин" (привет любителям ТРИЗ), как большие языковые модели.
2. Мы работаем и над инструментами непосредственной генерации кода, о чём явно написано в последнем абзаце статьи.
3. Повышение эффективности разработки на 30%+ в ближайшие два года, о которой написано в том же абзаце, как раз и означает, что штат инженеров либо не будет расти, либо даже сократится (если количество команд останется тем же).

Антон, как писал выше, аналоги уже есть, они довольно легко гуглятся или выдаются красивым списком в ChatGPT. Но все они, насколько мы можем судить, являются санкционными и, в большинстве своём, работают по модели SaaS.

Что касается ALT-man Reviewer, мы готовы к диалогу о возможных вариантах сотрудничества уже сейчас. Если интересно – можно написать мне в личку :-)

Конкретнее и проще на общедоступном русском языке:
Количество полезных функций, выпускаемых каждые две недели, увеличится в среднем на 10% в каждой команде (= по каждой функциональной области, например: корпоративные карты, эквайринг и т. д.)

А вообще Velocity – общепринятый в индустрии термин: https://www.google.ru/search?q=define%3A%22team+velocity%22
Если бы я написал "скорость команды", как его обычно переводят, вряд ли стало бы понятнее.

Констатин, спасибо за вопрос, это действительно важно.

Как указано в статье, к 01.09.2024 мы планируем достигнуть 3 конкретных изменений (и тут нет никакой воды, это скурпулёзно измеряемые параметры, за которые мы подписались перед CEO):
1. Экономия 80%+ времени инженеров на проведение код ревью
2. Повышение качества кода на 20%+
3. Увеличение Velocity команд на 10%+

Если совсем упростить, то и первое, и второе изменение тоже работают на Velocity. А Velocity, с нашей точки зрения, работает напрямую на клиента, поскольку каждые две недели он будет получать на 10% больше ценности. Что касается превращения мобильного банка в "свалку функций", то это уже вопрос не по адресу, но лично мне, как пользователю, мобильное приложение АБР (Альфа Банк Россия) очень нравится, да и не думаю, что Markswebb просто так признал его лучшим.

Александр, спасибо за фидбэк, но в данном случае точно вопросы не по адресу. Надеюсь, на большую часть из них Вы сможете найти ответы на записи нашей "Альфа Среды", посвящённой как раз теме INSNC: https://youtu.be/FBT7DnPTAXw

Спасибо за пояснения, стало понятнее, но вся фишка процесса код ревью именно в том, что люди неизбежно "перепроверяют" за моделью – те, кому ставятся таски в пулл-реквесте и кому их, собственно, выполнять. Ну и всё-таки мы не полагаемся на саму LLM, они действительно ещё слабы в части программирования, но в сочетании с линтерами и SAST-ами, как показала практика, дают очень даже неплохой результат. Это именно вопрос синергии: по отдельности ни один из этих инструментов не решает вопрос ревью, а вот вместе оказалось, что решают.

Спасибо, коллега, взаимно! И всё же отношение к клиентам – зона ответственности каждого сотрудника банка. Это зафиксировано даже на уровне нашей текущей (с 2021 года) миссии:

Мы приносим радость клиентам, сотрудникам и акционерам. И не жертвуем радостью одних для радости других.

Будем честно продолжать стараться ей следовать 🙏🏻

Тут приходит на ум известная пословица:
Кто старое помянет, тому глаз вон... А кто забудет, тому оба :-)

Мы точно не отказываемся от того, что когда-то имело место, но поверьте: белорусская Альфа в 2016 и в 2024 в технологическом аспекте совершенно разные организации. Как и все банки в РБ, мы практически полностью вели разработку силами подрядчиков (вендоров), сейчас же доля собственной разработки составляет 72% (до конца года планируем 80%). Ну и про текущее отношение к тестированию (и качеству в целом) я выше уже написал. Уверен, что нынешние клиенты готовы это подтвердить на своём опыте (поскольку и сам клиент Альфы многие годы).

Константин, спасибо, конечно, за анекдот, но он немного не про тот Альфа Банк )) В статье речь об Альфа Банке Беларусь, что несколько раз указано по тексту (даже ссылка на сайт приведена). Это не значит, конечно, что у нас нет ошибок в работе и в софте, но всё же мы действительно уделяем большое внимание качеству и инженерной культуре – и с точки зрения автоматизации тестирования, и с точки зрения Quality Gates в целом. ALT-man Reviewer – лишь ещё один шаг на этом пути.

4

Денис, спасибо за вопрос. Летом 2023 года и вплоть до января 2024 на "радаре" (в поисковиках и у ChatGPT) ничего не было. Сейчас аналоги есть (правда, не в наших широтах), но появились они позже публичной демонстрации нашего решения (декабрь 2023). Поэтому да, мы считаем, что мы первые в мире.

3

Конечно! И Алексей, и остальные лиды очень рады заниматься "новой" интересной работой вместо рутинного просмотра и комментирования типовых пулл-реквестов ))

3