partially unsupervised – Telegram
partially unsupervised
9.32K subscribers
26 photos
2 files
198 links
@arsenyinfo пишет про software engineering и machine learning
Download Telegram
Я обещал написать про бота, и добрался только сейчас, потому что этот пет проект вырвался из клетки и чуть меня не сожрал. Было интересно, неожиданный end-to-end опыт от идеи до багфиксов на проде за жалкие три дня.

Все затевалось как локальная шутка для корешей и очередной подход к вайбкодингу, было сделано за пару часов, вброшено в пару чатов и оставлено без внимания. Но в итоге случилась некоторая виральность, и я потратил половину выходных, занимаясь пожаротушением.

Во-первых, парсить телеграм-каналы через bot API нельзя, и потому я парсил через телеграм-клиент, используя собственный основной аккаунт. Когда набежала толпа пользователей, я быстро попал в софт бан, и начал искать обходные пути. Рынок серых аккаунтов оказался недружелюбным, да и банились они примерно за 10 минут, даже если купить премиум и не наглеть с частотой запросов. Даже удивительно: спам-боты в комментариях прекрасно живут, а довольно безобидное чтение каналов оказалось жестко ограничено. В итоге помог рабоче-крестьянский подход - скрапить веб-версию.

Во-вторых, в попытках выстроить систему рейт лимитеров, я накостылял слишком много велосипедов, и их впоследствии пришлось расчищать. Например, из-за кривого набора лимитеров запросы в LLM уходили батчами, и частично отваливались из-за лимита уже на стороне Gemini. Я дебагал практически "на продакшене" с живыми пользователями, которые периодически справедливо жаловались, что ничего не работает. Как следствие, много ранних пользователей так и остались без ответа. К счастью, у меня остались логи в базе данных, и потому я смогу всем написать и предложить попробовать снова сейчас, когда проблемы со стабильностью решены.

В-третьих, к слове о базе данных, я впервые всерьез попробовал Neon (ссылка накинет 5 баксов на аккаунт) для своего проекта и остался очень доволен - все просто работало безо всякой возни, причем на обычном бесплатном аккаунте, это сэкономило мне кучу времени и сил. Всем рекомендую, коллегам респект!

В-четвертых, я впервые что-то сделал end-to-end на расте, и моя жизнь не будет прежней. Писать на нем руками, конечно, сложнее и дольше (skill issue, признаю), чем на каком-нибудь питоне, но если 90+% кода написано агентом, то эта проблема в целом уходит. Зато качество изменилось всерьез: если что-то компилировалось без ворнингов, то оно обычно просто работало. В питоне пришлось бы потратить на порядок больше усилий на тестирование и бесконечные фиксы. Короче, думаю, что всерьез перейду на Rust для одноразовых проектов на выброс. Отдельный кайф наблюдать, как что-то помещается в <40 мегабайт памяти.

В-пятых, аудитория оказалась совершенно за пределами моего пузыря. Я изначально делал это все для корешей-задротов, которые в основном пишут лонгриды про AI, а в итоге набежало очень много людей, у которых, например, контент - это исключительно картинки. Камон, для этого есть инстаграм! И, конечно, на таких каналах ничего не работает.

Статистика: 7500+ юзеров, 200+ плательщиков. Заработано в звездах на ~10% больше, чем потрачено на Gemini API (то есть если бы это был настоящий бизнес, экономика бы едва сошлась; не будь лимитов и платных фичей - я бы наверняка офигел от затрат). Какой-то моментум есть, можно попробовать пилить новые фичи и вообще развивать эту штуку. Для самых любопытных выложил исходники - с нуля я бы сейчас делал слегка иначе (например, надо было использовать каналы, с самого начала делать персистентность для in flight тасков), ну да как есть.
❤‍🔥84🔥4225👍11🍓2
Продолжаю подрабатывать копирайтером: Six Principles for Production AI Agents.

Этот пост слегка пересекается с предыдущим, но я старался сделать его максимально универсальным, независимым от конкретного домена и вообще сделать так, чтобы эти принципы оставались валидными еще хотя бы год.
👍3713🔥5
Новость от знакомых фаундеров, которые переобулись в инвесторов: новый фонд Tetrad.vc 📔. Основатели не так давно сами набивали стартаперские синяки — от первых билдов до выхода на глобальные рынки (ZERO10, Wayvee, Sensemitter). Теперь запускают свой фонд и инвестируют на ранних стадиях (pre-seed / seed). Фокус на AI search, agentic AI, гейминг и consumer tech, но в целом открыты к другим нишам.

Молодой фонд с небольшой командой, поэтому достучаться до них проще, чем до крупных именитых VC. Обещают помогать с продуктом, стратегией и прочим, а не только насыпать банальный кэш.

В общем, если вы пилите стартап ранней стадии (а я точно знаю, что среди подписчиков таких немало), присылайте питч или просто познакомьтесь: contact@tetrad.vc
136👍7
Так как пена релиза 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 врапперов по подписке.
7👍8615💯12😁4👏2🤔2
What makes Claude Code so damn good (and how to recreate that magic in your agent)

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

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

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

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

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

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

Лотерея, которую мы вы заслужили 🎰
10👍39😁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 кодогенерацию.

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

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

Конечно, никакие серьезно приватные данные я бы этой штукой не трогал, но для всякой фигни работает. Например, я недавно хотел натравить Клода привести в порядок файлопомойку - обновить систему, разобраться, почему иногда шара отваливается, почистить остатки плохо удалившихся экспериментально установленных пакетов и так далее. Но теперь вместо Клода этим занимается его младший брат Злод.
3😁57👍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👍84🙏64🤔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-луддитом.
547👍20