ИИ в работе программиста. .NET.. .NET. dotnet.. .NET. dotnet. dotnet core.. .NET. dotnet. dotnet core. ИИ.. .NET. dotnet. dotnet core. ИИ. ии бот.. .NET. dotnet. dotnet core. ИИ. ии бот. ии помощник.. .NET. dotnet. dotnet core. ИИ. ии бот. ии помощник. ии чат-бот.. .NET. dotnet. dotnet core. ИИ. ии бот. ии помощник. ии чат-бот. ии-агенты.. .NET. dotnet. dotnet core. ИИ. ии бот. ии помощник. ии чат-бот. ии-агенты. ии-ассистент.. .NET. dotnet. dotnet core. ИИ. ии бот. ии помощник. ии чат-бот. ии-агенты. ии-ассистент. искусственный интеллект.. .NET. dotnet. dotnet core. ИИ. ии бот. ии помощник. ии чат-бот. ии-агенты. ии-ассистент. искусственный интеллект. Программирование.
Автор. Статья о эффекте "Зловещей долины"

Автор. Статья о эффекте “Зловещей долины”

Меня зовут Артём, в данный момент я работаю на должности ведущего программиста. Да – перед вами лонгрид в стиле черновика статьи о размышлениях автора на тему современных ИИ инструментов в разработке программного обеспечения.

По примерным прикидкам года полтора-два назад (возьмем 2023й год как точку отсчета) в информационном поле появились чаты с ИИ, которые помогали находить ответы на самые разные вопросы – от профессиональных, до личных. Проблема заключалась в том, что на тот момент Chat GPT хоть и был супер хайповым, но отличался проблемой – его база была сформирована на данных 2021-2022го года… Устаревшие данные о библиотеках и документации породили отторжение во всех аспектах, когда хотелось узнать всё самое новое и свежее в .NET, C#, новых пакетах и подходах. Инструмент был слабо применим в работе – но всё ещё позволял закрывать базовые вопросы по типу «Такой-то метод Linq, как сделать это», и если метод был добавлен в .NET до 2022го года – то всё было нормально. Нормально в данном случае – на троечку, потому как в то время GPT еще не мог в хотя бы «хороший» код. Хайп ИИ чатов рос, и к нему добавился Copilot от GitHub (аналог IntelliSense в Visual Studio) – это уже был заточенный под профессиональные задачи программиста инструмент. Первые пробы показались очень даже комфортными – инструмент мог анализировать файл и добавлять в него автокомплитом кусочки, которые скорее всего программист предполагал написать. Рутина по типу постоянного ручного добавления { get; set; } ушла в прошлое, как и ушло много другой механической рутины, можно было сконцентрироваться на решении задачи, а не писать каждый раз одно и тоже… С точки зрения инструментов автокомплита – в моей работе они крайне полезны и нужны, дабы высвободить (по моим оценкам) 10-20% времени написания шаблонного кода. Если прибавить к этому инструменты по типу «Нажми кнопку и твой Json превратится в класс DTO» – которые есть почти в каждой IDE – то высвободившееся от рутины время может достигнуть и 30% в зависимости от задачи. Так вышло – что наша работа это по большей части «monkey job», когда приходится делать простые и понятные штуки в огромном объеме.

В какой-то момент вся эта тема с ИИ в работе программиста дошла до абсурда. Появилось куча инструментов (ИИ-агентов, целых ИИ-ориентированных IDE, вручную настраиваемых при помощи MCP) и спекуляции на том, что ты можешь описать задачу человеческим языком – и всё будет в лучшем виде. Современные LLM знают, что происходило в мире буквально вчера, документацию знают в том числе и свежую. Тут появилось два лагеря программистов – первые «мемно» сидят на кресле, жуют чипсы, пьют смузи и смотрят как ИИ-агент пишет за них код днем и ночью, а вторые смотрят на «мемных» – и чувствуют полное разочарование и презрение. Вайб-кодеры заполонили инфополе по жестче, чем курсы «Выучи С++ в SkillBox за час и устройся за три ляма вечнозеленых в наносекунду», хайп мощнее старта Chat GPT. В комментах на Хабре куча баталий, куча статей о том, что малолетние бездари получили в свои руки спички и пошли учиться курить на сеновал…

И тут-то закралось первое (но не последнее) «фи» – чувство, что это не ты выполняешь работу, а всего лишь ДЕЛАЕШЬ ВИД, что ты программист, инженер, умный человек, который умеет что-то делать…

Вторым «фи» стало полное отсутствие в памяти того, что тебе написала ИИ – всё как в трубу. Эффект, о котором идет речь, называется «Когнитивная атрофия» (рекомендую ознакомиться с данной проблемой в общих чертах). Я больше не могу с наскока вспомнить как писать простые конструкции, это за меня два года делал автокомплит ИИ. В такие моменты помогает лишь полученное удовольствие от задачи, которую ты сам решил, сам написал и сам понял – как разгадать загадку очередного бага или бизнес-процесса, описанного в коде.

Третье «фи» – это мердж реквесты с тонной кода нагенеренного ИИ без человеческой руки…  МР блевотного содержания (на уровне картинок сгенереных ранним ИИ – где люди с шестью пальцами и кривыми лицами). Не покидает эффект «Зловещей долины» при просмотре такого кода – он ужасен в своей манере, в своем содержании, в своей сути тупого механического прямого решения в лоб и графомании… Код ИИ ВОНЯЕТ (code smell), если вы работает программистом больше 2-3х лет, и еще помните что это такое. Его нужно дорабатывать, брать черновик, который сделал ИИ и еще кучу времени просидеть над ним, допиливая и вникая в него. После доработки, рефакторинга и понимания сути сгенеренного ИИ кода – может выйти конфетка. Процесс отладки чужДого, чужого кода, который писал не человек – это отдельная тема для разговора и страданий автора коммита и всех вокруг кто столкнется с его кодом после…

Отвратительно стремление сделать так, чтобы ИИ решил твою задачу полностью, даже в тех моментах, где тебе – как человеку нужно проявить внимательность, сдержанность, погруженность в процессы, логику и просто здравый смысл… В большей степени ужасно, когда люди кормят GPT кучу файлов с кодовой базой проекта, потом копируют вывод чата и вставляют «как есть» его в файл проекта, коммитят и отправляют на ревью. Это так же отвратительно как инцест посреди банкетного зала на юбилее родителей и справление большой нужды посреди людного перекрестка в центре города в час-пик (и много подобного). Извращенное неконтролируемое желание вывалить свою срамную тупость, лень и халатность прилюдно, на общее обозрение…

Профессия программиста сейчас меняется, как когда-то менялась профессия веб-дизайнера (ныне мертвая) – очень вероятно, что мы придем к системам (как веб-дизайнеры когда-то) вроде Figma, и технологиям вроде HTML5, CSS3 и Angular.  Больше не надо нарезать макеты в PSD – да, но отличный дизайн все еще нужен. Да – больше не надо писать вручную { get; set; }, но отличный код все ещё нужен. И пока что ИИ не справляется с тем, чтобы писать отличный код на уровне отличного инженера. Тонны генеративного кода ведут к энтропии кодовой базы, полнейшему хаосу стиля кода, проблемам с архитектурой, нагрузкой, надежностью. Да, код человека не идеален – так зачем к своим багам добавлять еще и запутанный булщит ИИ. Выход пока что только в том – чтобы использовать код ИИ под призмой здравого смысла и персональной ответственности за каждую написанную строчку.

Отлично, когда человек использует ИИ (да и любой другой профессиональный инструмент), но без извращения.  Вызывает восхищение, когда человек осваивает новые инструменты, каким-либо образом стремится идти в ногу со временем, старается развиваться интеллектуально и профессионально. Это прекрасно – когда я и мои коллеги пользуемся всем новым для того, чтобы сделать себя и окружающее лучше… Сознательная деградация же, как инцест, некрофилия и поедание падали вызывает в нормальном сознании тошноту, презрение и отвращение.

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

(Скормите статью Chat GPT если не желаете читать ее в оригинале)

Автор: ArtemKonkin

Источник

Rambler's Top100