Comments 24
У меня только один вопрос родился как у новичка в программировании.
1. Я могу запрограммировать много задачь, но защитить данный не смогу наверно и в одной из всех задачь с которыми столкнусь.
Как научиться программировать так чтобы данные с которыми я работаю не утекали и сколько примерно времени нужно чтобы этому научиться?
Вот мой единственный и подходящий под статью вопрос. И да ИИ так программировать никогда не сможет с учетом того что заказывать программу будут такие криворучки как я и подобные мне специалисты вайбкодеры.
В нынешних реалиях, чтобы научиться программировать - для начала бросить вайбкодить.
Как научиться программировать так чтобы данные с которыми я работаю не утекали и сколько примерно времени нужно чтобы этому научиться?
Не пытаться переложить свою работу на условного клода, думать самому. А ИИ использовать только как справочник, максимум как средство быстро накидать какой-то совсем тривиальный лапшекод, который просто долго и неинтересно писать самому.
Ну вот, есть самое главное – осознание, что ты криворучка (кстати, почему вы пишете «задачь», но не «криворучька»? Выглядит недоработкой ☺). А значит, надо выпрямлять руки, то есть учиться. И учиться долго, систематически. Нет царского пути в геометрию.
Ответ душнилы - ты не можешь.
Область знаний становится больше и сложнее, причем скорость этого скорее всего превышает скорость обучения.
По факту, ты, либо учишься на ошибках других, либо допускаешь их сам и учишься. Есть еще одно направление обучения - встать на место злоумышленника, и пытаться 'взламывать' свои решения еще до их внедрения.
Ровно то же происходит и с проектами, которые пишут кожаные мешки, особенно когда этих мешков много и они работают одновременно. Всё постоянно пытается взорваться и медленно ползёт на велосипеде, давя на педали костылями. Просто LLM дали возможность каждому почувствовать себя менеджером большой команды, пилящей большой продукт.
У Вас вероятность, что человек глючит - 0.15, а что нейронка - 0.03. Все дальше можно не считать. Человека на пенсию, он и есть главный багодел тут, обезьяна с гранатой. Причем оно ведь и в реальности так - разработчики пишут код с ошибками, потом долго сидят под отладчиком и хмурят брови, потом пишут тесты, потом отдают в отдел QA, потом в отдел проверки безопасности, потом переделывают. И вот тогда получается более менее надежный код.
И на каждом этапе тоже есть вероятность допустить ошибку. Вот задача Anthropic сделать вероятность ошибок Claude Code < вероятности ошибок человека.
Цепочку разработки с проверкой качества вайбкодеры не освоили в этом их проблема. Решений может быть два на этот случай:
Это нужно активно продвигать на курсах вайбкодинга.
Вшить проактивные навыки проверок качества на уровне Claude code и сделать их обязательными.
Пока до этого далеко, но со временем придут к какому-то решению.
а пустые тесты которые всегда проходят это и есть проверка качества от llm
Проверять тоже нейронкой? Она не находит половину косяков. Из разумного решения - языки со строгой типизацией плюс линтеры, сканеры и прочие валидаторы. Но вот проверять логику не умеет. Возможно когда-то научится, да.
Зато человек лучше пишет не-ошибочный код, что уже перевешивает провал по ошибочному. Разве нет? Зависит от ситуации, но в общем случае?
И проверяет ошибочный и не-ошибочный тоже качественнее. Впрочем, медленнее, тут не поспоришь. А насчёт дешевизны нужно считать — сколько в мире уходит на людей / сколько в мире людей — и сравнивать — сколько в мире уходит на ИИ X / сколько в мире экземпляров (пользователей?) этого ИИ. В долларах.
К слову, вовсе не интересно, сколько там уходит на электроэнергию у ИИ — нам важны токены/подписки в сравнении с ЗП, а не сколько и на что из этой прибыли тратиться (человек тоже себе покушать покупает ;).
В те стародавние времена, когда ИИ не использовалось в разработке) мы много раз были свидетелями маштабных факапов, когда разработчик перепутал терминалы, на автомате скопировал не ту команду, просто по усталости или запарке не протестировал новый код. Мы видели это в публичном поле, на примерах коллег и собственном опыте. То что вы рассчитали в статье как 4.5 критические ошибки на миллион программистов, которые пишут по 20 коммитов в день - это неимоверный, непостижимый уровень качества. Сравните с любыми открытыми отчётами по качеству кодовых баз.
Хватит пороть чушь про общую деградацию. Есть отдельно безответственность, которая вкупе с некомпетентностью является главной причиной ошибок ПО. И есть просто инструменты. ИИ это инструмент. Да, кода стало больше. Но я ответственно заявляю, что среднее качество этого кода ВЫШЕ среднего качества кода 10-20 лет назад. Именно среднего, раз уж мы берем общую температуру по индустрии.
Давайте уже наберемся мужества признать, что всеобщая доступность такого инструмента - это не проблема новичков, которым снизили порог входа. Это не проблема пользователей, которые получают результат сразу. Это проблема опытных разработчиков. На них (на нас?) ответственность задавать планку качества и внятно определять критерии этой планки. Не ныть в духе "хоспаде, нас завалят нейрослопом", а обучать новичков, показывать проблемные места коде, развивать инструменты валидации. Надо принять достойно смерть профессии в её первоначальном понимании.
И да - у меня около 12 лет опыта разработки и мне до боли в жопе и запястьях надоел ручной труд. Вы считаете всех вокруг обезьянами с гранатой? Я считаю луддитов от ИИ престарелыми гиббонами, не освоившими базовый инженерный принцип - надо решать проблемы оптимальными способами.
p/s/ извиняюсь за излишнюю эмоциональность, я тут обращаюсь не лично к автору, а скорее к устоявшемуся мнению, которые расцениваю как в корне неверное
повышение количества низкокачественной рабочей силы породило невероятно неэффективный код.
что сделает повышение количества сгенерированного кода? умножит неэффективность на два? возведет в степень? или наоборот
повышение количества низкокачественной рабочей силы породило невероятно неэффективный код
Такое уже было и были сделаны выводы. Если вам не нравится пользоваться неэффективным софтом - пользуйтесь эффективным. Если вам не нравится что кто-то другой пользуется неэффективным софтом - ну, во-первых, это не ваше дело, во-вторых, а в чем предложение? Вот сейчас половина современного софта написана поверх виртуальных машин, electron-ов и энтерпрайзных фрейморков. Это ИИ сделал? Да ИИ наш главный союзник в расчистке этих авгиевых конюшен.
что сделает повышение количества сгенерированного кода?
Как минимум, больше кода значит больше выбора. Какие последствия того, что выбора больше - думайте сами.
Да, я гордо зову себя луддитом. В оригинальном смысле, не в ругательном. Да, существуют технологии, которые не решают реальные проблемы, а только создают новые (часто в виде эрозии трудовых прав).
Цитата на египетской стеле из гробницы Хепи (ок. 3000 лет до н.э., найденной в Гизе)
"Мы отказались от традиций наших предков... дети больше не слушаются... всё рушится, и нет того, кто бы возродил порядок".
Существует множество примеров из истории, в которых можно найти такой же страх. Автомобили заменили лошадей, лампы заменили свечи, телефон - письма, интернет - книги и т.д.
Сейчас, как и тогда, многие люди боятся признать новую эру, но она реально наступает. ИИ внедряется не только в нашу жизнь, делая её проще, но и в производство, бизнес или сельское хозяйство. ИИ заменяет целые профессии. Страшно... нет. Мир изменился, надо к нему приспосабливаться, находить новые ниши.
P.S. Развивать голову никто не отменял)
Перестать писать код надо было еще лет 15 назад. Совсем. А то удивляются, что "Hello world" "гигабайты" весит. Уже и так писали одно и то же по сотому кругу. Ну вот теперь это ИИ будет делать.
Цифры с потолка, методика ещё из какой-то части тела, но результаты почему-то нравятся и обсуждаются всерьёз. С чего бы вдруг проекту расползаться куда-то, а уборщицам увольняться? Что мешает покрывать тестами, ревьюить ревьюерами и рефакторить проект не за месяцы, как это сделала бы команда программистов, а за часы с LLM-кой? И это, учитывая, что те LLM, что есть сейчас это самые тупые LLM из всех, что будут созданы в будущем. Firefox поддерживается большой командой, благо Google спонсирует, но LLM нашла за месяц (а реальное время работы, думаю, измеряется в нескольких днях) дырок больше, чем они все за год. Но вот откуда-то идея про расползающиеся проекты. Конечно, пока ими занимаются жертвы курсов по успешному успеху, ожидать чего-то серьёзного от проектов не стоит. Но этот этап быстро проходит и максимум, что может развалить менеджер - проект по учёту калорий в съеденной еде, то бишь личные проекты.
Когда будут "самые умные", программисты уже точно не будут нужны.
Да, нашло дырки и не только в firefox. Только вот если начать делать “plz fix”, то дырок станет больше. LLM не умеет думать и решает проблему самым простым способом, не рассчитывая на то, что это еще и поддерживать потом надо. Код постоянно дублируется, потом в этих дублях находится ошибка, а фиксится только в части из них. Вынести дубли в отдельную функцию? Выносить куски в отдельные модули? Не, надо все в один файл сложить и норм. Работает же, тесты проходит…
Код постоянно дублируется
Бывало раньше, но давно такого уже не наблюдаю. В любом случае, один промпт (если его уже не добавили в системном промпте или где-то в обвязке) и модель найдет и поулучшает что надо. Возможно, не всё будет идеально, но и люди не пишут идеально. А вообще по большому счёту важно да, чтоб работало и какие-то неоптимальности кода, ни на что особо не влияющие, не так и важны. Вот я писал себе телеграм юзербота на Пайтоне, которого особо и не знаю и Telethon именно исходя из того, чтобы он просто выполнил мне нужную задачу. Под 100 килобайт кода, 2650 строк и довольно удобная чисто практическая утилита анализирующая группы по заданным правилам и собирающая нужную информацию. В коде не вижу явных дублирований и струкрура на вид простая, если прям сильно надо будет, разберусь. Но мне нужна выполняемая кодом работа, а не код. В рабочем коде, конечно, всё контролирую, иногда вижу неоптимальности, избыточности, уточняю что это реально ненужные вещи, а не что-то чего я не понимаю, прошу удалить лишнее. Вполне нормальное выходит.
Допустим глючит модель с вероятностью P_{err} = 0.03 , при этом деструктивные глюки бывают с вероятностью P_{destr} = 0.001, обвязка клода пропустит это с вероятностью P_{miss} = 0.05 и абсолютно правый, но усталый от нейрослоповых гоблинов оператор, пропустит ошибку с вероятностью P_{human} = 0.15.
А давайте допустим не 0.03, а 0.99. Или 0.0000000001. Что это "аналитика" на случайных числах? И этот человек еще жалуется на LLM.
Миллион клодобезьян: естественный отбор вайбкодинга