partially unsupervised
9.55K subscribers
28 photos
2 files
207 links
@arsenyinfo пишет про software engineering и machine learning
Download Telegram
What makes Claude Code so damn good (and how to recreate that magic in your agent)

Рекомендую почитать любителям везде воткнуть мультиагентный граф, сверху накинуть векторный RAG и удивляться, почему все не очень работает.
❤‍🔥39👍14👌4🔥21💩1
Когда я осваивал ML, много зависал на Kaggle. Было увлекательно, хотя иногда и унизительно - вроде бы думаешь, что понимаешь что-то, а потом твой скор застревает в нижней половине таблицы, и ты понимаешь, где твое место. В итоге чему-то научился, мастера намайнил, перед пацанами стало не стыдно, и даже в поиске работы пару раз пригодилось.

Но не кагглом единым. Сегодня у нас реклама соревнования от HFT-фонда Wunder Fund. Они захостили свое соревнование, нужно предсказать следующее состояние рынка по набору анонимизированных фичей. В отличие от реальной жизни, долго разбираться с природой данных не получится, придется больше фокусироваться на моделях, что многие любят. Данных маловато, но для кого-то и это плюс - можно поучаствовать без личного кластера.

Как в меру ответственный блогер, я и сам сделал сабмит, попал в топ-50 вообще безо всякого ML, так что бейзлайн как будто не очень сложный. Платформа сделана качественно (в отличие от многих наколеночных соревнований за пределами Kaggle), документация понятная; в общем, если вы еще не настолько дед, чтобы не участвовать в соревнованиях, то посмотрите!

$13600 призового фонда, 15 сентября - 1 декабря, регистрация открыта.
1👍31🔥126💩6🌭2
Cześć, warszawiacy! 🧜‍♀️🇵🇱

Объявление для польских подписчиков: 15 октября буду выступать на AI agents митапе в Варшаве (в основном пересказывать свои старые посты). Вход стоит каких-то денег, но организаторы обещали мне несколько билетов.

Думаю, что среди подписчиков есть желающие, но не знаю, сколько. Принимать решения мне тоже лень. Поэтому план для желающих такой:
- нужно заполнить нехитрую форму до вечера понедельника;
- если желающих будет до трех человек, организаторы просто вышлют вам билеты;
- если желающих будет больше, то после закрытия формы я попрошу некую LLM выбрать тех, кто больше всего достоин халявных билетов, основываясь на ответах в поле "Why do you want to attend?"

Лотерея, которую мы вы заслужили 🎰
10👍40😁13❤‍🔥5🙈32💊2
Когда-то я думал, что ML метрика - это довольно простая функция от двух параметров: обученной модели и тестового датасета. Но это абстракция, конечно, не выдерживает столкновения с реальным миром, а параметров значительно больше.

С локальными факторами справиться как будто несложно. О роли random seed довольно быстро узнают даже новички. Зафиксировать библиотеки тоже учат на software engineering 101.

То, что совпадение версии библиотеки - не признак эквивалентности, узнают не все (я когда-то два полных дня искал причину расхождения в ML тестах, и кроличья нора привела меня к нюансам линковки libjpeg в билдах pillow пятилетней давности).

Влияет и железо, причем не только на уровне "на какой платформе и с какой версией драйверов" - вот нетривиальный пример:
The most compelling proof came when we took a failed L20 experiment and resumed it from a checkpoint on H20 GPUs. The training immediately stabilized and recovered, proving the hardware's first-order impact on the problem.


Когда бенчмарки стали считаться поверх LLM API, отмазка "на моей машине воспроизводится" перестала работать. К локальным факторам добавился целый пласт скрытых факторов на стороне провайдера. Сначала по аналогии с random seed = 42 все учились выставлять температуру в 0, потом широко известный в узких кругах стартап всем рассказал, что размер батча важен.

И вот недавно я наступил на новые грабли: внутренний агентский бенчмарк по генерации приложений начал демонстрировать явную сезонность. Видел такое раньше, когда человек додумался использовать datetime.now() где-то в feature engineering. Ручная работа с фичами - история почти античных времен, явно не про prompt2app кодогенерацию.

Ничего хитрого: у агента было два ограничения, на количество шагов и на общее время генерации. И вот в час пик по американскому времени провайдеру становилось хуже, скорость ответа падала => случались таймауты.
1041👍22😁20🔥8
Если вы отбитый вайбкодер, стремительно выжирающий лимиты подписки, или просто любите китайские подделки, посмотрите на z.ai.

Их флагманская модель GLM 4.6 сейчас даже не лучшая среди open weights моделей, но у нее есть два преимущества:
- их самый дорогой тариф сейчас стоит 360 баксов в год (а самый дешевый - в десять раз меньше);
- они не постеснялись из коробки обеспечить совместимость c Claude Code до такой степени, что на вопрос "what model is under your hood?", он отвечает "Sonnet 4.5".

Конечно, никакие серьезно приватные данные я бы этой штукой не трогал, но для всякой фигни работает. Например, я недавно хотел натравить Клода привести в порядок файлопомойку - обновить систему, разобраться, почему иногда шара отваливается, почистить остатки плохо удалившихся экспериментально установленных пакетов и так далее. Но теперь вместо Клода этим занимается его младший брат Злод.
3😁63👍143👎1🤡1
Чистил канпюктер от старья и внезапно обнаружил, что за последний год перестал использовать в разработке четыре столпа, которые казались незыблемыми последние лет десять: iTerm, Pycharm, Pyenv, Docker Desktop.

iTerm и Pycharm продолжали обрастать фичами, которые мне ни к чему. Фичи бесплатными не бывают: у iterm в 2024 всплыла неприятная уязвимость, Pycharm продолжал слегка тормозить даже на свежем железе (возможно, я просто не знаю все флаги, как дать ему еще больше памяти). Так я перешел на более легкие альтернативы - Wezterm и Zed.

Pyenv когда-то был отличным способом управлять зоопарком питонов и вместе с poetry делал управление зависимостями терпимым. Но uv разрубил этот узел, оно просто работает. Лучшее, что случилось с Python экосистемой, не считая maturin.

Про избавление от Docker Desktop мне пришлось подумать на работе, потому что в Большой Корпорации для него нужна отдельная лицензия, которая положена не всем. Мне таки положена, но дать продакту демку стало сложнее. Так я познакомился с colima, перешел на нее (все еще с docker runtime / docker cli, которые не требуют коммерческой лицензии) на рабочей тачке, а заодно и на своей, совершенно этого не заметив. Впрочем, чистым докером я тоже пользуюсь все меньше, потому что меня покусал Dagger.
6👍93🙏76🤔4🔥3❤‍🔥2💯2👎1👌1
В моем CV много лет написано "Love building dev tools", и типичный нанимающий менеджер смотрел на это в лучшем случае без интереса. Dev tools и devex были чем-то относительно маргинальным.

И вот довольно резко мир поменялся, и dev tools оказались на слуху. За новыми devtools релизами в YC уже невозможно уследить. Но отложим венчурный мир и астрономически суммы в пресс-релизах Cursor и последователей, есть причины и более приземленные.

Во-первых, собственно распространение инструментов AI-powered IDE/agents привело к тому, что технические менеджеры, купив всем подписку на Cursor, вынужденно задумались о том, где боттлнек в software development life cycle. Он и до расцвета кодинг агентов был едва ли в имплементации, но сейчас это стало еще заметнее. Доля кодирования на фоне митингов, согласований, возни с инфрой стала совершенно незначительной. Избавиться от митингов техническими способами невозможно, а вот ускорить путь от коммита до релиза обычно можно.

Во-вторых, devex на самом деле отчасти превращается в agentic experience. Разработчик библиотеки сейчас должен удовлетворить пользователя исключительно фичами, а вот API надо оптимизировать скорее для агентов. Счастье программиста от элегантного API измерять сложно, а вот сходимость агента - довольно легко. Я и сам прошлую неделю строил цепочку, чтобы агент рекомендовал другому агенту, как передизайнить CLI - буквально за несколько итераций сходимость улучшилась на треть.

Я искренне рад этому. Раньше аккуратный фундамент проекта был причудой, на которую никогда не хватало времени, и так сойдет, пострадаем, притерпимся. Сейчас ни один эффективный менеджер не сможет возразить, что этот ваш рефакторинг - бесполезная затея, не показавшись AI-луддитом.
562👍23
Классический ML был довольно творческой штукой. Придумать хитрую фичу из сырых данных, нашаманить нестандартную аугментацию, собрать гибрид из знакомых блоков. Нестандартные подходы часто вознаграждались.

С AI agents всё строго наоборот: нужно оставаться ближе к канону.

Да, при должно усердии можно заставить агента делать любые причуды. Хочешь промпты на сербохорватском? Пожалуйста. Свой формат tool calls? Не проблема, как-то будет работать. Но если Claude обучен на миллионах траекторий Claude Code, то каждое отклонение от их формата - это как плыть против течения. Можно, но зачем тратить ресурсы на адаптацию к причудам? You can't fight gravity gradient descent.

Потому, хоть и хочется иногда переизобрести велосипед, для большинства задач лучшая стратегия - разбираться, как устроены оригинальные scaffolding, читать рекомендации от провайдера и не выпендриваться.
😁41🫡34❤‍🔥14😢7👍6💯43🎄1🗿1
Примерно двадцать лет назад я "сделал" первый сайт (осилил развернуть wordpress по инструкции и пошатать базовый шаблон). Много воды утекло, но я так и не научился во фронтенд. Тем более, что сложность фронтенда росла экспоненциально, и угнаться за всеми этими фреймворками было сложно, не будучи собственно фронтендером.

Игнорировать существование фронтенда было легко, пока мы не начали делать агента для создания веб-приложений, и тогда-то у меня начала периодически отваливаться жопа. Кажется, что тянуть React и 100500 зависимостей для простой CRUD админки - это как-то слишком, но индустрия в среднем со мной не согласна.

И вот повод настал: хакатон, свободное время, желание разобраться в Claude Skills - и я сделал скилл для создания веб-приложений на стеке для таких же неумех: Rust + HTMX + Alpine.js + PicoCSS + Neon Postgres. Все рендерится на сервере, билдится в один крохотный бинарник, работает на любой картофелине. Попробуйте, если вы тоже не осилили React, а иногда нужно делать простой веб.
1🔥8423😁7🤝4
Forwarded from Время Валеры
Почти закончен перевод нашей книги на русский язык.

Уже доступен предзаказ, сама книга будет в продаже с 26 января.

Предзаказ - промокод на 35%
2👍4619🔥12💩3🌭3😁1🍓1
Личные итоги года по сравнению с 2024:

- много работал, интересно и в основном в кайф, но по итогам почти безрезультатно, back to square one - штош, не прокнуло. Очень благодарен всем соучастникам, вы классные;
- перешел от старого доброго ML к agentic AI шаманству. В целом бодро, но немного ностальгирую по временам, когда модели можно было учить (нытье по этому поводу - раз, два);
- незапланированно оказался в бигтехе с его плюсами и минусами;
- был соавтором статьи, которую не приняли на воркшоп NeurIPS, зато после доработки приняли на SANER;
- почти перестал писать код руками и сдался вайбкодингу, claude code - однозначно инструмент года;
- сделал слегка виральный brainrot пет-проект @ScratchAuthorEgoBot, там все еще теплится жизнь;
- подарил сколько-то экземпляров книги с автографами, каждая подпись - лютый кринж;
- наконец-то выучил и сдал польский на B1, практически сразу после экзамена половину забыл;
- ощутил два землетрясения за три дня (одно на семерку), интересный опыт для жителя равнины;
- впервые оказавшись на горнолыжном курорте, свалился с T-bar подъемника.

С наступающим, дорогие читатели! 🥂
👏81🍾6318❤‍🔥15👍5😁2🔥1
Последние несколько недель баловался с разными консольными кодинг агентами. Claude Code все еще остается моим фаворитом, но смотреть по сторонам полезно, тем более когда что-то про agentic devex написано в моих рабочих задачах.

Клиенты

Попробовал Opencode, Gemini CLI, Github Copilot CLI, Codex. Раз речь про вайбкодинг, то и оценивать буду по вайбам:
- Gemini и Copilot - клиенты сыроваты, работать можно, но не хочется.
- Codex созрел и стал вполне юзабельным.
- Opencode прям хорош, UX отполированный, полностью опенсорсный, есть плагины, развивается очень быстро.

Еще одна фича Opencode: можно не только использовать провайдеров с оплатой по токенам, но и переиспользовать подписки. Серая зона: одни провайдеры (Anthropic) явно запрещают использовать сторонние клиенты, некоторые (Copilot, Minimax, Z.ai) разрешают, так что где-то приходится действовать на свой страх и риск.

Модели

Попробовал и разные модели в Opencode:
- minimax 2.1, GLM 4.7 - похожи на sonnet предыдущего поколения, дешевые рабочие лошадки для простых задач
- GPT Codex 5.2 - задает очень много вопросов, вкапывается в детали - иногда в лишние, а потом уходит работать на пару часов с достойным качеством
- Gemini 3 Pro - на первый взгляд все классно, может предложить нетривиальные идеи или быстро решить сложную задачу... но потом оказывается, что где-то с высокой вероятностью подложена свинья. Например, переписываю большой кусок с питона на раст, агент пишет гору правдоподобного кода и бодро отчитывается, что все проверено и идеально матчится, но в итоге окажется, что 10% функций цинично проигнорировано. Они не просто где-то выпали из контекста, а нагло возвращают константу с комментарием в коде типа "а это делать не буду, и так норм". Что-нибудь молча удалить или наоборот попытаться закоммитить - тоже нередкая ситуация.
- Gemini Flash 3 - аналогично, только быстрее и тупее.

Воскрешение года

Повод удивиться: внезапно подписка Copilot выглядит наиболее выгодной в категории "топ за свои деньги". Copilot можно использовать в стороннем клиенте (включая и вышеупомянутый Opencode, и мой любимый Zed), можно переключаться между моделями (есть все основные провайдеры, и новые модели доезжают довольно быстро).

Кто бы мог подумать: еще год назад, когда я в каком-то разговоре упомянул Copilot, мой собеседник посмотрел на меня с ноткой презрения - мол, ты чего, все пацаны сидят на Cursor/Windsurf, зачем ты вообще помнишь про это старье.
1👍51🔥2311
Трейдеры из Wunder Fund остались насколько довольны своим прошлым соревнованием (и рекламой в моем канале), что недолго думая запустили новое. Данные стали ближе к реальности: вот настоящий ордербук, вот сигнал изменения цены, доставайте свой fit_predict. Ограничения по инференсу тоже близкие к жизни. Награды остались такими же: 8 призовых мест, за первое - $5000, ну и на интервью позовут наверняка.

Если еще помните, как делать import torch, набегайте, рубитесь до 1 марта и хвастайтесь позицией на лидерборде!
👍32🔥15💩102
Предсказание с дивана: навыки классического ML/DL скоро превратятся в знание Cobol Fortran (он еще жив, я даже когда-то постил вакансию фортран-программиста).
Хайпа не будет, но будет нишевый устойчивый спрос на седобородых дедов, которые читали Хасти, Бишопа и Гудфеллоу.

Есть какая-то популяция людей, которые умеет в ML. Верхний перцентиль делает foundational модели в топ лабах, сразу забудем про них. Оставшиеся простые смертные внезапно оказались востребованы в GenAI движухе: пусть умение тюнить бустинги и докидывать лоссы малорелевантно умению переписывать промпты, в среднем почему-то именно таких людей хотят видеть нанимающие менеджеры (там AI, и тут AI, логично). Так что специалистов на классический ML/DL остается меньше.

А ведь задачи никуда не делись. Окей, что-то заменили на вызов API, что-то будет ваншотиться кодинг агентами, но что-то и останется - от рекомендашек и ранкинга до глубоко специфических доменных задач, про которые большинство из нас никогда не думало. Более того, жирные бюджеты на AI вполне позволяют делать компаниям что-то полезное и прагматичное на сдачу от контракта с OpenAI. При этом "скучная" часть как раз упростится - писать коннекторы руками не придется.

Большой босс, которого я загнал в угол со стаканом кофе, рассказал такой анекдот: в одну нефтяную компанию пришел очередной консалтинг продавать AI. В качестве титульного юзкейса предложили сделать чатбота для HR-саппорта. Реакция была прямолинейной: "прогоните этих кретинов" - для этой компании ML важен для оптимизации обнаружения нефтяных запасов на доли процента, они вливают туда десятки миллионов, а на административные затраты эйчаров им глубоко наплевать.
1😁74🫡17👍1513😢2🔥1
Если вы сколько-то управляете разработчиками и испытываете FOMO от все этой AI движухи, то я принес вам рекламу.

"AI Hard Fork" — практическая онлайн-конфа о том, как AI меняет процессы разработки, и как управлять этими изменениями. Ее организуют Стратоплан и Entropy Talk, а выступают большие боссы и успешные практики разных уровней - от EMов до C-левела. Я даже лично знаю двоих докладчиков, и они действительно умные ребята.

Примеры тем:
- "Скрам не нужен: как AI кодинг меняет представление об эффективной команде." (как будто раньше он был нужен, лол)
- "Как стать 10x-менеджером" (и не успевать еще больше)
- нужны ли программисты во времена вайбкодинга (и снова FOMO!)


Конфа пройдет 24-26 февраля, можно смотреть бесплатно (онлайн или в записи), можно занести немного денег, получить сертификат и флексить. Регистрация по ссылке, набегайте (или не набегайте, если и так без проблем успеваете следить за тем, как AI колбасит всю software engineering индустрию).
🔥30👍1813👎6😁6👏1🌭1
Когда агенты начнут всерьез жрать рабочие места белых воротничков, будет два противоположных вида страховки: лицензия от регулятора и контролируемая ебанутость.

С регуляторами все понятно: кто-то должен ставить свою подпись под AI слопом. Мой налоговый консультант отвечает на емейлы явно гпт-шным текстом и берет за это полторы сотни в час. Его лицензия все еще будет иметь ценность, даже если claude 5 будет составлять такие же запросы в налоговую из коробки.

Про ебанутость не так очевидно. Типичные верифицируемые задачи продолжат загоняться в посттрейнинг и будут выучиваться до некоторой моды в статистическом смысле, на выходе много качественного информационного фастфуда. Говорю совершенно без осуждения: фастфуд может быть относительно здоровым, зато безгранично доступным. Вот и средний AI-генеренный код лучше среднего человеческого кода, он редко изящный, но читаемый и решает задачу. Аналогично с текстами, решениями рядовых менеджеров, диагнозами уставших терапевтов и так далее.

Только вот компромиссные решения - это скорее регрессия к среднему, защита от плохих исходов, скучное корпоративное болото с малым прогнозируемым ростом, не прогресс и не искусство. Действия opinionated людей - статистический выброс, они повышают лосс. Иногда надо делать не по учебнику, а иррационально принять риск. Настолько иррационально, что кто-то из нормисов может крутить пальцем у виска. Reward модель вашей любимой LLM скорее всего бы оценила тексты вашего любимого писателя не слишком высоко.

Но первое слово в словосочетании "контролируемая ебанутость" не менее важно - просто быть хаотичным дурачком недостаточно. В Кремниевой долине десятилетиями пели гимны фаундерам, бросившим универ. Но есть нюанс: такой архетипичный бунтарь должен бросить условный Стэнфорд (а значит, и попасть туда для начала), а не смолевическое заборостроительное училище. Иррациональный риск не должен быть лудоманией, а чувак с мнением - просто капризным мудаком.

В одном эти две крайности сходятся: исполнительные закрыватели тикетов в джире не нужны.
130🤝6228👍18🤡9😨2🐳1
Чтобы гора сгенеренного кода меня не поглотила, к процессу вайбкодинга AI assisted разработки нужно было добавить и AI-based ревью. Но ожидаемо Клод слишком любит код, написанный Клодом, и мышей ловил недостаточно.

Так я начал использовать opencode с Gemini для ревью. Сначала все было хорошо, Gemini - такая странная модель, которую нельзя подпускать к написанию кода (мой любимый комментарий про это), но критиковать умеет по делу. Opencode был всем неплох, но жрал тонны памяти и периодически зависал в неинтерактивном режиме (в т.ч. на CI). Короче, not invented here синдром назревал.

https://github.com/arsenyinfo/nitpicker - just another code review agent. Быстрый, маленький, умеет в LLM council (хоть где-то пригодится подписка на z.ai и minimax), и за счет этого ловит довольно много ошибок (хотя и ценой ложных срабатываний).
144👍12😁5🙏1