Что происходит с генерацией кода( не могу назвать эти шайтан машины писателями кода, они больше похожи на go code generate), когда размер спецификаций чиркает по крышке контекстному окну модели.
У меня в один момент случилось озорение, что я формирую одни и те же спецификации на одни и теже типовые задачи. И что я пошёл делать - как и любой разработчик рефакторинг спецификаций. А после - упаковку всего своего опыта в спецификации. И оказалось мой опыт ддя модели весит 3млн+ токенов на старт исполнения любой типовой задачи. Это уже с использованием индексаторов спек, уплотнителей, саммаризаторов и глоссариев с планетариями (послденее - шутка).
Я дошёл до того, что врубаю макс мод на 1млн токенов окно и пишу задачу как вайбкодер "мне карточку товара на 3 поля". И оно делает бекенд по всем канонам и стандартам (потому что я их все ей объяснил) и какой надо со всеми нюансами продуктивной разработки. Примерно минут за 5 получаешь результат (микросервис с контрактами, границами, миграциями, покрытый тестами где надо). Ну и с Вас 20-50млн токенов)) И ещё кидай баксы.
И гарантий что там всё точно как надо нет. Потому что в архитектуре ллм - галлюцинации они же вероятности лежат в коробке. Делаешь ревью 30 000 строк кода и 20+ файлов. Видишь, что юзер нейм, вместо юзер айди. Хотя там в плане она сама себе составила писать юзер айди. А написала нейм.
Пробовал и другое. Разбить задачу на кучу под задач, несвязанных между собой. Разные агенты пилят это 4 часа. Всё ту же карочтку товара. Также косячат в деталях. Потом финальный резльтат - это срастить систему вместе. Спустя 8 часов мы получаем сервис, в котором снова лежат баги. Непокрытые автотестами. Всё ж работает - говорит оно тебе.
Самое интересное, что человек с опытом, ничего не делая. И имея на руках шаблоны для подобных сервисов тратит ну часа 4 от силы. А остальное на деплой.
Внедрили уже всё что только можно. А в итоге пишем спеки с примерами кода и откуда из шаблонов чего брать и всё равно получаем гигантский кодогенератор, который просто снял с нас нагрузку жмать на клавишах буквы. И мы теперь не пишем код 3 часа и проверяем 10 минут. А генерируем его или час или весь день. А проверяем потом 2 дня ищем с дебагером где оно мне там посадило веселье.
Мне говорят - ну вот джуны не нужны стали. Что они раньше пискли код и всё. А я говорю - это где так было? Чтобы джун не понимал в sql, хотябы. В нагрузку и кэши. Джун у Вас чтоли сортировку пузырьком вытачивает обычно за зарплату? Да тогда такой джун Вам не нужен.
Где эта граница и выхлоп? Сколько модели надо дать спек для решения простой бизнесовой задачи - карточка товара с тремя полями. Спеки жрут контекст - даёшь мало результат непонятен. Даёшь много - результат неоднозначен. Сегодня ты ускорился, потому что нагенерировалось 40к строк кода. А завтра ты в них утонул с проверками.
Вобщем идеи Вам и вопросы к новой статье. Уж очень хочется понять кто то ещё на sdd шильдик повесил "весёлый генератор кода" на него повесил. И сколько нас таких.
Ну и есть плохие идеи в sdd, что код не важен. Лучше - комментарии в коде = часть спецификации, как это было всегда. А если код не Важен для Вас, но важен для компьютера, тогда он полностью становится частью спецификации всё равно. Потому что есть результаты, которые дают только новые алгоритмы. А у шайтан машины большие проблемы с воспрлизводимостью результата, который она не разу в жизни не виделс в обучающих данных.
О, давненько не было видно настоящих инжинерных статей.
Затейный такой гигантский уведомлятор/прокси получился. Сразу напрашивается не только http выход, но и интеграция с почтой и мессенджерами всякими на развитие. Ещё прикольный сценарий - между двумя закрытыми контурами данные гонять, когда контур Б может в порт А. А А не может в Б.
"Никакого UseCase-слоя. Добавите его, когда появится реальная логика." - Это антипаттерн Clean Architect.
Ваш бизнес сегодня действительно использует Ваш сервис как прокси. А завтра у него возникла идея, что логика всё же должна быть. От банальных проверок до жанглирования моделью данных через кучу адаптеров.
Даже если у вас сейчас dal.save в логике. Завтра это уже не так. Задача юзкейса изолировать не только бизнеслогику от деталей. Но и адаптеры от хендлеров. Это даёт коду устойчивость к изменениям.
То есть изолировать детали друг от друга тоже нужно. Хендлеры максимум понимают сигнатуру адаптеров (и то есть примеры, когда и это в DI заворачивают, что я бы назвал избыточным, но там дело вкуса). И просто доставляют их в юзкейс. То есть доставляют в логику то, чем она должна оперировать.
Если хендлер сразу пошёл в адаптер - это значит, что хендлер обязан знать как с ним работать. И вы создали одну деталь. Это больше не хендлер и адаптер - а обычный код. Который потом придётся рефакторить. Потом настен через день два.
Чистая архитектура это не просто разделение кода по папкам. А про разделение ответсвенности и границ кода в этих папках. Даже если одна строчка в логике - значит такова логика на момент сейчас. Но она есть)
Интересная история. А в конце лишь цифры, которые обошли квен 3 кодер на половину волоска от ноздри. И всё это ради юнит тестов. Мне их второй композер (cursor composer 2) пишет без ошибок с первого раза.
Каков профит от внедтения то? Самый важный беечмарк то где? Выкинули там квен3 шкодер, сэкономили ресурс на инференс, качество тестов оценивается специалистами котлин на уровне - да как мы жили то без этого, отвал бошки. Дообучите нам ещё е2е тесты
Там дип дебагинг не изобрели поверх всего этого добра?
Выглядит как ORM для ИИ направления. То под капот, вон то под капот, всё под капот. Вот это тоже и быстро стартуем пилот корзины товаров. А потом чиним "баги" в запросах SQL, потому что прод помер под нагрузкой 1 RPS.
А тут выпустили фреймворк на фреймворк. Я думаю там мощей опуса отдебажить через курсор не хватит, чтобы найти что идёт не так в таких агентах.
Взяли чанкинг с оверлапом. Самую примитивщину. И такие о, пойдём текст адаптируем под него.
Интересно что им джемини выдаёт, когда они табличные данные предоставляют на 1000к строк.
99% успешности rag систем это как раз тотальный контроль за тем как нарезается текст неструктурированных данных, в какую базу он векторизируется и какой моделью, и какими алгоритмами происходит поиск по этой базе. А не выбор llm модели.
Я Вообще прочитал - мы взяли примитивщину облачную, и теперь мучаемся с ней, потому что было лень разбираться как строить rag вменяемый. Кстати, вменяемый rag - это про его архитектуру, а не про питон и langchain.
langchain из коробки даёт кучу абстракций бестолковых. Есть библиотеки, которые он использует под капотом, и использует их криво. Лучше брать сразу их. Но это детали.
Весёлые картинки. Местами правдивые, но они не отражают обратную сторону медали.
Нож в руках домохозяйки не поможет ей какими бы спецификациями она там необложилась создать инженерный и зрелый продукт. Томлёную утку с соусом дорблю на 1000 человек за 8 часов.
Нож в руках мастера...
Я взял себе поиграться такой нож. И вывел новое понятие "Эспириенсофикация".
Это когда ты берёшь тупой нож и вытачиваешь его своим опытом в самурайский клинок. Это похоже на то, как мы раньше учили людей не умеющих писать код и строить крепкие масштабируемые системы - этому нелегкому ремеслу.
Только вместо человека теперь вот этот нож, несведущий в тонкости ремесла. Из плюсов он с тобой не спорит. Из минусов тоже самое. Но всё лечится правилами - достаточно сказать спорь со мной и он будет.
А что ещё можно вылечить?
Ну не понимает он Вашу кухню - так поясните в .md файл. Не знает он ваших киллерфич как написать код так, чтобы его пошла тестировать команда qa и такая - хм, сегодня опять багов нет - так покажите ему в .md
У вас 100% полно своих годами проверенных практик по разработке, оформленных в docx. И в виде кусков и может даже целых библиотек да подмодулей кода 100% работающего и универсальгого - так поясните ей как Вы это используете.
Поработайте так с этим тупым ножом месяц другой и тут случится немыслемое. Вы поймёте, что буквально прикрутили ему свою голову. И оно всё делает так - как Вы бы делали.
Да это огромное контекстное окно 150к токенов на старте. После глоссариев и тюнинга 50-100к токенов. Но чёрт возьми в моей голове 100млн + токенов опыта лежит. И осталось лишь их все переложить в текст.
И вот тогда говоришь сделай с кайфом корзину товаров - а там через 10 минут выйдет конфетка пушка. Можно ещё кнопку планировать нажать и оно там само спросит - авторизация где, стек какой, скок юзеров. Нам как обычно - лишь бы взлетело, а ибешку потом допилим? Может сразу? Там 50к токенов делов. Ну ты кожанный не спорь - давай захешируем пароли. В смысле ты собрался бесконечное имя хранить в базе? Наверное с похмелья.
И это новая реальность - только имея за плечами 10+ лет инженерного опфта можно и даже нужно его упаковать в sdd. Хотя я бы назвал это
Expirience to text и вот это модное в конце driven development. ExToTexDD
Пока ток ценник не радует) А так мощно вышло. Ушел с кухни, а нож за тебя пилит также как ты.
Ограничения - цена на токены. Ну и вы не сможете вложить опыт которого у Вас нет. Я не умею во фронтенд. И чушь получилась, как бы я не просил и не списывал чудо sdd.
Надоело закидывать баксы этим всяким клодам. Подумывается собирать мини серваки с тремя rtx4090 или даже двумя.
Чтобы экономия была реально разумной. А то иной раз за день прожигает 500 баксов. Чтоб я ещё раз этого краба запустил, клешню ему в брюхо.
Вот и думается, в месяц тратишь 3000 баксов на клода. Может тупо собрать сервак себе на эти бабки.
Я думаю что заменять ручной труд на машинный надо покупками машин, а не подписок в где то там. Ну снял офис, вместо людей наставил системники. Ноутбуки распродал, которыми люди пользовались, часть направил на мини серваки. И вот - заменился труд рутинный.
А клоды шмоды эти сегодня 20 баксов, потом 40. Потом у них суперакции и ещё впн этот проплачивай. А РФ чебурнетиться останавливаться не планирует. Отрезаться хочет от интернета глобального.
"Нужно было запоминать всё: от настройки серверов и баз данных до верстки пользовательского интерфейса и бизнес-логики. Наш мозг — невероятная штука, но на такое он вряд ли способен".
Ну у кого как. А у нас до появления нейронок - надо cicd построить, пошлли сделали, надо архитектуру на на 100к+ юзеров - пошли сделали. В кликхаусе/пг запросы кластер тормозять - пошли оптимизировали. Кластеры нажо поднять - пошли подняли. В даных заказчика разобраться - пошли разобрались. Olap drill down закрутить - пошли сделали.Хайлоад бекенд запилить без утечек памяти и с вменяемым латенси - пошли сделали.
Единственное фронт казался скучным. Кнопки красить лень.
Ура появились нейронки. И теперь мы всем говорим, что всё делаем с их помощью. А то вдруг не поверят. А на практике подписка на 20 баксов сгорает за 1 день.
Каков Ваш опыт нейросеток - ну токены экономлю, контекст минимализирую, sdd использую. Задачи декомпозирую. Один день пших и нет токенов. Написала машинка 5к строк кода +- рабочих. А я и так в день по 10к писал кода и рабочего на 100% и тестами закрытого.
Они там продуктовтв агень кодинг и мечты у них.Что там продакты разработку потянут. А я тут недавно кароче вайбкодить в бизнес пошёл. И оказалось что для своего бизнеса 9 классов образования хватит.
И мне вот интересно, кто быстрее через агентов достигнет прогресса? Те, кто нихренатне шарит в разработке, но понимает деньги? Или те кто понимает вдоль и поперек всю разработку, но не было интереса понимать деньги?
Деньги же ну это сложно же)) Или в них даже вайбкодинг справиться? Даже без sdd)
Не хватает контекста. Что вот самого нового появилось. SDD, spek-kit, openclaw. Те кто не шарит ни в чем - кричат революция. Те кто пощупал - рука-лицо и мысли - да уж, "прогресс".
Не освещены темы с генеративными ошибками (галлюцинациями), и что у llm не меняется фундамент. Корпы ушли тоже деньги зарабатывать, а фундаментальные проблемы своих моделей облепили кастылями. Которые вроде работают иногда. Поэтому инженер будущего должен лучше llm понимать что она там нашкодила. А это не джуновский навык.
Единственное интересное - фотонный чип. Который должен увеличить мощности вычислений, прекратив отнимать у людей электричество мегаваттами. Но когда его в производство запустят - не понятно. Но он тоже не решит фундаментальные проблемы llm. Физикой не обойти законы математики.
Во что это превратиться через 5 лет? Выйдет gpt7, который лучше себя самого на 30% в бенчмарках пойди разберись и пойми. На рынок хлынет поток чудо проектов, закрывающих дырки. Которые через раз справляются с задачами. И все на столько обленяться, что будут просто гооворить ну ллм ошиблась, бывает. Упадет качество создаваемых решений. Но оно и перестанет всех волновать. Ведь если мой бот в телеге тупанул - ну и что. А если попросил перевести 1млн себе из банка в банк - а оно тупануло и отправило деньги в фонд пожертвований развития ллм. Люди пошли просить ллм проверить что не так, оно проверило и сказало что всё нормально. А сами люди уже не в состоянии понимать что внутри их систем происходит - это же не модно, как и код писать руками, фу.
Бедные работодатели не смогли ничего побороть. А Наташка из соседнего подъезда с девятью классами образования качнула бесплатную лабуду и продолжает в инсте фотки свои публиковать как и публиковала.
При всем желании ни у кого ничего не получиться. Полностью отрубить можно только электропитание. А на всё остальное найдется 100500 дырок.
Так ваш протобаф гошный может сразу и в хттп и в грпс.
Я Думал все гоферы с молоком матери начинаюь сначала протобаф описывать, а потом проток генерейть и готов хендлер какой хошь. Проток мок и вот тебе заглушки товарищь фронтендер.
Апи фесту уже 1000 лет в обед.
А SDD - спекулянтус дривнус девелопментус - это шкодерам жизнь проделвает. Написал спеку для ллм. А она тебе пофиг какой код, главное чтоб лампочками моргал)
Самый длинный срач про sdd - спек дривен девелолупмент.
Можно так жить - да. А Нужно?
Беру кароче проект на 100к человек из 70 микросервисов. Пешу кароче спеку.
Прошу модель явить чудо. На первом запросе получаю - слишком длинная спека. Не влезает в 200к токенов.
Декомпозирую. Обкладываюсь рагами, спеками по спекам. Вики на чики брики. Глоссарий планетарий. Настраиваю это добро 6й месяц к ряду. Напечатал и нанейронил текста столько сколько все писатели в мире не написали. Допустим всё это сделал.
Опять иду в чудо окно - сделай фикс на микросервис такой то. Вот тебе все 1000+ спеков. В контекст 200к влезли. Фикс сделали. Тесты сделали. Всё сделали. Пошли на прод залили. Через день уже другой сервис грохнулся. Потому что был связан с этим и модель там поле новое влепила в субд.
ПРосим рефлексировать. Чейонфтрушиться. Черепашиться и скрам мастериться через в себя. Запускаем 100 агентов. Проблема дюже сложная. Они вместе пыжат. Мексикснцы опять без света сидят. 10 000 баксов закинули на токены. Супер мега модель всего включили. И всё! Решена задача. Отлично.
А теперь без нейронок. Крепкий спец, который на проекте год, увидев 4 строчки логов в 2х сервисах такой хм. Написал 5 строчек там, 7 строчек тут. Задеплоил и забыл. Всё работает. Потратил свою энергию на кхм. Это было самое сложное
Вот это ещё одна типичная ошибка при построении RAG систем. Объяснять это так менеджерам и бизнесу особенно. Что модель хоть что то делает в этом процессе, кроме как ртом своим пережёвывает информацию.
Придумали кучу кастылей вокруг текстового генератора и понесёсся словестный понос со всех щелей уже который год одно и тоже.
Пгшечку берут для транзакций. Чтобы не попадать в ситуцию "Ваш заказ оплачен, но не создан, платите ещё раз". Возник кейс кей валуэ - читаем что такое вообще КЭШ. И сначала храним его в своей голове. А уже если этого не хватает берём куй валуя в виде редис. Сравнить это всё в одном месте ток нейронка могла. Ей да наплевать на здравый смысл. А почему кликхауса тут нет кстати? В него тоже можно кей велью сохранить. Ну или кафки?
Чё ребят. Откроем филологам Америку? Что код надо уметь читать двумя полушариями. Одним - как человек и там нам обычно плевать что и как называется, главное - какие комментарии написаны.
Вторым - читать код как компьютер. А ему 100% плевать что и как называется. Он там функцию увидел, параметры отсканировал из памяти значения достал и дальше по стеку плюнул.
Если бы компьютер думал над тем как мы там назвали переменную - с ума бы наверное сошёл. Пришлось бы программировать калькулятор на майнинг фермах.
Всем добра. Прочитал комментарии. И статью. Тоже решил вытащить голову из пещеры и высказать мысли.
Вайб-шкодинг. Коротко о том почему он не работает.
Запрос: "Покрой функцию @Функция тестами"
Промпт: (500 строк, не больше, ибо вайб же): Ты сеньор программист. Ты знаешь стандарты. Ты крутой перец. Если забыл стандарты - вот ссылки. Ты сам себя проверяешь. Ты никогда не булшитишь. Ты мощный. Пиши с кайфом...
Дай боже хоть что-то техническое в промпт будет вписано, Аля Используй контекст7. Или я тебе там MCP сервер подрубил. Ну типо Сеньор-Вайбкодер, в теории, наверное, впишет про технику чуток того, что он понял/подсмотрел/украл/взялИзНейросетки.
Агент кодинг. Почему он работает.
Запрос: "Покрой функцию @Функция тестами" <- ВООБЩЕ НЕ МЕНЯЕТСЯ.
Промпт: 5000+ строк на английском языке, в которых методично передан весь накопленный РЕАЛЬНЫЙ сеньорский 10+ лет опыт в программировании, тестировании архитектуре и разработке ПО как таковой. В этим промптах как ребёнка Сеньор-Методист ведёт LLM за ручку по миру программирования и тестирования, разжёвывая ему как тупому валенку базовые и сложные принципы - от того как писать переменную, до того как нужно правильно закрывать тест кейсы, руководствуясь проверенными на практике принципами, которые точно работают. Такие промпты пишутся путём тщатильного анализа того, что именно нейросеть делает не так. И когда она что-то делает не то, ей опять разжёвывается через ПРИЗМУ СВОЕГО ПРАКТИЧЕСКОГО опыта как сделать то что нужно. Так рождается МЕГА/ЧУДО/GOD-Промт, недостижимый для вайбера. Решающий ОДНУ конкретную задачу.
И это ключевая Разница. Когда у Вас вообще нет опыта в разработке например Масштабных микро-сервисных систем, так называемой школы жизни кровавого энтерпрайза - ВАМ ПРОСТО НЕЧЕГО вложить ни в запрос к LLM ни в Промпт. А всё что нейронка нажевала в интернете - это средняя по больнице лабуда.
И как только результат надо получить выше среднего - тут то и начинается веселье. Он недостижим для Вайбкодеров. У них опыт писать промпты. У нейронки жевать промпты и примерять на усреднённый результат того, что она спиздила в интернете. Да, иной раз она может утащить без ведома людей из их проекта что-то реально прикольное и показать Вам - тип о, оптимизировалось. Но это как игра в лотерею. В своей основе - Агенты LLM и вся эта нечисть болотная - просто быстрее и лучше находит информацию. Чем гугл поиск или стек оверфлоу.
И по итогу - все опять идут к нам, к людям, для которых писать код, создавать сложные большие системы - никогда не было и не будет какой-то там проблемой, которую срочно решить бежать надо. Кто прошёл кровавый энтерпрайз - среди них даже у джунов нет проблемы с написанием кода, созданием фич и багофиксаньем. В системах, где 10-ки сервисов через друг в друга данные гоняют. Они решают эти задачи за чашкой-другой кофе и 2-мя печеньками.
А Текущая ситуация с LLM - Илон Маск пошёл строить ЦОД, размером с пол города. Сожрёт Сколько-то там Гигават электро энергии. И оставит реальных живых людей без этой электро энергии. На это потратят баснословные деньги а ещё на суды и бюрократию. Миллиарды долларов. Бюджет какой-нибудь не сильно крупной страны)
Это просто для тех информация кто думает, что он навайбил там штукодрюку. Она жрёт 64Гб оперативки и автоматизировала заказ билета на Туту.ру для 1-го пользователя. Что это никак решать не надо будет - КОНЕЧНО - Вы просто также с кайфом навайбите себе железа на миллиард рублей)) Я в Вас "Верю", потому что "отстал" от жизни и у меня наверное у одного миллиарда рублей нет на оборудование.
Да нет - ВЫ ничего не понимая в оптимизацию и архитектуру. Попросите нейрноку всё Вам сделать. И будет просто "конфетище")) А на практике вы сожжёте все свои токены в первый же день и пойдёте покупать ещё токены. И ОНИ - владельцы этих чатов это знают прекрасно) И толкают Вас туда - Вайбить, Вайбить, Вайбить))) Им то наплевать по большому счёту, сделаете ли Вы реально масштабируемый и производительный и мощный и всему миру нужный продукт. Токены же купите) Ибо чёт не оптимизировалось. Не пошло. Упёрлось в стену. Наверное надо КНОПКУ волшебную оплатить - DEEP REASON - 2000 баксов за месяц. Она то "Сможет". И хоп - не смогла. Надо оплатить её ещё раз. Наверное не туда платили. Пойдём купим ещё кнопок и подписок у других поставщиков. Вдруг случиться чудо - и опять нет, не случиться.
Это в конечном итоге - Лопата, а не шахтёр. Лопата хорошая, копает отлично. И быстро. Может снизить нагрузку на рутину. Напиши тест, сделай рефакторинг. Объясни логику, сформируй документацию. Объясни по этому логу что в итоге за ошибка, куда смотреть?
Напиши сортировку пузырьком (Топ 100 популярных алгоритмов для начинающих). Напишет) Точнее найдёт, скопирует вставит). Напиши что угдоно любое простое что я бы нашёл в гугле за 2 секунды скопировал и вставил бы сам)) Вот её хлеб.
Найди в моём коде где лежит кнопка синяя) Найдёт.
И это только малая честь реально рабочих кейсов. И она ну никак не про то что "Напиши мне ШмякБанк приложение чтобы там 1000 000 юзеров и все законы учтены". Ставлю Чистый даже не порванный банкнот 100 баксов, что Когда они достроят свои ЦОД-ы это никак не измениться.
"...Когда человек ошибается, он берёт на себя ответственность, а рост как раз и происходит через ответственность, значит, через ошибки..."
Видел толпы людей, которые делают ровно наоборот, как в песне - "и никаких последствий нет, свали в туман, запутай след". А потом ещё и начальство приходит и говорит ну у нас тут ведьм не сжигают, ругать никого не надо. А человек, который обделался такой - о нормально. Значит можно так постоянно.
Лишь немногие признают свои ошибки. Остальные просто стрелки переводят и следы путают и врут.
Так что ошибки это плохо. Представьте что Вас оперирует нейрохирург и он такой ошибся и вы мертвы.
Ошибки - плохо. Но без них никуда. Неошибается тот, кто ничего не делает. Но и есть вещи где ошибки недопустимы. Рассматривать ошибки как рост - странно. Потому что не все берут за них ответственность, а лишь единицы.
Вобщем рост через ошибки это скорее исключение чем правило.
Ну Agile же. Есть двух недельный спринт- на любую задачу срок 14 дней. За 14 дней можно 2 раза создать человечество. Спросите у биг-босса - Он подтвердит.
Доброго дня
А Вам удалось уже нащупать предел sdd?
Что происходит с генерацией кода( не могу назвать эти шайтан машины писателями кода, они больше похожи на go code generate), когда размер спецификаций чиркает по крышке контекстному окну модели.
У меня в один момент случилось озорение, что я формирую одни и те же спецификации на одни и теже типовые задачи. И что я пошёл делать - как и любой разработчик рефакторинг спецификаций. А после - упаковку всего своего опыта в спецификации. И оказалось мой опыт ддя модели весит 3млн+ токенов на старт исполнения любой типовой задачи. Это уже с использованием индексаторов спек, уплотнителей, саммаризаторов и глоссариев с планетариями (послденее - шутка).
Я дошёл до того, что врубаю макс мод на 1млн токенов окно и пишу задачу как вайбкодер "мне карточку товара на 3 поля". И оно делает бекенд по всем канонам и стандартам (потому что я их все ей объяснил) и какой надо со всеми нюансами продуктивной разработки. Примерно минут за 5 получаешь результат (микросервис с контрактами, границами, миграциями, покрытый тестами где надо). Ну и с Вас 20-50млн токенов)) И ещё кидай баксы.
И гарантий что там всё точно как надо нет. Потому что в архитектуре ллм - галлюцинации они же вероятности лежат в коробке. Делаешь ревью 30 000 строк кода и 20+ файлов. Видишь, что юзер нейм, вместо юзер айди. Хотя там в плане она сама себе составила писать юзер айди. А написала нейм.
Пробовал и другое. Разбить задачу на кучу под задач, несвязанных между собой. Разные агенты пилят это 4 часа. Всё ту же карочтку товара. Также косячат в деталях. Потом финальный резльтат - это срастить систему вместе. Спустя 8 часов мы получаем сервис, в котором снова лежат баги. Непокрытые автотестами. Всё ж работает - говорит оно тебе.
Самое интересное, что человек с опытом, ничего не делая. И имея на руках шаблоны для подобных сервисов тратит ну часа 4 от силы. А остальное на деплой.
Внедрили уже всё что только можно. А в итоге пишем спеки с примерами кода и откуда из шаблонов чего брать и всё равно получаем гигантский кодогенератор, который просто снял с нас нагрузку жмать на клавишах буквы. И мы теперь не пишем код 3 часа и проверяем 10 минут. А генерируем его или час или весь день. А проверяем потом 2 дня ищем с дебагером где оно мне там посадило веселье.
Мне говорят - ну вот джуны не нужны стали. Что они раньше пискли код и всё. А я говорю - это где так было? Чтобы джун не понимал в sql, хотябы. В нагрузку и кэши. Джун у Вас чтоли сортировку пузырьком вытачивает обычно за зарплату? Да тогда такой джун Вам не нужен.
Где эта граница и выхлоп? Сколько модели надо дать спек для решения простой бизнесовой задачи - карточка товара с тремя полями. Спеки жрут контекст - даёшь мало результат непонятен. Даёшь много - результат неоднозначен. Сегодня ты ускорился, потому что нагенерировалось 40к строк кода. А завтра ты в них утонул с проверками.
Вобщем идеи Вам и вопросы к новой статье. Уж очень хочется понять кто то ещё на sdd шильдик повесил "весёлый генератор кода" на него повесил. И сколько нас таких.
Ну и есть плохие идеи в sdd, что код не важен. Лучше - комментарии в коде = часть спецификации, как это было всегда. А если код не Важен для Вас, но важен для компьютера, тогда он полностью становится частью спецификации всё равно. Потому что есть результаты, которые дают только новые алгоритмы. А у шайтан машины большие проблемы с воспрлизводимостью результата, который она не разу в жизни не виделс в обучающих данных.
О, давненько не было видно настоящих инжинерных статей.
Затейный такой гигантский уведомлятор/прокси получился. Сразу напрашивается не только http выход, но и интеграция с почтой и мессенджерами всякими на развитие. Ещё прикольный сценарий - между двумя закрытыми контурами данные гонять, когда контур Б может в порт А. А А не может в Б.
"Никакого UseCase-слоя. Добавите его, когда появится реальная логика." - Это антипаттерн Clean Architect.
Ваш бизнес сегодня действительно использует Ваш сервис как прокси. А завтра у него возникла идея, что логика всё же должна быть. От банальных проверок до жанглирования моделью данных через кучу адаптеров.
Даже если у вас сейчас dal.save в логике. Завтра это уже не так. Задача юзкейса изолировать не только бизнеслогику от деталей. Но и адаптеры от хендлеров. Это даёт коду устойчивость к изменениям.
То есть изолировать детали друг от друга тоже нужно. Хендлеры максимум понимают сигнатуру адаптеров (и то есть примеры, когда и это в DI заворачивают, что я бы назвал избыточным, но там дело вкуса). И просто доставляют их в юзкейс. То есть доставляют в логику то, чем она должна оперировать.
Если хендлер сразу пошёл в адаптер - это значит, что хендлер обязан знать как с ним работать. И вы создали одну деталь. Это больше не хендлер и адаптер - а обычный код. Который потом придётся рефакторить. Потом настен через день два.
Чистая архитектура это не просто разделение кода по папкам. А про разделение ответсвенности и границ кода в этих папках. Даже если одна строчка в логике - значит такова логика на момент сейчас. Но она есть)
Интересная история. А в конце лишь цифры, которые обошли квен 3 кодер на половину волоска от ноздри. И всё это ради юнит тестов. Мне их второй композер (cursor composer 2) пишет без ошибок с первого раза.
Каков профит от внедтения то? Самый важный беечмарк то где? Выкинули там квен3 шкодер, сэкономили ресурс на инференс, качество тестов оценивается специалистами котлин на уровне - да как мы жили то без этого, отвал бошки. Дообучите нам ещё е2е тесты
Там дип дебагинг не изобрели поверх всего этого добра?
Выглядит как ORM для ИИ направления. То под капот, вон то под капот, всё под капот. Вот это тоже и быстро стартуем пилот корзины товаров. А потом чиним "баги" в запросах SQL, потому что прод помер под нагрузкой 1 RPS.
А тут выпустили фреймворк на фреймворк. Я думаю там мощей опуса отдебажить через курсор не хватит, чтобы найти что идёт не так в таких агентах.
Да какая там адекватность?
Взяли чанкинг с оверлапом. Самую примитивщину. И такие о, пойдём текст адаптируем под него.
Интересно что им джемини выдаёт, когда они табличные данные предоставляют на 1000к строк.
99% успешности rag систем это как раз тотальный контроль за тем как нарезается текст неструктурированных данных, в какую базу он векторизируется и какой моделью, и какими алгоритмами происходит поиск по этой базе. А не выбор llm модели.
Я Вообще прочитал - мы взяли примитивщину облачную, и теперь мучаемся с ней, потому что было лень разбираться как строить rag вменяемый. Кстати, вменяемый rag - это про его архитектуру, а не про питон и langchain.
langchain из коробки даёт кучу абстракций бестолковых. Есть библиотеки, которые он использует под капотом, и использует их криво. Лучше брать сразу их. Но это детали.
Весёлые картинки. Местами правдивые, но они не отражают обратную сторону медали.
Нож в руках домохозяйки не поможет ей какими бы спецификациями она там необложилась создать инженерный и зрелый продукт. Томлёную утку с соусом дорблю на 1000 человек за 8 часов.
Нож в руках мастера...
Я взял себе поиграться такой нож. И вывел новое понятие "Эспириенсофикация".
Это когда ты берёшь тупой нож и вытачиваешь его своим опытом в самурайский клинок. Это похоже на то, как мы раньше учили людей не умеющих писать код и строить крепкие масштабируемые системы - этому нелегкому ремеслу.
Только вместо человека теперь вот этот нож, несведущий в тонкости ремесла. Из плюсов он с тобой не спорит. Из минусов тоже самое. Но всё лечится правилами - достаточно сказать спорь со мной и он будет.
А что ещё можно вылечить?
Ну не понимает он Вашу кухню - так поясните в .md файл. Не знает он ваших киллерфич как написать код так, чтобы его пошла тестировать команда qa и такая - хм, сегодня опять багов нет - так покажите ему в .md
У вас 100% полно своих годами проверенных практик по разработке, оформленных в docx. И в виде кусков и может даже целых библиотек да подмодулей кода 100% работающего и универсальгого - так поясните ей как Вы это используете.
Поработайте так с этим тупым ножом месяц другой и тут случится немыслемое. Вы поймёте, что буквально прикрутили ему свою голову. И оно всё делает так - как Вы бы делали.
Да это огромное контекстное окно 150к токенов на старте. После глоссариев и тюнинга 50-100к токенов. Но чёрт возьми в моей голове 100млн + токенов опыта лежит. И осталось лишь их все переложить в текст.
И вот тогда говоришь сделай с кайфом корзину товаров - а там через 10 минут выйдет конфетка пушка. Можно ещё кнопку планировать нажать и оно там само спросит - авторизация где, стек какой, скок юзеров. Нам как обычно - лишь бы взлетело, а ибешку потом допилим? Может сразу? Там 50к токенов делов. Ну ты кожанный не спорь - давай захешируем пароли. В смысле ты собрался бесконечное имя хранить в базе? Наверное с похмелья.
И это новая реальность - только имея за плечами 10+ лет инженерного опфта можно и даже нужно его упаковать в sdd. Хотя я бы назвал это
Expirience to text и вот это модное в конце driven development. ExToTexDD
Пока ток ценник не радует) А так мощно вышло. Ушел с кухни, а нож за тебя пилит также как ты.
Ограничения - цена на токены. Ну и вы не сможете вложить опыт которого у Вас нет. Я не умею во фронтенд. И чушь получилась, как бы я не просил и не списывал чудо sdd.
На Qwen32b Поедет такая лена?
Надоело закидывать баксы этим всяким клодам. Подумывается собирать мини серваки с тремя rtx4090 или даже двумя.
Чтобы экономия была реально разумной. А то иной раз за день прожигает 500 баксов. Чтоб я ещё раз этого краба запустил, клешню ему в брюхо.
Вот и думается, в месяц тратишь 3000 баксов на клода. Может тупо собрать сервак себе на эти бабки.
Я думаю что заменять ручной труд на машинный надо покупками машин, а не подписок в где то там. Ну снял офис, вместо людей наставил системники. Ноутбуки распродал, которыми люди пользовались, часть направил на мини серваки. И вот - заменился труд рутинный.
А клоды шмоды эти сегодня 20 баксов, потом 40. Потом у них суперакции и ещё впн этот проплачивай. А РФ чебурнетиться останавливаться не планирует. Отрезаться хочет от интернета глобального.
"Нужно было запоминать всё: от настройки серверов и баз данных до верстки пользовательского интерфейса и бизнес-логики. Наш мозг — невероятная штука, но на такое он вряд ли способен".
Ну у кого как. А у нас до появления нейронок - надо cicd построить, пошлли сделали, надо архитектуру на на 100к+ юзеров - пошли сделали. В кликхаусе/пг запросы кластер тормозять - пошли оптимизировали. Кластеры нажо поднять - пошли подняли. В даных заказчика разобраться - пошли разобрались. Olap drill down закрутить - пошли сделали.Хайлоад бекенд запилить без утечек памяти и с вменяемым латенси - пошли сделали.
Единственное фронт казался скучным. Кнопки красить лень.
Ура появились нейронки. И теперь мы всем говорим, что всё делаем с их помощью. А то вдруг не поверят. А на практике подписка на 20 баксов сгорает за 1 день.
Каков Ваш опыт нейросеток - ну токены экономлю, контекст минимализирую, sdd использую. Задачи декомпозирую. Один день пших и нет токенов. Написала машинка 5к строк кода +- рабочих. А я и так в день по 10к писал кода и рабочего на 100% и тестами закрытого.
Они там продуктовтв агень кодинг и мечты у них.Что там продакты разработку потянут. А я тут недавно кароче вайбкодить в бизнес пошёл. И оказалось что для своего бизнеса 9 классов образования хватит.
И мне вот интересно, кто быстрее через агентов достигнет прогресса? Те, кто нихренатне шарит в разработке, но понимает деньги? Или те кто понимает вдоль и поперек всю разработку, но не было интереса понимать деньги?
Деньги же ну это сложно же)) Или в них даже вайбкодинг справиться? Даже без sdd)
Не хватает контекста. Что вот самого нового появилось. SDD, spek-kit, openclaw. Те кто не шарит ни в чем - кричат революция. Те кто пощупал - рука-лицо и мысли - да уж, "прогресс".
Не освещены темы с генеративными ошибками (галлюцинациями), и что у llm не меняется фундамент. Корпы ушли тоже деньги зарабатывать, а фундаментальные проблемы своих моделей облепили кастылями. Которые вроде работают иногда. Поэтому инженер будущего должен лучше llm понимать что она там нашкодила. А это не джуновский навык.
Единственное интересное - фотонный чип. Который должен увеличить мощности вычислений, прекратив отнимать у людей электричество мегаваттами. Но когда его в производство запустят - не понятно. Но он тоже не решит фундаментальные проблемы llm. Физикой не обойти законы математики.
Во что это превратиться через 5 лет? Выйдет gpt7, который лучше себя самого на 30% в бенчмарках пойди разберись и пойми. На рынок хлынет поток чудо проектов, закрывающих дырки. Которые через раз справляются с задачами. И все на столько обленяться, что будут просто гооворить ну ллм ошиблась, бывает. Упадет качество создаваемых решений. Но оно и перестанет всех волновать. Ведь если мой бот в телеге тупанул - ну и что. А если попросил перевести 1млн себе из банка в банк - а оно тупануло и отправило деньги в фонд пожертвований развития ллм. Люди пошли просить ллм проверить что не так, оно проверило и сказало что всё нормально. А сами люди уже не в состоянии понимать что внутри их систем происходит - это же не модно, как и код писать руками, фу.
Бедные работодатели не смогли ничего побороть. А Наташка из соседнего подъезда с девятью классами образования качнула бесплатную лабуду и продолжает в инсте фотки свои публиковать как и публиковала.
При всем желании ни у кого ничего не получиться. Полностью отрубить можно только электропитание. А на всё остальное найдется 100500 дырок.
Так ваш протобаф гошный может сразу и в хттп и в грпс.
Я Думал все гоферы с молоком матери начинаюь сначала протобаф описывать, а потом проток генерейть и готов хендлер какой хошь. Проток мок и вот тебе заглушки товарищь фронтендер.
Апи фесту уже 1000 лет в обед.
А SDD - спекулянтус дривнус девелопментус - это шкодерам жизнь проделвает. Написал спеку для ллм. А она тебе пофиг какой код, главное чтоб лампочками моргал)
Самый длинный срач про sdd - спек дривен девелолупмент.
Можно так жить - да. А Нужно?
Беру кароче проект на 100к человек из 70 микросервисов. Пешу кароче спеку.
Прошу модель явить чудо. На первом запросе получаю - слишком длинная спека. Не влезает в 200к токенов.
Декомпозирую. Обкладываюсь рагами, спеками по спекам. Вики на чики брики. Глоссарий планетарий. Настраиваю это добро 6й месяц к ряду. Напечатал и нанейронил текста столько сколько все писатели в мире не написали. Допустим всё это сделал.
Опять иду в чудо окно - сделай фикс на микросервис такой то. Вот тебе все 1000+ спеков. В контекст 200к влезли. Фикс сделали. Тесты сделали. Всё сделали. Пошли на прод залили. Через день уже другой сервис грохнулся. Потому что был связан с этим и модель там поле новое влепила в субд.
ПРосим рефлексировать. Чейонфтрушиться. Черепашиться и скрам мастериться через в себя. Запускаем 100 агентов. Проблема дюже сложная. Они вместе пыжат. Мексикснцы опять без света сидят. 10 000 баксов закинули на токены. Супер мега модель всего включили. И всё! Решена задача. Отлично.
А теперь без нейронок. Крепкий спец, который на проекте год, увидев 4 строчки логов в 2х сервисах такой хм. Написал 5 строчек там, 7 строчек тут. Задеплоил и забыл. Всё работает. Потратил свою энергию на кхм. Это было самое сложное
Проще говоря, модель:
сначала ищет релевантную информацию;
Вот это ещё одна типичная ошибка при построении RAG систем. Объяснять это так менеджерам и бизнесу особенно. Что модель хоть что то делает в этом процессе, кроме как ртом своим пережёвывает информацию.
Придумали кучу кастылей вокруг текстового генератора и понесёсся словестный понос со всех щелей уже который год одно и тоже.
Ничего не умеет делать llm модель сама.
Пгшечку берут для транзакций. Чтобы не попадать в ситуцию "Ваш заказ оплачен, но не создан, платите ещё раз". Возник кейс кей валуэ - читаем что такое вообще КЭШ. И сначала храним его в своей голове. А уже если этого не хватает берём куй валуя в виде редис. Сравнить это всё в одном месте ток нейронка могла. Ей да наплевать на здравый смысл. А почему кликхауса тут нет кстати? В него тоже можно кей велью сохранить. Ну или кафки?
Чё ребят. Откроем филологам Америку? Что код надо уметь читать двумя полушариями. Одним - как человек и там нам обычно плевать что и как называется, главное - какие комментарии написаны.
Вторым - читать код как компьютер. А ему 100% плевать что и как называется. Он там функцию увидел, параметры отсканировал из памяти значения достал и дальше по стеку плюнул.
Если бы компьютер думал над тем как мы там назвали переменную - с ума бы наверное сошёл. Пришлось бы программировать калькулятор на майнинг фермах.
Всем добра. Прочитал комментарии. И статью. Тоже решил вытащить голову из пещеры и высказать мысли.
Вайб-шкодинг. Коротко о том почему он не работает.
Запрос: "Покрой функцию @Функция тестами"
Промпт: (500 строк, не больше, ибо вайб же): Ты сеньор программист. Ты знаешь стандарты. Ты крутой перец. Если забыл стандарты - вот ссылки. Ты сам себя проверяешь. Ты никогда не булшитишь. Ты мощный. Пиши с кайфом...
Дай боже хоть что-то техническое в промпт будет вписано, Аля Используй контекст7. Или я тебе там MCP сервер подрубил. Ну типо Сеньор-Вайбкодер, в теории, наверное, впишет про технику чуток того, что он понял/подсмотрел/украл/взялИзНейросетки.
Агент кодинг. Почему он работает.
Запрос: "Покрой функцию @Функция тестами" <- ВООБЩЕ НЕ МЕНЯЕТСЯ.
Промпт: 5000+ строк на английском языке, в которых методично передан весь накопленный РЕАЛЬНЫЙ сеньорский 10+ лет опыт в программировании, тестировании архитектуре и разработке ПО как таковой. В этим промптах как ребёнка Сеньор-Методист ведёт LLM за ручку по миру программирования и тестирования, разжёвывая ему как тупому валенку базовые и сложные принципы - от того как писать переменную, до того как нужно правильно закрывать тест кейсы, руководствуясь проверенными на практике принципами, которые точно работают. Такие промпты пишутся путём тщатильного анализа того, что именно нейросеть делает не так. И когда она что-то делает не то, ей опять разжёвывается через ПРИЗМУ СВОЕГО ПРАКТИЧЕСКОГО опыта как сделать то что нужно.
Так рождается МЕГА/ЧУДО/GOD-Промт, недостижимый для вайбера. Решающий ОДНУ конкретную задачу.
И это ключевая Разница. Когда у Вас вообще нет опыта в разработке например Масштабных микро-сервисных систем, так называемой школы жизни кровавого энтерпрайза - ВАМ ПРОСТО НЕЧЕГО вложить ни в запрос к LLM ни в Промпт. А всё что нейронка нажевала в интернете - это средняя по больнице лабуда.
И как только результат надо получить выше среднего - тут то и начинается веселье. Он недостижим для Вайбкодеров. У них опыт писать промпты. У нейронки жевать промпты и примерять на усреднённый результат того, что она спиздила в интернете. Да, иной раз она может утащить без ведома людей из их проекта что-то реально прикольное и показать Вам - тип о, оптимизировалось. Но это как игра в лотерею. В своей основе - Агенты LLM и вся эта нечисть болотная - просто быстрее и лучше находит информацию. Чем гугл поиск или стек оверфлоу.
И по итогу - все опять идут к нам, к людям, для которых писать код, создавать сложные большие системы - никогда не было и не будет какой-то там проблемой, которую срочно решить бежать надо. Кто прошёл кровавый энтерпрайз - среди них даже у джунов нет проблемы с написанием кода, созданием фич и багофиксаньем. В системах, где 10-ки сервисов через друг в друга данные гоняют. Они решают эти задачи за чашкой-другой кофе и 2-мя печеньками.
А Текущая ситуация с LLM - Илон Маск пошёл строить ЦОД, размером с пол города. Сожрёт Сколько-то там Гигават электро энергии. И оставит реальных живых людей без этой электро энергии. На это потратят баснословные деньги а ещё на суды и бюрократию. Миллиарды долларов. Бюджет какой-нибудь не сильно крупной страны)
Это просто для тех информация кто думает, что он навайбил там штукодрюку. Она жрёт 64Гб оперативки и автоматизировала заказ билета на Туту.ру для 1-го пользователя. Что это никак решать не надо будет - КОНЕЧНО - Вы просто также с кайфом навайбите себе железа на миллиард рублей)) Я в Вас "Верю", потому что "отстал" от жизни и у меня наверное у одного миллиарда рублей нет на оборудование.
Да нет - ВЫ ничего не понимая в оптимизацию и архитектуру. Попросите нейрноку всё Вам сделать. И будет просто "конфетище")) А на практике вы сожжёте все свои токены в первый же день и пойдёте покупать ещё токены. И ОНИ - владельцы этих чатов это знают прекрасно) И толкают Вас туда - Вайбить, Вайбить, Вайбить))) Им то наплевать по большому счёту, сделаете ли Вы реально масштабируемый и производительный и мощный и всему миру нужный продукт. Токены же купите) Ибо чёт не оптимизировалось. Не пошло. Упёрлось в стену. Наверное надо КНОПКУ волшебную оплатить - DEEP REASON - 2000 баксов за месяц.
Она то "Сможет". И хоп - не смогла. Надо оплатить её ещё раз. Наверное не туда платили. Пойдём купим ещё кнопок и подписок у других поставщиков. Вдруг случиться чудо - и опять нет, не случиться.
Вобщем - хотите стань инжинерами - учитесь. Учитесь сами, качайте нейронку)
Это в конечном итоге - Лопата, а не шахтёр. Лопата хорошая, копает отлично. И быстро.
Может снизить нагрузку на рутину. Напиши тест, сделай рефакторинг. Объясни логику, сформируй документацию. Объясни по этому логу что в итоге за ошибка, куда смотреть?
Напиши сортировку пузырьком (Топ 100 популярных алгоритмов для начинающих). Напишет) Точнее найдёт, скопирует вставит). Напиши что угдоно любое простое что я бы нашёл в гугле за 2 секунды скопировал и вставил бы сам)) Вот её хлеб.
Найди в моём коде где лежит кнопка синяя) Найдёт.
И это только малая честь реально рабочих кейсов. И она ну никак не про то что "Напиши мне ШмякБанк приложение чтобы там 1000 000 юзеров и все законы учтены". Ставлю Чистый даже не порванный банкнот 100 баксов, что Когда они достроят свои ЦОД-ы это никак не измениться.
Так а в чём проблема консольные истории в докер запихать?
Засунул в докер, подмазал, подкрасил, подшпаклевал. Навешал метрик. И готово.
Опенсорс же. Он всегда такой был.
"...Когда человек ошибается, он берёт на себя ответственность, а рост как раз и происходит через ответственность, значит, через ошибки..."
Видел толпы людей, которые делают ровно наоборот, как в песне - "и никаких последствий нет, свали в туман, запутай след". А потом ещё и начальство приходит и говорит ну у нас тут ведьм не сжигают, ругать никого не надо. А человек, который обделался такой - о нормально. Значит можно так постоянно.
Лишь немногие признают свои ошибки. Остальные просто стрелки переводят и следы путают и врут.
Так что ошибки это плохо. Представьте что Вас оперирует нейрохирург и он такой ошибся и вы мертвы.
Ошибки - плохо. Но без них никуда. Неошибается тот, кто ничего не делает. Но и есть вещи где ошибки недопустимы. Рассматривать ошибки как рост - странно. Потому что не все берут за них ответственность, а лишь единицы.
Вобщем рост через ошибки это скорее исключение чем правило.
Ну Agile же. Есть двух недельный спринт- на любую задачу срок 14 дней. За 14 дней можно 2 раза создать человечество. Спросите у биг-босса - Он подтвердит.