Теория футбола она такая да. Выбегаешь на поле - и вдруг оказывается что ноги не лишние
Все эти метрики и бенчи по ии нейрослопище забугорное. Чтобы показать что одна можель лучше другой на столько то процентов.
Как в той рекламе стирального порошка, который удаляет на 10% пятен лучше и чище. Но кито в рекламе не говорит лучше чем что.
Потом запукаешь бф16 модель. Проседает пропускная способность. Токены летят просто медленнее но зато точнее самих себя. На всё контекстное окно плывёт любой трансформер с похеру каким квантованием. И всё это "работает" так что никто не может понять как. А когдатагент делает хрень, ну его просто просят переделать, пока не получится. Пока матрицы смыслов не перемножаться как хочется, а не как "понято" ии.
Вчера на процессоре 16 ядер цпу и 16гб рама запустил квен на 8млрд параметров - свет включает дома.
В Продах крутим по 26-27 млрд на гпу. Черта с рогами лепят.
Куда там 70 лярдов надо и для чего? А наверное чтобы за один запрос к ллм она сразу поняла что это запрос и его надо обработать.
Сильный сейчас не ИИ, а скрещивание тонны бекенд булевой логики с ИИ оркестратором под флагом - агент.
Вайбкодят все агентами. Сделать за день можно что угодно - да, размером с игрушку. Как танк из картона, у него вроде и пушка на месте и цвет зеленый и кабина есть - только посадить туда можно одного человечка - и тот покемон.
Переделать то что навайбкожено - проще заново навайбкодить. Это и назвали макетами.
Создать боевой танк без настоящего интеллекта невозможно. В ИИ агентов на все 50 ультра подписок можно спихнуть изготовление 100 000 деталей игрушечного размера. И потом ещё в агентов на агентов сборку в продукт. И всё равно нужен постоянный надзор за происходящим.
И времени в итоге уходит не чуть не меньше на продукт, чем раньше. Просто оно тратиться на вообще другие вещи. У вас армия бестолковых миньонов, у которых ограничено контекстное окно и у них всё каждый раз как в первый раз. И они ещё на пределе всегда и генерируют код на все ваши бабки с такой же суммарной скоростью, с какой вы его и печатали всегда. Поставил задачу - прошло пол часа, произошло по 4-5 строк кода изменений в 50 файлах. Запустили ии ревьювера, ии тестировщика - они вроде всё проокали, потом через 2 часа всё померло, потому что они окали баги и думали что всё прекрасно. Хьюман ин зе лупа - сказали надо - ревью на нас и точка. Теперь снова 30 минут шкодит армия желтых психов в подгузниках - и теперь мы за ними проверяем всё тщательно. 2 часа спустя кейс закрыт, колонка прокинута с фронта на бек до субд. Миграция написана - счастье радость авации.... Сам бы за 5 минут сделал, а тут гордость испытываешь как за дитя, которое сделало первый шаг. И думаешь ну да код писать руками уже лень и не модно.
Но вмять за ногу - у кого и когда вообще были проблемы с написанием кода? У джунов? Которые только первую книгу про код прочитали? Все эти болячки после года энтерпрайза заканчивались у всех и сразу и за быстро.
И вот процессы перевенулись) С написания кода в болтовню с заказчиком. Куда и с чего? Примерно никогда не было важно какой там код у тебя красивый или правильный. Хотя были там всякие инфоцигане и курсопродажники, утверждающее иное. Но они просто бабло стригли на маглах, нельзя их винить за это. Реальным разрабам, которые собирали эти порталы с курсами - надо было платить зп с чего то. Машина капитализма - вся херня, так бывает.
Важно всегда было что код делает, зачем и за какой бюджет рантайма по железу. За чей счет банкет по бабкам на проекте и какую пользу он принесет бизнесу. И где то там в конце списка код.
И про заказчиков - матрицы требований и всякое "занудное" существовало и до ии. Как компьютерное зрение, распознование речи и эмбеддинги с векторными базами.
И как бы странно ни было - обычно есть такой человек у бизнеса - методолог. Который понимает почему у бизнеса такие процессы сейчас, как бизнес работает, зачем в текущем бизнесе такие системы, и что в итоге они хотят изменить. Если конечно гендир выполняет там такую роль и бизнес не супер крупный - ну ему никуда не убежать от вопросов. И Ваша задача всегда стать по сути учеником методолога - чтобы понять его боли. Придется разобраться в предметной области, а не только в том как в ии пихать задачи. И понять мир где варится закзачик. Тогда вы и сделаете систему какую надо. Потому что не Вам расскажут что надо. А вы сами поймёте что надо Вооооот что. Это как дип рисёч, но только не в то как распознать картинку с точностью до 100% - а в то как понять боль заказчика по двум его предложениям - я бизнес такой то, численность такая то, в процессах таких то нам не хватает вот этого.
И Вы пошли через ии агентов копать и учиться что за бизнес, какие там процессы, что с чем связано. Как там работают люди, в чем. Что едят на завтрак и почему это влияет на пропускную способность цеха. Раскопали всё что ток могли. Поняли и тут бац - вернулись к заказчику как его заместитель и такие - ну вот так делаем.
Вот чего все хотят сейчас. Чтобы всё само делалось)
Ну можно вообще транзакции выключить/не использовать и за секунду положить в пг 10 000 000 млн строк в одну таблицу.
Но который год всем одно и тоже говоришь - быстро не значит качественно. Вот Мораль Вашей статьи.
Если субд кастрировать, так что она выдаст 200ок, а там не 200ок. Ну и нахер она нужна в таком виде) Можно в оперативку вон накидать данных с таким же успехом) И будет супер бенчмарк.
Ну так и получается. Что сами себя загоняем в такие рамки. Чтобы объять необъятное. Кто-то уже нашёл ту точку, когда пора прекращать всё переделывать? Или ещё нет?
Для пользователей переделанное иногда - это просто новая моделька побежала, новый скин нарисовали.
Постоянно переделывать движок - не помню чтобы сейчас был Ureal Engine 100 версии.
Чем больше человеку даёшь - тем больше он просит. Натура у него такая. Зачем потакать этому?
А причин нет кроме денег. Чем больше хочешь денег - тем больше от них проблем.
Ну желание вечно бежать в перед и объять необъятное - оно так и выглядит. После преодоления преграды - возникает новая возможность и сразу новая преграда. Если не опеределить конец пути - будет как в мандалорце - у него нет цели есть только путь.
Вот вы описали типичную ситуацию любого продукта, когда непонятно куда он движется и для чего. Главное, что деньги платят. Там ещё обычно агрессивный марктениг этому способствует. Привлекает людей всё больше, масштаб растёт, а с ним и пробелы новые.
Но вот был год оф вор. Его сделали, поиграли кайфанули и конец истории. Потом ещё раз сделали другую часть.
Лучшие истории - имеют финал. Первый железный человек был классный. Второй нормальный. Трертий был не нужен.
Ну а так по коду если - убирайте технику и сложности за адаптеры и всегда делайте DI.
Нет передела совершенству - но он есть. И наступает тогда, когда появляется вот такая статья о сложностях.
Да. Я далек от мира игр. Но как будто речь про онлайн - там вечно музыка играет пока всем не надоест. И людей стараются удержать там чем ток можно и нельзя. Но думаю им не повредит раз в 3 года стабильно закрываться. Чтобы ментально освобождаться для новых идей.
Так я и не понял что за такие суровые условия, которые запрещают использовать настоящий модульный монолит (упакованные в докер сервисы, смотряшие в одну и туже бд в субд), когда микросервисы (всё то же самое, что у модульного монолита, только каждому сервису своя бд и х10 пухлее инфра на observability и sla) - действительно дорого.
У нас докер официально можно на астралинуксе. Даже когда кубер под запретом.
Беглым взглядом это всё похоже на старый добрый rpc. С зачатками apache spark. И немножно от airflow.
Кому и какие пороги снижать надо - тоже не понятно. Смог поставить впн, установить ии агента и оплатить его криптой - красавчик, годен - все пороги к созданию чего угодно снижены до минимума.
Если хочется понять куда двигаться - запилите бенчмарк, запишите ютуб стрим - как Ваше решение убивает опенсорсы и модульные монолиты реальные.
А кодить и разбираться в коде сейчас ну бабушка сможет если ей токенов купить, дать микрофон в куда диктовать и она слепит сайт с рецептами.
Что происходит - а побоище по всем направлениям. IT потихоньку катится в русло обычной работы. Где все работают за зарплату. Сотрудники снова стали работниками. На твое место 100+ человек с опытом 1000 лет. Не хочешь - катись вон рынок , завтра найдут того кто хочет. ИИ уничтожил всю уникальность накопленных знаний, впитав почти их все. И людей которые не смогут делать то что можешь ты сейчас - ну ИИ все компенсирует. Главное - хотеть делать за ту сумму, какую ты не хочешь. И не волнуют ни кого твои эмоции. Напоминает прадовца из магазина - примерно кто угодно может быть продавцом. Теперь - кто угодно айтишник.
Какие у нас дейлики и планерки - эмоции заказчика важны - он должен быть доволен примерно всегда. Свои оставим при себе. Вот и все эмоции.
Последнее время про эмоции лучшее решение - выключить их.
IT само себя пережевало, как обычо делает. Но в этот раз колесо фортуны повернулось у этой профессии не тем местом, каким хотелось.
Раньше как было - создали софт, закрыли кому то проблему - вот деньги. Процент человеков, который был способен делать софт - был крайне мал. И всем была работа. Порог входа был высокий, надо было уметь читать и быстро и книжек много в себя впитывать. Сейчас процент человеков вырос по всем направлениям. Каждый джун стал сеньором, каждый мидл архитектором, а каждый магл - айтишником.
А теперь - техногиганты - всех по домам отправляют.
фриланс - как будто вообще помер, запилить бота в телегу сможет даже бабушка 50 лет.
Остальные - ну тут гладиаторские бои за клиентов. Вайбкодом собираются чуть ли не под ключь мвп за 3 дня, лишь бы у тебя купили корп систему.
Задача с добавлением комментария - маленькая. Ну когда твои хард скилы выходят далеко за пределы кода - в такой декомпозиции нужды нет. Грубо говоря твои руки на столько большие что одна пицца умещается на ладони. И она для тебя на один укус.
Все вопросы в твоей голове закрываются сразу из накопленного опыта решения таких кейсов и 1000 им подобных. Банальный CRUD, стандартный рест, обычная rls, шаблонные sql запросы, типовые фронт-бек контракты, дизайн на проекте уже есть. Пользователь нажимает удалить - естественно просто отметка в субд, удалим как нибудь потом по расписанию и пачкой. Там 152 ФЗ - тогда удаление под корень. Файлы - конечно их в s3, или в s2 (если есть грамотно построенное другое хранилище и его есть кому обслуживать). И большая часть вопросов задачи закрывается архитектурными решениями, принятыми на старте проекта, стандартами разработки - установленными в команде, технологическим стеком (храню комментарии в кликхаусе - товарищь мутации/удаления ненавидит). Фронт начинается с утвержденного UI - kit, и наследует установденный регламент работы над сущностями, а также дизайн.
И вот с этим ты сразу приходишь в агента. Потом рефакторишь свой приход. У тебя появляется манифест ответов на все вопросы для него, на которые ты сам с закрытми глазами отвечаешь и даже не формулируешь их больше.
А каждый раз атомарно декомпозировать для агента - дорого и долго по времени.
Быстрее когда ты вложил ему все свои знания в манифесты.
Потом удивишься сам - скажешь добавь комментарий - он минут 20 покодит фронт и бек и скажет готово босс. Миграции напишет, тестами закроет, микросервисы врубит, всё проверит и тебе ссылку на сайт даст, скажет нажимай. А там и rls накручена и все юзер сценарии работают. Останется только пару запросов по косметике отработать и в продакшен.
Я тебе придумал песочницу - отдельный комп. И пусть там развлекается. А шума наверное нет, потому что подавляющее число пользователей IDE - программисты, инженеры, ну все мы, кто знает - что такое IDE и хабр)))
А у нас обычно для работы отдельный комп под юниксом + ещё пара тройка одноплатников для забавы. Под юниксом можно запустить любой процесс с порезанными правами, создав отдельного вузера.
Но даже с этим никто особо не парится, потому что на рабочем компе кроме кода ничего нет обычно.
Окно модели 200к токенов. 1млн токенов тоже бывает. Но если у неё на 200к деградация, то смысла в этой кнопке нет. А кнопка "думай" - это вообще для верующих.
Отсюда и амнезия. И контекст постоянно нужно собирать заново да. И каждый раз как в первый раз у неё всё именно поэтому.
Будешь изолированно, методично и грамотно собирать контекст к задаче - будет тебе счастье. Автоматизируй сборку через скрипты. Не векторизируй то, что можно однозначно отыскать.
А знать и помнить всё на свете - нет такой задачи у ии. Ты у руля - тебе и помнить. А то щлеп, и всю твою зп отправили на токены - ведь оно же теперь само может и всё помнит, а за код отвечает директор фирмы)
ИИ шка с 1летним стажем говорит, что рут доекру не нужен, можно сопкойно на вар сок права своему вузеру выдать, имаджи собирать без рут прав, и волюмы - это абстракция размером в одну строчку. Докер не виноват, что им не умеют пользоваться и все лепят по дефолту своими кожанными рученками.
У меня крутится 10 контейнеров на впске за 3 копейки и 1 гигом рама. Хз чего оно там овер хедит. В докер все упаковывать через вайбшкодинг - получается дешевле по токенам, чем через системные службы и баш. Там отладка происходящего для ИИ сложнее, токенов горит больше. Контекста больше.
А так - ну за все платить надо. Зачем вообще ставить линукс? Можно свою ось чисто под сервис навайбшкодить и конкретные железки, так же проще. А то оверхед, ай ай
Апи отправки в чат агента никуда не денеться. Телеграмм бот апи, макс бот апи тоже. UI удобного чата тоже.
А вот дальше что все хотят - это я ему написал запрос - пусть всё само сделается с кайфом и красиво. Вы инженеры подумайте там, как оно там чтобы всё - и права, и безопасность, само себя настроило.
Люди буквально хотят вайбкодить в любой продукт и систему - отправил запрос, а дальше само сделалось. Скоро и к чемодану с тяжелым вооруженрем этот чат анешенс прилепят.
Вот да - "каждый проект тянет его со всем деревом зависимостей и исполняет у себя". А почему это проблема?
Если мой пакет лёгкий и чистый питон. А у Вас статья так и начинается - надоело простые полезные функции везде таскать. То дерево зависимостей - 0 зависимостей. Ну или там 2-3. Архитектурно - я трачу такты ЦПУ, не напрягая сеть для передачи трафика между нодами, ради 2+2. То есть если у меня реально что-то лёгкое - то гонять ради этого сеть - как это там говорили раньше - зашквар, антипаттерн. Но по факту - анти профит. Ваше решение увеличивает нагрузку на сеть на ровном месте - маленький питон пакет, делающий операцию допустим за 100 микро-секунд - требует в Вашем случае сетевой доступ (который в лучшем случае +10 милли-секунд), снижающий пропускную способность системы, ради того, чтобы кода меньше сделать на 5 строчек. Ну это то чем Вы реально будете платить за уменьшение кода в данном случае. Вы ещё говорили что делать в таком случае микро-сервис - это как с пушки по воробьям. Но именно это и сделали, просто без докеров и контейнеров. То есть без обвеса в виде конфигов, ямлов и докерфайлов. А архитектурная суть не изменилась - сетевой доступ к простому пакету.
Если вы написали крутую оболочку, которая например дережирует дровами всех СУБД на свете - ну это своя библиотека (SQLAclhemy) - Ваше решение точно не подходит. А если Вам нужен сетевой доступ к SQLAclhemy - ну это = микро-сервис.
Если ваша задача - держать и пере-использовать вычисления разных pytorch - ну есть Ray. Ну вроде тот самый случай, когда зависимостей действительно много, а верхне-уровневого это выглядит как "Вот картинка - дай текст" def get_markdown(picture). И получается вы конкурируете только здесь с готовым решением. Но с ним и докер конкурирует. Иногда проще всё упаковать в один контейнер за кафкой, чем Ray притащить.
Вобщем главный вывод - код всегда часть системы. Важно что он делает, и сколько кушает ресурсов и каких ресурсов он кушает. Как код устроен внутри - тоже важно безусловно. Но точно не важнее того, что код делает и сколько ресурсов кушает.
Вы сделали нано-сервис по факту. Это когда микросервис на столько маленький, что вместо готового блюда, например - венигрет. Он является - кубиком свеклы. Но это не меняет сути - наличие сети между вызовами функций, по http/https (API) они там, gRPC, бинарю RPC, голому TCP/UDP. А отсюда есть золотое правило - наличие сети должно быть оправдано тем, что затраты на транспорт пакета должны быть существенно ниже чем время обработки операции. Ну там запаковать пакет, распаковать, послать, принять, распаковать, направить в нужный стек, вызвать функцию - вот эти все операционные расходы должны казаться ничтожными по сравнению с самой функцией. Если функция 2+2 - то у Вас плохой венигрет. Если функция КартинкуВМаркдаун - у Вас хороший венигрет.
Решение с пакетом было верным. В чем разница между pip install splime. И pip install МойПакетПолезногоБарахла.
Давать по сети незащищенный доступ к куче рабочих питонов - звучит как надежный план создать поле хакерам для творчества
Подозреваю что сделано на старом добром RPC. Со всеми вытекающими.
Ну а ещё есть ray с похожей идеей - запустить что угодно в каком хочешь окружении.
Ну куча возни со своим пакетом и выпуском ему тегов - на практике делается 5 минут. Вы автоматизировали то, что заниемает 5 минут. Из которых 4ре на деплой.
А интересно какая куча возни ждет в части ИБ если поставить себе это чудо, у которого представляете без авторизации можно на удаленной ноде делать чего хочется.
Думаю вы просто хотели ray. И распределенные вычисления. Но Вам попался "сложный" airflow с его дагами. После прочтения статьи возникло да ощущение что ray ещё раз разработали. Мне он не особо нравится, но вещь мощная.
Смэв4 с его витринами. Где каждое ГОС подразделение свою витрину публикует ? Это уже дата меш? Или всё ещё дата лейк?
Жутко муторная история, супер бюрократичная, интеграция стоит многа деняг. А внутри даже не паркет или авро. ИИ и вайбкодинг ломают об это зубы, ибо документация чего куда жмать - без 100 грам не разбирешься.
Ну то есть вот Вам пример внедрения дата меша, когда разные команды обязаны отвечать за свои данные по стандартам, которые придумали не они, а группа лиц, руководствующаяся одной матрице известно чем.
Не нужны нам они - все эти шмяк херак модные словечки. Сейчас актуально делать что то так, чтобы это ИИ смогло прожевать у которого в голове 8b параметров. KISS
Не ну было такое. Что код давит. Ну там 10 лет назад, когда первый хеллоу ворлд писал. Потом когда дочитал нужное количество книг - стало пофигу кто и как код писал. Научился читать его и выполнять в своей голове без отладчика. Были сомнения если - включал отладчик. Потом навык чтения развился на столько, что любой код - понятный. Даже если в нём есть классы хелперы и переменные названы х1, х2. Всегда есть опция - читать код двумя полушариями - как человек и как машина.
Потом да, надоело что все пишут "плохо" - стандарты начал внедрять. Сначала парочку, потом ещё, потом ещё. Но действительно - для ускорения внедрения фич. Чтобы ревью проводить быстрее, изменения контроллировать лучше. Порог входа в проект конечно выростал, но окупалось такое деяние примерно сразу. Хоп и новая фича залетает за день, потому что она копия вон той, для который есть шаблон.
Шаблоны - да. Паттерны проектирования. Страшные монстры абстракции, когда лень вникать в них. Но стоит потратить день другой - и получаешь ускорение, контроль. А главное код, который менять легко. А код он такой да - для него в первый день всё оверинжениринг и лишние детали. А через неделю - блин, вот если бы начал с шаблона Х, не хныкал бы сейчас, что рефакторишь уже два дня, а фичи новой ещё нет.
Фреймворки - отдельное людям за них спасибо. Вот где был настоящий борщ из всего. Если в руках фреймворк - то весь мир это гвоздь. И вместо создания новых концепций - ну напихивали в коробку кучу всего. Как майкрософт офис - на планете нет человека, который знает всё что там есть на 100%. Но при первом приближении - продукт хороший, и даже понятный. Как и хороший фреймворк - не требует от тебя знать все его 100% деталий и слепо следовать всем им. В итоге ещё одним стандартом команды становится - мы используем для задачи такой то - фреймворк такой то.
Итого, и до мира нейронок были все описанные проблемы в статье. Решали из просто стандартами в рамках команды. Чтобы всем было понятно, зачем мы делаем фичу х так, а не вот так. Просто убираешь вариативность реализации у задач - и всё едет с бустом х1000%.
Финальный стандарт - чистая архитектура. Штука уже древняя, но надёжная как Швейцарские часы. Есть порог входа, но после его преодоления - вечный покой. Твой код теперь масштабируется до бесконечности без головной боли. В один репозиторий можно засунуть не один микросервис и даже не 10, а скажем м×н проектов и систем - настоящая революция. Изменения влетают в изолированные друг от друга участки, влетают быстро, тестируются изолированно и без боли. Микросервисов собирай сколько хочешь и как хочешь. У нас конечно свой вариант Роберта Мартина - потому что совсем классике слепо следовать - как минимум скучно. Но самое полезное забрать - забрали.
Ну и вот пришёл ИИ. Что он поменял? Да ничего. Мы просто его в стандарты вогнали - и он вайбкодит по нашему. Всё что он пишет - понятно, масштабируется, легко меняется. Потому что его спеки и правила по рукам бьют. Да, это ИИ и он не следует всему, что ему сказали и бывает борщит. Ну просто носом его тык в борщ - и он не спервого, так со второго раза нормально сделает.
По итогу - ИИ это множитель того, что у Вас есть. А если для вас всё ещё не знаю - фабрика функций - оверсложность - ну вот и получите умножение - весь код будет с глубиной 1. И супер простой. Потом кароче через 3 дня оно пойдёт его менять и скажет извините, но 1 млн токенов не хватает вместить весь контекст зависимостей, чтобы внести фичу х. Откуда зависимимости ? Ну везде же глубина 1, значит кругом горы импортов. Но я же не так хотел - и тут ИИ сама говорит - а может паттерн проектирования?
Хорошо живут люди. У них dba есть. Тут сам метрики смотришь, идёшь запросы оптимизировать. Потом чтения слишком много - ну кеш делаешь, любой какой побыстрее, хоть в самом микросервисе. Ну да - Рутина рядового бекендера.
А Они такие точку read нагрузки передвинули и такие - хобана статья на хабр.
Представляете говорят - базу можно задолбить оптимальными на чтение запросами. И оказывается - если их просто слать в другое место - базе станет лучше.
А для olap нагрузки говорят - витрины данных и мать вьюхи бывают.
Это эти чтоли повылазили, которые говорили, что "преждевременная оптимизация хужа пожара" - на любое слово, отличное от того что им известно) Не понимаю слово кэш - не ставлю его в место высокой нагрузки. Чтоб точно субд не сожгла бюджет в цод-е.
И вот в 2026 году, когда ИИ делает ревью, кругом царят лозунги "Мы оплатили Вам курсор - вы должны в 10 раз быстрее пилить фичи". Выходит довольно неплохая статья на тему техдолга. Который никому не итересен из владельцев бизнеса. Они сейчас живут в версии что ещё год - два и смогут себе сбербанк навайбкодить с кайфом.
Что 10 лет назад, что сейчас. В таких статьях не хватает как раз того, что лечение тех долга начинается с политики и выбивания времени на это лечение. А внедрить линтеры, чистую архитектуру и гору всего ещё полезного - ну это тривиально и легко сейчас.
Вот советы о том, как бы так аккуратно взять и 2 месяца рефакторинга размазать по спринтам на пол года, чтоб никто не догадался, что кроме фич, там ещё какие то непонятные техдолги команда закрывает, которые как бывает говорят деньгодержаиели "сама себе придумала" - вот за такую статью я бы ящик прива проставил))
Теория футбола она такая да. Выбегаешь на поле - и вдруг оказывается что ноги не лишние
Все эти метрики и бенчи по ии нейрослопище забугорное. Чтобы показать что одна можель лучше другой на столько то процентов.
Как в той рекламе стирального порошка, который удаляет на 10% пятен лучше и чище. Но кито в рекламе не говорит лучше чем что.
Потом запукаешь бф16 модель. Проседает пропускная способность. Токены летят просто медленнее но зато точнее самих себя. На всё контекстное окно плывёт любой трансформер с похеру каким квантованием. И всё это "работает" так что никто не может понять как. А когдатагент делает хрень, ну его просто просят переделать, пока не получится. Пока матрицы смыслов не перемножаться как хочется, а не как "понято" ии.
Вчера на процессоре 16 ядер цпу и 16гб рама запустил квен на 8млрд параметров - свет включает дома.
В Продах крутим по 26-27 млрд на гпу. Черта с рогами лепят.
Куда там 70 лярдов надо и для чего? А наверное чтобы за один запрос к ллм она сразу поняла что это запрос и его надо обработать.
ИИ - интеллект искуственный. Не настоящий.
Сильный сейчас не ИИ, а скрещивание тонны бекенд булевой логики с ИИ оркестратором под флагом - агент.
Вайбкодят все агентами. Сделать за день можно что угодно - да, размером с игрушку. Как танк из картона, у него вроде и пушка на месте и цвет зеленый и кабина есть - только посадить туда можно одного человечка - и тот покемон.
Переделать то что навайбкожено - проще заново навайбкодить. Это и назвали макетами.
Создать боевой танк без настоящего интеллекта невозможно. В ИИ агентов на все 50 ультра подписок можно спихнуть изготовление 100 000 деталей игрушечного размера. И потом ещё в агентов на агентов сборку в продукт. И всё равно нужен постоянный надзор за происходящим.
И времени в итоге уходит не чуть не меньше на продукт, чем раньше. Просто оно тратиться на вообще другие вещи. У вас армия бестолковых миньонов, у которых ограничено контекстное окно и у них всё каждый раз как в первый раз. И они ещё на пределе всегда и генерируют код на все ваши бабки с такой же суммарной скоростью, с какой вы его и печатали всегда. Поставил задачу - прошло пол часа, произошло по 4-5 строк кода изменений в 50 файлах. Запустили ии ревьювера, ии тестировщика - они вроде всё проокали, потом через 2 часа всё померло, потому что они окали баги и думали что всё прекрасно. Хьюман ин зе лупа - сказали надо - ревью на нас и точка. Теперь снова 30 минут шкодит армия желтых психов в подгузниках - и теперь мы за ними проверяем всё тщательно. 2 часа спустя кейс закрыт, колонка прокинута с фронта на бек до субд. Миграция написана - счастье радость авации.... Сам бы за 5 минут сделал, а тут гордость испытываешь как за дитя, которое сделало первый шаг. И думаешь ну да код писать руками уже лень и не модно.
Но вмять за ногу - у кого и когда вообще были проблемы с написанием кода? У джунов? Которые только первую книгу про код прочитали? Все эти болячки после года энтерпрайза заканчивались у всех и сразу и за быстро.
И вот процессы перевенулись) С написания кода в болтовню с заказчиком. Куда и с чего? Примерно никогда не было важно какой там код у тебя красивый или правильный. Хотя были там всякие инфоцигане и курсопродажники, утверждающее иное. Но они просто бабло стригли на маглах, нельзя их винить за это. Реальным разрабам, которые собирали эти порталы с курсами - надо было платить зп с чего то. Машина капитализма - вся херня, так бывает.
Важно всегда было что код делает, зачем и за какой бюджет рантайма по железу. За чей счет банкет по бабкам на проекте и какую пользу он принесет бизнесу. И где то там в конце списка код.
И про заказчиков - матрицы требований и всякое "занудное" существовало и до ии. Как компьютерное зрение, распознование речи и эмбеддинги с векторными базами.
И как бы странно ни было - обычно есть такой человек у бизнеса - методолог. Который понимает почему у бизнеса такие процессы сейчас, как бизнес работает, зачем в текущем бизнесе такие системы, и что в итоге они хотят изменить. Если конечно гендир выполняет там такую роль и бизнес не супер крупный - ну ему никуда не убежать от вопросов. И Ваша задача всегда стать по сути учеником методолога - чтобы понять его боли. Придется разобраться в предметной области, а не только в том как в ии пихать задачи. И понять мир где варится закзачик. Тогда вы и сделаете систему какую надо. Потому что не Вам расскажут что надо. А вы сами поймёте что надо Вооооот что. Это как дип рисёч, но только не в то как распознать картинку с точностью до 100% - а в то как понять боль заказчика по двум его предложениям - я бизнес такой то, численность такая то, в процессах таких то нам не хватает вот этого.
И Вы пошли через ии агентов копать и учиться что за бизнес, какие там процессы, что с чем связано. Как там работают люди, в чем. Что едят на завтрак и почему это влияет на пропускную способность цеха. Раскопали всё что ток могли. Поняли и тут бац - вернулись к заказчику как его заместитель и такие - ну вот так делаем.
Вот чего все хотят сейчас. Чтобы всё само делалось)
Ну можно вообще транзакции выключить/не использовать и за секунду положить в пг 10 000 000 млн строк в одну таблицу.
Но который год всем одно и тоже говоришь - быстро не значит качественно. Вот Мораль Вашей статьи.
Если субд кастрировать, так что она выдаст 200ок, а там не 200ок. Ну и нахер она нужна в таком виде) Можно в оперативку вон накидать данных с таким же успехом) И будет супер бенчмарк.
И ни одного сравнения по метрикам. Как будто кусок статьи потерялся.
На сколько милвус этот обгоняет квадрант? И что значит вычисоения отдельно от хранения?
Я может америку открою, но у Вас и так всегда вычисления отдельно от хранения. Вычисляет проц + ram, хранит nvme/ssd.
Если у меня один проц считает, а другой только с диска мне пуляет - то между ними сеть толстенной оптики, чтобы оно вообще оправданно было.
Квадрант классный. Его документация учит понять геометрию.
Ну так и получается. Что сами себя загоняем в такие рамки.
Чтобы объять необъятное.
Кто-то уже нашёл ту точку, когда пора прекращать всё переделывать?
Или ещё нет?
Для пользователей переделанное иногда - это просто новая моделька побежала, новый скин нарисовали.
Постоянно переделывать движок - не помню чтобы сейчас был Ureal Engine 100 версии.
Чем больше человеку даёшь - тем больше он просит. Натура у него такая.
Зачем потакать этому?
А причин нет кроме денег. Чем больше хочешь денег - тем больше от них проблем.
Может просто другую игру начать делать?
Ну желание вечно бежать в перед и объять необъятное - оно так и выглядит. После преодоления преграды - возникает новая возможность и сразу новая преграда. Если не опеределить конец пути - будет как в мандалорце - у него нет цели есть только путь.
Вот вы описали типичную ситуацию любого продукта, когда непонятно куда он движется и для чего. Главное, что деньги платят. Там ещё обычно агрессивный марктениг этому способствует. Привлекает людей всё больше, масштаб растёт, а с ним и пробелы новые.
Но вот был год оф вор. Его сделали, поиграли кайфанули и конец истории. Потом ещё раз сделали другую часть.
Лучшие истории - имеют финал. Первый железный человек был классный. Второй нормальный. Трертий был не нужен.
Ну а так по коду если - убирайте технику и сложности за адаптеры и всегда делайте DI.
Нет передела совершенству - но он есть. И наступает тогда, когда появляется вот такая статья о сложностях.
Да. Я далек от мира игр. Но как будто речь про онлайн - там вечно музыка играет пока всем не надоест. И людей стараются удержать там чем ток можно и нельзя. Но думаю им не повредит раз в 3 года стабильно закрываться. Чтобы ментально освобождаться для новых идей.
Родила старуха в ночь не то сына, не то дочь.
Так я и не понял что за такие суровые условия, которые запрещают использовать настоящий модульный монолит (упакованные в докер сервисы, смотряшие в одну и туже бд в субд), когда микросервисы (всё то же самое, что у модульного монолита, только каждому сервису своя бд и х10 пухлее инфра на observability и sla) - действительно дорого.
У нас докер официально можно на астралинуксе. Даже когда кубер под запретом.
Беглым взглядом это всё похоже на старый добрый rpc. С зачатками apache spark. И немножно от airflow.
Кому и какие пороги снижать надо - тоже не понятно. Смог поставить впн, установить ии агента и оплатить его криптой - красавчик, годен - все пороги к созданию чего угодно снижены до минимума.
Если хочется понять куда двигаться - запилите бенчмарк, запишите ютуб стрим - как Ваше решение убивает опенсорсы и модульные монолиты реальные.
А кодить и разбираться в коде сейчас ну бабушка сможет если ей токенов купить, дать микрофон в куда диктовать и она слепит сайт с рецептами.
Что происходит - а побоище по всем направлениям. IT потихоньку катится в русло обычной работы. Где все работают за зарплату. Сотрудники снова стали работниками. На твое место 100+ человек с опытом 1000 лет. Не хочешь - катись вон рынок , завтра найдут того кто хочет. ИИ уничтожил всю уникальность накопленных знаний, впитав почти их все. И людей которые не смогут делать то что можешь ты сейчас - ну ИИ все компенсирует. Главное - хотеть делать за ту сумму, какую ты не хочешь. И не волнуют ни кого твои эмоции. Напоминает прадовца из магазина - примерно кто угодно может быть продавцом. Теперь - кто угодно айтишник.
Какие у нас дейлики и планерки - эмоции заказчика важны - он должен быть доволен примерно всегда. Свои оставим при себе. Вот и все эмоции.
Последнее время про эмоции лучшее решение - выключить их.
IT само себя пережевало, как обычо делает. Но в этот раз колесо фортуны повернулось у этой профессии не тем местом, каким хотелось.
Раньше как было - создали софт, закрыли кому то проблему - вот деньги. Процент человеков, который был способен делать софт - был крайне мал. И всем была работа. Порог входа был высокий, надо было уметь читать и быстро и книжек много в себя впитывать. Сейчас процент человеков вырос по всем направлениям. Каждый джун стал сеньором, каждый мидл архитектором, а каждый магл - айтишником.
А теперь - техногиганты - всех по домам отправляют.
фриланс - как будто вообще помер, запилить бота в телегу сможет даже бабушка 50 лет.
Остальные - ну тут гладиаторские бои за клиентов. Вайбкодом собираются чуть ли не под ключь мвп за 3 дня, лишь бы у тебя купили корп систему.
Я бы эмоции убрал. В бою им не место
Задача с добавлением комментария - маленькая. Ну когда твои хард скилы выходят далеко за пределы кода - в такой декомпозиции нужды нет. Грубо говоря твои руки на столько большие что одна пицца умещается на ладони. И она для тебя на один укус.
Все вопросы в твоей голове закрываются сразу из накопленного опыта решения таких кейсов и 1000 им подобных. Банальный CRUD, стандартный рест, обычная rls, шаблонные sql запросы, типовые фронт-бек контракты, дизайн на проекте уже есть. Пользователь нажимает удалить - естественно просто отметка в субд, удалим как нибудь потом по расписанию и пачкой. Там 152 ФЗ - тогда удаление под корень. Файлы - конечно их в s3, или в s2 (если есть грамотно построенное другое хранилище и его есть кому обслуживать). И большая часть вопросов задачи закрывается архитектурными решениями, принятыми на старте проекта, стандартами разработки - установленными в команде, технологическим стеком (храню комментарии в кликхаусе - товарищь мутации/удаления ненавидит). Фронт начинается с утвержденного UI - kit, и наследует установденный регламент работы над сущностями, а также дизайн.
И вот с этим ты сразу приходишь в агента. Потом рефакторишь свой приход. У тебя появляется манифест ответов на все вопросы для него, на которые ты сам с закрытми глазами отвечаешь и даже не формулируешь их больше.
А каждый раз атомарно декомпозировать для агента - дорого и долго по времени.
Быстрее когда ты вложил ему все свои знания в манифесты.
Потом удивишься сам - скажешь добавь комментарий - он минут 20 покодит фронт и бек и скажет готово босс. Миграции напишет, тестами закроет, микросервисы врубит, всё проверит и тебе ссылку на сайт даст, скажет нажимай. А там и rls накручена и все юзер сценарии работают. Останется только пару запросов по косметике отработать и в продакшен.
Я тебе придумал песочницу - отдельный комп. И пусть там развлекается. А шума наверное нет, потому что подавляющее число пользователей IDE - программисты, инженеры, ну все мы, кто знает - что такое IDE и хабр)))
А у нас обычно для работы отдельный комп под юниксом + ещё пара тройка одноплатников для забавы. Под юниксом можно запустить любой процесс с порезанными правами, создав отдельного вузера.
Но даже с этим никто особо не парится, потому что на рабочем компе кроме кода ничего нет обычно.
Фронтендеры... Всё как обычно по верхам.
Окно модели 200к токенов. 1млн токенов тоже бывает. Но если у неё на 200к деградация, то смысла в этой кнопке нет. А кнопка "думай" - это вообще для верующих.
Отсюда и амнезия. И контекст постоянно нужно собирать заново да. И каждый раз как в первый раз у неё всё именно поэтому.
Будешь изолированно, методично и грамотно собирать контекст к задаче - будет тебе счастье. Автоматизируй сборку через скрипты. Не векторизируй то, что можно однозначно отыскать.
А знать и помнить всё на свете - нет такой задачи у ии. Ты у руля - тебе и помнить. А то щлеп, и всю твою зп отправили на токены - ведь оно же теперь само может и всё помнит, а за код отвечает директор фирмы)
ИИ шка с 1летним стажем говорит, что рут доекру не нужен, можно сопкойно на вар сок права своему вузеру выдать, имаджи собирать без рут прав, и волюмы - это абстракция размером в одну строчку. Докер не виноват, что им не умеют пользоваться и все лепят по дефолту своими кожанными рученками.
У меня крутится 10 контейнеров на впске за 3 копейки и 1 гигом рама. Хз чего оно там овер хедит. В докер все упаковывать через вайбшкодинг - получается дешевле по токенам, чем через системные службы и баш. Там отладка происходящего для ИИ сложнее, токенов горит больше. Контекста больше.
А так - ну за все платить надо. Зачем вообще ставить линукс? Можно свою ось чисто под сервис навайбшкодить и конкретные железки, так же проще. А то оверхед, ай ай
Апи отправки в чат агента никуда не денеться. Телеграмм бот апи, макс бот апи тоже. UI удобного чата тоже.
А вот дальше что все хотят - это я ему написал запрос - пусть всё само сделается с кайфом и красиво. Вы инженеры подумайте там, как оно там чтобы всё - и права, и безопасность, само себя настроило.
Люди буквально хотят вайбкодить в любой продукт и систему - отправил запрос, а дальше само сделалось. Скоро и к чемодану с тяжелым вооруженрем этот чат анешенс прилепят.
Вот да - "каждый проект тянет его со всем деревом зависимостей и исполняет у себя".
А почему это проблема?
Если мой пакет лёгкий и чистый питон. А у Вас статья так и начинается - надоело простые полезные функции везде таскать. То дерево зависимостей - 0 зависимостей. Ну или там 2-3.
Архитектурно - я трачу такты ЦПУ, не напрягая сеть для передачи трафика между нодами, ради 2+2. То есть если у меня реально что-то лёгкое - то гонять ради этого сеть - как это там говорили раньше - зашквар, антипаттерн. Но по факту - анти профит.
Ваше решение увеличивает нагрузку на сеть на ровном месте - маленький питон пакет, делающий операцию допустим за 100 микро-секунд - требует в Вашем случае сетевой доступ (который в лучшем случае +10 милли-секунд), снижающий пропускную способность системы, ради того, чтобы кода меньше сделать на 5 строчек.
Ну это то чем Вы реально будете платить за уменьшение кода в данном случае.
Вы ещё говорили что делать в таком случае микро-сервис - это как с пушки по воробьям.
Но именно это и сделали, просто без докеров и контейнеров. То есть без обвеса в виде конфигов, ямлов и докерфайлов. А архитектурная суть не изменилась - сетевой доступ к простому пакету.
Если вы написали крутую оболочку, которая например дережирует дровами всех СУБД на свете - ну это своя библиотека (SQLAclhemy) - Ваше решение точно не подходит.
А если Вам нужен сетевой доступ к SQLAclhemy - ну это = микро-сервис.
Если ваша задача - держать и пере-использовать вычисления разных pytorch - ну есть Ray. Ну вроде тот самый случай, когда зависимостей действительно много, а верхне-уровневого это выглядит как "Вот картинка - дай текст" def get_markdown(picture).
И получается вы конкурируете только здесь с готовым решением.
Но с ним и докер конкурирует. Иногда проще всё упаковать в один контейнер за кафкой,
чем Ray притащить.
Вобщем главный вывод - код всегда часть системы. Важно что он делает, и сколько кушает ресурсов и каких ресурсов он кушает.
Как код устроен внутри - тоже важно безусловно. Но точно не важнее того, что код делает и сколько ресурсов кушает.
Вы сделали нано-сервис по факту. Это когда микросервис на столько маленький, что вместо готового блюда, например - венигрет. Он является - кубиком свеклы.
Но это не меняет сути - наличие сети между вызовами функций, по http/https (API) они там, gRPC, бинарю RPC, голому TCP/UDP. А отсюда есть золотое правило - наличие сети должно быть оправдано тем, что затраты на транспорт пакета должны быть существенно ниже чем время обработки операции. Ну там запаковать пакет, распаковать, послать, принять, распаковать, направить в нужный стек, вызвать функцию - вот эти все операционные расходы должны казаться ничтожными по сравнению с самой функцией.
Если функция 2+2 - то у Вас плохой венигрет.
Если функция КартинкуВМаркдаун - у Вас хороший венигрет.
Решение с пакетом было верным. В чем разница между pip install splime. И pip install МойПакетПолезногоБарахла.
Давать по сети незащищенный доступ к куче рабочих питонов - звучит как надежный план создать поле хакерам для творчества
Подозреваю что сделано на старом добром RPC. Со всеми вытекающими.
Ну а ещё есть ray с похожей идеей - запустить что угодно в каком хочешь окружении.
Ну куча возни со своим пакетом и выпуском ему тегов - на практике делается 5 минут. Вы автоматизировали то, что заниемает 5 минут. Из которых 4ре на деплой.
А интересно какая куча возни ждет в части ИБ если поставить себе это чудо, у которого представляете без авторизации можно на удаленной ноде делать чего хочется.
Думаю вы просто хотели ray. И распределенные вычисления. Но Вам попался "сложный" airflow с его дагами. После прочтения статьи возникло да ощущение что ray ещё раз разработали. Мне он не особо нравится, но вещь мощная.
Ну вроде ничего сложного не придумали. Такое можно навайбкодить за 3 дня.
Смэв4 с его витринами. Где каждое ГОС подразделение свою витрину публикует ? Это уже дата меш? Или всё ещё дата лейк?
Жутко муторная история, супер бюрократичная, интеграция стоит многа деняг. А внутри даже не паркет или авро. ИИ и вайбкодинг ломают об это зубы, ибо документация чего куда жмать - без 100 грам не разбирешься.
Ну то есть вот Вам пример внедрения дата меша, когда разные команды обязаны отвечать за свои данные по стандартам, которые придумали не они, а группа лиц, руководствующаяся одной матрице известно чем.
Не нужны нам они - все эти шмяк херак модные словечки. Сейчас актуально делать что то так, чтобы это ИИ смогло прожевать у которого в голове 8b параметров. KISS
Не ну было такое. Что код давит. Ну там 10 лет назад, когда первый хеллоу ворлд писал. Потом когда дочитал нужное количество книг - стало пофигу кто и как код писал. Научился читать его и выполнять в своей голове без отладчика. Были сомнения если - включал отладчик. Потом навык чтения развился на столько, что любой код - понятный. Даже если в нём есть классы хелперы и переменные названы х1, х2. Всегда есть опция - читать код двумя полушариями - как человек и как машина.
Потом да, надоело что все пишут "плохо" - стандарты начал внедрять. Сначала парочку, потом ещё, потом ещё. Но действительно - для ускорения внедрения фич. Чтобы ревью проводить быстрее, изменения контроллировать лучше. Порог входа в проект конечно выростал, но окупалось такое деяние примерно сразу. Хоп и новая фича залетает за день, потому что она копия вон той, для который есть шаблон.
Шаблоны - да. Паттерны проектирования. Страшные монстры абстракции, когда лень вникать в них. Но стоит потратить день другой - и получаешь ускорение, контроль. А главное код, который менять легко. А код он такой да - для него в первый день всё оверинжениринг и лишние детали. А через неделю - блин, вот если бы начал с шаблона Х, не хныкал бы сейчас, что рефакторишь уже два дня, а фичи новой ещё нет.
Фреймворки - отдельное людям за них спасибо. Вот где был настоящий борщ из всего. Если в руках фреймворк - то весь мир это гвоздь. И вместо создания новых концепций - ну напихивали в коробку кучу всего. Как майкрософт офис - на планете нет человека, который знает всё что там есть на 100%. Но при первом приближении - продукт хороший, и даже понятный. Как и хороший фреймворк - не требует от тебя знать все его 100% деталий и слепо следовать всем им. В итоге ещё одним стандартом команды становится - мы используем для задачи такой то - фреймворк такой то.
Итого, и до мира нейронок были все описанные проблемы в статье. Решали из просто стандартами в рамках команды. Чтобы всем было понятно, зачем мы делаем фичу х так, а не вот так. Просто убираешь вариативность реализации у задач - и всё едет с бустом х1000%.
Финальный стандарт - чистая архитектура. Штука уже древняя, но надёжная как Швейцарские часы. Есть порог входа, но после его преодоления - вечный покой. Твой код теперь масштабируется до бесконечности без головной боли. В один репозиторий можно засунуть не один микросервис и даже не 10, а скажем м×н проектов и систем - настоящая революция. Изменения влетают в изолированные друг от друга участки, влетают быстро, тестируются изолированно и без боли. Микросервисов собирай сколько хочешь и как хочешь. У нас конечно свой вариант Роберта Мартина - потому что совсем классике слепо следовать - как минимум скучно. Но самое полезное забрать - забрали.
Ну и вот пришёл ИИ. Что он поменял? Да ничего. Мы просто его в стандарты вогнали - и он вайбкодит по нашему. Всё что он пишет - понятно, масштабируется, легко меняется. Потому что его спеки и правила по рукам бьют. Да, это ИИ и он не следует всему, что ему сказали и бывает борщит. Ну просто носом его тык в борщ - и он не спервого, так со второго раза нормально сделает.
По итогу - ИИ это множитель того, что у Вас есть. А если для вас всё ещё не знаю - фабрика функций - оверсложность - ну вот и получите умножение - весь код будет с глубиной 1. И супер простой. Потом кароче через 3 дня оно пойдёт его менять и скажет извините, но 1 млн токенов не хватает вместить весь контекст зависимостей, чтобы внести фичу х. Откуда зависимимости ? Ну везде же глубина 1, значит кругом горы импортов. Но я же не так хотел - и тут ИИ сама говорит - а может паттерн проектирования?
Хорошо живут люди. У них dba есть. Тут сам метрики смотришь, идёшь запросы оптимизировать. Потом чтения слишком много - ну кеш делаешь, любой какой побыстрее, хоть в самом микросервисе. Ну да - Рутина рядового бекендера.
А Они такие точку read нагрузки передвинули и такие - хобана статья на хабр.
Представляете говорят - базу можно задолбить оптимальными на чтение запросами. И оказывается - если их просто слать в другое место - базе станет лучше.
А для olap нагрузки говорят - витрины данных и мать вьюхи бывают.
Это эти чтоли повылазили, которые говорили, что "преждевременная оптимизация хужа пожара" - на любое слово, отличное от того что им известно) Не понимаю слово кэш - не ставлю его в место высокой нагрузки. Чтоб точно субд не сожгла бюджет в цод-е.
И вот в 2026 году, когда ИИ делает ревью, кругом царят лозунги "Мы оплатили Вам курсор - вы должны в 10 раз быстрее пилить фичи". Выходит довольно неплохая статья на тему техдолга. Который никому не итересен из владельцев бизнеса. Они сейчас живут в версии что ещё год - два и смогут себе сбербанк навайбкодить с кайфом.
Что 10 лет назад, что сейчас. В таких статьях не хватает как раз того, что лечение тех долга начинается с политики и выбивания времени на это лечение. А внедрить линтеры, чистую архитектуру и гору всего ещё полезного - ну это тривиально и легко сейчас.
Вот советы о том, как бы так аккуратно взять и 2 месяца рефакторинга размазать по спринтам на пол года, чтоб никто не догадался, что кроме фич, там ещё какие то непонятные техдолги команда закрывает, которые как бывает говорят деньгодержаиели "сама себе придумала" - вот за такую статью я бы ящик прива проставил))