Вселенная кода, доступная каждому: презентация GitVerse
Привет, Хабр! На связи Андрей Аврамчук (@Mimizavr). Недавно я побывал на онлайн-презентации GitVerse — платформы для совместной разработки и хостинга кода. Планируется, что она станет инструментом нового поколения, избавляющим разработчика от многих болей. Под катом вы узнаете:
Чем GitVerse может помочь открытому ПО.
Почему перенос своих проектов на платформу — это легко и приятно.
Куда спрятаться от ИИ (спойлер: никуда).
Умеет ли GitVerse в CI/CD.
И наконец, какие есть причины смотреть в будущее с оптимизмом.
Принцип единого окна
Когда-то разработчику было достаточно блокнота и компилятора, а для веба хватало только блокнота. К счастью или к сожалению, те времена ушли навсегда. Современные инструменты существенно увеличивают эффективность разработки, но при этом добавляют частые переключения контекста.
Управляющий директор, СберТех
Разработчик использует порядка восьми различных инструментов в течение дня, чтобы сделать свой кусок работы. Здесь он рисует архитектуру, тут у него деплоймент-диаграмма, там он работает непосредственно с ландшафтом баз данных, здесь пишет код, здесь работает с командой, а вот тут ещё есть параллельно какой-то чатик. Существует огромное количество практически не связанных между собой инструментов, и переход между ними не всегда бывает бесшовным. Ты всегда забываешь о предыдущем шаге, на каждом следующем шаге ты «обнуляешься».
Но иногда этот когнитивный оверхед можно убрать или уменьшить. Стратегическая цель СберТеха — создать для себя и для других разработчиков некое «единое окно», среду, где можно вести весь процесс разработки: от проектирования архитектуры до деплоя. Эта среда будет пронизана ИИ, автоматизирующим рутинные задачи. Кто-то боится, что ИИ заменит разработчика, но в СберТехе придерживаются несколько иного мнения: с помощью ИИ разработчик сможет достичь максимальной эффективности и сосредоточиться на действительно творческих вещах.
Как и любая абстракция, «единое окно» едино только снаружи. Внутри него — коллекция инструментов, которые СберТех долго разрабатывал, внедрял, подгонял друг к другу. Изначально — для собственных нужд, но через GitVerse команда СберТеха хочет поделиться этими инструментами со всем сообществом разработчиков. Например, в ближайшее время планируется сделать доступной интегрированную среду разработки — буквальное воплощение «единого окна», позволяющую рулить всем процессом из одного приложения.
Больше никаких блокировок
Свобода ПО — это свобода использовать, изменять, распространять и публиковать свою улучшенную версию. Так вот с последней свободой сейчас возникли некоторые нюансы. Крупнейшая мировая платформа по хранению кода GitHub с 2022 года выборочно блокирует аккаунты пользователей из России. GitVerse может стать альтернативой для российских разработчиков. Платформа создана и размещена в России, что полностью исключает риски недоступности разработок и кода.
Кроме того, отечественная локализация сервиса критична и для многих клиентов.
CTO Wormsoft
Большие компании, у которых реально отстроены процессы информационной безопасности, сейчас в принципе не могут никак принимать от нас наработки, кроме как в виде, допустим, диска или флешки с архивом. И эти компании нам очень важны, очень нужны, но они никак не могут поменять свой подход. Но теперь появился GitVerse, разработанный в нашей стране, и разработанный теми людьми, которые заинтересованы в том, чтобы соблюдать законодательство Российской Федерации. Было бы очень удобно, если бы в будущем на площадке появилась возможность работать с клиентом, просто создав общий репозиторий на GitVerse.
Развитие открытого ПО — приоритетное направление для СберТеха. Ушли в прошлое времена, когда open source развивался отдельно от мира больших корпораций. Теперь корпорации постоянно пользуются открытым ПО, инвестируют в него и поддерживают сообщество. Основной смысл GitVerse в том, чтобы помочь российским разработчикам открытого ПО создавать крутые и полезные вещи, доступные всем.
Простота миграции
Даже когда переезжаешь на самую супер-пупер-лучшую в мире платформу, переезд — это все равно боль, а хороший инструмент разработчика призван ее минимизировать. Поэтому в GitVerse предусмотрена простая, практически в один клик миграция с существующих платформ хранения git-репозиториев. Планируется, что инструменты, которые появляются на GitVerse, будут оборудованы удобными миграторами. Например, в последнем релизе на GitVerse появились CI/CD-инструменты — аналог GitHub Actions с совместимым синтаксисом. При переезде с GitHub ваш сборочный пайплайн даже не придётся редактировать.
GigaCode
Разумеется, сегодня никак нельзя выпускать крутой продукт без встроенного хоть куда-нибудь ИИ. GitVerse идёт в комплекте с GigaCode — ИИ-ассистентом разработчика, который уже хорошо зарекомендовал себя в Сбере. GigaCode развивается в синергии c сервисом GigaChat (искусственный интеллект от Сбера) с точки зрения используемых технологий, моделей, процессов и подходов. «Под капотом» GigaCode находятся нейросетевые модели, которые обучены на больших корпусах исходного кода и специализируются на определённых задачах разработки.
С GigaCode можно пообщаться прямо в веб-интерфейсе GitVerse. Например, там есть кнопка, о которой мечтали поколения программистов, — кнопка сделать хорошо «О чём код». При нажатии на неё GigaCode формирует описание простым языком того, что происходит в текущем модуле. В более сложном случае можно открыть диалоговое окно и пообщаться, задать вопросы по коду.
Также GigaCode доступен и в IDE — через плагины к популярным средам разработки. Автодополнение по контексту, генерация кода по описанию — в наличии всё, что ожидают от ИИ-помощника в 2024 году.
Главный разработчик веб-интерфейсов, BI.ZONE
Существует несколько AI-ассистентов. Как же выбрать один «тот самый»? Конечно, сначала определиться с критериями выбора. И, безусловно, важнейший критерий для нас — это безопасность. Код наших приложений должен быть надёжно защищён, потому что уровень критичности максимальный.
Есть разные варианты развёртывания такой системы, и первый — это развернуть всё самостоятельно, на собственной инфраструктуре. Сначала мы хотели пойти именно таким путем, но поняли, что это очень дорого. Придётся поддерживать немаленькую инфраструктуру, нужно найти модель, выбрать и дообучить её. Для этого понадобятся ML-аналитики, которых в компании может не быть совсем.
Другой вариант — воспользоваться облачным решением. Самое замечательное, что при этом ничего не нужно делать — всё уже настроено, только пользуйся. А самый большой минус — чтобы получить подсказку, нужно отправить контекст, то есть ваш код по Сети. И тут возникает ряд вопросов…
Мы решили попробовать GigaCode, который содержит в себе основной плюс cloud-решения. При этом вендор российский, то есть отсутствует геополитический риск остаться однажды без этого инструмента. В наличии нормативные документы, в которых описаны все варианты использования информации, и там всё хорошо.
Непрерывная интеграция
Как уже говорилось выше, в GitVerse есть аналог GitHub Actions под названием «Действия». Этот функционал добавлен недавно — платформа активно развивается, и новые фичи появляются буквально на глазах. С помощью «Действий» и вебхуков можно настроить CI/CD так же, как и на GitHub: пулл-реквест запускает пайплайн, проект собирается, тестируется и деплоится.
Если говорить о новой функциональности, у GitVerse есть роадмап, где можно увидеть, что СберТех планирует представить пользователям в ближайшее время. Одна из таких фич — DevContainers, в которых можно будет быстро собрать и запустить проект в облаке или локально без необходимости использовать сторонний сервис.
GitVerse, цитируя фантаста Сергея Лукьяненко, «не только частица, но и волна». Прямо сейчас, когда вы читаете эти строки, ребята из СберТеха пилят обновления. GitVerse — это процесс, причём не только разработки, но и взаимодействия с сообществом. Пользователь платформы имеет право голоса, и работа ведётся в первую очередь над теми фичами, которые востребованы сообществом.
В будущем пользователей GitVerse ожидают такие вещи, как Pages (публикация статических страниц в один клик), Registry (хранилище пакетов для npm, maven и прочих) и другие обновления. Искусственный интеллект станет ещё более вездесущим — он будет генерировать тесты, автоматически создавать документацию, осуществлять интеллектуальный поиск.
Будущее уже рядом. Присоединяйтесь, и вместе мы сделаем его ещё лучше.