Pull to refresh
125.11
Minervasoft
Платформа управления знаниями для команд и GenAI

Как я чуть не угробил релиз из-за конфликта старой и новой школы в IT

Level of difficultyEasy
Reading time9 min
Views950

Я относительно недавно пришёл в новую команду в качестве проджект-менеджера. Компания разрабатывает платформу для автоматизации внутренних бизнес-процессов (B2B SaaS) — систему управления задачами, документами и внутренней коммуникацией для корпоративных клиентов.

Одна из первых задач команды — релиз новой фичи. Вроде ничего нового, но среди коллег начался конфликт. 

Команда разделилась на 2 лагеря, где с одной стороны — сеньоры: опытные ребята, которые помнят времена, когда jQuery считался модным, и до сих пор пишут всё с нуля. Они прямым текстом сказали: «Если не пишешь код руками — ты не разработчик, а оператор чата».

С другой — мидлы, не так давно присоединившиеся. Они активно используют Copilot, Midjourney и ChatGPT, ссылаются на скорость и эффективность, называют себя ИИ-оптимистами и не видят проблемы в том, что часть кода они «редактируют, а не создают».

На планёрках всё было вежливо, но в кулуарах — явное напряжение. Первый день — шутка про «копипастеров», на следующий — мем про динозавров в код-ревью. Видел, что это уже не просто шутки, а настоящая смена парадигмы — и мне, как менеджеру, придётся найти баланс между скоростью, качеством работы и атмосферой в команде.

Это было сообщение в одном из рабочих чатов
Это было сообщение в одном из рабочих чатов

После того как очередной конфликт подвинул дедлайн проекта, я решил, что надо помирить команду. Чтобы понять — как — я начал ресёрчить тему, из-за которой всё это и началось. И заодно решил написать статью. 

Здесь попробую разобраться, кто вообще такие вайбкодеры, как они появились и почему «трушные» разработчики их недолюбливают. А ещё — поделюсь рабочими промптами для обеих сторон и постараюсь ответить на вопрос «Как работать сообща любителям традиций и новых технологий?».

Эту статью я написал специально для блога Minervasoft на основе личного опыта, реальных кейсов моих коллег, отзывов специалистов с форумов и разных исследований.

Будет здорово, если в комментариях вы поделитесь своим мнением на эту тему.

С чего всё началось

Сначала я решил для себя понять, откуда и когда появилось это яблоко раздора под названием вайбкодинг. Узнал, что в феврале 2025 года сооснователь OpenAI Андрей Карпатый опубликовал твит с таким содержанием:

Выходит, он предложил разработчикам делегировать задачи нейросетям? Мне как “неайтишнику” сначала это было сложно представить. Как я сажусь за рабочее место и прошу какой-нибудь Cursor написать оставшиеся 50–70 строк кода. Затем даю ChatGPT задачу проверить результат, лениво попивая кофе и листая обновления на Хабре.

Но мои фантазии укрепили скрины нашего Python-разработчика, который регулярно ищет баги с ChatGPT:

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

Сам я отнёс себя скорее к ИИ-оптимистам: считаю, что нейросети — это не костыль, а инструмент, который можно встроить в процесс, чтобы работать быстрее. Так что вижу эту поляризацию не снаружи — я живу в ней каждый день.

Как хайпанул вайбкодинг в 2025 году

Дальше я полез в исследования посерьёзнее. Узнал, что Тобин Саут, эксперт по вопросам ИИ-безопасности в Массачусетском технологическом институте, считает, что вайбкодят чаще всего 2 категории специалистов: 

  1. Разработчики с большим опытом работы. Для них ИИ — виртуальный джун, который подправит код и учтёт комментарии. Останется только проверить качество работы. 

  2. Специалисты в начале IT-пути. Обычно они отдают ИИ целую задачу, хоть и несложную. Потом тестируют, проверяют на баги. Если ИИ помог решить поставленную задачу — отлично. Есть ошибки? Значит, идём обучать нейросеть их исправлять.

В целом, по данным Стэнфордского университета, большая часть населения Китая (83%) и Индонезии (80%) считает, что ИИ приносит больше пользы, чем вреда. В то время как в США (39%) и Канаде (40%) этот показатель значительно ниже. Однако процент ИИ-скептиков в Штатах и Европе постепенно падает. 

И если не брать во внимание ситуацию в моей команде, то в целом, конфликты вокруг ИИ в разработке постепенно утихают — статистика и реальные примеры показывают, что его ценность уже не ставят под сомнение.  

Кто, как и где внедряет ИИ, какие результаты:

  • США: 92% американских разработчиков активно используют инструменты кодирования на базе ИИ. 

  • Корпоративная среда: К 2025 году 75% корпоративной разработки ПО, скорее всего, будет улучшено ИИ.

  • Рост продуктивности разработчиков: Разработчики с GitHub Copilot выполняют задачи до 55% быстрее.

  • Скорость выхода на рынок: Время вывода продукта на рынок может стать быстрее на 30% благодаря ИИ-инструментам для управления проектами. 

  • Автоматизация рутины: ИИ-инструменты сокращают время на возню с документацией до 40%, а время тестирования — на 40%.

  • Улучшение качества кода: 59% разработчиков говорят, что ИИ улучшил качество их кода. 

  • Скорость обнаружения ошибок: ИИ в тестировании качества снижает время тестирования на 40%, а ошибки находятся быстрее на 60%.

  • Экономический эффект: Генеративный ИИ может добавить до 1,5 триллионов долларов в год к производительности в разработке ПО.

Сходил и к тем, и к другим — вытянул полезные промпты и советы для разработки

Хоть я и проджект-менеджер, всё равно могу сказать: ИИ — крутая штука, которая реально помогает ускорить разработку. Но, как выяснилось, работает это не всегда. Главное — правильно формулировать запросы и проверять результаты.

Советы для вайбкодеров и ИИ-оптимистов

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

1. Как писать промпты для сложных задач

Чем подробнее ваш промпт, тем точнее будет результат от ИИ. Избегайте общих фраз и старайтесь максимально конкретизировать свои требования.

Структура эффективного промпта от моей команды вайбкодеров:

  • Цель: Четко сформулируйте, что вы хотите получить.

  • Контекст: Опишите окружение, существующий код, зависимости.

  • Требования: Перечислите все функциональные и нефункциональные требования (формат данных, обработка ошибок, производительность).

  • Примеры (по возможности): Если есть аналогичные фрагменты кода или желаемый формат вывода, предоставьте их.

  • Ограничения: Укажите, что ИИ не должен делать или какие части кода нельзя изменять.

  • Желаемый формат вывода: Уточните, в каком виде вы хотите получить ответ (только код, код с пояснениями, список шагов).

Пример плохого промпта:

  • Промпт: "Напиши Node.js функцию для сохранения данных."

  • Почему плохо: Этот промпт слишком общий. ИИ не знает, какие данные, куда сохранять, с какой валидацией и обработкой ошибок. Результат, скорее всего, будет бесполезным или потребует огромного количества доработок.

Пример хорошего промпта:

  • Промпт: "Создай функцию на Node.js для обработки HTTP POST-запроса /api/users, которая принимает JSON-объект с полями name (строка, обязательно), email (строка, обязательно, формат email) и age (число, необязательно, от 18 до 99). Функция должна валидировать эти поля, использовать библиотеку Mongoose для сохранения данных в коллекцию users в MongoDB. Обеспечь обработку ошибок валидации (возвращать 400 Bad Request с сообщением об ошибке) и ошибок базы данных (возвращать 500 Internal Server Error). В случае успешного сохранения возвращай сохраненный объект пользователя с кодом 201 Created. Мне нужен только код функции, без дополнительных пояснений."

  • Почему хорошо: Этот промпт чётко определяет цель, входные данные, используемые технологии, требования к валидации, обработке ошибок, и даже желаемый формат вывода. Это значит, что шансы получить рабочий и релевантный код значительно выше.

2. Ограничения LLM: Когда ИИ лажает

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

  • Совет: Не стоит вообще всё доверять ИИ. Особенно когда речь идет о критически важном коде или если он отвечает за безопасность данных пользователей/соблюдение норм. Даже если ИИ сгенерировал код, всегда проверьте его сами — вдруг он упустил что-то важное.

3. ИИ для мозгового штурма

Нейросеть может быть классным помощником для генерации новых идей и подходов на начальных этапах проекта, когда вам нужно быстро исследовать разные варианты.

  • Промпт-идея (архитектура): "Предложи различные архитектурные подходы для создания высоконагруженного бэкенда для мобильного приложения с миллионами пользователей. Учитывай масштабируемость, отказоустойчивость и безопасность. Включи примеры технологий для каждого подхода. Ответ должен быть в виде маркированного списка."

  • Промпт-идея (библиотеки): "Какие библиотеки Python лучше всего подходят для обработки и анализа больших объемов текстовых данных с элементами машинного обучения? Предоставь краткое описание каждой библиотеки и основные кейсы использования. Ответ должен быть в формате таблицы с колонками: Название библиотеки, Описание, Основные кейсы использования."

Для олдскульных разработчиков: учимся дружить с ИИ

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

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

Вот несколько примеров:

1. Генерация boilerplate-кода и шаблонов

ИИ отлично справляется с созданием стандартных структур и повторяющихся фрагментов кода, которые обычно отнимают много времени.

  • Промпт-идея: "Сгенерируй шаблон Python-класса для работы с базой данных users с методами add_user, get_user_by_id, update_user и delete_user. Используй паттерн Repository и предусмотри асинхронные операции с asyncio и AIOHTTP. Мне нужен только код класса с пустыми реализациями методов, без комментариев."

  • Ожидаемый output (пример):

import asyncio

class UserRepository:
    def __init__(self, db_connection):
        self.db_connection = db_connection

    async def add_user(self, user_data: dict):
        # Implement user creation logic here
        pass

    async def get_user_by_id(self, user_id: str):
        # Implement user retrieval by ID logic here
        pass

    async def update_user(self, user_id: str, new_data: dict):
        # Implement user update logic here
        pass

    async def delete_user(self, user_id: str):
        # Implement user deletion logic here
        pass

2. Автоматическое форматирование и рефакторинг

ИИ помогает придерживаться единого стиля кодирования и предложить небольшенькие, но полезные улучшения в структуре кода.

  • Промпт-идея: "Приведи следующий фрагмент JavaScript-кода в соответствие со стандартами Airbnb Style Guide. Мне нужен только отформатированный код."

  • Промпт-идея: "Проанализируй следующую функцию на Java и предложи варианты рефакторинга для улучшения ее читаемости, производительности и уменьшения связанности. Предоставь предложения в виде маркированного списка с кратким объяснением каждого пункта."

3. Быстрый поиск ошибок и отладка: ускоряем дебаггинг

ИИ крут для быстрой локализации ошибок или предложения потенциальных исправлений, а это ускоряет дебаггинг.

  • Промпт-идея: "Проанализируй следующий Python traceback и объясни вероятную причину ошибки, а также предложи три возможных способа ее исправления. Ответ должен быть структурирован: 1. Причина ошибки, 2. Варианты исправления (маркированный список)."

  • Промпт-идея: "Найди потенциальные ошибки и уязвимости в следующем фрагменте SQL-запроса и предложи более безопасные альтернативы. Мне нужен только исправленный SQL-запрос с комментариями, объясняющими изменения."

4. Создание юнит-тестов: обеспечиваем покрытие кода

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

  • Промпт-идея: "Напиши юнит-тесты на pytest для следующей Python-функции, которая принимает список чисел и возвращает их сумму. Убедись, что тесты покрывают случаи с пустым списком, списком с одним элементом и списком с несколькими элементами. Мне нужен только код тестов."

  • Ожидаемый output (пример):

import pytest

def calculate_sum(numbers):
    return sum(numbers)

def test_calculate_sum_empty_list():
    assert calculate_sum([]) == 0

def test_calculate_sum_single_element():
    assert calculate_sum([5]) == 5

def test_calculate_sum_multiple_elements():
    assert calculate_sum([1, 2, 3, 4, 5]) == 15

Выходит, в моей команде можно обойтись без ругани?

Исследования и опросы коллег привели меня к мысли, что споров можно избежать, если все примут тот факт, что ИИ — это инструмент, а не панацея. Да, нейросети помогут ускорить рутинные задачи, сгенерировать простой код, исправить ошибки, сделать всякую мелочь, но без человека не получится создать что-то по-настоящему стоящее. 

Как я поступил дальше? Пошёл с этим выводом к команде. Выслушал остаточные недовольства и пожелания каждой из сторон. Объяснил, как конфликты влияют на нашу продуктивность и атмосферу внутри коллектива. И главное — добавил, что здесь нет правых и виноватых, а вот негативные последствия для компании — есть.

Ну, и учитывая, что Москва не сразу строилась — изменения тоже произошли не сразу.

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

Сеньоры продолжили писать код вручную, но кое-где стали использовать ИИ. Например, Copilot для автогенерации шаблонов кода, быстрого поиска и исправления ошибок и автоматического форматирования кода. Так они ускорили процесс разработки, но при этом всё равно контролировали результат.

Мидлы, в свою очередь, которые изначально были настроены на полную автоматизацию, послушали сеньоров и начали использовать ИИ с большей осторожностью. Поняли, что полагаться на него без проверки результата — не надо. С ИИ они искали баги, но при этом код дорабатывали вручную. То есть, они использовали ChatGPT для генерации базовых фрагментов кода или предложений по улучшению производительности, но перед тем как применить, тщательно проверяли всё на тестах.

Со временем споры об использовании нейросетей в работе канули в лету, потому что команда осознала: ИИ — помощник. Его может использовать любой айти-специалист, главное — делать это с умом.

В итоге работа пошла быстрее и с меньшими усилиями, без лишних задержек и недовольств.

Это отзыв нашего мидла после окончания проекта
Это отзыв нашего мидла после окончания проекта

Подружить коллег и ускорить бизнес-процессы можно не только через погружение в проблемы команды, но и с помощью современной платформы для ведения документации и управления знаниями. Например, в Minerva Knowledge можно загружать любые файлы, писать статьи с указанием промптов и всей командой собирать полезные гайды с инструкциями для новичков. К базе знаний можно подключить ИИ-помощника Minerva Copilot. Он встраивается в любую корпоративную систему, анализирует статьи в Minerva Knowledge с учётом контекста и выдаёт ответы со ссылками на источники.

Узнать подробнее о продуктах Minervasoft


Ещё у Minervasoft есть свой блог в Telegram. Там выходят другие интересные материалы про ИИ и спорные вопросы в найме, менеджменте и планировании. Подпишитесь, чтобы не пропустить новые тексты.

Блог Minervasoft

Tags:
Hubs:
-2
Comments11

Articles

Information

Website
minervasoft.ru
Registered
Founded
Employees
101–200 employees
Location
Россия
Representative
21_copilots