Как мы ускоряли рутину софтверной разработки

Дата
6 ноября 2024 г.
Статус
Завершено
Как мы ускоряли рутину софтверной разработки

Кейс компании BI.ZONE с AI-ассистентом GigaCode — российским аналогом Github Copilot. Зачем было нужно, как выбирали и внедряли, какие трудности.

Саммари мероприятия

Внедрение GigaCode: как ускорить рутину разработки с российским аналогом Copilot

TL;DR

Виталий Абрамов из компании «Бизон» рассказывает об опыте внедрения AI-ассистента GigaCode в процессы разработки крупной компании. Доклад охватывает причины выбора отечественного решения (безопасность и законодательство), этапы внедрения (от пилота до раскатки на компанию) и реальные сценарии использования. Главный посыл: AI-ассистент — это не замена разработчика, а инструмент для устранения скучной рутины вроде написания тестов и документации.

Кому будет полезно

  • CTO и Tech Leads: кто ищет безопасные AI-инструменты для корпоративной среды в РФ.
  • Разработчикам (любой уровень): кто хочет спихнуть рутину на AI, но боится сложностей.
  • DevSecOps: кого волнуют вопросы безопасности при использовании облачных AI-помощников.

Краткий контекст

  • Спикер: Виталий Абрамов, лидер компетенции фронтенда в компании «Бизон» (сфера кибербезопасности).
  • Компания: Около 1000 сотрудников, множество продуктов, строгие требования к безопасности данных.
  • Проблема: Разработчики тратят время на скучные задачи (тесты, документация, рефакторинг), а использовать зарубежные облачные решения (как GitHub Copilot) нельзя из-за передачи кода за границу.

Ключевые идеи

1. Эффект «барабанной дроби» в разработке

Что сказали: Спикер проводит аналогию с игрой на барабанах: существуют техники (например, Moeller method), позволяющие одним движением руки делать несколько ударов. Почему это важно: В разработке принцип тот же — нужно делать больше полезной работы за меньшее количество «движений». Как применить: Использовать AI-ассистента для генерации бойлерплейта, тестов и документации. Одно нажатие (или промпт) — много строк полезного кода.

2. Безопасность диктует выбор инструмента

Что сказали: On-premise решения (локальные) требовали бы дорогого железа и команды поддержки, чего на старте не было. Облачные зарубежные решения (Copilot) отпали сразу из-за риска утечки кода. Почему это важно: Для российских компаний в сфере ИБ и Enterprise критично, чтобы код не покидал пределы РФ (или контура). Как применить: Если вы работаете в РФ с чувствительными данными, выбирайте отечественных вендоров (в кейсе выбран GigaCode от Cloud.ru), которые соблюдают требования безопасности.

3. Главный сценарий: «Просто пиши код»

Что сказали: Самая полезная фича — это не чат с ботом, а inline completion (автодополнение строки/блока). Почему это важно: Это не требует смены контекста. Разработчик не отвлекается на промпты, а просто работает, пока нейросеть «подхватывает» мысль и дописывает код. Как применить: Не пытайтесь сразу строить сложные диалоги с AI. Начните писать функцию как обычно и дайте ассистенту предложить продолжение (серым цветом).

4. Борьба с завышенными ожиданиями

Что сказали: Основная причина, почему разработчики отказываются от инструмента после теста — ожидание уровня «Джарвиса» из Железного человека. Почему это важно: Текущие LLM — это просто «умная подсказка», а не полноценный интеллект. Ошибки неизбежны. Как применить: Снизить планку ожиданий. Относиться к инструменту как к стажеру, за которым нужно проверять, но который печатает быстрее вас.

5. Помощь в незнакомом стеке

Что сказали: AI отлично помогает стартовать задачи в технологиях, где у вас нет экспертизы. Почему это важно: Это снимает блок «чистого листа» и страх перед новым инструментом. Как применить: Если нужно написать конфиг (например, Dockerfile) для незнакомой технологии — попросите AI сгенерировать базу, а потом отдайте на ревью эксперту.

Примеры и кейсы

  • Генерация Docker-образа: Спикер (фронтендер) никогда не писал Dockerfile. Ему нужно было добавить скриншот-тесты на Playwright в CI.
    • Решение: Попросил GigaCode: «Собери докер образ, установи Playwright, запусти скрипт».
    • Результат: Получил рабочий файл, который потом отдал на проверку DevOps-инженеру. Задача решена без глубокого погружения в Docker.
  • Тест на Фибоначчи: Один из разработчиков жаловался, что модель не может написать функцию Фибоначчи.
    • Проверка: Спикер при нем открыл пустой файл, написал def fibonacci, и модель мгновенно выдала верный код.
    • Вывод: Модели быстро дообучаются. Негативный опыт месячной давности может быть неактуален сегодня.

Ошибки и грабли

  • Слепое доверие: Использовать код без ревью (особенно в незнакомых областях) опасно. Всегда нужно привлекать эксперта или внимательно читать сгенерированное.
  • Негатив от «сарафанного радио»: Люди слышат истории неудач коллег и даже не пробуют сами. Нужно поощрять личное тестирование.
  • Ожидание магии: Если задача слишком сложная архитектурно, AI может не помочь. Он хорош в тактике, а не в стратегии.

Что можно сделать уже сегодня

  1. Проверить ограничения вашей компании: Можно ли использовать облачные AI? Если нет — смотреть в сторону отечественных аналогов (GigaCode и др.).
  2. Установить плагин в IDE: Инструмент поддерживает VS Code, JetBrains и Giga IDE.
  3. Делегировать рутину: Попробовать сгенерировать unit-тесты для одной функции или документацию (функция explain code).
  4. Написать код «как обычно»: Просто включить плагин и посмотреть, как он дополняет строки в течение дня.

Цитаты

«Это не Джарвис у Железного человека... это просто более умная подсказка, и так правильнее к ней относиться».

«Я люблю тесты, но я не люблю их писать».

Итоговый вывод

Доклад показывает, что внедрение AI-ассистентов в российском Enterprise — это уже реальность, а не эксперимент. Спикер доносит мысль, что польза инструмента раскрывается не в решении "невозможных" задач, а в ускорении банальной рутины. Самый разумный первый шаг — установить доступный в вашей компании AI-плагин и перестать писать бойлерплейт руками.