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

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

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

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

Кому лень читать лонгрид — смотрите полную запись на Rutube, а спорить и задавать вопросы приходите в Telegram-канал Департамент разработки, где собирается сообщество разработчиков.

ИИ или ИИИ?

Концепция ИИ как самостоятельно мыслящей системы родилась ещё в 1960-х, но с тех пор определение менялось не раз. Любой разговор о четвёртой промышленной революции неизбежно начинается с вопроса: а то, что мы имеем сегодня, — это уже интеллект или пока нет?

«Сама постановка вопроса "заменят ли машины программистов" — неверная. Речь не о замене экспертизы, а о замене рутины. Программист здесь нужен даже сильнее, чем раньше, — именно как инженер процесса, как человек, который валидирует результат. Требования к его компетенциям только растут. Мы не убираем людей — мы ищем тех, кто способен заставить машину работать правильно. А называть всё это "интеллектом" — не совсем корректно. Перед нами алгоритм, который анализирует происходящее, но не думает в привычном смысле слова», — отметил Егор Кашка, операционный директор компании «Кредо».

«Термин "искусственный интеллект" в применении к языковым моделям — это упрощение. Просто "ИИ" удобнее произносить, чем "большая языковая модель". Но настоящий интеллект действует автономно, а любую нынешнюю модель нужно запускать, задавать ей параметры, контролировать результат. Без человека она не сделает ничего. Называть это полноценным интеллектом я бы не стал», — считает Владимир Никонов, ведущий специалист по AI-разработке WMT AI.

«Дискуссия "ИИ или имитация" не так уж важна — под капотом в любом случае вычисление вероятностей и их агрегирование. Гораздо важнее другое: передача контекста. Живой инженер, получая задачу, опирается на свой опыт — он заранее предполагает, какие условия нужно учесть, даже если их не проговорили вслух. У модели такого багажа нет. Ей нужно предельно чётко очертить границы задачи, иначе на выходе будет непредсказуемый результат», — пояснил DevOps/MLOps-инженер Иван Тимонов.

Вопрос терминологии, впрочем, касается не только ИИ.

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

Допустим, алгоритм — не интеллект. Но как именно этот «не-интеллект» меняет конвейер производства ПО?

Конвейер, к которому прикручено всё

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

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

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

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

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

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

Хорошо, допустим, конвейер есть. Но все ли задачи на него ложатся одинаково?

Типовое — бери, в нетиповое — не лезь

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

«Сейчас ИИ — это сотрудник на уровне мегавоодушевлённого инициативного джуна, который прочитал тонну кода — у него есть типовые знания, и типовые решения ему можно смело передавать. У нас постановщики задач научились вайб-кодить: они пишут ТЗ, а набор агентов сам делает чек-листы, проводит QA, генерит тесты и выдаёт прототип, который можно показать заказчику. Это рабочая фабрика, но не продакшен-продукт — в прод его отправить нельзя. Но как фабрика технического пресейла она уже работает практически без людей — только с постановщиками задач. Но это касается типовых задач. Если мы говорим про фреймворки, которые редко используются или активно меняют API, то ИИ начинает очень сильно тормозить процесс. Всё, что требует научного подхода или исследований, — там ИИ будет только аккуратным помощником, а во главе всё равно будет человек», — сказал Алексей Любко, CTO компании Pryaniky.com.

«Для высоконагруженных систем я бы не рекомендовал использовать ИИ — риски слишком высоки, к тому же тяжело подстроиться под чужую логику в большом проекте. Но для внутренних сервисов — это настоящий геймченджер. Задачи, которые не высоконагружены и могут позволить себе упасть на какое-то время, где вы не позоритесь перед внешними клиентами, — вот здесь эффективность вырастает колоссально. Наша команда из трёх человек закрывает потребности примерно ста аналитиков, пятнадцати дата-инженеров и двадцати ML-инженеров. Без автоматизации рутины через ИИ это было бы просто невозможно», — сказал DevOps/MLOps-инженер Иван Тимонов.

Отдельная тема — специализация моделей.

«Большие модели начали специализироваться. Появились отдельные модели по DevOps, по динамическому анализу кода, по статическому анализу кода. Они заточены под свои задачи, и применять их нужно соответственно: половник — для еды, отвёртка — для гаек», — отметил Александр Сахаров.

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

Вопрос в том, насколько этому «дирижёру» можно доверить результат без проверки.

Доверяй, но проверяй

«Если мы говорим про модельку ChatGPT — то через неё разработку не автоматизируешь. Так не работает. Вы написали два предложения, а ChatGPT понял и контекст, и требования, перенял ваши навыки, и ваши знания — ну, так не бывает. Нужно прописать все, дать базу знаний, показать, с чем вы работаете и как видите эту работу. Работа с промышленной моделью — это другой разговор: больше погружения, больше компетенции, больше времени. Зато там можно получать единообразный результат», — сказал Егор Кашка, операционный директор компании «Кредо».

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

«У нас CMS-система, которая размещается на клиентских серверах — а там у каждого свои кастомизации, встроенные модули, доработки. Первое, что мы попытались автоматизировать, — анализ логов техподдержки с помощью ИИ. Можно ли отдавать эти результаты клиенту? Как оказалось — абсолютно нет. Мы знаем, как устроена наша система, мы её оттестировали на разных средах. Но стоит у клиента поменяться хоть чему-то малейшему — и всё работает иначе. Даже в таких мелочах автоматизировать процесс без инженера не получается», — рассказал Ян Азизов, генеральный директор компании «Виртуалитех».

«А я парирую ровно тот же кейс. У нас есть логи и внутренняя база знаний — мы их интегрировали. Для типовых ошибок система лезет в базу знаний и прямо в логе пишет: попробуйте вот эту настройку. Недоступен сервер, не те протоколы безопасности, неправильный логин — там довольно большой набор. Плюс есть ссылка «попробовать найти решение с помощью ИИ» — и он генерирует пример на основе нашей базы. Мы не взяли на себя ответственность: это не наш специалист сказал, а ИИ решил помочь. Не получилось — пишите дальше в поддержку», — сказал Алексей Любко, CTO компании Pryaniky.com.

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

«У меня есть другой пример. Мы занимаемся малой авиацией, у нас небольшой аэроклуб. Надо было написать управление триммером на Raspberry Pi — а ИИ мне фактически сделал автопилот для малой авиации. Просто на коленке. Он подсказал, какие датчики нужны, какая обвязка, дал схему. Мы напечатали корпус на 3D-принтере, обкатали на маленьком самолёте — работает. Это фактически Industry 4.0: внешний мозг, который сказал — так, нужны бародатчики, потому что как ты будешь высоту мерить? Вот такие устройства, вот схема. Подключили — заработало. У меня одного на это ушло бы гораздо больше времени. Но доверил бы я ему всё самому собрать, припаять и поставить на самолёт без проверки? Нет! Если использовать ИИ для контроля работы программистов — это позитивный опыт. Он умеет находить фишечки, которые ты пропустил, отвлёкшись на ревью. Настоящая фишка в другом: рост вширь. Я лезу в темы, которые либо забыл, либо давно ими не занимался», — сказал Любко.

Но может ли ИИ создать продукт с прицелом на будущее?

ИИ — про прошлое, инженер — про будущее

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

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

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

«Что-то новое, действительно нужное, что будет приносить реальную пользу — ИИ сам по себе не разработает. Хоть один инженер, хоть два, хоть четыре — они нужны в любом случае. Это просто инструмент для упрощения работы. Допустим, ИИ сделает приложение, которое попадет на пик популярности при запуске. Но через неделю оно сойдёт на нет, потому что в нём нет ничего творческого. Люди всё-таки смотрят поверх всего искусственного», — сказал Владимир Никонов, ведущий специалист по AI-разработке WMT AI.

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