
Любая достаточно развитая технология неотличима от магии
Третий закон Кларка
Так получилось, что я регулярно общаюсь со студентами различных ВУЗов Иркутска. И последние годы постоянно получаю вопросы, связанные с использованием ИИ в разработке ПО. И тут как в анекдоте: «Я ему 5 раз объяснил, сам уже понял …». Кроме этого подобные дискуссии постоянно возникают и в профессиональной среде. Некоторые думают, что ИИ может заменить сотрудников и сэкономить им денег, другие (противоположный лагерь) — этого опасаются, и не беспочвенно. Но не только потому, что ИИ их реально заменит, а и потому что первые в это уверовали.
Я, как и многие другие разработчики, активно использую ИИ в работе. Эта статья — результат моего персонального опыта и в, первую очередь, направлена на тех, кто сейчас получает образование, и тех, кто только начинает использовать ИИ.
Статья писалась не с целью поделиться конкретными практиками использования ИИ, а чтобы высказаться на тему: «А зачем мне это надо для сомневающихся, и чем оно мне грозит для свято верующих в силу ИИ».
Скрипач не нужен
Одно из заблуждений современных студентов и даже выпускников состоит в том, что они считают, будто ИИ может сделать за них всё. И поэтому зачем мне изучать синтаксис bash, регулярные выражения, команды linux — я напишу prompt, и нейронка выдаст мне готовый ответ. И самое печальное — по большей части они правы.
Но давайте начнем издалека. Никто не даст вчерашнему студенту сложную задачу, все начинают с малого: исправление мелких недочетов, написание всевозможных второстепенных модулей и т.п. Так зачастую проводят онбординг новых сотрудников. Причем такие задачи накапливаются специально, хотя опытный разработчик в состоянии решать их десятками за день. Но их решение позволяет новичку, да и не только новичку, погрузиться в проект, понять принятые в нем правила.
А теперь представьте, что все эти задачи решает ИИ. Есть только те, с которыми он по той или иной причине не справился. Боюсь в этом случае на старте вас может ждать провал за провалом.
Но предположим, вам повезло и такие задачи нашлись и достались именно вам. И вы их решили при помощи ИИ. Вернее, ИИ решил их за вас. Вы не походили по коду вокруг, пытаясь найти то место, где была ошибка. И даже если изучили изменение, предложенное ИИ — увидели только десяток строк кода из проекта, то есть ничему не научились.
Но и это еще не всё. Вы отдаете результат работы ИИ старшему товарищу, чьё время стоит много дороже вашего, и он вынужден разбирать и писать ревью на работу ИИ, что зачастую может быть сложнее, чем работа с ИИ напрямую, так как в последнем случае у вас есть шанс более грамотно написать промт или поправить «ход мыслей» ИИ в процессе, чтобы получить желаемое.
Объясните мне тогда: зачем в этом процессе вы? И за что вам платить большую ИТишную зарплату?
Ага, скажут некоторые руководители, мы же говорили, что ИИ сократит количество требуемых рабочих мест.
Да, он может. Но давайте посмотрим на ситуацию в перспективе. Возможно, вам всё равно, что будет с отраслью, или даже, что будет с компанией, где вы работаете сейчас, скажем, через 10 лет. Но задумайтесь: ваши топовые сотрудники не вечны, они склонны болеть, стареть, уходить в декрет, искать себя в чем-то новом, их могут переманить. Мало того, они не масштабируемы.
ИИ же создает опасность того, что новые не появятся. Ведь чтобы стать специалистом, надо решить 100500 простых задач, а кто будет кормить тех, кто этот путь только начинает, если эти задачи будет щёлкать как семечки ИИ? И сколько будут стоить те, кто всё же сможет прорваться на уровень специалиста?
Уже сейчас разработка превращается в магию
К сожалению, многие, даже иногда успешные, разработчики не понимают основ и скорее подбирают рабочее решение, а не идут к нему осознанно.
На собеседованиях мне часто предлагают использовать умные указатели для сборки мусора при реализации списка, не представляя принципов работы этих самых указателей и С++ в целом. Например, им как-то не приходит в голову, что там под капотом есть где-то стек, и он вполне может переполниться.
Если 20 лет назад «написал так, потому что по-другому не собиралось» было просто немыслимым оправданием, то сейчас — рабочий момент. :(
А что будет, когда такие «разработчики» начнут писать при помощи промт ИИ? Отмазка будет звучать: «А я тут при чем, ИИ так написал»?!?!
Из вышесказанного можно предположить, что я из ярых противников ИИ, но это не так! Давайте поговорим и о плюсах.
ИИ вас не замещает, он помогает
Думаю, сейчас найдется немного тех, кто пишет код в текстовом редакторе, вместо специализированного IDE. Кто не использует функции рефакторинга, например, для переименования методов, или автодополнение. Кстати, автодополнение от ИИ — тоже бывает весьма удобно.
ИИ избавляет вас от подобной рутины, но не отменяет того, что вам надо думать и участвовать в процессе. Это, скорее, не зам, на кого можно спихнуть всю работу, а напарник по парному программированию, который неплохо знает стандартные фреймворки и подходы.
И путается в нестандартных :)
У меня есть собственная утилита, похожая на магнитофон, используемая для тестирования HTTP сервисов. Её ключевой особенностью является то, что вам необходимо описывать проверки только для тех полей получаемого JSON, которые меняются от запуска к запуску, что не соответствуют общепринятым практикам написания автотестов, и ИИ без дополнительных уточнений это не просекает, хотя тесты с использованием этой утилиты пишет в целом неплохие.
На ИИ вполне можно переложить рутину, связанную с написанием документации: не знаю ни одного разработчика, который бы любил и умел её писать. Причем преимущество ИИ заключается в том, что он, скорее всего, поправит то, что вам требуется, везде, а не только в одном-двух местах, забыв про десяток других.
Но как и коллега в случае парного программирования, ИИ может увлекаться, и важно уметь это заметить и сказать: «СТОП — мне не нравится то, что у тебя получается», дабы не перевозить зря электричество токены.
ИИ помогает развиваться
Популярное последние десятилетия «погугли», всё больше замещается «спроси у ИИ».
Общаясь с ИИ, я нередко нахожу решения, до которых не додумался сам. Зачастую в них используются функции API или даже конструкции языка, о которых я просто не знал или не вспомнил/не подумал. Современная разработка так велика и всё ещё настолько интенсивно развивается, что знать всё — фактически невозможно. И когда мне ИИ подсказывает что-то новое — беру это на вооружение. Нет, не то, чтобы в следующий раз готов писать это вручную, но я буду знать, что «так можно было».
Да, ИИ может фантазировать и обманывать. Но, поднимите руку те, кого ни разу не обманул живой разработчик на каком-нибудь stack overflow :)
Для опытного программиста чтение специализированной литературы на 95% — просто выброшенное время. Нет вы можете получать от этого эстетическое удовольствие, но практическая польза, как правило, невелика. Я уже давно подметил, что изучать, скажем, новый язык программирования значительно эффективнее, написав на нем какое-то приложение и показав его опытному именно в этом ЯП разработчику. Он не будет тратить ваше время на прописные истины, а подсветит именно то, где ваши решения не соответствуют идеологии языка. Сейчас таким экспертом может выступать ИИ.
ИИ выводит вас на новый уровень
Он учит вас правильно ставить задачи, и в первую очередь правильно ставить их самому себе.
Одна из моих любимых шуток: Грамотно составленное ТЗ на доработку в 1С имеет все шансы запуститься.
Вы начинаете решать задачи на новом уровне, концентрироваться на важном. Сейчас почти никто не пишет сортировку вручную — все используют готовую.
Я как-то проводил на работе эксперимент: предлагал разработчикам решить несколько задач, в том числе написать какую-нибудь сортировку. И получил забавный результат: лучше всего с этими задачками справлялись не опытные программисты, кто перформил больше остальных на порядки, а вчерашние студенты.
Ваша ценность не в том, на сколько быстро вы пишете циклы или делаете рефакторинг, а в том, что понимаете его реализуемость и необходимость. А реализацию вполне можно спихнуть на нейронку — скорее всего, она это сделает аккуратнее и быстрее. И даже если вы можете сделать быстрее — она сэкономит ваш ментальный ресурс для других задач.
Но при этом ваш уровень должен быть достаточен, чтобы быстро схватить то, что ИИ предлагает, или понять, что она идет не туда. Ваш контекст должен быть больше контекста ИИ, иначе ваша ценность как специалиста становится весьма сомнительна.
Выводы
ИИ — это инструмент, если хотите, новый шаг эволюции разработки ПО, как когда-то такими же были появление компиляторов, объектно ориентированного программирования, интерактивных отладчиков, санитайзеров и многого другого, без чего мы сейчас не представляем современную разработку.
Но всё же, как и для любого инструмента, большую роль играет то, в чьи руки он попадет.
P.S.
И нет, эту статью писал я сам, ИИ при этом не использовался. Я вполне допускаю и даже приветствую написание технической документации с помощью ИИ. Но он не способен вынуть из моей головы мои мысли и мой личный опыт. Да, при помощи ИИ можно получить схожий и возможно даже лучший текст. Но это будет фантазия ИИ, требующая проверки, и статья бы тогда представляла собой исследование, а не опыт. Даже создавая шаблон, план-конспект или еще что-то вспомогательное при помощи ИИ, вы неизменно подвергаетесь его влиянию. И на сколько при этом подходе результат будет отражать ваш собственный опыт — очень интересный вопрос. Это напомнило мне один парадокс: «Если бы я год назад знал то, что я знаю сейчас, я даже не знаю, чтобы я сейчас знал».
Да и претит мне присваивать авторство того, что нагенерил ИИ, такой результат вы можете получить самостоятельно, моего участия в этом не требуется ;)
Комментарии (11)

amazingname
13.07.2026 03:34С реального совещания:
- а что там у тебя был за баг с тулами?
- опус сказал что проблемы нет, просто у сонета снесло крышу и он нагалюцинировал несуществующие тулы.
Говорите, просто инструмент...

Doktor3lo Автор
13.07.2026 03:34Да, я не стал дописывать, но ко мне с такой отмазкой приходили прямо в момент написания этой статьи ;)

netricks
13.07.2026 03:34Простые задачи...
"Друг, у нас там в столбике Ready под сотню тикетов скопилось. Разбери по правилам"
Четыре часа спустя нет никаких простых задач.

404Family
13.07.2026 03:34Зацепила ваша мысль о том, что ИИ часто путается в нестандартных фреймворках и утилитах (как в вашем примере с "магнитофоном" для JSON). А пробовали ли вы "дообучать" модель под свои внутренние инструменты (например, скармливая ей контекст через RAG или system-промты перед началом работы)?

Doktor3lo Автор
13.07.2026 03:34Думал и вполне могу это сделать, потому что ПОНИМАЮ, как задумано. А вот когда ИИ используют некоторые из коллег - они этого прото не видят. Это лишь частный пример

WhiteBehemoth
13.07.2026 03:34Так получилось, что я регулярно общаюсь со студентами различных ВУЗов Иркутска.
Можно спросить, - в каком контексте общение?

WhiteBehemoth
13.07.2026 03:34Я бы еще добавил абзац
Пойми, что такое ИИ и как он работает.
Как ты уже понял - ИИ - реальность, которая никуда не денется. Разберись, какие бывают разновидности этого ИИ. Принципы работы и области применения. Ты поймёшь где и какой ИИ полезен и выгоден, где - бесполезен или дорог. В каких областях и что он может заменить или улучшить.
Это - одно из ключевых знаний в текущей мете. Не боятся его, не считать магией, а уметь эффективно использовать.
На ЛЮБОМ собеседовании фраза "у меня дома песочница с LLM, разбираюсь как работают агенты" если не даст преимущество, то, как минимум, докажет и любознательность и способность к саморазвитию.
iONHOLM
В конце 201х я, в качестве курсовой, написал "причесыватель кода".
Она приводила любой код на OP/C в два варианта: либо самый легкочитаемый, либо в максимально оптимизированный. Получил зачет и забил. Но мысль осталась.
Как оказалось самый читаемый/оптимальный не означает реально оптимальный.
Я даже не касаюсь примитивов. Но простые операции вроде самых примитивных операций можно оптимизировать.
Я все это к чему, ИИ помогает писать код, но оптимизацией должны заниматься люди.
Doktor3lo Автор
В целом - согласен. Но вы ведь уже как лет 15 пользуетесь оптимизацией, встроенной в компилятор - не думаю, что отключаете встроенные оптимизации (вообще не уверен, что это возможно).
И в 90% случаев её вполне достаточно, а вот оставшиеся проценты - да ручками, если навыков хватит ;) ИИ позволит закрыть ещё часть из оставшегося, когда-нибудь. Мой опыт показывает, что на данный момент просить что-то оптимизировать или уменьшать цикломатическую сложность можно, только если в этот код больше смотреть не собираешься. Но и в том ужасе, что чаще всего рождает ИИ, бывают инсайты.