Comments 131
Никто в прод не запустит код без проверки. У любого кода должен быть "крайний". Кто ответит, если что. Значит надо будет проверять. Проверять построчно. Тогда в чем выгода? Когда сам пишешь, то хотя бы логику понимаешь.
Когда сам пишешь, то хотя бы логику понимаешь
Да-да, в роли продакта я много раз слышал эту сказку. А потом спрашиваешь кодера, который код писал "почему не работает", а в ответ стандартное: "ну смотреть надо, разбираться"...
Ну так любой кодер подтвердит, что это по дефолту так) Сам через неделю сидишь и думаешь - что я тут понаписал :D
Сам через неделю сидишь и думаешь - что я тут понаписал :D
И в чем же тогда преимущество Великого Кожаного над тупой машиной?
И в чем же тогда преимущество Великого Кожаного над тупой машиной?
В том, что через пару минут он вспомнит, что он думал, когда это писал!
Через пару минут да. А через год?
Вот прям пример из сегодняшнего. Есть некая задача, раскидана она по трем модулям (основным) + рабочая таблица. Эта задача отрабатывает раз в год. Периодически (фактически - каждый год) дорабатывается - бизнес приходит с новыми требованиями, нужно где-то что-то добавить, где-то что-то поменять. Я ей занимаюсь с, дай бог памяти, 19-го года. Последний раз лазил туда в прошлом году.
Но аналитики каждый год разные. И вот сейчас новый аналитик с вопросом - а как оно вообще работает (ТЗ там, конечно, есть, оно ведется и дорабатывается, но...)
Так вот, можно натравить на код ИИ и он объяснит. Но аналитик замучается все это разгребать т.к. там будет очень много лишней информации (там еще распараллеливание обработки имеет место быть - ему это нафиг не надо все.
А я посмотрел, вспомнил быстро и выкатил примерно на полстраницы то, что нужно именно аналитику для понимания как оно работает в целом. Основные важные моменты общей логики, без глубоких подробностей реализации.
И это быстрее чем мучать ИИ.
Конечно, когда кто-то помнит или задокументировано это гораздо лучше археологии, будь она даже механизирована бульдозером
А поменяете работу, и всё скатится к сценарию с ии
А если вы уволитесь, чем будет отличаться ситуация, когда код написал ИИ или код написал другой программист, которого уже нет в проекте?
А если новому програмисту нужно разобраться в коде, какая ему разница в чьем чужом коде разбираться, тем более что ИИ может наставить поясняющих комментариев как в старом так и новом коде.
А если вы уволитесь, чем будет отличаться ситуация, когда код написал ИИ или код написал другой программист, которого уже нет в проекте?
Примерно тем же, чем отличается совет ИИ пойти на автомойку пешком от реального решения поехать туда на машине.
На самом деле, когда аналитики берется за ТЗ, он всегда старается актуализировать его, приведя в соответствие с тем, что написано в коде.
ИИ может наставить поясняющих комментариев как в старом так и новом коде
Комментарии должны не код комментировать, а указывать на какую часть бизнес-логики он релаизует. Т.е. ИИ должен очень хорошо знать конкретную предметную область, архитектуру системы, структуру БД (а у нас это несколько десятков тысяч таблиц) и т.д. и т.п. прежде чем он сможет сказать хоть что-то внятное.
И да, все это никоим образом нельзя светить наружу, вся эта информация не должна выходить за пределы внутреннего контура.
В том, что через пару минут он вспомнит, что он думал, когда это писал!
Замечательно. То есть для того, чтобы кто-то мог вспомнить, я должен держать в штате всех, кто хоть что-то когда-то писал? Изумительная перспектива, я в восторге!
Ну, я не знаю, как у Вас, а у нас контакты предыдущих разработчиков тщательно хранятся.
Если мейнтейнер или автор кода уходит, он как минимум должен либо задокументировать либо рассказать новому мейнтейнеру, как всё работает. Если не сделано ни то, ни другое, то при любых проблемах с данным кодом вам будет проще переписать всё с нуля, чем пытаться понять исходную задумку не имея на руках ТЗ или описания технических решений (и контактов автора).
Да-да, в роли продакта я много раз слышал эту сказку.
У вас классическое непонимание происходящего. Дело в том что вы продакт, а не программист. Для вас ИИ это серебрянная пуля, а для разработчика это излишне ретивый джун, который пишет код не приходя в сознание. Причем, если он ошибется, ответственным будет разработчик, а не вы или ИИ, т.к. у вас обоих лапки.
Если вы так уверенны в своей правоте, проведите эксперимент: на месяц сделайте себя ответственным за ошибки которые произойдут по вине кода написанного ИИ. И пусть разработчики не сдерживают себя, максимально слопают код не пытаясь разобраться в результирующем коде и выкатывают как есть.
Вряд ли при таких вводных эксперимент продержится месяц, а вы, на своей позиции в компании.
Поэтому и получается, что на словах у вас дивный новый мир, а на деле леща в рассуждениях статьи стоит урезать.
Я не ллудит, сам использую ИИ каждый день и правильно умею его готовить, ведь я внедряю его в различные бизнесс-процессы компаний. Но мне и в голову не придет использовать получившийся код без проверки "методом прищуренного глаза" и обмазывания его тестами.
А потом спрашиваешь кодера, который код писал "почему не работает", а в ответ стандартное: "ну смотреть надо, разбираться".
Это неправильный ответ. В случае если что-то из сданого функционала не работает, правильный: "уже смотрю, через 30 минут отпишусь хотя бы примерно, в чем проблема". Таких - ответственных - специалистов LLM не заменит. Причем в этом нет ничего из ряда вон выходящего, человек отчитался что сделал задачу, оказалось задача не готова - нужно исправлять, иногда даже если за окном вечер пятницы.
странно. я когда продактам задаю вопросы по бизнес-процессам и почему они именно так работают, то они мне тоже периодически отвечают "смотреть надо, разбираться". и я никогда не считал это чем-то плохим, если в результате сам продакт или мы вместе разобрались.
и я сам иногда так отвечаю. намного лучше разобраться и дать верный ответ, чем ответить сразу, но ерунду
У нас сейчас нет коммерческих заказов, и чтобы не простаивать, мы решили сделать интересный нам проект с помощью ИИ.
Делаем, круто, анало говнет и все такое. Нам не скучно, узнаем много нового. Учимся. ИИ генерирует код по 10 килострок в день. Кайф.
А на днях я заметил, что хеш функция, которая должна отвечать на вопрос, изменился ли объект или нет, изменилась.
Она должна получать на вход json, убирать из всех полей version, если такое поле есть, и считать хеш по остальным.
Я обнаружил, что там теперь кроме version из расчёта хеша убирается ещё и additional_payload. Я этого не просил у агентов, коллега (проект пилим вдвоём) - тоже не просил.
Просто ИИ решил, что так более правильно и переделал.
Но это одна функция которую я заметил... А сколько уже я не заметил???
А как тогда работают тимлиды и техлиды, которые не пишут код?
У них в команде есть программисты, которым они ставят задачи и делают ревью их кода. При этом за баги в проде отвечает тимлид, а не рядовой разработчик.
Получается для тимлида нет выгоды от этих программистов, потому что ему приходится проверять код построчно? И он не может понимать логику этого кода, потому что он не писал этот код?
Ну вообще тимлид не занимается ревью как правило. У него другие задачи. Ревью делают сеньоры и техлиды.
И на ревью большей частью проверяются паттерны разработки и соответствие нефункциональным требованиям.
Так в чем моя логика нарушена? Кодер крайний для техлида. Техлид перед главным менеджером продукта крайний. А вот ЛЛМ не может быть крайней ни на каком этапе.
Получается тот кто крайний, должен выполнять рутинную работу по написанию кода? Если человек отвечает за код, то он должен набрать каждую строчку этого кода? Он не может делегировать это ИИ агенту, проверить его работу и нести ответственность за этот код, даже если он его не писал?
За других не отвечу, но за себя могу. Я начальник отдела и не пишу бизнесовый код в большинстве случаев, в некоторых командах выступаю как раз за того, кто за все отвечает. Суть очень простая: я могу разобраться в любом сервисе написанной командой очень быстро, потому что знаю по каким принципам он написан и участвовал в проработке на уровне бизнес и системного анализа. Я не ревью код, но его ревьюят те, кого я научил, и я знаю, что они не дадут остальной команде нарушить принципов его построения. Уточню, на всякий случай, когда я пишу, что я могу разобраться, это означает, что это делал за последний год несколько раз: всегда бывают авралы, кто-то заболел, кто-то ушел в отпуск, а выкатить надо срочно - тогда я подключаюсь на недельку-другую размять пальцы. Могу ли я заменить рядовых сотрудников LLM? Возможно да, но это не точно. Могу ли я заменить тех кто ревьюит? Точно нет. Я не настолько краток, чтобы уместить в один файл skills.md то, чему учил людей по 5-7 лет.
Один из самых ценных комментов тут. Особенно последняя фраза
Я бы не стал заменять рядовых сотрудников LLM. Это обычно делают руководители, которые только недавно познакомились с ИИ, увидели в них быстрое выполнение задач и под этой эйфории уволили всю команду. Я бы в этом случае дал LLM каждому рядовому сотруднику, чтобы его эффективность выросла. И не нужно заменять тех, кто ревьюит. Каждый человек может остаться при своей должности или роли.
Так с llm эффективность сотрудника растет, значит для выполнения того же объема задач, надо меньше сотрудников.
Причём, skills.md на разных моделях работают по разному
А как тогда работают тимлиды и техлиды, которые не пишут код?
Они делегируют.
задача тимлида / техлида в том числе собрать команду, которой он может доверять делегирование и за работу которой готов отвечать. и избавляться от тех, за кого отвечать не готов.
Никто в прод не запустит код без проверки.
Ох, если бы...
На то, чтобы объяснить ИИ все тонкости сложной бизнес-логики порой времени уходит больше, чем написать эту логику самому. Особенно, если знаешь предметную область и хорошо владеешь инструментом реализации.
А после ИИ все равно надо весь код досконально проверить и, скорее всего, поправить.
Он хорошо справляется с типовыми рутинными задачами условного "перекладывания джейсонов", но когда надо добиться максимальной эффективности в реализации чего-то сложного, тут времени уходит кратно больше.
Еще ИИ хорош как помощник в изучении чего-то нового. Когда задача ставится "а как вот тут вот это реализовать". А потом по каждой строке "а почему так, а можно иначе?".
Хотя всё что нужно это просто попросить ИИ агента проверить код и убрать из него всё лишнее.
Какой интересной простоты вы человек. Действительно, просто попроси агента и проблем нет. Сразу видно фаундер/тимлид со своей флотилией.
Хотя они уже не удивляются тому, что ИИ в обычном чате может создавать осмысленный структурированный текст за секунды.
ИИ может даже не увеличивать доход бизнеса, но он точно повысит видимую часть работы
Возможно вам это надо или вы коллекционируете буковки, но не всем нужен любой текст, даже если он сгенерирован за секунду и его очень много.
Вы можете быть не согласны с тем, что нужно оценивать сотрудников по количеству строк кода, коммитов или сожжённых токенов.
..
Остаётся только принять требование бизнеса в том, что сотрудники должны использовать ИИ для повышения своей эффективности.
Конечно, как иначе /s
Реальный случай из жизни - когда начал осваивать первые ЛЛМ, узнал из подкаста что можно вайбкодить. Ох, как я обрадовался тогда. В голове прямо картинки проносились - вот это вот закажу, и вот это, моя прога и то сможет и это и еще вот это. Через 20 минут список не влезал на 2 листа. У меня инженерный склад ума. Думаю - в чем проблема? Разобью все нодам, распишу как будут взаимодействовать, сделаю легкие ажурные файлу, не громоздкие. Ну реально, в чем проблема? Все расписать, попросить ллм закодить небольшие файлы, дать другим ллм перепроверить. Пояснил Кими задачу. И тот наш разговор я не забуду никогда :D Я ему объяснял что он тупой. Что задача разложена по полочкам. Буквально. Бери, пиши код. А он мне пояснял почему я тупой и почему это не сработает для серьезных программ и моего списка желаний. Я его и матами ругал и подлизывался. В итоге, через полтора или два часа у меня в голове ясно и четко утвердилась мысль - надо учить питон :D
А он мне пояснял почему я тупой и почему это не сработает
Кими молодец, оказывается
Интересно, а ваши идеи в общем виде не улетают разрабам этих ллм как полезные, что можно продать на сторону, пока эти ллм убеждают вам в обратном?
Фигня какая-то описана
Обычно роботы берут тз и начинают его делать. Если описание хреновое - получится совсем не то, что хотелось, если нормальное описание - то получится почти то, и это можно будет доделать.
Но вот чтобы робот просто отказался писать - это нужно какую-то совсем лютую дичь у него просить. У меня фантазии не хватает.
Если работать с Джеминаем, то вполне себе возможно. Там в условиях пользования написано - мы можем брать ваши тексты и анализировать :D
Но если вы воспользуетесь автоматическим переводчиком, вы получите перевод за несколько секунд. Вам останется только вычитать текст и поменять в нём некоторые слова, которые были переведены неправильно.
Я бы тут поспорил. Не так давно (в этом или прошлом году) я пробовал переводить обычные тексты и в редких предложениях проскальзывал перевод далёкий, а то и местами противоположный по смыслу. Да, для того, чтобы в общем понять, о чём текст, это сойдёт, но для нормального перевода нужен глаз да глаз. И тут ещё сильно зависит от языковых пар: с какого и на какой язык переводится. Для не сильно популярных языков количество ошибок сильно вырастает и там порой лучше самому ручками. Как минимум, будет хотя бы смысл передан верно. В итоге получаем, чтобы на выходе был нормальный текст, сперва переводим ИИ, потом читаем оригинал, переводим сами в уме, параллельно сравниваем с ИИ вариантом, правим, если что не так. Не факт, что будет сильно быстрее.
Может ИИ сильно ушёл в лучшую сторону с тех пор, но меня терзают смутные сомнения
Вы давно "трогали траву"? Пройдитесь по локальным кафешкам в вашем районе и обнаружите, что 50% постеров - нейросетевые. Угадайте люди какой профессии не получили свои шекели за рисование постеров и флайеров.
Я не использую ИИ для перевода, потому что он меняет смысл текста. Добавляет и убирает важные слова. Может полностью изменить предложения или целые абзацы. Лучше использовать специализированные сервисы для перевода текстов.
Я не использую ИИ для перевода, потому что он меняет смысл текста. Добавляет и убирает важные слова. Может полностью изменить предложения или целые абзацы.
Это Вы ещё легко отделываетесь.
Вот и ответ на ваш вопрос. Раз нет уверенности, что ИИ правильно понимает промпт, то и уверенности в корректности выдаваемого им кода быть не может. Так зачем заниматься этой словесной эквилибристикой, подбирая понятные ему слова и формулировки, в надежде выдавить из ИИ корректный код? Ведь языки программирования намного лаконичней, чем естественные языки.
Лучше использовать специализированные сервисы для перевода текстов.
А они разве не на базе тех же LLM работают? Их, ведь изначально для этого и разрабатывали.
У меня жена профессиональный переводчик. Причем, не бытовое бла-бла-бла, а научные статьи и технические тексты. Судя по тому, что переведенные ей статьи еще из серьезных журналов "по языку" не возвращали ни разу, переводчик неплохой.
Так, пользуется ИИ при переводе. Но только с целью уменьшения количества рутинной работы. Говорит что в целом справляется, но требуется тщательная проверка особенно в терминологии - может легко подцепить термины из смежной области.
Т.е. как помощник - да. Но под тщательным контролем. Полностью никак не заменит.
Классика! Джун и сеньор :D
Так, пользуется ИИ при переводе.
Я тоже пользуюсь, но чисто в том плане, чтобы самому меньше печатать. То есть если перевело предложение так, как я сам собирался, то оставляю, иначе - фтопку. И так восемь тысяч раз.
Вы хабр когда последний раз открывали? Тут половина статей это "полностью ИИ перевод" - догадайтесь люди какой профессии не получили свои шекели за перевод.
Почему разработчики продолжают писать код руками?
Лично у меня не столь глубокие мотивы, как в статье. Мне никто из начальства не купил подписку на любую из агентских IDE или плагинов для vs code, а сам я столько не зарабатываю, чтобы оплачивать эти подписки; да и если бы зарабатывал, это обязанность работодателя.
У нас в конторе даже нет человека, который провёл бы исследование и нашёл подходящее сочетание сервиса по оплате и нужного редактора, который ещё и должен работать в линуксе (привет, Codex, ещё совсем недавно). А после этого желательно найти/нанять человека, который проведёт обучение, как именно наши задачи решать этим инструментом. Чтобы нам не тыкаться по углам, которые уже пройдены другими. Например, мои задачи — это зачастую вёрстка из фигмы. Как-то же условному плагину в vs code нужно дать доступ к фигме, объяснить, какой из тех макетов верстать, какой не надо, где адаптив для чего. Если нет адаптива под планшет, то нужно сделать его из мобильной версии, опираясь на здравый смысл. А анимации иногда нужно смотреть, запуская фигму в режим плеера.
Коротенько, но философски выскажусь по теме...
На всем протяжении истории человечества одни люди эксплуатируют других. В первую очередь - для выполнения какого-то физического труда. Само собой человек, даже подневольный, рано или поздно норовит проявить свою волю, высказать свое мнение, что категорически не нравится эксплуатирующему классу. И, строго по Марксу, во все времена этот класс старался всячески закабалить эксплуатируемых, издавая соответствующие законы, объясняя все этой волей богов или предков, мол, так уж повелось издревле...
Шло время, эксплуатирующие эксплуатировали, эксплуатируемые - иногда терпели, иногда устраивали бунты и революции. И вот грянула промышленная революция (какая она там по счету была, второй?), в рамках которой появилось разделение труда, производство, следом - конвейер. Но как к точным механизмам допускать человека, который то и дело норовит лом в нежное нутро станка вставить (сорри, пошло звучит)?..
Короче, труд подневольных людишек начали обставлять регламентами, инструкциями и прочими методиками: мол, вот так делай, а вот так- не делай! Т.е. о чем мечтали промышленники во все времена с момента проявления своего классового сознания? О биороботе! Чтобы все по инструкции, чтобы ни шагу вправо-влево, и желательно забесплатно.
Если кто помнит, до ковида это был тренд: нанотехнологии, интернет вещей, роботизация, безлюдные производства и т.п. Это вот все то же: не нужон нам этот интернет ваш...
Но прогресс как-то быстро "выстрелил" интеллектуальными агентами (опять спошлил...). Вот он, "бог из коробки" - подумал бизнес и начал надувать пузырь. Но сейчас речь не об этом.
Интеллектуальный агент - штука пока еще не предсказуемая. Он ровно как тот кожаный мешок, эксплуатируемый во все времена, начиная с этрусков. Ну или как маленький ребенок, которому дали в руки гаечный ключ - может, завернет гайку, а может убьется нафиг... В общем, вместо обставленного со всех сторон регламентами и правилами человека, по сути - живого робота, которого так долго пытались создать, бизнес получает непредсказуемого актора, которого еще попробуй укроти... Да, он, бизнес, будет стараться, деньги готов в это вкладывать, но ведь агент и задуман таким: "ищущим", "пытливым", недетерминированным.
Короче, либо все вернется к программным и физическим роботам, а бизнес, построенный на интеллектуальных агентах, рухнет громко и с треском, либо прогресс подкинет что-то новое, пока "пузырь ИИ" не лопнул. Но в любом случае, ИИзация промышленности - это фантастика. В крайнем случае обычных роботов с ML обзовут "ИИшными". Это мое мнение.
Спасибо, что дочитали!
Дочитал. Внимательно изучив OWASP топ 10 по ии агентам в свое время, скорее поставлю на первое
Вот правильно с базиса начинать, да. А надстройку анализировать только после того, как базис описан и принят за правду-истину (хотя бы в рамках дискуссии).
А вообще, ответ на вопрос в заголовке давно даден: человеку нужен человек! А всё что вокруг: код, процессы, ответственность, даже кремниевые болваны (терракотовое войско 2.0), это всё будет, если будут люди, которые делают своё дело.
Чтобы все по инструкции, чтобы ни шагу вправо-влево
Это называется “итальянская забастовка”. Всё делается строго по закону и должностной инструкции, а работа практически стоит. И наказать не за что.
Замысел делает человека художником, а не реализация.
Глупость, наверное, скажу…
Лично мне просто нравится писать код. Ну люблю я это дело.
Тогда вопрос: а нафига я буду отдавать ИИшке то, что хочу делать сам?
Извините за такой непрофессиональный и субъективный подход.
Вы хоть и немного перебрали с ложной скромностью, но писать код это действительно кайф :D Это как решать кроссворды, но на несколько порядков сложнее) И чем сложнее была задача, чем элегантнее само ваше решение - тем кайфовие :D
У меня раньше тоже было так. Но спустя 13 лет работы, в последние пару лет уже надоело реально всё одно и тоже. И с сейчас с облегчением юзаю ИИ, оставляя себе ревью. И кайфую на нескольких пет проектах которые из за двух работ тупо раньше не хватало сил либо времени нормально двигать.
К этому можно подходить с двух сторон. С одной - есть программист и ему нравится кодить, с другой пользователь - ему нужно чтобы у него всё работало. И платить он будет за рабочий софт/сайт, а не за удовлетворение желаний.
А вообще да, согласен, делегировать кодинг совсем не хочется.
Если я ставлю ИИ агенту задачи, принимаю решения по архитектуре, делаю ревью кода и проверяю все тесты, то как можно говорить о том, что я не понимаю код проекта?
Конечно, не понимаете. Вы даже не понимаете что его не понимаете
А вы сравнивали сколько по объему у вас занимает промпт полностью готовой бизнесовой таски в прод и та же самая таска в виде вручную написанного кода ? Мне просто интересно как считают профит по времени от генерации кода ллм, учитывают ли написание промпта со всеми дополнениями и правками ?
И второй вопрос. Если код вы не пишете и не ревьюите, то зачем ллм вам его генерит на ЯП ? Пусть генерит сразу в маш кодах. К чем эта иллюзия контроля ?
С появления ИИ агентов я практически перестал писать код, так как не вижу больше в этом смысла. Поэтому не могу объективно сравнить объем промпта и того же вручную написанного кода. Насколько бы быстро я ни писал код вручную, моя скорость никогда не догонит ИИ агентов.
Я сейчас могу в нескольких чатах дать ИИ агентам разные задачи по разным проектам. На выходе получить тысячи строк кода, покрытие тестами, документацию. Они следуют моим правилам разработки и на выходе получается примерно такой же код, как если бы я его писал руками.
Как я и указывал в статье, я делаю ревью всего кода, который пишут ИИ агенты. У меня нет иллюзии контроля. Я контролирую и понимаю весь код.
Я не трачу много времени на написание промптов. Обычно это происходит в режиме планирования, где ИИ задаёт мне вопросы, предлагает варианты, а я только выбираю подходящий вариант. Готовый план реализации составляет ИИ агент, а я его утверждаю.
На выходе получить тысячи строк кода, покрытие тестами,
О да, покрытие тестами...
У вас треуголка набекрень сбилась

Достаточно посчитать частоту использования местоимения "я" в вашем тексте
Ну и меня буквально обычно менее 1 минуты + ссылка на таску если нормально описана. Прошу сначала посмотреть и разобрать и сообщить что он понял, потом корректировка и понеслась. Интересно тут другое. Классические процессы доставки до прода могут очень сильно затормозить. Буквально задача может быть решена за 20 минут а доехать до стейджа через несколько дней.
Нынешние модели с агентами действительно могут отлично разбираться в проекте и сами себя перепроверят. И и и.д. Но контроль нужен всегда, поэтому как правило пока особых профитов от ИИзации не будет, а в некоторых случаях наоборот
Я пишу код, потому что я разработчик. Если бы я был, например, дворником, я бы код не писал (имею в виду профессионально).
Если ИИ такой крутой, то почему на «Хабре» нет статей с пет-проектами, связанных с разработкой ПО для ПК, написанных в соавторстве с ИИ-сервисами? Где акцент делается на результат, а не на процесс.
Если ИИ такой крутой, то почему на «Хабре» нет статей с пет-проектами, связанных с разработкой ПО для ПК, написанных в соавторстве с ИИ-сервисами? Где акцент делается на результат, а не на процесс.
Есть. Просто обычно они через пару недель тихо сдуваются.
Есть. Крайне мало.
https://habr.com/ru/articles/1065708/ пожалуй, этот проект "в соавторстве с ИИ" достоин уважения. Но там ценность в "продаже" огромного закрытого корпоративного набора тестовых кейсов. А так это просто lift and shift
Да проектов полно и даже тут на хабре. Но обычно у разрабов проблема не с разработкой, а с продвижением, так что выживут из них единицы.
Я глянул твой профиль и вижу что ты активный борец с ии слопом на Хабре. Просто оставлю это тут

Почему разработчики продолжают писать код руками?
Я не знаю, как другие — но лично я пишу код всё-таки головой.
Руками я переношу его из головы в компьютер.
ИИ пишет точно такой же код, который я бы написал сам.
Ну и зачем мне тогда лишняя сущность? Я сам и напишу!
Некоторые люди до сих пор не верят в то, что ИИ способен ускорить написание кода в несколько раз.
Ну почему же — охотно верю, что он способен ускорить написание кода в несколько раз.
А вот работающего (в смысле не идентичного натуральному, а выполняющего задачу)...
Такой вариант надо рассматривать, если мы предполагаем, что ИИ пузырь лопнет, провайдеры повысят цены в сотни раз,
А мы как раз и предполагаем. Я своему брокеру уже с год назад сказал готовиться к обвалу, и сейчас сижу на прессе налика, чтобы закупиться на низах.
почему же люди хотят делать рутинную работу, которую ИИ агент может сделать автоматически?
У меня есть скрипты. Которые детерминированно и предсказуемо делают работу автоматически.
А недетерминированным молотком сами гвозди забивайте.
"Я стреляю не рукой. Тот, кто стреляет рукой, забыл лицо своего отца. Я стреляю разумом."
Я не знаю, как другие — но лично я пишу код всё-таки головой.
Руками я переношу его из головы в компьютер.
Думаю, если бы статья называлась "Почему разработчики продолжат руками переносить код из головы в компьютер", то было бы не очень. Не находите?
Ну и зачем мне тогда лишняя сущность? Я сам и напишу!
Для повышения эффективности переноса кода из головы в компьютер. Если вас устраивает эффективность механического нажатия на клавиши, то вам лишняя сущность не нужна.
Так набор промтов же всё равно упирается в эффективность механического нажатия на клавиши. В чём смысл тогда?
Да мы давно уже системами распознавания речи пользуемся
Да мы давно уже системами распознавания речи пользуемся
Очень хотелось бы посмотреть на задание, выполненное по промпту «эээ... ну ты это... здесь вот так, а в конце через ту штуку, и чтобы всё ок!»
Нет, немного по-другому выглядит. Вы сначала диктуете какую-то фразу. Потом добавляете туда английские слова, названия классов. Потом думаете. Потом диктуете следующую фразу. Потом редактируете то, что написали. А иногда действительно не редактируете, и в тексте остаётся вот именно, что "э-э". Нейронке — это не то чтобы мешает. Ей наоборот, полезно понять ход размышлений. Это для неё дополнительная информация. Собственно, я прямо сейчас вот это сообщение голосом надиктовываю. В целом, это просто очень сильно ускоряет набор текста, не то чтобы снижая его качество.
А заодно вы сразу учитесь структурировать свои мысли. И запас словарный растёт. Активный.
Кнопка распознавания речи у меня вместо правого альта. Очень удобно. Зажимаете кнопку, говорите фразу, отпускаете кнопку. Текст улетает на распознавание и быстренько вставляется в то место, куда показывает курсор.
ИИ агенты пишут код в десятки раз быстрее человека.
Быстрее, но быстро не значит к месту и что это работает как задумывалось.
Делают ревью, находят баги и исправляют их.
Кхм, а баги откуда? Сам создал, сам исправил. Интересный инструмент.
Так почему же некоторые люди продолжают вручную набирать каждую строчку кода?
Потому что это иногда быстрее. Не всегда. А иногда быстрее получить заготовку от ИИ и потом вручную ее допилить. Все сильно зависит от ситуации.
Почему они не хотят делегировать это ИИ агентам?
Если все так просто, ждем от вас супер продукт. Но его нет и не будет, хотя серебренная пуля у вас есть и не одна.
И это только из анонса )))
Срок миграции кодовой базы может различаться в десятки или даже сотни раз.
А может и увеличиться. Предположение с вашей стороны не более.
Да, перевод готового текста и рефакторинг готовой кодовой базы — это не создание новых проектов. Но в чём отличие?
Если у вас нет понимания даже здесь то глубже лезть бесполезно.
Мы должны эффективно работать
А эффективно это как?
но он точно повысит объём видимой работы, которую может проверить ваш руководитель
Напишите честно, вы при помощи ИИ создаете вид своей полезности.
принимаю решения по архитектуре,
На основании чего? Ответов от ИИ?
P.S. ИИ круто и классно, но это всего лишь инструмент, как и молоток, который нужно использовать когда нужно и по назначению. Вы бы пару кейсов добавили реальных (их было бы интересно посмотреть и обсудить), а не отдали на откуп ИИ всю статью.
Подскажите бесплатного агента, которому я в качестве параметра указываю ссылку на номер (адрес) github issue, а он по нему создает в репозитарии (публичном) pull request. Или аналогичные сервисы github, пусть и попроще, но имеющие бесплатные: сервис repo + агент разработки в нем кода + github pages.
Например OpenCode, Kilo. Это ИИ агенты и в них есть бесплатные модели. К гитхабу могут подключаться через gh cli.
К гитхабу могут подключаться через gh cli.
На понятно зачем. Сценарий:
Передаю агенту ссылку: repoXX/issues/XX. Агент читает issue, далее он делает fork моего публичного репозитария, далее дописывает код, тестирует, исправляет и т.п., и в итоге в моем публичном репозитарии делает pull request. Я читаю (code review), если "не так", то делаю комент и отправляю ссылку снова агенту. Если "все так", то делаю merge. Зачем что-то еще нужно агенту кроме ссылки на мое issue или мой комент к его же pull request?
Некоторые люди до сих пор не верят в то, что ИИ способен ускорить написание кода в несколько раз.
Другие верят в ускорение, но задаются вопросом: если наша эффективность вырастет в 10 раз, бизнес не будет нам платить в 10 раз больше, так ведь? Зачем тогда повышать свою эффективность?
Выглядит как манипуляция, вы определитесь в 2-3 или в 10.
У бизнеса не всегда будут хорошие времена, когда он может держать неэффективных сотрудников.
Бизнес держит неэффективных сотрудников не потому что у него времена хорошие а потому что он не знает об их реальной производительности, вообще реальность такова что обсолютно в любой области количество реально эффективных сотрудников всегда меньшество ( если мы говорим о компаниях 10чел и более ), слово неэффективный используется бизнесом для того чтобы на гуманном языке объяснить человеку и государству почему его нужно уводиль, фраза "мы оставляем только тех без кого компания неможет существовать, остальные норм но мы можем вами пожертвовать в угоду выживания" звучит не так гуманно как "мы произвели оптимизацию и сократили неэффективных сотрудников".
Если вы попытаетесь оспорить подходы руководства бизнеса, я могу пожелать вам только удачи, но скорее всего удача будет не на вашей стороне и вас уволят.
Не нужно спорить нужно аргументированно объяснять, руководство часто живет в иллюзиях маркетологов и красивых презентаций и задача разработчиков показывать неудобную правду.
Умный и адекватный руководитель не уволит вас только за то что вы усомнились в его идее а попытается вас понять и проанализировать а не допустил и он где то просчет.
Остаётся только принять требование бизнеса о том, что сотрудники должны использовать ИИ для повышения своей эффективности. А это значит, вы должны писать больше кода, больше комитить и закрывать больше задач. При этом зарплату вам не повысят.
Очень странный вывод, когда сделали инспектор firebug и я стал быстрее выявлять баги и быстрее их чинить мне должны были повысить зарплату? Или когда появилась фигма и дизайнеры стали делать быстрее дизайн с помощью компонентов им тоже надо было повысить зарплату?
ИИ это такой же инструмент как и все остальное и также как и все остальные инструменты он стоит денег которые платите не ВЫ а КОМПАНИЯ так почему зарплату долны повысить вам?
Часто скептики аргументируют тем, что код станет неподдерживаемым, вырастет техдолг, программист не будет видеть всю систему целиком, не сможет сам исправить баги или поменять что‑то в коде.
И это действительно так если вы работаете в режиме вайба или отключили мозг и передали все на сторону ИИ думая что он сделает лучше. Вы что резко начали жить в идеальном мире где каждый разработчик умный и сознательный? Куда в вашей парадигме делись говнари которые есть в каждой компании?
Если я ставлю ИИ агенту задачи, принимаю решения по архитектуре, делаю ревью кода и проверяю все тесты, то как можно говорить о том, что я не понимаю код проекта?
Очень просто, сначала вы внимательно смотрите каждую строчку потом ваше даверие растет и вы начинаете давать все больше и смотреть все поверхностней, через какое то время ваш мозг перестроится и перестанет видеть определенные моменты ( глаз замылился ) и вы начнете упускать все больше и больше ошибок и расхождений.
Почему то люди забывают что их мозг и знания это не константа как веса ИИ а постоянно меняющаяся сущность которая может деградировать без постояных когнитивных нагрузок и упражнений коим код и является.
Плюс вы забываете если вы вообще перестанете писать код ваша кодовая база замрет там где заморозили веса ИИ, поскольку ИИ умеет делать только то чему учили и новые вещи из ничего придумывать не умеет.
Еще одна причина отказа состоит в том, что ИИ пишет больше бесполезного кода, который даже не относится к задаче. И это для них является веской причиной, чтобы писать весь код вручную. Хотя всё, что нужно, — это просто попросить ИИ агента проверить код и убрать из него всё лишнее.
Только для этого нужно сначала все просмотреть, дать примеры а не просто "Попросить"
Вам даже не нужно сразу делать ревью кода после выполнения задачи. Сначала попросите ИИ агента сделать ревью, затем исправить ошибки, затем снова ревью и снова исправление. Если не хотите каждый раз просить его об этом, он может сам это делать в цикле. Один субагент пишет код, другой делает рефакторинг, третий делает ревью, четвёртый исправляет ошибки. Вы можете настроить любую последовательность. С очень большой вероятностью после этого цикла в проекте не останется бесполезного кода.
И сколько вы так сожгете денег и времени, вот эта самая интересная часть все рассказывают как они написали в один промт то-то и то но только мало кто потом рассказывает сколько итераций и токенов понадобилось для доведения кода до нужного уровня и очень часто в этом моменте уже не такие радужные цифры и обещанные автором x10 скорости падают до 1.5-2x и к этому добавляется цена токенов.
Но ведь мы тогда разучимся писать код и вообще не сможем поддерживать проекты. Но зачем нам в будущем понадобится вручную поддерживать проекты?
Филип Дик «Плата за копирование»
Выглядит как манипуляция, вы определитесь в 2-3 или в 10.
Это зависит от задачи. Например, если мне нужно написать скрипт бэкапа на 200-300 строк, я просто даю ИИ агенту краткое описание задачи, через несколько минут получаю рабочее решение. Здесь ускорение в 10 раз.
Если нужно поправить вёрстку, где ИИ чаще ошибается и долго проверяет выполнение, ускорение может быть в несколько раз, или может быть даже замедление.
Определяться с точной цифрой нет необходимости.
Умный и адекватный руководитель не уволит вас
Вы всегда работали только с умными и адекватными руководителями?
так почему зарплату долны повысить вам?
Не представляю, почему зарплату должны кому-то повысить из-за использования ИИ. Этот абзац и объясняет, что никому зарплату из-за этого не повысят. Почему для вас это показалось странным выводом?
И это действительно так если вы работаете в режиме вайба или отключили мозг и передали все на сторону ИИ думая что он сделает лучше.
В моём тексте ни разу не упоминается режим вайбкодинга. Там написано, что код нужно ревьювить, нести за него ответственность, а ИИ делегировать только написание кода, а не принятие решений.
Только для этого нужно сначала все просмотреть, дать примеры а не просто "Попросить"
Примеры я даю на этапе планирования, а не после реализации. Хорошие практики, которые меня устраивают, описаны в скилах. Мне нет необходимости каждый раз это расписывать ИИ агенту.
И сколько вы так сожгете денег и времени
Какая разница сколько я сжигаю токенов на бесплатных ИИ моделях? Если агент выполняет цикл 3 часа, это значит я потратил на задачу 3 часа? Я могу паралельно запустить 10 задач, и уйти заниматься своими делами.
если мне нужно написать скрипт бэкапа на 200-300 строк, я просто даю ИИ агенту краткое описание задачи, через несколько минут получаю рабочее решение
И скрипт ломает прод.
Иногда можно положиться на результат LLM если
Количество вариантов поведения гарантированно мало и все они проверяются тестами
Тесты писал не тот же LLM исполнитель
Проверены все тесты
Тесты соответствуют задаче
Постановщик задач или ответственный за выпуск релиза хорошо разбирается в предметной области и понимает все варианты поведения
...
В простых случаях можно.
Но там и раньше не было денег, а теперь и подавно. А для бизнеса эти случаи и раньше не были большой проблемой, то есть средняя эффективность не особо растёт
Филип Дик «Плата за копирование»
Отличный рассказ!
Вспомнил что именно напоминают такие вайбкодеры

Это вы еще бэкенд не видели.
О! Это ж моя фотка! Я на ней :D Я как только научился в ЛЛМ, решил что мне модель напишет моего собственного ии агента. Четкий пайплайн сделал, разобрал по косточкам OWASP топ 10 угроз ии агентам, разбил все по нодам, оркестратор, гейты, микроВМ для парсера, судьи, карантины, все дела. Создал матрицы проверок каждой ноды. 3 дня тестировал! Все тесты - зеленые!!! В этот момент фотку эту и сделали :D потом я увидел что все джосны и скрипты проверялись на заглушках, и ллм вообще не понимает смысла - протестируй мои файлы по матрице. Тестирует! Свои :D
Я могу ответить на вопрос "реально ли запилить это пожелание в проект?" и "в какой объем это выльется?". У ИИ на эти вопросы всегда один ответ "конечно реально, ща сделаю", и вид такой как по указу - "лихой и слегка придурковатый".
Я не программист , хотя с кодом работаю уже пару лет как появился ИИ, в основном Java + Python , но трогал и php и даже немного во фронт залез (но не мое , по работе чисто для интереса). Так вот ИИ помог именно в архитектуре , есть у меня проекты как свои , так и рабочие которые я бывает из интереса кручу различными агентами в плане реализаций , а уже потом полезные и интересные идеи выписываю себе в trillium (аналог obsidian) , где позже совершенствую и применяю уже по новой или в новых проектах. Для меня самый большой минус , что ИИ любит все усложнять , банальные вещи в пару строк , раздувает до десятков ..
Я вот люблю автоматизировать процессы например при администрировании , да есть Ansible , но мне привычнее свои скрипты использовать чаще всего .. так вот даже банальные просьбы подключится по ssh и просто выполнить там sudo docker-compose down или даже скопировать лог файл или например файл конфигурации постгрес превращаются в рутину из за усложнения кода)) куча ошибок , лишних библиотек и костылей для результата и вот код который пару строчек занимает - уже в сотни раз разбухает. Хотя банально .. подключаешься по ssh на указанный порт + используешь ключ в конфиге , выполняешь там пару команд и финально scp на мою машину в указанную папку.. (такие простые скрипты у меня есть , но как пример от ИИ , это просто хардкор) , поэтому тут реально тонко нужно момент держать и использовать пример простого скрипта как образец , а проще самому иной раз пару строк чиркануть.
Мне тоже это удивительно
Как же глубоко ИИ инфоцыгане всех прогрели
Некоторые люди до сих пор не верят в то, что ИИ способен ускорить написание кода в несколько раз.
этот миф давно разобрали. LLM часто реальную работу замедляет.
прежде всего в силу недерменированности результата. Это приводит к +100 нагрузке - в любой момент это тебе подсунет лютую дичь обернутую в конфетку. это может случиться завтра или сейчас.
Срок миграции кодовой базы может различаться в десятки или даже сотни раз.
при этом получится проект с диким техническим долгом, потому что идиомы и подходы языков часто очень различным.
А написание подробного promtа по тому, что и как переделывать с учетом всех нюансов, как и что переписывать, что делать если не вышло - по уровню сложности и времени займет немалое время.
А потом в игру вступает недерменированность результатов работы LLM и ...
и так далее. В целом материал - это просто повторение песен менеджеров OpenAI, M$ и Amazon "Результат все еще очень плохой ? значит виноват ты и твой promt, давай на 1001 итерацию.
Неважно что ресурсов потрачено уже в 10 раз больше, чем написать в полу ручном режиме и багов образовалось пачка, главное KPI - не ничего Н% кода пишет LLM"
Программисты хотят писать код руками, так как, многие из них, пришли в профессию из-за того, что им направится писать код руками, aka программировать.
Использование ИИ для написания кода - это что угодно - менеджмент, аналитика, бизнес-информатика, и т.д. но не программирование.
И да, многие сопротивляются, хоть это и не даст ничего, как только бизнесу станет выгодно, чтобы никто не писал код руками, его перестанут писать руками, или наймут тех, кто будет готов не писать код руками.
Это как с цифровыми художниками - многим из них нравилось рисовать, пусть и в рамках бизнес требований, энивей можно было выразить свою творческую креативность, а теперь они вынуждены промтить и подтирать 6-й палец за нейросетью.
Те, кто не был готовы работать с ИИ - уже не конкурентны и были выпнуты из профессии, теми, кто был готов к ИИ пайплайну, где не надо рисовать, а личного творческого видения меньше в разы.
Люди просто хватаются за то, на что они потратили большую часть своей жизни, и что стремительно обесценивается с каждым днем. И при этом, не всем из них интересно то, что "выше", куда предлагают "развиваться" - менеджмент, продажи, и т.д., многим было интересно именно их хобби, ставшее профессией, а не создание мега стартапов, генерация "невероятных" бизнес идей и т.д., что стало проще, из-за ИИ исполнителей.
И да, видно как люди, ментально сопротивляются, буквально отрицая реальность, до последнего, отрицая, что ИИ уже пишет приличный код, и уже рисует приличные изображения. Как только ИИ становиться способен делать ХХХ, в этот же момент ХХХ становиться "простой фигней для студентов", а тех кого заменили, тут же признают бездарями или "низшей кастой кнопкадавов". Такова реальность того, как ИИ съедает профессии, и влияет на профессиональные сообщества.

Почему разработчики продолжают писать код руками?