Comments 35
И тот факт, что эквивалент 200$ подписки составляет 8000$ API, радости не добавляет.
Только сейчас посмотрел свою статистику по claud. И подписка на 200$ уже эквивалентна 2000$ API, если не меньше. По крайне мере у меня.
надо просто подождать когда выйдет ещё более мощная нейронка,которая зарефакторит код всех предыдущих нейронок
Мы не понимаем, что сейчас нагенерило AI. Значит мы подождем еще более мощный AI, который нам таки объяснит. Это выглядит, как - эта мясорубка уже не проворачивает фарш, подождем более мощную и провернем фарш еще раз и еще больше?
Но есть две проблемы:
А что такого нового магического появится в разработке ПО и на базе чего нового обучится AI?
Проблема не в том, что AI нагенерило, а в том,что человек уже не может эффективно это все обработать. Новый AI как-то сможет эту проблему решить ? Не похоже.
Не объяснит а отрефакторит. Объяснить может (пока что) и текущая, но это никому уже не нужно. А так да, надеемся что что-то поменяется и провернутый фарш новая ии может перепровернуть по новому, более умному.
Не объяснит а отрефакторит.
А зачем ? Машине без разницы что парсить - простынку на 1000 строк или на 10, строить дерево\сетку на 10 элементов или 1000, а человеку критично. В данной логике это практически как работа компилятора. Абстракции нужны человеку что бы "компактно представить" и оперировать локальными знаниями, а у машины нет такой проблемы
Пока наблюдается обратный процесс - дополнительные слои абстракции, что бы "удержать в голове" крупные кубки, и с каждой итерацией "кубики" увеличиваются под флагом "сделать проще-надежнее-дешевле, а то человеку сложно-дорого". Вот дошли до AI и "кодят все и вся"
В целом сейчас как будто всё хотят переложить на плечи ИИ, я понимаю стремление сократить расходы и увеличить производительность, но не стоит забывать и о качестве продукта. Честно, мне очень нравится что порог входа в ИТ сферу снизился. Если раньше чтобы создать даже небольшой скрипт, который будет тебе полезен непродолжительное время, приходилось читать документации к библиотекам, изучать как это всё устроено, то сейчас любой школьник с подпиской на Chat GPT может создать и деплойнуть сайт, который будет работать, да он будет кривым, да с безопасностью будут проблемы, но когда человек видит результат он так или иначе вдохновляется этим делом, и тут у него появляется два пути: 1 — стать вайбкодером и дальше зависеть от токенов на его любимый Клод код, либо 2 — идти читать и разбираться в разработке ПО по документациям или с помощью того же чата GPT, но так или иначе это открывает человеку возможность создавать что то новое, то что может только его создателю и никому больше, но даже так этот человек привнесёт в этот мир что то новое
порог входа в ИТ сферу снизился
ой ли?
может создать и деплойнуть сайт, который будет работать, да он будет кривым
always has been. Ну почему адепты эй-ай так упорно забывают про Тильду и иже с ней? Описанное не является "входом в IT-сферу" ни в коей мере. Когда мы в младших классах на информатике верстали странички на html в блокноте, мы значит тоже в IT входили?
Вход в профессию это по-прежнему вникать в теорию и практиковаться, только теперь уметь нужно в десятки раз больше чтобы чего-то стоить
Вход в профессию это по-прежнему вникать в теорию и практиковаться, только теперь уметь нужно в десятки раз больше чтобы чего-то стоить
С этим я согласен, но если ты утверждаешь что порог не снизился, почему людей которые идут в IT сферу стало больше? Почему чтобы тебя наняли ты должен знать больше? Потому что это стало востребованным на рынке? Нет, просто начали появляться удобные инструменты, которые упрощают работу программистов, если сравнивать способности базового программиста (даже сис админа) в начале 2000 и сейчас между ними будет большая пропасть, потому что обучение стало легче, банально дешевле, сейчас любая онлайн школа может дать тебе базу. Сделает ли она это качественно? Спорный момент, но даже эти знания могут пригодиться.
адепты эй-ай
Я простив ИИ и всегда буду против, но я не исключаю факта что он может быть полезным
упорно забывают про Тильду и иже с ней
Никто и не забывал про Тильду, она до сих пор является отличным инструментом, но чтобы на ней что то сделать надо в ней разбираться (да можно просто взять и начать делать сайты из блоков), но зачем это какому нибудь одиннадцати летнему Васе из Красноярска, который хочет по-быстрому сделать сайт про его любимую машинку и похвастаться перед друзьями? Идти разбираться в Тильде? Платить программисту, который за тебя это сделает? Или же легче написать нейросети?
Когда мы в младших классах на информатике верстали странички на html в блокноте, мы значит тоже в IT входили?
То есть ты хочешь сказать что незначительные действия сделанные "в младших классах" не влияют на тебя? Ну дружище это круто, респект, надеюсь ты и дальше будешь пытаться сделать всё и вся не планируя и не разбивая задачу на микрозадачи(небольшая тавтология, извиняюсь), или когда будешь учиться чему то новому, объединишь все книги связанные с темой и запустить марафон изучения и анализирования информации.
Чисто моё субъективное мнение: любое действие, даже бездействие влияет на то кем ты станешь.
мы значит тоже в IT входили
Как ни странно да, даже небольшая практика всё равно остаётся практикой
Ну в целом всё, надеюсь ты понимаешь меня, а если даже нет, просто примешь то что моё мнение существует и у него есть основания существовать
Пару слов про Тильду. Я серьезно думал они загнутся на волне того, что создать сейчас свой сайт на статике стало доступным почти каждому, но в реальности тебе для этого нужно настраивать dns, хостинг (или виртуалку), сертификаты. По факту они прикрутили ai к своему сервису и все также уверенно занимают нишу для тех, кто хочет просто базовый лендинг и не хотят запариваться со всем что лежит ниже
Отсюда и вся та драма, которая развивается в отрасли, когда один смекалистый парень с нейронкой иногда заменяет небольшой отдел. Обязательно наступит тот момент, когда он перестанет справляться с тем, что успел нагенерировать. И руками это не разобрать уже никогда, да никто и не будет пытаться.
Что, если я скажу вам, что эта пропасть была преодолена в два прыжка? Смекалистый парень уже столкнулся с этим и нашел решение, его модель пишет код не плодя новых сущностей без необходимости используя существующие бизнес-сущности, абстракции и соглашения в проекте, а код не скатывается к среднестатистической сгенерированной лапше.
Я соглашусь, но 90% все равно продолжают писать код бездумно и измеряют качество своей работы количеством сгенерированных строк кода.
Что, если я скажу вам, что эта пропасть была преодолена в два прыжка?
Я пытаюсь себе визуализировать механику преодоления пропасти в два прыжка. Пока не получается ))
Очень просто, сначала прыжок в пропасть, потом прыжок из нее...
Про эту механику даже видосик есть (не пинайте про вк: специально искал, чтобы работало со всего мира):
https://vkvideo.ru/video-48935688_456240652
Если кратко: пока одни сомневаются прыгать/непрыгать, долетим или упадём?
Другой прыгает и РЕАЛЬНО В ДВА ПРЫЖКА преодолевает пропасть.
Del
99% вайбкода не доезжает даже до публикации
если 1% доезжает до публикации, то это очень много, возможно на порядки больше чем могут сгенерировать все программисты вручную
на самом деле, ранее уже изобрели два концепта, которые позволяют бороться с нелинейностью о которой вы пишите (стоимость поддержки в зависимости от объма кода)
микросервисы (про которые начали забывать на фоне ИИ-бума и пары статей от бигтеха о том как они вернулись к обычным сервисам, не микро из-за оверхеда на микросервисы). 1M-контекста это всё ещё мало, compact это конечно хорошо, но это не тоже самое что сеньор который помнит больше чем на 1М токенов.
TDD (можете легко нагуглить немало статей, в том числе "научных" на тему TDD+AI). когда-то заброшенная методология заиграла новым смыслом, а именно чтобы ИИ не портил то что работает (минимизация регрессий)
И самое главное, не стоит забывать что в реальном мире почти все проекты не бесконечные (как например, соцсети), а вполне себе имеют предел по фича (насыщение), т.е. автоматизировал условный завод по выращиванию огурцов и дальше только багфикс изредка, новые фичи если только что-то происходит глобальное в том бизнесе для которого делается автоматизация
Все так, но тем же TDD не очень активно пользовались и ранее. Сейчас порог входа для написания кода настолько снизился и процесс настолько стал дешев, что никто пока не запаривается об оптимизации. Я говорю о широких массах. Эту историю сможет уравновесить только радикальное увеличение стоимости поддержки уже написанного объема
а я и не говорю что TDD это про оптимизации (времени или количества токенов на написание кода), TDD это про то как избегать регрессий в долгосроке. я ради интереса проводил эксперимент - взял проект на очень много строк кода и заставил ИИ переписать на другой язык, сначала базовые фичи, потом нарастить и сделать паритет по фичам. Это не влезает в контекст и потихоньку-помаленьку начинает ломаться то что в начале переписывания работало и так по кругу. Если не делать тестов на каждый чих, то вас будет раздражать даже astra и fable
микросервисы туда же (защита от ошибок из-за регрессий при большом объеме кода) - сделать декомпозицию и связать независимые куски кода общим контрактом и более ничем
Ну это вы так делаете и делаете осмысленно, а нейронки как сейчас работают: пишут код и тут же под него тесты. Вместе со следующим изменением кода они дружно меняют и тесты. Для чего в этом уравнении тесты мне так и непонятно.
Тесты нужны для фиксации поведения, но тогда нейронкам надо явно запрещать менять их и делать это только с явным разбором почему упал тест - из-за изменений функционала (значит законно) или реально что-то сломалось.
У нейронок нет задачи писать качественный код и держать энтропию проекта под контролем, но вот сгенерировать побольше кода - дааа
Нельзя нейронке при написании кода давать возможность вообще лезть менять тесты. Тесты должны отдельно создаваться. Отдельным проходом. И обязательно надо делать ревью другой моделью. У меня например настроено что если пишет код чтото из openai, то проверять будет claude. Спецификации, соглашения, должны быть только read-only для модели. И надо обмазывать все тестами, например сейчас глянул, мне тут агенты пишут один backend, production кода 9 тысяч строк, тестов 18 тысяч.
И я не ограничиваюсь одним TDD, на каждом candidate у меня заново гоняется вся цепочка тестов и acceptance/integration gates. После этого идёт независимое semantic review. И даже после успешного прохода candidate ещё не становится новой точкой доверия: тот же exact Git SHA прогоняется отдельно ещё раз в режиме, где код уже нельзя менять.
на каждый кандидат поднимается чистый полноценный стенд, с новой базой postgresql, и прогоняются все тесты
и кандидат не становится автоматически базой следующей задачи. Он должен пройдти все этапы проверки.
и чтобы не сжигать кучу токенов, не надо давать модели как можно больше контекста, наоборот надо сделать так, чтобы она могла работать с мелким куском проекта, тут переклткается конечно с идеей микросервисов, чтобы не требовалось помнить весь проект.
для этого мне пришлось обертку сделать над qwen code, которая все это делает, сейчас глянул, там примерно 15K строк питона. И тестов на эту фабрику тоже 11К примерно :)
но зато я могу проработать задание, разбить его на этапы, и на сутки отдавать писать моделькам
почти полностью согласен с Вами, по сути это и есть современная работа разработчика - организовать AI-pipelines под проект. единственное с чем наверное не полностью соглашусь это про проверку кода другой моделью. первые раунды ревью/проверок можно вполне делать той же моделью, но это должна быть полностью независимая сессия (т.е. субагент или просто новая сессия), которая не видела контекста сессии которая писал код. Даже при таком подходе, бывает десяток раундов ревью (т.е. одна и та же модель указывает на "свои" же ошибки). для многих задач мне хватает одной модельки, для критичных мест как у Вас - разными моделями
ну и еще одна мысль, какая нейронка крутой не была, детерминированные инструменты становятся еще более важными. Например, я видел кучу нейрокода на C, который был с типичными проблемами C (выходы за границы, неопределенное поведение и т.д.). И чем меньше возможностей ошибиться (писать на языках/платформах где многие ошибки исключены by-design), тем лучше. А то сейчас встречается часто мысль что классические инструменты развивать не нужно - нейронка может хоть на asm написать и будет быстро
Ммм, в каком смысле у нейросети нет задачи писать качественный код? Так то, нейросеть именно, что выполняет поручение человека и основываясь на его "заказе" и своих внутренних возможностях выпускает продукт. Другой вопрос в том, что нейросеть может не понимать как именно этот "качественный" код выглядит, а также сам запрос человека.
Возможно где-то ошибаюсь ибо не до конца вас понял, буду рад если поправите.
Идея в том, что база для обучения моделей как минимум никогда не содержала идеального кода в достаточном количестве, чтобы после обучения это сколь-нибудь серьезно влияло на результат работы уже агентов. Кроме того, я разделяю чисто функциональный кодинг (набор кода почти как набор текста) с осмысленным программированием, когда код пишется с учетом многих внешних факторов и компромиссов, стадий жизненного цикла проекта и так далее. Это в коде никто не описывает явно (как максимум в комментах, но кто их с такой осмысленностью пишет?). Чаще всего разные неявные решения живут в головах самых старых участников проекта в виде "да это тогда так решили, надо было сделать быстро".
Не мы, а нейронки. Я и до нейронок ТАКОЕ видел, что как раз таки только нейронкой ЭТО и можно разгрести без сжигания кучи нервных клеток.
Выходит бОльшую часть времени топовые модели со всеми знаниями человечества внутри просто делают пустую и никому ненужную работу.
Не соглашусь про "никому не нужную работу". Эти данные используют для дообучения следующих поколений моделей. Плюс туда же уезжают данные из приватных репозиториев, которые никогда не были доступны публично, но к которым дали доступ облачным моделям.
Нейронка никогда не будет спорить с вами почему этот код или фичу писать не надо
Ну вообще-то Claude Opus 5 ещё как будет и даже будет весьма детально аргументировать свою позицию, при условии что располагает подробной документацией проекта, а также информацией о задачах проекта, аудитории и т.п.
Вместе с тем они склонны к оверинженерингу, когда простую задачу делают слишком сложно. Или когда пытаются закрыть вообще все баги, даже гипотетически возможные, которые при реальном использовании не встретятся никогда. Ну и нейронка думает в моменте - дали вы ей все доки и задачи проекта и она под них сделала идеальное решение, а завтра проект меняется и надо все переписывать. Они не рефлексируют над потенциальными путями развития проекта в ближайшем будущем. Это вот как раз про "почему не писать эту фичу".
Мы все обречены поддерживать легаси код, когда‑то сгенерированный ИИ