Да, они мечтают об электроовцах!
Было ли у вас озарение? Возникало ли ощущение вспышки, когда вы понимали, что нашли решение проблемы?
Знаменитая фраза «Эврика!» очень хорошо отражает суть этого ощущения.
Далее — мой отзыв о хайповой теме применения LLM в разработке ПО и всего, что с этим связано.
Несколько лет назад начал раскручиваться маховик хайпа, можно даже сказать — истерии вокруг LLM.
Я умышленно не применяю термин ИИ или AI, так как не считаю сегодняшние модели разумными в полном смысле этого слова.
Так или иначе, когда рядом с вами несётся «горящий поезд», вы либо уходите в отрицание, либо пытаетесь разобраться и понять, что вообще тут происходит.
Поэтому я начал изучать этот вопрос.
Первое, с чем столкнулся, — это маркетинг, когда вам показывают красивую обёртку, но что внутри, остаётся загадкой.
Заголовки на тему «магии» LLM просто поражают, многие реально относятся к этому как к шаманству.
Вообще, тема шаманства в IT имеет какие-то глубокие корни, когда-нибудь надо попробовать исследовать эту тему.
Далее я пошёл проторенной дорожкой: чат с LLM, потом Cursor. Но всё это было не то: чат неудобен, IDE с LLM внутри была просто очень продвинутой tab-подсказчицей, ну или я не выкупил «магии», напишите в комментах, что я проморгал.
Статей было много, но все — о пустом, эта статья, кстати, такая же. :)
И вот недавно я задумался: а что, собственно, нужно от LLM? Что LLM должна для меня делать? Ответ был прозаичен:
исследовать, проводить анализ требований или готового проекта
проектировать архитектуру
разрабатывать/писать код
проводить код-ревью
искать баги и фиксить их
тестировать
документировать
поддерживать
Я прагматик, придумывать искусственные задачи или проблемы не люблю и не особо хочу. Поэтому для меня было важно, чтобы LLM решала утилитарные задачи: приходит в трекер задача — на выходе мы получаем рабочий результат.
Сканируя интернет, наткнулся на видео, где парень исследует примерно тот же вопрос.
Так для себя я открыл мир агентов LLM.
Конечно же, я и раньше знал про них, но не понимал, как этим пользоваться.
И решил повторить опыт парня: взял задачу из бэклога, не очень сложную, чтобы увидеть результат быстро.
После пары часов работы с агентом над задачей меня озарила вспышка:
«Вот оно, то что я искал!»
Я нашёл «электроовец», которые решают мои задачи!
Эврика!
Архитектор ПО — это тот, кто принимает стратегические решения, отвечает за всю систему, за методику, качество, стабильность и многое другое. Старорежимное название — главный инженер.
Что не делает архитектор?
Он не пишет код, не придумывает названия переменным, не занимается тактическими задачами.
Так о чём же мечтать архитектору?!
Чтобы кто-то занялся тактикой, рутиной, которая необходима как воздух, но которую не может сделать один человек.
В своей практике я очень часто застревал на исполнителях, сразу скажу, что я не считаю себя самым умным и знающим, но если вы сталкивались с управлением коллектива более 10 человек, вы поймёте, о чём идёт речь.
И вины исполнителей тут нет никакой, это объективная реальность. Мы, «кожаные мешки», медленные и часто ошибаемся, чего-то не понимаем и т.д.
И вот тут на сцену и выходят «электроовцы» — наши агенты моделей LLM.
Опишу кратко процесс решения моей утилитарной задачи, без конкретики и деталей, чтобы не утомлять читателя.
Анализ кода и отчёт, план реализации, прогнозирование.
Формирование подзадач по созданному плану, чтобы не терять контекст.
Реализация задач, их тестирование и отладка.
Обновление документации.
Деплой и проверка работоспособности.
Итог: решённая задача на базовом уровне.
Отсутствует код-ревью и более глубокое тестирование.
Немного метрики и цифр:
прогнозируемое время решения от человека — 70ч, я обычно умножаю такие оценки на 1,5–2. Пусть будет 100ч.
прогноз от модели LLM — 10 недель, так называемый timeline. Это 400ч, возможно, это была бы даже правда :)
7ч — реальное время разработки базовой реализации с LLM-агентом,
через 7ч функционал был залит на стенд и успешно протестирован базовый сценарий.
Но меня впечатлило не время решения, а возможности!
Теперь с помощью «электроовец» архитектор может сделать любую задачу, он не ограничен исполнителями.
Один агент проведёт анализ, другой сформирует бэклог на основе результатов анализа, третий начнёт реализовывать конкретные подзадачи, тестировать, настраивать CI/CD.
Весь стек, используемый при разработке ПО, можно делать руками/копытцами наших электроовечек.
У вас под рукой оказываются безотказные исполнители, которые почти всё могут и делают.
Мечта сбылась!
Моё исследование продолжается, я взял сложную задачу с оценкой по времени 18–20 недель или 800ч, уже есть конкретные результаты.
Но пока всё упёрлось в меня: когнитивная нагрузка в разы выше, нужно учесть множество нюансов, плюс текущая рутина на работе отнимает время на исследование.
Мой промежуточный итог: электроовечки — это очень мощный инструмент для создания/сопровождения ПО.
Но, как и во всём, некоторые инструменты не для всех.
Рекомендую использовать всем архитекторам, аналитикам высокого уровня, сеньорам-программистам.
Всем тем, кто разбирается в разных сферах современного IT-стека, кто отличит нужное от второстепенного.
Не рекомендую всем новичкам: такой инструмент может сыграть злую шутку, если не знать, как его использовать.
Также считаю важным выводом то, что в массе своей IT-шники просто не понимают, как пользоваться LLM.
А отсюда — страх перед неизведанным, плюс страхи транслирует инфополе, массовые сокращения и т.д.
Мне кажется, не нужно бояться, нужно смотреть правде в глаза: LLM работает, оно будет развиваться.
И мы должны адаптироваться к новым технологиям и инструментам, чтобы быть конкурентоспособными в современном IT-мире.
Выживут настоящие инженеры, которые широко мыслят, не боятся изучать разные сферы своей деятельности.
Вымрут кодеры, которые выполняли роль функции по написанию кода на определённом языке программирования.
В процессе написания статьи не использовал LLM. Поэтому потратил на неё около 8ч.
Моё мнение не является истиной в последней инстанции, вы можете быть не согласны с ним.
Напишите в комментах ваше мнение и вашу позицию.
Или не пишите. :)
Источник


