partially unsupervised
@partially_unsupervised·Фаундер
AI-саммари
Сжёг больше 100М токенов в Claude Code и не считает нужным это скрывать — $10 в час на агентов для него норма, скорость важнее экономии. Главный тейк: не микроменеджь AI, выстраивай систему с тестами и линтерами, чтобы агент работал автономно — как Dungeon Keeper, а не Starcraft. Классический ML, по его прогнозу, ждёт судьба Fortran: нишевый спрос на «седобородых дедов», пока агенты съедают скучный слой. Когда агенты всерьёз займутся белыми воротничками, выживут либо те, у кого лицензия регулятора, либо те, кто умеет «контролируемо ебануться» — opinionated люди, статистически выбивающиеся из нормы и повышающие лосс reward-модели. Claude Code — фаворит для написания, но для ревью переключился на Gemini через opencode, а когда тот начал жрать память и зависать, собрал собственного агента — nitpicker с LLM council на базе z.ai и minimax, который ловит больше ошибок за счёт нескольких мнений сразу; недавно добавил флаг --debate, чтобы ревьюверы спорили между собой. GLM через z.ai («Злод») берёт на дешёвые задачи, Cursor — для автодополнений, а Copilot неожиданно оказался главным кандидатом в «лучшее за свои деньги».
Поскольку Anthropic активно лезет в code review, мне тоже пришлось закоммитить чего-то нового в nitpicker. В частности: - добавил флаг --debate, чтобы ревьюверы могли друг с другом спорить, по вайбам выглядит полезно, пусть и медленнее параллельного ревью. - добавил команду ask, чтобы ревьюверы могли не только ревьювить, но и просто обсуждать какие-то идеи про этот код (например, быстро приходят к консенсусу, что переписывать nitpicker на zig - тупая идея).
nitpicker уже активно [больше одного человека] пилотируют в некоторых [одном] бигтехе, я буквально в шаге от того, чтобы поднимать раунд стакан с пивком
Чтобы гора сгенеренного кода меня не поглотила, к процессу вайбкодинга 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), и за счет этого ловит довольно много ошибок (хотя и ценой ложных срабатываний).
Когда агенты начнут всерьез жрать рабочие места белых воротничков, будет два противоположных вида страховки: лицензия от регулятора и контролируемая ебанутость.
С регуляторами все понятно: кто-то должен ставить свою подпись под AI слопом. Мой налоговый консультант отвечает на емейлы явно гпт-шным текстом и берет за это полторы сотни в час. Его лицензия все еще будет иметь ценность, даже если claude 5 будет составлять такие же запросы в налоговую из коробки.
Про ебанутость не так очевидно. Типичные верифицируемые задачи продолжат загоняться в посттрейнинг и будут выучиваться до некоторой моды в статистическом смысле, на выходе много качественного информационного фастфуда. Говорю совершенно без осуждения: фастфуд может быть относительно здоровым, зато безгранично доступным. Вот и средний AI-генеренный код лучше среднего человеческого кода, он редко изящный, но читаемый и решает задачу. Аналогично с текстами, решениями рядовых менеджеров, диагнозами уставших терапевтов и так далее.
Только вот компромиссные решения - это скорее регрессия к среднему, защита от плохих исходов, скучное корпоративное болото с малым прогнозируемым ростом, не прогресс и не искусство. Действия opinionated людей - статистический выброс, они повышают лосс. Иногда надо делать не по учебнику, а иррационально принять риск. Настолько иррационально, что кто-то из нормисов может крутить пальцем у виска. Reward модель вашей любимой LLM скорее всего бы оценила тексты вашего любимого писателя не слишком высоко.
Но первое слово в словосочетании "контролируемая ебанутость" не менее важно - просто быть хаотичным дурачком недостаточно. В Кремниевой долине десятилетиями пели гимны фаундерам, бросившим универ. Но есть нюанс: такой архетипичный бунтарь должен бросить условный Стэнфорд (а значит, и попасть туда для начала), а не смолевическое заборостроительное училище. Иррациональный риск не должен быть лудоманией, а чувак с мнением - просто капризным мудаком.
В одном эти две крайности сходятся: исполнительные закрыватели тикетов в джире не нужны.
Если вы сколько-то управляете разработчиками и испытываете FOMO от все этой AI движухи, то я принес вам рекламу.
"AI Hard Fork" — практическая онлайн-конфа о том, как AI меняет процессы разработки, и как управлять этими изменениями. Ее организуют Стратоплан и Entropy Talk, а выступают большие боссы и успешные практики разных уровней - от EMов до C-левела. Я даже лично знаю двоих докладчиков, и они действительно умные ребята.
Примеры тем: - "Скрам не нужен: как AI кодинг меняет представление об эффективной команде." (как будто раньше он был нужен, лол) - "Как стать 10x-менеджером" (и не успевать еще больше) - нужны ли программисты во времена вайбкодинга (и снова FOMO!)
Конфа пройдет 24-26 февраля, можно смотреть бесплатно (онлайн или в записи), можно занести немного денег, получить сертификат и флексить. Регистрация по ссылке, набегайте (или не набегайте, если и так без проблем успеваете следить за тем, как AI колбасит всю software engineering индустрию).
Предсказание с дивана: навыки классического ML/DL скоро превратятся в знание Cobol Fortran (он еще жив, я даже когда-то постил вакансию фортран-программиста). Хайпа не будет, но будет нишевый устойчивый спрос на седобородых дедов, которые читали Хасти, Бишопа и Гудфеллоу.
Есть какая-то популяция людей, которые умеет в ML. Верхний перцентиль делает foundational модели в топ лабах, сразу забудем про них. Оставшиеся простые смертные внезапно оказались востребованы в GenAI движухе: пусть умение тюнить бустинги и докидывать лоссы малорелевантно умению переписывать промпты, в среднем почему-то именно таких людей хотят видеть нанимающие менеджеры (там AI, и тут AI, логично). Так что специалистов на классический ML/DL остается меньше.
А ведь задачи никуда не делись. Окей, что-то заменили на вызов API, что-то будет ваншотиться кодинг агентами, но что-то и останется - от рекомендашек и ранкинга до глубоко специфических доменных задач, про которые большинство из нас никогда не думало. Более того, жирные бюджеты на AI вполне позволяют делать компаниям что-то полезное и прагматичное на сдачу от контракта с OpenAI. При этом "скучная" часть как раз упростится - писать коннекторы руками не придется.
Большой босс, которого я загнал в угол со стаканом кофе, рассказал такой анекдот: в одну нефтяную компанию пришел очередной консалтинг продавать AI. В качестве титульного юзкейса предложили сделать чатбота для HR-саппорта. Реакция была прямолинейной: "прогоните этих кретинов" - для этой компании ML важен для оптимизации обнаружения нефтяных запасов на доли процента, они вливают туда десятки миллионов, а на административные затраты эйчаров им глубоко наплевать.
Трейдеры из Wunder Fund остались насколько довольны своим прошлым соревнованием (и рекламой в моем канале), что недолго думая запустили новое. Данные стали ближе к реальности: вот настоящий ордербук, вот сигнал изменения цены, доставайте свой fit_predict. Ограничения по инференсу тоже близкие к жизни. Награды остались такими же: 8 призовых мест, за первое - $5000, ну и на интервью позовут наверняка.
Если еще помните, как делать import torch, набегайте, рубитесь до 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, зачем ты вообще помнишь про это старье.
Личные итоги года по сравнению с 2024:
- много работал, интересно и в основном в кайф, но по итогам почти безрезультатно, back to square one - штош, не прокнуло. Очень благодарен всем соучастникам, вы классные; - перешел от старого доброго ML к agentic AI шаманству. В целом бодро, но немного ностальгирую по временам, когда модели можно было учить (нытье по этому поводу - раз, два); - незапланированно оказался в бигтехе с его плюсами и минусами; - был соавтором статьи, которую не приняли на воркшоп NeurIPS, зато после доработки приняли на SANER; - почти перестал писать код руками и сдался вайбкодингу, claude code - однозначно инструмент года; - сделал слегка виральный brainrot пет-проект @ScratchAuthorEgoBot, там все еще теплится жизнь; - подарил сколько-то экземпляров книги с автографами, каждая подпись - лютый кринж; - наконец-то выучил и сдал польский на B1, практически сразу после экзамена половину забыл; - ощутил два землетрясения за три дня (одно на семерку), интересный опыт для жителя равнины; - впервые оказавшись на горнолыжном курорте, свалился с T-bar подъемника.
С наступающим, дорогие читатели! 🥂
Почти закончен перевод нашей книги на русский язык.
Уже доступен предзаказ, сама книга будет в продаже с 26 января.
Предзаказ - промокод на 35%
Примерно двадцать лет назад я "сделал" первый сайт (осилил развернуть wordpress по инструкции и пошатать базовый шаблон). Много воды утекло, но я так и не научился во фронтенд. Тем более, что сложность фронтенда росла экспоненциально, и угнаться за всеми этими фреймворками было сложно, не будучи собственно фронтендером.
Игнорировать существование фронтенда было легко, пока мы не начали делать агента для создания веб-приложений, и тогда-то у меня начала периодически отваливаться жопа. Кажется, что тянуть React и 100500 зависимостей для простой CRUD админки - это как-то слишком, но индустрия в среднем со мной не согласна.
И вот повод настал: хакатон, свободное время, желание разобраться в Claude Skills - и я сделал скилл для создания веб-приложений на стеке для таких же неумех: Rust + HTMX + Alpine.js + PicoCSS + Neon Postgres. Все рендерится на сервере, билдится в один крохотный бинарник, работает на любой картофелине. Попробуйте, если вы тоже не осилили React, а иногда нужно делать простой веб.
Классический ML был довольно творческой штукой. Придумать хитрую фичу из сырых данных, нашаманить нестандартную аугментацию, собрать гибрид из знакомых блоков. Нестандартные подходы часто вознаграждались.
С AI agents всё строго наоборот: нужно оставаться ближе к канону.
Да, при должно усердии можно заставить агента делать любые причуды. Хочешь промпты на сербохорватском? Пожалуйста. Свой формат tool calls? Не проблема, как-то будет работать. Но если Claude обучен на миллионах траекторий Claude Code, то каждое отклонение от их формата - это как плыть против течения. Можно, но зачем тратить ресурсы на адаптацию к причудам? You can't fight gravity gradient descent.
Потому, хоть и хочется иногда переизобрести велосипед, для большинства задач лучшая стратегия - разбираться, как устроены оригинальные scaffolding, читать рекомендации от провайдера и не выпендриваться.
В моем 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-луддитом.
Чистил канпюктер от старья и внезапно обнаружил, что за последний год перестал использовать в разработке четыре столпа, которые казались незыблемыми последние лет десять: 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.
Если вы отбитый вайбкодер, стремительно выжирающий лимиты подписки, или просто любите китайские подделки, посмотрите на z.ai.
Их флагманская модель GLM 4.6 сейчас даже не лучшая среди open weights моделей, но у нее есть два преимущества: - их самый дорогой тариф сейчас стоит 360 баксов в год (а самый дешевый - в десять раз меньше); - они не постеснялись из коробки обеспечить совместимость c Claude Code до такой степени, что на вопрос "what model is under your hood?", он отвечает "Sonnet 4.5".
Конечно, никакие серьезно приватные данные я бы этой штукой не трогал, но для всякой фигни работает. Например, я недавно хотел натравить Клода привести в порядок файлопомойку - обновить систему, разобраться, почему иногда шара отваливается, почистить остатки плохо удалившихся экспериментально установленных пакетов и так далее. Но теперь вместо Клода этим занимается его младший брат Злод.
Когда-то я думал, что 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 кодогенерацию.
Ничего хитрого: у агента было два ограничения, на количество шагов и на общее время генерации. И вот в час пик по американскому времени провайдеру становилось хуже, скорость ответа падала => случались таймауты.
Cześć, warszawiacy! 🧜♀️🇵🇱
Объявление для польских подписчиков: 15 октября буду выступать на AI agents митапе в Варшаве (в основном пересказывать свои старые посты). Вход стоит каких-то денег, но организаторы обещали мне несколько билетов.
Думаю, что среди подписчиков есть желающие, но не знаю, сколько. Принимать решения мне тоже лень. Поэтому план для желающих такой: - нужно заполнить нехитрую форму до вечера понедельника; - если желающих будет до трех человек, организаторы просто вышлют вам билеты; - если желающих будет больше, то после закрытия формы я попрошу некую LLM выбрать тех, кто больше всего достоин халявных билетов, основываясь на ответах в поле "Why do you want to attend?"
Лотерея, которую мы вы заслужили 🎰
Когда я осваивал ML, много зависал на Kaggle. Было увлекательно, хотя иногда и унизительно - вроде бы думаешь, что понимаешь что-то, а потом твой скор застревает в нижней половине таблицы, и ты понимаешь, где твое место. В итоге чему-то научился, мастера намайнил, перед пацанами стало не стыдно, и даже в поиске работы пару раз пригодилось.
Но не кагглом единым. Сегодня у нас реклама соревнования от HFT-фонда Wunder Fund. Они захостили свое соревнование, нужно предсказать следующее состояние рынка по набору анонимизированных фичей. В отличие от реальной жизни, долго разбираться с природой данных не получится, придется больше фокусироваться на моделях, что многие любят. Данных маловато, но для кого-то и это плюс - можно поучаствовать без личного кластера.
Как в меру ответственный блогер, я и сам сделал сабмит, попал в топ-50 вообще безо всякого ML, так что бейзлайн как будто не очень сложный. Платформа сделана качественно (в отличие от многих наколеночных соревнований за пределами Kaggle), документация понятная; в общем, если вы еще не настолько дед, чтобы не участвовать в соревнованиях, то посмотрите!
$13600 призового фонда, 15 сентября - 1 декабря, регистрация открыта.
What makes Claude Code so damn good (and how to recreate that magic in your agent)
Рекомендую почитать любителям везде воткнуть мультиагентный граф, сверху накинуть векторный RAG и удивляться, почему все не очень работает.
Так как пена релиза GPT 5 улеглась, а потом начались и обратные разговоры, что AI hit the wall, можно поиграть в визионера и поговорить о светлом будущем. Думаю, что партия умеренного оптимизма побеждает в своих прогнозах.
Для начала разметим спектр отношений к AI: - с одной стороны неолуддиты и скептики, утверждающие про пузырь, стохастических попугаев, умный автокомплит, не умеющие считать r в strawberry и все такое; - с другой стороны адепты AGI к 2027 и прочие свидетели сверхинтеллекта на видеокартах, туда же паникеры из секты, призывающей бомбить датацентры, пока этот мифический AGI не пойдет максимизировать скрепки и пожирать всех человеков. Как типичный центрист (слизняк без мнения), считаю, что обе крайности заблуждаются. Окей, судя по последним инкрементальным релизам от всех крупных вендоров, LLM перешли к этапу мелких улучшений. Давайте для модели представим, что фундаментальных улучшений больше не будет, а все талантливые ресерчеры наконец-то уйдут из корпораций пасти гусей. И что?
1. То, как агенты сейчас применяются в software, уже сильно повысило продуктивность. Не только в кодогенерации, но и в смежном: тут и UX-прототипы, и анализ логов, и дебаггинг. Там еще много сырого, и проникновение невысоко за пределами пузыря, но по вайбам - это повышение продуктивности на десятки процентов.
2. Аналогично агенты должны будут проникнуть и во все остальные white collar индустрии. То, что я видел одним глазом за пределами чисто софтверного мира, скорее подтверждает. Для этого надо будет написать очень много софта, устроить миллионы демок, сотни тыщ пилотных проектов и десятки тысяч интеграций, неизбежны миллиарды откатов и тыщи увольнений.
3. Хотя опенсорс модели все еще отстают от sota решений, они уже в целом юзабельные. Anecdotal: на внутреннем бенчмарке я вполне вижу 80% качества за 20% денег опенроутеру (вместо 100% антропику), старик Парето бы порадовался. Даже если вдруг у топ вендоров случится картельный сговор, госрегуляции и железный занавес, на существующих open weights технологиях можно делать полезное.
4. Если волшебное улучшение foundation моделей закончится, нам, простым работягам, будет еще лучше - надо делать умный domain-specific scaffolding и закидывать тест-тайм компьютом, желательно не совсем брутфорсом.
Иными словами: 🐂 bullish на тему вертикальных стартапов в сложных индустриях, интеграторов и инфраструктуры, 🐻 bearish на тему обещаний AGI за $7T, неолуддитов и API врапперов по подписке.
Новость от знакомых фаундеров, которые переобулись в инвесторов: новый фонд Tetrad.vc 📔. Основатели не так давно сами набивали стартаперские синяки — от первых билдов до выхода на глобальные рынки (ZERO10, Wayvee, Sensemitter). Теперь запускают свой фонд и инвестируют на ранних стадиях (pre-seed / seed). Фокус на AI search, agentic AI, гейминг и consumer tech, но в целом открыты к другим нишам.
Молодой фонд с небольшой командой, поэтому достучаться до них проще, чем до крупных именитых VC. Обещают помогать с продуктом, стратегией и прочим, а не только насыпать банальный кэш.
В общем, если вы пилите стартап ранней стадии (а я точно знаю, что среди подписчиков таких немало), присылайте питч или просто познакомьтесь: contact@tetrad.vc