Comments 34
Все смешалось кони, люди....
Чтобы стать программистом не нужно знать архитектурные паттерны, не нужно задумываться о оптимизации БД и расчитывать серверные стойки, даже знание HTML/CSS нужно только на определенных проектах.
Все эти знания могут пригодится если вы уже программист или если вы попали на веселый проект где нужно сделать все за 7 рублей без команды и вчера.
ИИ и правда сейчас работает на уровне интерна, но программистом можно стать и даже можно написать какую‑никакую программу и даже можно сделать эту программу поддерживаемой если использовать ИИ с умом.Чтобы понимать, насколько это важно, приведу пример: один программист показывал свою разработку онлайн и случайно засветил один из секретных ключей
Ну и не надо быть гением, чтобы не показавать номер и пароль от банковской карты другим людям
ИИ и правда сейчас работает на уровне интерна
*При условии, что ЯП: JS, Python, HTML/CSS и еще пару популярных.
У меня отлично понимает Rust и Powershell.
https://habr.com/en/articles/925726/
Вот вчерашняя статья про конвертацию кода delphi в zig. Не сказал бы, что ЯП "zig" можно отнести к категории "популярных".
Все смешалось кони, люди....
После прочтения статьи осталось впечатление, что автор хотел сказать: "есть идея, хотите закодить? Тогда не лезьте в разработку, а лучше сразу наймите толкового программиста с опытом". А ИИ добавил так, для большей популярности. Раньше можно было SO/курсы, с соответствующими корректировками текста, упоминать (как здесь).
Ничто не мешает сделать с помощью ИИ сайт-визитку, проверить гипотезу, написать небольшую программу для себя. Но если появляется хоть какая-то работа с пользовательскими данными, регистрацией и, тем более, с деньгами, лучше хотя бы консультироваться с опытными программистами, пока не случилось неожиданности, которые знакомы всем не джунам в разработке.
тоже осталось такое впечатление.
статью можно было бы озаглавить "хотите попытаться что-то сделать самостоятельно? забудьте. хотите в чем начать разбираться? даже не думайте начинать"
по-моему автор сильно много на себя берёт, не понятно почему статья заплюсована... а, стоп, она же хаит ИИ в разработке, вот почему
использовать ИИ с умом.
Увы, но пока это практически взаимоисключающие требования.
Все проблемы с безопасностью, оптимальностью алгоритмов, это второстепенно. Первая проблема будет в сложности. Если приложение чуть посложнее обычного crud, AI агент без грамотного контроля быстро запутается в том что он понаписал и увязнет после простейшего POC. Под грамотным контролем опытного программиста над AI создать работающее приложение тоже все ещё не просто.
Разделяй и властвуй. Разбивая задачу на мелкие кусочки и используя ии, можно добиваться более эффективного результата. Однако все еще не панацея
С разделяй и властвуй тоже не без проблем. Если задача логически завершенная, агент делает ее относительно неплохо. Но если описать ему всю задачу и попросить сделать для начала только кусочек, у него начинаются дикие фантазии как и что можно сделать.
Фиг знает как это преодолеть. Еще не нашел. Может как-то убедить его иметь полный план изменений кода, но внести только часть.
Как будто это проблема как раз в том, что он начинает использовать другой диапазон данных. Маленькие задачи описаны хорошо, а вот на больших задачах скорее всего данных слишком мало для качественного решения. Сам же ИИ не "думает", он просто подхватывает наиболее оптимальный вариант решения из имеющихся. А вот этот процесс "обдумывания" это просто алгоритм анализа, в какой набор данных попадет.
Надо изучить подробнее, конечно, как работает Deepseek и ChatGPT для наиболее полного решения проблемы
Мне не нужно быть строителем, чтобы забить гвоздь, и не нужно быть шеф-поваром, чтобы приготовить пожрать. В крайнем случае, спрошу у иишки, чё как забивать и готовить.
С программированием такая же фигня.
Так что не нужно тут жуть нагнетать, а то ещё придется нам молекулярную биологию изучать перед размножением.
Для простейших действий нет, но например условный каркасник не имея опыта в строительстве вы вряд ли с первого раза построите по инструкции. А если повезет даже - ведь иногда его придется еще и "перебирать" потом, если проводить аналогии.
Я не строитель, но сам построил свой дом, я не повар, но дома вкусно готовлю, я не механик, но ремонтирую свой мотоцикл и машину сам. И это еще пока не было ИИ.
Сейчас занимаюсь программированием и во всю использую ИИ для обучения, не думаю что она сделает меня тупее, но гораздо ускорит обучение. Интернет превратился в помойку, сейчас тяжело найти полезную информацию, даже на спец форумах, пусть и псевдо ИИ, но часто выручает.
Так что создание программ — это не просто спросить ИИ и опубликовать. Это путь через изучение множества книг, статей, видео, подкастов.
Зависит от сложности программы. Простейшие аппки или плагины спокойно ваяются с помощью ИИ, даже если человек совсем ничего не понимает в программировании. Я это наблюдал сам.
Написал программку - погромист. Приготовил гречку - повар. Посадил картошку - агротехнолог. Погулял по лесу - лесник. Прокатился по лесу на лисапеде - спортсмен. Принес из леса гриб - миколог. Принес из леса красивый камешек - геолог. Брызнул вэдэхой на скрипучую петлю - слесарь-ремонтник.
Какие еще вопросы для дошкольников обсудим?
А если он ещё и получил за эти действия деньги, то получает к титулу приставку "профессиональный".
Кстати, была отличная статья на эту тему
ИИ способен выдать работающее решение (сразу или после цикла правок, если ему копипастить ошибки и описывать нежелательное поведение программы) в каком-то проценте случаев. В каких-то бенчмарках это 30% для лучших моделей, в каких-то меньше. Соответственно, в 70% случаев он без помощи человека умеющего программировать не справиться (более того, он в процессе может так "не справиться", что придётся откатывать все его правки).
Однако, это не значит, что ИИ может написать 30% приложений. Потому что в каждом проекте десятки и сотни разных задач. И каждый раз, когда ты обращаешься к ИИ, ты играешь в лотерею, сделает он лучше или хуже. Если ты умеешь программировать, то в 30% случаев ты получаешь быстрый результат (хотя немного спорно, потому что иногда ИИ выдает работающий код, но который будет тяжело поддерживать в будущем и человеку, и даже самому ИИ), в 70% случаев делаешь то же, что и раньше до появления ИИ (ну ещё можно попытаться ему помочь, иногда срабатывает). Если ты программировать не умеешь, то и сделать ничего уже не сможешь.
Истории успеха с ИИ это либо очень сильное везение (что-то из разряда историй, где люди во время дачи интервью по поводу выигрыша в лотерею покупали ещё один лотерейный билет и снова выигрывали - это возможно, но не то на что стоит полагаться), либо у человека таки есть навыки программирования (на худой конец он их получил, разбираясь с кодом ИИ, задавая вопросы и т п - но это такой же труд, как и освоение программирования по книгам и курсам, просто другой метод) и он подправлял ИИ где надо.
И это всё касательно самого очевидного - разработки фич, которые видит пользователь. А есть ещё вопрос информационной безопасности, поддерживаемости кода, масштабирования под нагрузкой. Если то что ИИ не справился с фичей видно сразу, то то что проект завтра поломают хакеры человек без глубоких знаний узнает только завтра, когда будет поздно.
В каких-то бенчмарках это 30% для лучших моделей, в каких-то меньше.
Только вот вы процент перепутали. Сейчас это ±70% решенных и 30% не решенных (SWE benchmark verified).
В остальном в целом всё так. Люди нужны будут пока хотя бы 1% нерешенных есть.
Ну и ещё этот бенч не оценивает добавляемый технический долг, а это тоже проблема - спустя N итераций бесконтрольного использования LLM кода база всё, конец.
Слушайте, не удержался в очередной выдаче рекламных статей пройти мимо своего, никому не нужного, комментирования.
Сейчас такой здравый тренд на "разоблачение" разработки с ИИ и наставление разработчиков на путь истинный, что сразу хочется спросить - а вы, авторы, не пользуетесь никаким ИИ продуктом в повседневной жизни? НЕ ПОВЕРЮ. И даже если начнете рассказывать, что пользуюсь автокомплитом для ускорения ручного написания, или использую ИИ только для написания readme в проектах, и это совсем не то же, что пользоваться агентами или спрашивать в чатах - не опровергнете вышесказанное.
Комментарии о том, что ИИ пишет по кодовой базе и она не всегда хороша - тоже некий субъективизм. Будем говорить прежде всего о том, что важно в словах "безопасность" на вашем сайте, какого уровня ваш продукт, претендует ли он на нечто большее, чем базовая работоспособность и прочее, прочее..
А поговорим о том, что даже начинающий разработчик (для которого, как сказано, написана статья), не использующий пресловутые ИИ в работе - "навертит" ещё больше ошибок в области безопасности или о том, что без ИИ он и не знал бы, что, условно, такой метод атак возможен на его сайт или сервер? И даже если гордо напишет сам, то все равно пойдет уточнять в чатике, нормально ли получилось.
Не защищаю такой метод разработки и абсолютно точно соглашусь с утверждением, что использовать ИИ нужно с напутствиями, пониманием, не с голыми запросами: "а давай сделаем нечто..", но даже с абсолютным владением навыка программирования невозможно избежать глупости, производимой умными продуктами.
Я активно использую Copilot, ChatGPT, Perplexity, ранее использовал Copilot от Bing для обучения. Недавно использовал Claude для создания за 5 минут шаблона веб-страницы, с которым я провозился бы не менее пары дней (идеальный результат с первой попытки). Но я не делаю это бездумно. Я чётко знаю, что мне нужно и для чего, всегда проверяя предложенный результат, обычно ещё что-то дописывая или меняя в решении. Лучше всего ИИ сейчас заменяют поиск, выдавая пример готового решения, и отлично избавляют от рутины: написание тестов, однотипные изменения в коде, json в класс, xml-документация, перевод из одного языка в другой и т.п. В общем, относительно кода, выполняет роль стажёра или совсем начинающего программиста довольно хорошо.
Личный опыт из жизни: разрабатывал социальную сеть, похожую на facebook. В какой-то момент, я решил свернуть и начал делегировать все больше и больше задач ИИ-агенту. Все было хорошо в первое время, функционал рос, времени стало больше. Однако, я столкнулся с ошибкой, про которую я нашёл лишь две ссылки: stackoverflow, github issues. ИИ-агент (в моем случае cursor), не мог решить, постоянно по кругу выполнял одни и те-же изменения. Начал лезть в файлы которые прекрасно работали и сломал заодно. Появлялись ошибки связанные с зависимости, приходилось перезапуска проект несколько раз. Позже я потратил весь день чтобы отрефакторить код. Моя мысль заключается в том, что ИИ конечно крут в программировании, но отдавать ему задачи на аутсорс ещё рано. Ему пока не хватает понимание контекста всего проекта чтобы не только добавлять функционал, но и сверять с тем что уже написано
Двоякое впечатление от статьи. С одной стороны, я частично согласен с тезисами автора. Слишком легкомысленное отношение чревато разочарованиями.
С другой, сильный уход в "важность" опытных программистов (и автора) - это другая крайность. Вот какие они "сложные слова знают"! 😉
Мне когда-то, лет 15 назад, такую важность про сайтостроение тоже внушили. И я учился писать с нуля, чтобы не начудить "страшное". Другие, в это время, спокойно на коленке на ВордПрессе делали за два дня и деньги зарабатывали.
В общем, там где деньги и клиентские данные - нужно конечно использовать экспертизу. Но, в целом лучше делать хоть как-нибудь, чем не делать идеально.
Я часто захожу на биржу фриланса для поиска заказов, чтобы поискать подходящие заказы, часто вижу там "сделать сайт на wordpress/opencart/tilda/etc". С одной стороны разработчик WordPress будет разрабатывать только на WordPress и делать на этом бабки на заказах. А с другой, если хочется реально разрабатывать ПО, то все-таки теорию лучше знать, так как это все опыт и ошибки предыдущих программистов
Вспомнилась "Линия грёз" Лукьяненко , там наглядно показано что бывает если оружие умнее человека.
Блондинка на коробке автомат - не водитель!
Расскажу свое видение. Я разработчик бекенд и фронтенд знаю плохо. Знание фронтэнда у меня на начальном или среднем уровне. И вот, есть у меня мой пет проект, который я в свободное время делаю (день делаю, два - не делаю). Бек написан уже давно, нужно было писать фронт. Все собирался собраться выучить что-нибудь (реакт, ангулар, вью), но никак руки не доходили. Но тут до меня дошла идея - а пусть фронт пишет ИИ. Ну и попросил я его написать, выбрал Ангулар.
Первый шаг прошел хорошо (даже идеально). ИИ мне проинициализировал проект (создал каркас).
Второй шаг уже чуть сложнее - для запуска проекта пришлось чуть дольше общаться с ИИ, но в итоге запустил. Что первый шаг, что второй для меня были вот совсем прям новые и неизвестные, никогда их не делал и не знал с чего начинать. ИИ проблему решил.
А вот третий и последующие шаги - были уже с проблемами и если бы не знания программирования (хотя бы базовые), то я скорее бы всего не смог ничего сделать.
Прошу ИИ добавить некоторый функционал. Добавляет, но в 20% не то, что я хочу. При некоторых проблемах он не мог мне помочь, пришлось лезть в гугл. Но причина скорее всего во мне, не мог правильно сформулировать промпт
Также, очень часто ИИ ломал уже работающий функционал. Да дизайн сломает, то код в некоторых местах перепишет до нерабочего состояния.
Еще была такая проблема. Открыта у меня страница, на ней есть баг. Прошу ИИ его исправить, но при этом я забыл указать где вижу баг. ИИ такой: "Сейчас поищу. О, вижу. Исправляю...херак херак...Исправил, проверяй". Перезапускаю и....ничего не исправлено. Прошу опять. Он опять что-то нашел, сказал, что исправил, но в итоге ничего не поменялось. Минут через 20 я уже понял, что не указал на какой странице я вижу баг.
Также ИИ не смог почему-то распознать проблему с CORS. На беке они настроены не были, фронт выдавал ошибку, но ИИ нес какую-то чушь, хотя ошибка явно указывала на проблему заголовков и если бы не мои знания, то я бы завис над этой проблемой надолго.
Часто терял часть контекста, после 6-8 часов кодинга он раз 30 забывал мои просьбы и требования. Но объективно, в целом контекст беседы держал достойно, в конце дня мне не надо было ему напоминать над чем мы с ним работаем.
И чем сложнее становился проект, тем больше у него что-то ломалось при создании нового.
Резюмирая, скажу, что без общих знаний программирования ИИ бесполезен, по крайней мере сейчас (не знаю, но мне кажется все равно знания нужны).
И, к тому же, я заметил, что ИИ отупляет (или это я такой), но когда я говорил ему что-то сделать и он для меня этого делал, то мне было и так норм, хотя надо было вникать в суть, но моя мысль "о работает же, классно, а как - мне пофик". Нельзя так
Статья полная чушь, и я её даже не читал просто потому, что я по факту, открыл вкладку с нейросетью и стал программистом. У меня НОЛЬ знаний о программировании, но я успешно создал 3 "проекта" c помощью нейросети. Использовал только Gemini.
Первый проект это бот для телеграмма на Go + Python. Он взаимодействовал с твиттером, находил контракты криптовалюты, и запускал кликера, для воспроизводства записанного мною паттерна нажатий мыши/кнопок.
Второй и третий проект, это были моды для игры на языке C#. Моды делал как дополнительные плагины для перевода игры. Так как в игре не предусмотрен русский язык, поэтому нет учёта пола игрока, существ, соответственно о склонениях не было и речи. В оригинале игра только на английском, японском и китайском.
Конечно, это не решилось одним промптом, хотя, к примеру мод для генерации прозвищ в игре на русском, с учетом обоих полов я создал в течении двух дней.
А вот второй, упрощённый морфологический и синтаксический плагин, я создавал в течении недели. Всё что я делал, это только вставлял код в Visual Studio и проверял работоспособность мода в игре. И затем, предлагал идеи, и показывал ошибки нейросетке. Это заняло много времени, но оно у меня было. И я бы никогда такое не смог сделать, даже изучив какие-то гайды по моддингу к игре. Ибо созданные плагины уходят далеко за пределы того, чему могут научить гайды по моддингу.
С ботом для телеграмма было проще, ибо с гитхаба подгрузил +- готовое, и уже там правил и добавлял нужные мне функции.
А вот моды для игры создавались с нуля, знаний в интернете по игре нет. Игра малоизвестная, единственное, что конкретно облегчило задачу, это наличие всего кода игры на гитхабе. Но даже так, это было не просто. Хотя, наверняка это было бы просто для программиста.
Однако, я бы не стал заказывать у программиста такое, или учиться программированию чтобы сделать такие пустяковые вещи.
Сейчас открою вкладку с ИИ и стану программистом