ИИ в разработке: почему иногда «в три раза быстрее» не означает «проект раньше»

Привет, Хабр!

Недавно собрались с коллегами в эфире ТГ канала для разработчиков обсудить то, что сейчас волнует, кажется, каждого в индустрии — ИИ-инструменты в разработке. Не абстрактно «что думаете про ChatGPT», а конкретно: что реально работает, что нет, и почему при всём хайпе проекты не стали выходить быстрее.

Получилась хорошая дискуссия с Алексеем Цыкаревым (Spectr), Виталием Поповым («Софтлайн Решения»), Ярославом Янгалычевым (ТИМ ФОРС), Романом Смирновым («Девелоника»), Олегом Елмановым (Fusion), Владиславом Кудиновым (VeAI) и мной от «Диасофта».

У нас в компании тема особенно острая. Мы строим микросервисную платформу, которая в том числе контролирует ИИ-генерацию — и я вижу, как команда из трёх с половиной человек выдаёт результат, который раньше требовал 10-15. Но это работает только потому, что платформа снимает хаос. А вот когда начинаешь обсуждать с коллегами из других компаний — выясняется, что у большинства этого конвейера нет. Есть энтузиасты внизу, есть сопротивление сверху, есть служба безопасности посередине. И есть парадокс: отдельные люди ускорились, а проекты — нет.

Вообщем, собрал ключевые мысли — дальше от третьего лица, включая свои реплики как участника. Если есть свой опыт (особенно если всё пошло не так) — пишите в комментариях, интересно сравнить.

Три из четырёх задач — за пять минут

«Всё, что касается LLM и генерации кода, за последние полтора-два года совершило очень существенный скачок — и с точки зрения самих моделей, и с точки зрения инструментария. Код вполне неплохо генерируется на уровне Junior-Middle разработчиков, и даже довольно серьёзных и опытных людей. Применение этих инструментов существенно ускоряет работу с точки зрения производительности», — говорит Алексей Цыкарев, основатель Spectr.

ИИ в разработке: почему иногда «в три раза быстрее» не означает «проект раньше» - 1

«Три из четырёх задач я делаю вместо двух часов за пять минут. А одну из пяти, попадая в некий цикл — вроде модель пишет, что уже готово или почти готово, — ты потом два дня это дебажишь. Или баг появился в другом месте, которое ты не ожидал трогать. Либо столько кода сгенерировано, что времени на ревью тратишь больше, чем сам бы написал. Если разработчик без опыта попробует применить LLM в лоб, то скорее всего, где-то сэкономит время, где-то потратит, но примерно выйдет одинаково, если бы он писал код вручную», — описывает Владислав Кудинов, основатель и CTO VeAI, основатель VeeRoute.

«Я не могу сказать, что с применением ИИ делаю проекты на 30% быстрее. Но один разработчик становится эффективнее на какой-то процент. Команда становится эффективнее. И я могу в эту же команду условно на 30% больше проектов запихать. Но больше — не равно быстрее», — объясняет Виталий Попов, директор департамента «Софтлайн Решения» (ГК Softline).

«Сейчас ещё идёт накопление опыта. Через полгода-год, когда мы наладим все процессы, будем работать за счет LLM быстрее. Но сейчас — мы делаем это эффективнее. В будущем наступит время небольших команд, которые смогут брать на себя больше объёма. Но пока мы видим, что хорошие сеньоры начинают работать в разы быстрее. Конкретные люди работают быстрее — соответственно, больше», — добавляет Олег Елманов, генеральный директор IT-интегратора Fusion.

ИИ в разработке: почему иногда «в три раза быстрее» не означает «проект раньше» - 2

«Эффективность системы измеряется её самым узким местом. Если один процесс тормозит — скорость всего проекта равна скорости этого тормозящего звена. Когда разработка ускорилась в одном месте, а затормозилось в другом — в конечном итоге проект будет заторможен. Часть ресурсов, которая освободилась быстрее, может быть переброшена на другой проект. За счёт ускорения на 20-30% можно, конечно, увеличить количество проектов, но не скорость узкого места. В идеальной картине мира проекты выпускались бы быстрее. Но идеальная картина — вещь пока недостижимая», — формулирует Ярослав Янгалычев, Chief Product Officer в ТИМ ФОРС.

ИИ в разработке: почему иногда «в три раза быстрее» не означает «проект раньше» - 3

Не только код: весь цикл от интервью до поддержки

«Этап разработки в целом можно разделить на блоки. До разработки кода необходимо написать техническое задание, формализовать бизнес-требования, архитектуру написать, разбить ТЗ на задачи, проверить — покрываются ли техническим заданием бизнес-требования. В проектах, где есть разработка, 30% — это документирование. И применение ИИ в начале пути, ещё до написания кода, позволяет быстрее делать процессы, связанные с формализацией. Особенно если у вас плохо с аналитиками, то можно делегировать аналитику ИИ, и он максимально хорошо поможет сделать эту часть до начала разработки», — говорит Виталий Попов.

«У нас в компании сотни разработчиков, сотни проектов, и проекты все разные. Инструменты ИИ можно применять во всём цикле разработки: интервью с заказчиком, бизнес-аналитика, системная аналитика, разработка, тестирование, девопс, техническая поддержка. На всех этих этапах можно применять инструменты ИИ, причём разные и на разном этапе. Мы тестируем внутри разные инструменты — как отечественные, например GigaCode, так и импортные. Из импортных я очень люблю Cursor. В тестировании у нас есть собственный продукт, в который уже встроен ИИ — он позволяет писать тест-кейсы в 5 раз быстрее человека», — говорит Роман Смирнов.

ИИ в разработке: почему иногда «в три раза быстрее» не означает «проект раньше» - 4

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

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

«Обучение использованию ИИ — это как езда на велосипеде. Можно сколько угодно читать тексты, изучать теорию, но пока человек руками не попробует сам — он не сможет понять, как его использовать. За последний год я написал 50 или, может быть, 100 тысяч строк кода с помощью ИИ. Делаю это, чтобы понимать, как внедрять у нас, как понимать, что внедрение будет эффективным. Если смотреть на реальное применение, на цифры — они на разных проектах сильно различаются. Первичная стадия — опросы клиентов и обработка фидбэка, сбор технических требований. Транскрибация и суммаризация митингов ускоряет этот процесс раз в 10, если не в 50. На стадии аналитики, даже при использовании open source моделей, на некоторых проектах получаем ускорение в 3-4 раза. Приходится писать много документации, учитывать много нюансов — всегда можно дать ИИ техническое задание и спросить, что упущено. На этапе разработки результаты разные: на сложных проектах с огромной кодовой базой — 10-20% повышения эффективности. Но есть проекты-стартапы, где можно с нуля применять ИИ — там повышение эффективности в разы, потому что свежая кодовая база, проекты небольшие. Написание тест-кейсов с помощью ИИ тоже даёт ускорение в 2-4 раза. Революция использования ИИ в разработке на всех стадиях жизненного цикла — неизбежна. Внедрение будет продолжаться, и мы все будем его свидетелями. Это будет идти тяжело. Роль человека будет возрастать. Раньше мы много писали документов сами, много кода писали сами. Часть кода сейчас можем отдать ИИ, но валидация этого кода, контроль качества — всё остаётся за нами. Мы переквалифицируем аналитиков, разработчиков, тестировщиков в людей, которые занимаются контролем качества того продукта, что создаёт для нас ИИ. Нагрузка на людей, возможно, не снизится, а даже вырастет. Чтобы контролировать качество, нужно самому очень хорошо понимать, что происходит под капотом», — говорит Роман Смирнов.

«Далеко не все любят ИИ. Я неоднократно встречал, что некоторые разработчики просто саботируют любое применение — находятся в иллюзии, что кто-то их хочет заменить. Откровенный саботаж я лично тоже встречал», — говорит Алексей Цыкарев.

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

Хаос, который мешает увидеть результат

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

ИИ в разработке: почему иногда «в три раза быстрее» не означает «проект раньше» - 5

«Первая сложность, с которой мы сталкиваемся в России, — доступность GPU. Заказчик говорит: хотим внедрять инструментарий, но служба безопасности запретила использовать публичные модели, нельзя выдавать туда информацию. Вторая проблема — стоимость. Приходим к финансовому директору, говорим: хотим внедрить ИИ. А он: это будет стоить слишком дорого. Ребята, говорит он, нормально всё работает, прекратите. Вроде GPU можно достать, привезти из Китая. Но мы в России, есть санкционное давление. А внизу что происходит? Все сидят, читают Хабр, смотрят на западный опыт, у них бурлит желание попробовать. Разработчик идёт, открывает Cursor, открывает ChatGPT, начинает туда загружать — его ловят службы безопасности. Хаос. Пока его наверху не систематизируют — так и будет. Нужно принять решение: это безопасно, мы можем пользоваться публичными моделями или нет, как замерять эффективность, и это должно быть нам доступно. Сейчас мы что пытаемся замерить? Что один этап пошёл быстрее? Написали код с помощью ИИ — ускорились в три раза. Но забываем, что потом его нужно проверить, очистить от вайб-кодинга. Добавляется новый процесс. Замерять отдельные этапы — классно, но нужно мерить, насколько конечный проект — от постановки задачи до сдачи заказчику — стал быстрее. Вот это честное сравнение. Быстрее ли у нас выходят автомобили из конвейера? Вот главный вопрос», — продолжает Виталий Попов.

ИИ в разработке: почему иногда «в три раза быстрее» не означает «проект раньше» - 6

«Хаотичное внедрение приведёт к хаосу в бизнес-процессах. Любое внедрение должно происходить системно. У нас есть специальные группы: по внедрению ИИ в аналитике, в разработке, в тестировании. Эти группы работают параллельно и независимо, потом синхронизируются по инструментам. Подход может быть снизу — собираем реальные кейсы от энтузиастов, фиксируем в документации, в регламентах. И сверху — R&D-группа смотрит на весь рынок, читает Twitter, находит прорывные решения. Только системное внедрение приводит к положительному эффекту. Хаос порождает хаос», — говорит Роман Смирнов, коммерческий директор «Девелоники» (ГК Softline).

Конвейер вместо самодеятельности

«Допустим, у нас 40 человек работает. И 40 человек делают рутинные операции. Все напишут один и тот же запрос — подготовь сборку или сгенерируй форму по стандарту. Запрос одинаковый, модель одинаковая, но ответы будут отличаться. А мы говорим о создании промышленной системы для крупного заказчика. Ему эти флуктуации в работу не сдашь. Поэтому важен конвейер и платформа. Платформа сделает так, что все запросы будут радикально одинаковыми. Тогда мы решаем две проблемы: снимаем рутину и убираем проблему неконтролируемого результата. У меня сегодня команда три с половиной человека — аналитик, фронтендер, половина бэкендера и тридэбоксер — даёт тот же результат, что раньше 10-15 человек. Именно за счёт того, что снята рутина, и платформа контролирует, в том числе и ИИ», — говорит Александр Сахаров, директор по партнёрствам «Диасофт».

ИИ в разработке: почему иногда «в три раза быстрее» не означает «проект раньше» - 7

«Мы видим, что эффективность ключевых сотрудников увеличивается. Разработчик не тратит много времени на рутинные задачи. Мы с помощью ИИ автоматизируем рутину», — добавляет Олег Елманов.

«В существующие проекты LLM встраивать гораздо сложнее. Существующие процессы достаточно сложно ломать. Хорошие модели появились в open source только этим летом. Продукты, агенты, которые нужны для разработки, появились только этой осенью. Если вы просто ускорите разработку в сотни раз — дальше этот код нужно разгребать. В промышленной разработке никто не покрывает тестами проекты на 100%, потому что это дорого. Агент сделает код, но ему нечем проверить, что он что-то не сломал. Буквально вчера я сам программировал — чтобы решить задачу, агент взял и поменял в каком-то методе дефолт, потому что ему так удобнее. Свою задачу он решил, но попутно где-то что-то сломал. Это выявляется уже на этапе тестирования, и вы попадаете в очень долгий цикл», — говорит Владислав Кудинов.

«Роль будет меняться. Разработчики будут закрывать более широкий пласт задач и станут такими guardians — защитниками репозитория. Их основная задача — обеспечивать качество. ИИ людей не заменит, просто роль поменяется. Может, их чуть меньше нужно будет. Но кто-то должен отвечать за репозиторий. Главная беда вайб-кода: сделали 100 тысяч строк, потом LLM упёрлась — и всё. Вы пробуете новый функционал, а он ломает другое. Часами сидите, потом — к чёрту, выкидываю, делаю новый проект. Единственный способ борьбы — перестроение подхода. Кто-то будет строить с нуля, новые проекты. Кто-то будет перестраивать существующие. Пока сам не попробуешь — теоретические знания здесь плохо работают, нужна такая «вайб-кодность», чтобы понять, что модели умеют, а что нет», — продолжает Владислав Кудинов.

«Сегодня владение ИИ-инструментами для разработчика — это преимущество, которое позволяет делать работу быстрее, выделяться среди других, зарабатывать больше денег. В перспективе владение этими инструментами и их применение в работе очень скоро станет просто must-have — неотъемлемым навыком для всех инженеров, как и множество других инструментов, которые сегодня применяются. Банальный Git 10-15 лет назад тоже был инновацией. Сегодня сложно представить проект без него. Примерно похожая ситуация будет с ИИ, но в горизонте не десятков лет, а пары-тройки», — говорит Алексей Цыкарев.

«Почему так происходит? Потому что программисты и вообще айтишники оказались точно такими же людьми, как наши клиенты. Когда мы приходим внедрять что-то, мы знаем, как тяжело происходит внедрение. Люди — существа косные, сопротивляющиеся изменениям. Программисты не исключение. Люди делятся на три класса: новаторы, те, кто идёт по течению, и те, кто сопротивляется. Мы идём по стандартному пути, и всё, что происходит, — абсолютно нормально. Что будет в ближайшем будущем? Я оптимист. ИИ будет внедряться в наши процессы всё больше и больше. Модели еженедельно улучшаются, раз в полгода происходит квантовый скачок — становятся в два раза умнее. Что с ними будет через 2-3 года — можно только гадать. Но они будут гораздо умнее и полезнее для нас в наших процессах. И мы будем активно к этому идти и стремиться внедрять, чтобы повысить свою эффективность», — заключает Роман Смирнов.

А что думаете вы, поделитесь своим мнением в комментариях!

Автор: apsaharov

Источник

Оставить комментарий