Вселенная кода, доступная каждому: презентация GitVerse

calendar
2024-05-03

Вселенная кода, доступная каждому: презентация GitVerse

Привет, Хабр! На связи Андрей Аврамчук. Недавно я побывал на онлайн-презентации GitVerse — платформы для совместной разработки и хостинга кода. Планируется, что она станет инструментом нового поколения, избавляющим разработчика от многих болей. Под катом вы узнаете:

  • Чем GitVerse может помочь открытому ПО.
  • Почему перенос своих проектов на платформу — это легко и приятно.
  • Куда спрятаться от ИИ (спойлер: никуда).
  • Умеет ли GitVerse в CI/CD.
  • И наконец, какие есть причины смотреть в будущее с оптимизмом.

Принцип единого окна

Когда-то разработчику было достаточно блокнота и компилятора, а для веба хватало только блокнота. К счастью или к сожалению, те времена ушли навсегда. Современные инструменты существенно увеличивают эффективность разработки, но при этом добавляют частые переключения контекста.

Разработчик использует порядка восьми различных инструментов в течение дня, чтобы сделать свой кусок работы. Здесь он рисует архитектуру,тут у него деплоймент-диаграмма, там он работает непосредственно с ландшафтом баз данных, здесь пишет код, здесь работает с командой, а вот тут ещё есть параллельно какой-то чатик. Существует огромное количество практически не связанных между собой инструментов, и переход между ними не всегда бывает бесшовным. Ты всегда забываешь о предыдущем шаге, на каждом следующем шаге ты «обнуляешься».

Анатолий Шипов, Управляющий директор, СберТех

Но иногда этот когнитивный оверхед можно убрать или уменьшить. Стратегическая цель СберТеха — создать для себя и для других разработчиков некое «единое окно», среду, где можно вести весь процесс разработки: от проектирования архитектуры до деплоя. Эта среда будет пронизана ИИ, автоматизирующим рутинные задачи. Кто-то боится, что ИИ заменит разработчика, но в СберТехе придерживаются несколько иного мнения: с помощью ИИ разработчик сможет достичь максимальной эффективности и сосредоточиться на действительно творческих вещах.

Как и любая абстракция, «единое окно» едино только снаружи. Внутри него — коллекция инструментов, которые СберТех долго разрабатывал, внедрял, подгонял друг к другу. Изначально — для собственных нужд, но через GitVerse команда СберТеха хочет поделиться этими инструментами со всем сообществом разработчиков. Например, в ближайшее время планируется сделать доступной интегрированную среду разработки — буквальное воплощение «единого окна», позволяющую рулить всем процессом из одного приложения.

Больше никаких блокировок

Свобода ПО — это свобода использовать, изменять, распространять и публиковать свою улучшенную версию. Так вот с последней свободой сейчас возникли некоторые нюансы. Крупнейшая мировая платформа по хранению кода GitHub с 2022 года выборочно блокирует аккаунты пользователей из России. GitVerse может стать альтернативой для российских разработчиков. Платформа создана и размещена в России, что полностью исключает риски недоступности разработок и кода.

Кроме того, отечественная локализация сервиса критична и для многих клиентов.

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

Антон Морев, CTO Wormsoft

Развитие открытого ПО — приоритетное направление для СберТеха. Ушли в прошлое времена, когда 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 году.

Существует несколько AI-ассистентов. Как же выбрать один «тот самый»? Конечно, сначала определиться с критериями выбора. И, безусловно, важнейший критерий для нас — это безопасность. Код наших приложений должен быть надёжно защищён, потому что уровень критичности максимальный.Есть разные варианты развёртывания такой системы, и первый — это развернуть всё самостоятельно, на собственной инфраструктуре. Сначала мы хотели пойти именно таким путем, но поняли, что это очень дорого. Придётся поддерживать немаленькую инфраструктуру, нужно найти модель, выбрать и дообучить её. Для этого понадобятся ML-аналитики, которых в компании может не быть совсем.Другой вариант — воспользоваться облачным решением. Самое замечательное, что при этом ничего не нужно делать — всё уже настроено, только пользуйся. А самый большой минус — чтобы получить подсказку, нужно отправить контекст, то есть ваш код по Сети. И тут возникает ряд вопросов…Мы решили попробовать GigaCode, который содержит в себе основной плюс cloud-решения. При этом вендор российский, то есть отсутствует геополитический риск остаться однажды без этого инструмента. В наличии нормативные документы, в которых описаны все варианты использования информации, и там всё хорошо.

Виталий Абрамов, Главный разработчик веб-интерфейсов, BI.ZONE