Смэв4 с его витринами. Где каждое ГОС подразделение свою витрину публикует ? Это уже дата меш? Или всё ещё дата лейк?
Жутко муторная история, супер бюрократичная, интеграция стоит многа деняг. А внутри даже не паркет или авро. ИИ и вайбкодинг ломают об это зубы, ибо документация чего куда жмать - без 100 грам не разбирешься.
Ну то есть вот Вам пример внедрения дата меша, когда разные команды обязаны отвечать за свои данные по стандартам, которые придумали не они, а группа лиц, руководствующаяся одной матрице известно чем.
Не нужны нам они - все эти шмяк херак модные словечки. Сейчас актуально делать что то так, чтобы это ИИ смогло прожевать у которого в голове 8b параметров. KISS
Не ну было такое. Что код давит. Ну там 10 лет назад, когда первый хеллоу ворлд писал. Потом когда дочитал нужное количество книг - стало пофигу кто и как код писал. Научился читать его и выполнять в своей голове без отладчика. Были сомнения если - включал отладчик. Потом навык чтения развился на столько, что любой код - понятный. Даже если в нём есть классы хелперы и переменные названы х1, х2. Всегда есть опция - читать код двумя полушариями - как человек и как машина.
Потом да, надоело что все пишут "плохо" - стандарты начал внедрять. Сначала парочку, потом ещё, потом ещё. Но действительно - для ускорения внедрения фич. Чтобы ревью проводить быстрее, изменения контроллировать лучше. Порог входа в проект конечно выростал, но окупалось такое деяние примерно сразу. Хоп и новая фича залетает за день, потому что она копия вон той, для который есть шаблон.
Шаблоны - да. Паттерны проектирования. Страшные монстры абстракции, когда лень вникать в них. Но стоит потратить день другой - и получаешь ускорение, контроль. А главное код, который менять легко. А код он такой да - для него в первый день всё оверинжениринг и лишние детали. А через неделю - блин, вот если бы начал с шаблона Х, не хныкал бы сейчас, что рефакторишь уже два дня, а фичи новой ещё нет.
Фреймворки - отдельное людям за них спасибо. Вот где был настоящий борщ из всего. Если в руках фреймворк - то весь мир это гвоздь. И вместо создания новых концепций - ну напихивали в коробку кучу всего. Как майкрософт офис - на планете нет человека, который знает всё что там есть на 100%. Но при первом приближении - продукт хороший, и даже понятный. Как и хороший фреймворк - не требует от тебя знать все его 100% деталий и слепо следовать всем им. В итоге ещё одним стандартом команды становится - мы используем для задачи такой то - фреймворк такой то.
Итого, и до мира нейронок были все описанные проблемы в статье. Решали из просто стандартами в рамках команды. Чтобы всем было понятно, зачем мы делаем фичу х так, а не вот так. Просто убираешь вариативность реализации у задач - и всё едет с бустом х1000%.
Финальный стандарт - чистая архитектура. Штука уже древняя, но надёжная как Швейцарские часы. Есть порог входа, но после его преодоления - вечный покой. Твой код теперь масштабируется до бесконечности без головной боли. В один репозиторий можно засунуть не один микросервис и даже не 10, а скажем м×н проектов и систем - настоящая революция. Изменения влетают в изолированные друг от друга участки, влетают быстро, тестируются изолированно и без боли. Микросервисов собирай сколько хочешь и как хочешь. У нас конечно свой вариант Роберта Мартина - потому что совсем классике слепо следовать - как минимум скучно. Но самое полезное забрать - забрали.
Ну и вот пришёл ИИ. Что он поменял? Да ничего. Мы просто его в стандарты вогнали - и он вайбкодит по нашему. Всё что он пишет - понятно, масштабируется, легко меняется. Потому что его спеки и правила по рукам бьют. Да, это ИИ и он не следует всему, что ему сказали и бывает борщит. Ну просто носом его тык в борщ - и он не спервого, так со второго раза нормально сделает.
По итогу - ИИ это множитель того, что у Вас есть. А если для вас всё ещё не знаю - фабрика функций - оверсложность - ну вот и получите умножение - весь код будет с глубиной 1. И супер простой. Потом кароче через 3 дня оно пойдёт его менять и скажет извините, но 1 млн токенов не хватает вместить весь контекст зависимостей, чтобы внести фичу х. Откуда зависимимости ? Ну везде же глубина 1, значит кругом горы импортов. Но я же не так хотел - и тут ИИ сама говорит - а может паттерн проектирования?
Хорошо живут люди. У них dba есть. Тут сам метрики смотришь, идёшь запросы оптимизировать. Потом чтения слишком много - ну кеш делаешь, любой какой побыстрее, хоть в самом микросервисе. Ну да - Рутина рядового бекендера.
А Они такие точку read нагрузки передвинули и такие - хобана статья на хабр.
Представляете говорят - базу можно задолбить оптимальными на чтение запросами. И оказывается - если их просто слать в другое место - базе станет лучше.
А для olap нагрузки говорят - витрины данных и мать вьюхи бывают.
Это эти чтоли повылазили, которые говорили, что "преждевременная оптимизация хужа пожара" - на любое слово, отличное от того что им известно) Не понимаю слово кэш - не ставлю его в место высокой нагрузки. Чтоб точно субд не сожгла бюджет в цод-е.
И вот в 2026 году, когда ИИ делает ревью, кругом царят лозунги "Мы оплатили Вам курсор - вы должны в 10 раз быстрее пилить фичи". Выходит довольно неплохая статья на тему техдолга. Который никому не итересен из владельцев бизнеса. Они сейчас живут в версии что ещё год - два и смогут себе сбербанк навайбкодить с кайфом.
Что 10 лет назад, что сейчас. В таких статьях не хватает как раз того, что лечение тех долга начинается с политики и выбивания времени на это лечение. А внедрить линтеры, чистую архитектуру и гору всего ещё полезного - ну это тривиально и легко сейчас.
Вот советы о том, как бы так аккуратно взять и 2 месяца рефакторинга размазать по спринтам на пол года, чтоб никто не догадался, что кроме фич, там ещё какие то непонятные техдолги команда закрывает, которые как бывает говорят деньгодержаиели "сама себе придумала" - вот за такую статью я бы ящик прива проставил))
"Хорошая архитектура — та, которую легко удалить. А не та, которую легко расширить. "
Интересный он - мир фронтендеров, у них архитектура - это то что удалить можно.
Да. наверное с такими тезисами и примитивы Clean Architecture - это злой овер инжениринг. Хотя SOLID вот освоили оттуда. Ток он без остального бесполезен.
Ну и тестами закрываться надо, чтобы не было ситуаций - как же страшно менять код Х.
Был там ещё один овер принцып KISS. Статья про него буквально, без его названия.
Ну и всех, кому сложно было понять что такое DI уже на курсор поменяли.
Архитектура кода - это как раз и есть о том, что открываю код 3х летней давности - и за 5 минут понял как его поменять без боли. А с sdd на борту так вообще не сам поменял и всё едет как надо.
Как раз буквально философия CA - вам всё равно, на каком языке вы пишите и какими фреймворками жанглируете. Внедрите DI в нужное место и даже 3 года спустя вы поймете, что Вам рефакторить нечего и некуда. А внесение изменений - 5 минут и покатилось.
Но это всё овер абстракции. Которые даже ИИ на 14b параметров понимает)
Освойте CA - и будет Вам счастье. Роберт Мартин за основу.
Что происходит с генерацией кода( не могу назвать эти шайтан машины писателями кода, они больше похожи на 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млн себе из банка в банк - а оно тупануло и отправило деньги в фонд пожертвований развития ллм. Люди пошли просить ллм проверить что не так, оно проверило и сказало что всё нормально. А сами люди уже не в состоянии понимать что внутри их систем происходит - это же не модно, как и код писать руками, фу.
Так ваш протобаф гошный может сразу и в хттп и в грпс.
Я Думал все гоферы с молоком матери начинаюь сначала протобаф описывать, а потом проток генерейть и готов хендлер какой хошь. Проток мок и вот тебе заглушки товарищь фронтендер.
Апи фесту уже 1000 лет в обед.
А SDD - спекулянтус дривнус девелопментус - это шкодерам жизнь проделвает. Написал спеку для ллм. А она тебе пофиг какой код, главное чтоб лампочками моргал)
Самый длинный срач про sdd - спек дривен девелолупмент.
Можно так жить - да. А Нужно?
Беру кароче проект на 100к человек из 70 микросервисов. Пешу кароче спеку.
Прошу модель явить чудо. На первом запросе получаю - слишком длинная спека. Не влезает в 200к токенов.
Декомпозирую. Обкладываюсь рагами, спеками по спекам. Вики на чики брики. Глоссарий планетарий. Настраиваю это добро 6й месяц к ряду. Напечатал и нанейронил текста столько сколько все писатели в мире не написали. Допустим всё это сделал.
Опять иду в чудо окно - сделай фикс на микросервис такой то. Вот тебе все 1000+ спеков. В контекст 200к влезли. Фикс сделали. Тесты сделали. Всё сделали. Пошли на прод залили. Через день уже другой сервис грохнулся. Потому что был связан с этим и модель там поле новое влепила в субд.
ПРосим рефлексировать. Чейонфтрушиться. Черепашиться и скрам мастериться через в себя. Запускаем 100 агентов. Проблема дюже сложная. Они вместе пыжат. Мексикснцы опять без света сидят. 10 000 баксов закинули на токены. Супер мега модель всего включили. И всё! Решена задача. Отлично.
А теперь без нейронок. Крепкий спец, который на проекте год, увидев 4 строчки логов в 2х сервисах такой хм. Написал 5 строчек там, 7 строчек тут. Задеплоил и забыл. Всё работает. Потратил свою энергию на кхм. Это было самое сложное
Вот это ещё одна типичная ошибка при построении RAG систем. Объяснять это так менеджерам и бизнесу особенно. Что модель хоть что то делает в этом процессе, кроме как ртом своим пережёвывает информацию.
Придумали кучу кастылей вокруг текстового генератора и понесёсся словестный понос со всех щелей уже который год одно и тоже.
Ну вроде ничего сложного не придумали. Такое можно навайбкодить за 3 дня.
Смэв4 с его витринами. Где каждое ГОС подразделение свою витрину публикует ? Это уже дата меш? Или всё ещё дата лейк?
Жутко муторная история, супер бюрократичная, интеграция стоит многа деняг. А внутри даже не паркет или авро. ИИ и вайбкодинг ломают об это зубы, ибо документация чего куда жмать - без 100 грам не разбирешься.
Ну то есть вот Вам пример внедрения дата меша, когда разные команды обязаны отвечать за свои данные по стандартам, которые придумали не они, а группа лиц, руководствующаяся одной матрице известно чем.
Не нужны нам они - все эти шмяк херак модные словечки. Сейчас актуально делать что то так, чтобы это ИИ смогло прожевать у которого в голове 8b параметров. KISS
Не ну было такое. Что код давит. Ну там 10 лет назад, когда первый хеллоу ворлд писал. Потом когда дочитал нужное количество книг - стало пофигу кто и как код писал. Научился читать его и выполнять в своей голове без отладчика. Были сомнения если - включал отладчик. Потом навык чтения развился на столько, что любой код - понятный. Даже если в нём есть классы хелперы и переменные названы х1, х2. Всегда есть опция - читать код двумя полушариями - как человек и как машина.
Потом да, надоело что все пишут "плохо" - стандарты начал внедрять. Сначала парочку, потом ещё, потом ещё. Но действительно - для ускорения внедрения фич. Чтобы ревью проводить быстрее, изменения контроллировать лучше. Порог входа в проект конечно выростал, но окупалось такое деяние примерно сразу. Хоп и новая фича залетает за день, потому что она копия вон той, для который есть шаблон.
Шаблоны - да. Паттерны проектирования. Страшные монстры абстракции, когда лень вникать в них. Но стоит потратить день другой - и получаешь ускорение, контроль. А главное код, который менять легко. А код он такой да - для него в первый день всё оверинжениринг и лишние детали. А через неделю - блин, вот если бы начал с шаблона Х, не хныкал бы сейчас, что рефакторишь уже два дня, а фичи новой ещё нет.
Фреймворки - отдельное людям за них спасибо. Вот где был настоящий борщ из всего. Если в руках фреймворк - то весь мир это гвоздь. И вместо создания новых концепций - ну напихивали в коробку кучу всего. Как майкрософт офис - на планете нет человека, который знает всё что там есть на 100%. Но при первом приближении - продукт хороший, и даже понятный. Как и хороший фреймворк - не требует от тебя знать все его 100% деталий и слепо следовать всем им. В итоге ещё одним стандартом команды становится - мы используем для задачи такой то - фреймворк такой то.
Итого, и до мира нейронок были все описанные проблемы в статье. Решали из просто стандартами в рамках команды. Чтобы всем было понятно, зачем мы делаем фичу х так, а не вот так. Просто убираешь вариативность реализации у задач - и всё едет с бустом х1000%.
Финальный стандарт - чистая архитектура. Штука уже древняя, но надёжная как Швейцарские часы. Есть порог входа, но после его преодоления - вечный покой. Твой код теперь масштабируется до бесконечности без головной боли. В один репозиторий можно засунуть не один микросервис и даже не 10, а скажем м×н проектов и систем - настоящая революция. Изменения влетают в изолированные друг от друга участки, влетают быстро, тестируются изолированно и без боли. Микросервисов собирай сколько хочешь и как хочешь. У нас конечно свой вариант Роберта Мартина - потому что совсем классике слепо следовать - как минимум скучно. Но самое полезное забрать - забрали.
Ну и вот пришёл ИИ. Что он поменял? Да ничего. Мы просто его в стандарты вогнали - и он вайбкодит по нашему. Всё что он пишет - понятно, масштабируется, легко меняется. Потому что его спеки и правила по рукам бьют. Да, это ИИ и он не следует всему, что ему сказали и бывает борщит. Ну просто носом его тык в борщ - и он не спервого, так со второго раза нормально сделает.
По итогу - ИИ это множитель того, что у Вас есть. А если для вас всё ещё не знаю - фабрика функций - оверсложность - ну вот и получите умножение - весь код будет с глубиной 1. И супер простой. Потом кароче через 3 дня оно пойдёт его менять и скажет извините, но 1 млн токенов не хватает вместить весь контекст зависимостей, чтобы внести фичу х. Откуда зависимимости ? Ну везде же глубина 1, значит кругом горы импортов. Но я же не так хотел - и тут ИИ сама говорит - а может паттерн проектирования?
Хорошо живут люди. У них dba есть. Тут сам метрики смотришь, идёшь запросы оптимизировать. Потом чтения слишком много - ну кеш делаешь, любой какой побыстрее, хоть в самом микросервисе. Ну да - Рутина рядового бекендера.
А Они такие точку read нагрузки передвинули и такие - хобана статья на хабр.
Представляете говорят - базу можно задолбить оптимальными на чтение запросами. И оказывается - если их просто слать в другое место - базе станет лучше.
А для olap нагрузки говорят - витрины данных и мать вьюхи бывают.
Это эти чтоли повылазили, которые говорили, что "преждевременная оптимизация хужа пожара" - на любое слово, отличное от того что им известно) Не понимаю слово кэш - не ставлю его в место высокой нагрузки. Чтоб точно субд не сожгла бюджет в цод-е.
И вот в 2026 году, когда ИИ делает ревью, кругом царят лозунги "Мы оплатили Вам курсор - вы должны в 10 раз быстрее пилить фичи". Выходит довольно неплохая статья на тему техдолга. Который никому не итересен из владельцев бизнеса. Они сейчас живут в версии что ещё год - два и смогут себе сбербанк навайбкодить с кайфом.
Что 10 лет назад, что сейчас. В таких статьях не хватает как раз того, что лечение тех долга начинается с политики и выбивания времени на это лечение. А внедрить линтеры, чистую архитектуру и гору всего ещё полезного - ну это тривиально и легко сейчас.
Вот советы о том, как бы так аккуратно взять и 2 месяца рефакторинга размазать по спринтам на пол года, чтоб никто не догадался, что кроме фич, там ещё какие то непонятные техдолги команда закрывает, которые как бывает говорят деньгодержаиели "сама себе придумала" - вот за такую статью я бы ящик прива проставил))
"Хорошая архитектура — та, которую легко удалить. А не та, которую легко расширить. "
Интересный он - мир фронтендеров, у них архитектура - это то что удалить можно.
Да. наверное с такими тезисами и примитивы Clean Architecture - это злой овер инжениринг. Хотя SOLID вот освоили оттуда. Ток он без остального бесполезен.
Ну и тестами закрываться надо, чтобы не было ситуаций - как же страшно менять код Х.
Был там ещё один овер принцып KISS. Статья про него буквально, без его названия.
Ну и всех, кому сложно было понять что такое DI уже на курсор поменяли.
Архитектура кода - это как раз и есть о том, что открываю код 3х летней давности - и за 5 минут понял как его поменять без боли. А с sdd на борту так вообще не сам поменял и всё едет как надо.
Как раз буквально философия CA - вам всё равно, на каком языке вы пишите и какими фреймворками жанглируете. Внедрите DI в нужное место и даже 3 года спустя вы поймете, что Вам рефакторить нечего и некуда. А внесение изменений - 5 минут и покатилось.
Но это всё овер абстракции. Которые даже ИИ на 14b параметров понимает)
Освойте CA - и будет Вам счастье. Роберт Мартин за основу.
Ну да. Весь мир embedded device. Просто так видимо на чистом С едет. Там где даже ОС нет.
Для тех у кого код превращается в макароны - чистую архитектуру придумали. Линтеры, код стайлеры и всякие разные вот эти вот "лишние" истории.
Для тех кто чужой код двухлетней давности читать не умеют - курсор с ИИ разработали.
Сказать что Java с её jvm как то сэкономит ресурсы по отношению к другим звучит весело.
Тот же питон живет в каждом линуксе из коробки и хлеба не просит. Один бинарник, как все любят, ток уже скопмилированный.
Я бы С взял. В нём всё понятно и через 100 лет будет.
Доброго дня
А Вам удалось уже нащупать предел 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млн себе из банка в банк - а оно тупануло и отправило деньги в фонд пожертвований развития ллм. Люди пошли просить ллм проверить что не так, оно проверило и сказало что всё нормально. А сами люди уже не в состоянии понимать что внутри их систем происходит - это же не модно, как и код писать руками, фу.
Так ваш протобаф гошный может сразу и в хттп и в грпс.
Я Думал все гоферы с молоком матери начинаюь сначала протобаф описывать, а потом проток генерейть и готов хендлер какой хошь. Проток мок и вот тебе заглушки товарищь фронтендер.
Апи фесту уже 1000 лет в обед.
А SDD - спекулянтус дривнус девелопментус - это шкодерам жизнь проделвает. Написал спеку для ллм. А она тебе пофиг какой код, главное чтоб лампочками моргал)
Самый длинный срач про sdd - спек дривен девелолупмент.
Можно так жить - да. А Нужно?
Беру кароче проект на 100к человек из 70 микросервисов. Пешу кароче спеку.
Прошу модель явить чудо. На первом запросе получаю - слишком длинная спека. Не влезает в 200к токенов.
Декомпозирую. Обкладываюсь рагами, спеками по спекам. Вики на чики брики. Глоссарий планетарий. Настраиваю это добро 6й месяц к ряду. Напечатал и нанейронил текста столько сколько все писатели в мире не написали. Допустим всё это сделал.
Опять иду в чудо окно - сделай фикс на микросервис такой то. Вот тебе все 1000+ спеков. В контекст 200к влезли. Фикс сделали. Тесты сделали. Всё сделали. Пошли на прод залили. Через день уже другой сервис грохнулся. Потому что был связан с этим и модель там поле новое влепила в субд.
ПРосим рефлексировать. Чейонфтрушиться. Черепашиться и скрам мастериться через в себя. Запускаем 100 агентов. Проблема дюже сложная. Они вместе пыжат. Мексикснцы опять без света сидят. 10 000 баксов закинули на токены. Супер мега модель всего включили. И всё! Решена задача. Отлично.
А теперь без нейронок. Крепкий спец, который на проекте год, увидев 4 строчки логов в 2х сервисах такой хм. Написал 5 строчек там, 7 строчек тут. Задеплоил и забыл. Всё работает. Потратил свою энергию на кхм. Это было самое сложное
Проще говоря, модель:
сначала ищет релевантную информацию;
Вот это ещё одна типичная ошибка при построении RAG систем. Объяснять это так менеджерам и бизнесу особенно. Что модель хоть что то делает в этом процессе, кроме как ртом своим пережёвывает информацию.
Придумали кучу кастылей вокруг текстового генератора и понесёсся словестный понос со всех щелей уже который год одно и тоже.
Ничего не умеет делать llm модель сама.