melikhov.dev
رفتن به کانال در Telegram
Фронтенд, фронт-бек и около. Всё, что в голову пришло. нейрорак за нейроруку нейрогреку нейрослоп
نمایش بیشتر4 715
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-267 روز
-1430 روز
آرشیو پست ها
4 714
Может быть нейронки пока нас и не замят — вон Хашимото пишет как плохо ему оптимизировал всё AI. Но есть другая проблема — они заменяют пользователям сервисы и софт, которые мы пилим.
Как человек, делающий BI я уже вижу вопросы — а зачем мне ваш DataLens, если я могу взять кликхаус и дать клод клоду задачку наверстать дэшей. Пупупу... А мы так гордились, что у нас низкий порог входа, но вот появился порог входа ещё ниже.
И вот тут большая и сложная продуктовая задача, как дать такую добавленную ценность своему продукту, чтобы она перекрыла вот это кастомное решение под себя. Безопасность, гарантированное качество, воспроизводимость — ну в общем всё то, что нет так интересно человеку, которому просто нужен дэш, но очень важно и интересно бизнесу.
Как только вас больше чем один пользователь в продукте, вот тут и начинаются интересные вопросы, которые, к счастью, пока так запросто нейронкой не порешать.
Т.е. мне кажется SaaS для бизнеса пока может жить более менее спокойно. И чем крупнее бизнес — тем дольше ничего не будет угрожать классической разработке. А вот всё маленькое, тут гораздо сложнее. Нужно прямо сидеть и глубоко думать над сложно воспроизводимыми фичами.
Например, в нашем агенте можно строить графики и делать выводы по датасету. Казалось бы та же история — натрави клод на кликхаус напрямую. Но вот только с клода пользователь получит SQL запрос (возможно нечитаемый) + визуализацию. Которые ему будет проверить в каких-то случаях непросто. Потому мы предлагаем вариант, где наш агент строит чарт через абстракцию, которая позволяет зайти в чарт в интерактивном режиме и проверить/уточнить все фильтры. И быть уверенным в полученных данных.
Можно такое сделать в клоде? Можно. Но можно ли такое сделать быстро, дёшево и надёжно — вот тут уже нет.
Но отдельный больной вопрос от пользователей — «так дайте просто богатый API, а я на него навешу уже клод, не нужны мне ваши интерфейсы, нужен только бэк». Ох, теснят фронтендеров, теснят 🙂
4 714
Насколько мне не зашли попытки подключаться из IDE к агентам через ACP (Agent Client Protocol), настолько же понравилось простое в лоб решение с Terminal Threads в Zed.
Родилось оно, подозреваю, из желания хоть как-то спасти ситуацию после того, как Антропики буквально закопали ACP своим запретом так использовать подписку.
Ну посмотрим, что ещё смогут прорастить туда зедовцы кроме нотификаций и какую свинью в ответ снова подложат Антропики.
Потому что хочется сращивать в своих пайплайнах разные модели. У меня сейчас счастливо трудятся вместе gpt-5.5 и опус. И разрешение на использование подписок только проприетарных клиентах это флоу ломает. Пусть хотя бы тогда зед сам оркестрирует это, запуская в одном табе кодекс, во втором клод код.
Нехороший движ этот с окукливанием моделей вокруг собственных харнесов. Неприятный.
4 714
Сегодня долго спорили с Ромой, нужно ли (и можно ли) ревьювить тысячи строк кода, вылетающих из нейронки. Я однозначно пока за ревью. За декомпозицию задач, чтобы не было тех самых тысяч строк кода. За доскональное вычитывание того, что именно там сделано.
Да, это требует времени, но время у нас появилось. Мы больше не набиваем код руками, не перебираем десятки файлов чтобы собрать отсутствующий контекст. И можем потратить это время на построение архитектуры и ревью.
Но есть конечно и обратная сторона, связанная с когнитивной перегрузкой и Рома хорошо про неё написал.
Но что делать-то? Ревью это не только про качество, но и про передачу знаний о кодовой базе. И отдав его на откуп тем же нейронкам мы рискуем совсем оторваться от понимания происходящего внутри продукта. А это, в свою очередь, усложнит разработку новых решений.
И мы рискуем попасть в ту историю, как у мейнтейнера zed в разработке DeltaDB
too much agentic coding led to code that smelled correct, but fell apart as soon as you started to build on it. I still edit the code manually to ensure the narrative is clear, to keep my mental model of the problem up to date, and to ensure that the code actually does what it purports to dohttps://zed.dev/blog/not-building-ai-for-the-money#concern-2-ai-code-is-worthless
4 714
С началом мая решил потренировать голову и поменять (в который раз) инструменты разработки. Сменил Ghostty на Kitty — при всём уважении к Митчеллу Хашимото Ghostty всё же сырой продукт. Но красивый.
В замену к Claude Code поставил Pi, благо токены я жгу по ценам API и нет никаких вопросов со стороны Антропика. Привыкаю к дикой скорости и необузданному характеру этого харнесса, над которым нужно ещё свой слой изоляции навернуть. С другой стороны — ну а можем ли мы доверять встроенному сэндбоксингу любого харнесса? Так что пакуем в контейнеры/виртуалки и не даём ходить куда не надо.
Большой плюс Pi, Opencode и других универсальных харнессов — возможность сидеть в разных LLM. Обычно у меня параллельно открыт проект в Opus/Sonnet в одном табе и gpt 5.5 во втором. Одна модель пишет код, вторая его критикует. Каких-то мегапайплайнов тут не выстраивал, просто делаю скиллы и дёргаю руками. Токенов у меня не много, не разгуляешься отдавать на откуп всё LLM.
Скиллы тоже, кстати, пришлось подправить. Изначально написанные под CC они не такие уж универсальные оказались. Потому что чихать хотел Антропик на свой же agentskills.io. Стандарты для слабаков.
Снова заехал в Zed. Долго боролся с его дурацкой привычкой выкачивать бинарники из интернета на удалённой машине. Да, нашлась настройка
"ssh_connections": [
{
// by default Zed will download the server binary from the internet on the remote.
// When this is true, it'll be downloaded to your laptop and uploaded over SSH.
// This is useful when your remote server has restricted internet access.
"upload_binary_over_ssh": true,
}
]
Так какого лешего вы считаете, что по умолчанию в контейнере будет интернет (да ещё и не умеете в IPv6) ?
Пытался подружиться с ACP в Zed, но никак мне не заходит. Банально жалко место на экране тратить, проще скакнуть в консоль сделать там и в Zed поглядывать уже диффы.
Ну и напоследок инсайты — Яндекс активно заезжает на TSGo в дев-среде (прод пока на обычном tsc конечно). Потому что обычный TS уже не справляется в условиях огромных монореп. Пора!
Тут включу бабу Ягу и скажу, что мне не очень нравится, что лечат симптомы, а не болезнь — нужно уходить на Project References, а не заливать железом и горутинами, которые тоже не бесконечны (а уж в словиях macFUSE и подавно, хе-хе). Но это дорого, конечно.4 714
Пока читал «Проект “Аве Мария”» Энди Вейера, никак не мог отделаться от мысли, что держу в руках производственный роман в стиле той же «Цели» Голдратта или хайповавшего во времена расцвета девопс-культуры «Проекта “Феникс”». Стиль: задача — объяснение — решение.
Кстати, забавный факт: в случае «Феникса» не только названия похожи, но и именно так назывался проект SETI по поиску внеземных цивилизаций. Старички помнят SETI по SETI@home — когда мы отдавали машинное время личных компьютеров не на майнинг крипты, а на анализ радиосигналов.Возвращаясь к «Аве Марии»: книга увлекательная, но мне сложно назвать это художественной литературой. Скорее научпоп в обёртке производственного романа, где бодрый, весёлый Мэри Сью решает проблемы любой сложности с помощью НАУКИ. Не страдает ни герой, ни читатель, ни писатель. «Марсианин» как-то оставил больше послевкусия.
4 714
К товарищам прилетел вопрос от пользователя — а почему ваша документация AI-недоступна?
А почему? Потому что там React без SSR.
Вот так-то, снова привет. Несмотря на то, что краулеры уже начились парсить CSR почти без вопросов, и мы привыкли так жить, но тут SSR наносит ответный удар откуда не ждали. Хочешь, чтобы можно было эффективно кормить агента твоим контекстом — будь добр, научись отдавать всё без JS.
Нет, конечно всегда можно запустить хедлесс хром, но это как-то максимально глупо (если мы говорим про документацию, а не богатый UI).
4 714
пупупу https://roocode.com/blog/sunsetting-roo-code-extension-cloud-and-router
We don't believe IDEs are the future of coding.
4 714
И всё таки этим вашим бямкам не хватает простой советкой инженерой смекалочки. Если задача решает в лоб — они её решат. Если не решается, то будет придуман адовый воркэраунд (который скорее всего не будет работать).
Вот три часа бился Опус у меня и так и не смог обойти проблемы Дипсика. А простой кондовый уникальный для этой задачи костыль — смог.
Так что, господа инженеры-костылестроители, расслабляемся. Мы всё ещё достойны.
4 714
Выложил статью по мотивам декабрьского Субботника, расписал почему и как у нас в команде фронтендеры занимаются AI-агентами. Получилось несколько э... корпоративно, что ли. Но я не могу, когда вижу Хабр — хочется побыстрее сделать дело, пройти редактуру и уйти. В общем не лучшее моё творение, но вы заглядывайте, если тема близка.
https://habr.com/ru/companies/yandex/articles/1022804/
4 714
С трудом выдерживаю поток новостей. Решил (как и многие сейчас наверное) автоматизировать дайджесты. OpenClaw тащить не хотелось, навайбкодил простые скрипты на Питоне — работает.
Поднял VPS (2 vCPU, 4 GB RAM):
- Telethon парсит телеграм каналы
- feedparser собирает RSS из Hacker News, Habr, dev.to, TechCrunch
- DeepSeek v3.2 через Yandex AI Studio (вот и грант пригодился) суммаризирует и оформляет
- Плюс тот же DeepSeek переписывает в подкаст-скрипт
- Yandex SpeechKit озвучивает
И всё это летит по крону в телеграм в виде текста и аудио.
Нужно добавить побольше источников, реддитов всяких и прочее, будет ещё приятнее. Ну и промпты покачать.
Делитесь, а как вы парсите новости?
4 714
+2
Deep Research в Перплексити пока ещё молодец, Claude значительно медленней и хуже справляется не справляется
4 714
А ещё мы недавно разобрали полирепозиторий нашей проектной матрешки. Как мы жили после выезда в опенсорс?
Был OSS репозиторий, который затягивался в closed source проект и добавлялись экстеншены из их собственного репозитория. Красиво, надёжно, но сложно и очень медленно в итерациях. 1 PR превращался зачастую в 6 (с полным CI циклом). В том числе сложно для ai, как не объясняй, что вот в этой папочке еще один git лежит и надо это учитывать.
В итоге продержавшись несколько лет мы вернулись в монорепу с зеркалом oss папки наружу.
И стало хорошо (разработчикам и ai).
Пришлось только pnpm прикрутить. И смириться, что опенсорс — это зеркало.
4 714
Раз уж я так не люблю mcp, то начал с себя, удалил их все, а там, где было нужно для корпоративного — напилил скиллами поверх курла.
И стало хорошо.
Ну не хочу я тратить контекст, не хочу жонглировать пачкой локальных сервачков. Да, mcp еще нанесут ответный удар через lazy стиль. Но пока мне без них лучше, чем с ними.
4 714
Гармин работают на одном заряде так долго только потому, что никто не хочет смотреть на этот порт для зарядки чаще, чем раз в две недели. Питаются энергией ненависти владельцев.
4 714
Уже пару месяцев как присоединился к тренду не писать код руками (совсем). Пока ещё не перевёл агента на полный цикл «посмотри какие у меня там таски в трекере и сделай», но иногда, во время дежурств и правда получается ваншотить: входящее обращение от пользователя о багах превращается в прекрасно оформленный PR, в котором и придраться не к чему. А как HAR разбирает — так просто песня. А можно ещё и рядом репозиторий бэкенда подложить, ммм.
В рабочих задачах это всё ещё куча циклов брейшторма, ревью и откатов назад. Но код я не трогаю. Общаюсь в чате, в конце прошу оформит PR. Возможно, будь у меня дикий «безлимитный» тариф я бы и попробовал пожить в режиме ральф лупа, но имеем, что имеем. Нужно быть осторожным, чтобы Опуса хватило на месяц. Потому никаких запущенных параллельно агентов и x10 продуктивности. x3-x4 максимум (но плохо чтоль? хорошо!)
Удивительно удачно это наложилось на бессонные ночи и отсутствие личного времени. Буквально спасло меня от сваливание в андерперформера (ну или от смерти от истощения, хе-хе).
С одной стороны «Не можешь победить — возглавь». С другой — а зачем побеждать? Я пишу код уже без малого 30 лет и сам процесс написания кода никогда не был для меня источником удовольствия. Гораздо интереснее всегда было само комплексное решение задачи. И вот здесь (пока) ничего не меняется. Ну кроме того, что это стало веселей
Я думаю, что кодирование постепенно уйдёт в прошлое. И возможно пугающе быстро. Как когда-то исчезла профессия переноса алгоритмов на перфокарты. Останутся любители писать код вручную как хобби. Так же как сейчас кто-то пишет на функциональных языках для удовольствия. Да и я сам больше всего удовольствия получал от ассемблера (прямо как водить машину с ручной коробкой передач. Чистый кайф)
Останется ли человеко-читаемый код? Вот этот вопрос гораздо интересней. И пока никаких прогнозов тут дать не могу. Будут ли программы писаться сразу в машинных кодах? Сможет ли человек это раздебажить самостоятельно? Хорошие вопросы.
Что делать со всем этим? Я думаю, что стоит качаться в специалиста максимально широкого профиля. Шнецы-жнецы с дудкой за пазухой — вот кто продержится дольше всех.
Ну а может завтра нам выкатят такие цены за инференсы, что забудем всю эту историю как страшный сон и снова будем код набивать.
4 714
Кто хочет Маттео Коллину к себе в команду практически бесплатно? Он есть у меня у себя! Ну не весь, конечно, а только в виде своих лучших практик.
https://adventures.nodeland.dev/archive/my-personal-skills-for-ai-assisted-nodejs/
4 714
В поисках самого лучшего эмулятора терминала
Как подметил Тонский, пока мы пытались сделать хорошие интерфейсы — зумеры ушли в консоль. А для консоли нужен эмулятор терминала, чтобы вывозить все эти реакт-приложения (что? да!)
Сначала немного теории. Что такое эмулятор терминала? Это программа, которая эмулирует древнюю железку — терминал. Например вот VT100. То, что в обиходе называет терминалом, на самом деле эмулятор такой железки. Что такое эскейп последовательности? Нам нужно отправить в шелл или в программу, запущенную в консоли комбинацию клавиш, которую мы нажали. Но у нас нет никакой возможности, кроме как закодировать это набором символов. Как-то так `^[b` для option + left. Попробуйте сами — нажимаем `ctrl + v` и дальше нажимаем нужную нам комбинацию клавиш. Проблема в том, что нет нормального стандарта на эскейп последовательности. Если в базовых option+left и т.д. все ещё более менее совпадают, то shift+enter кто во что горазд кодирует. Как система понимает, с каким эмулятором она работает? Знание об этом храниться в $TERM. Например, для terminal и item2 это будет `xterm-256color`. Для других терминало может быть другое значение. В системе есть целый справочник `/usr/lib/terminfo` где сказано, как читать эскейп последовательности для вашего эмулятора терминала.Родной эмулятора терминала macOS — отлетает сразу, у него нет эскейп-последовательностей на shift + enter (а нам надо! мы же хотим в клод коде промпты писать!). И не круто же, из коробки белый фон. Мы такое не уважаем, эмулятор терминала должен всем показать, что ты крутой хакер. iterm2 дефолт, но конечно достал. Не быстрый, из коробки пользовать им невозможно (ну реально раздражает каждый раз после установки идти проходить квест по настройке эскейп последовательностей в диких менюшках). Ну и просто старый. Фу. Но куда бежать? Ghostty. Быстрый (написан на zig), нативный, с простым конфигом. Ну просто лепота. Но есть одно но, большинство линуксов ничего о нём не знает. И когда вы подключитесь по ssh и откроете клод код — shift + enter работать не будет. В ghostty это понимают и предлагают автоматический режим для закидывания terminfo на любую машинку куда вы подключаетесь. Даже два режима: прокидывай terminfo, либо автоматически подменяй $TERM на
xterm-256color (нам не катит, мы же ищем shift + enter). Если вы готовы немножко помусорить на удалённых машинках, то всё ок.
Kitty Тоже быстрый, но не такой нативный и красивый как Ghostty. Супер конфигурируемый, мощь. Проблема с terminfo присутствует.
Warp. AI во все поля. Чтобы зайти — нужно создать в облаке учётку и залогиниться. Это я не понял и не уважаю. Не по нашему это, не по хакерски. Дизлайк, отписка.
Пока остановился на Ghostty
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
