Борис опять
15.1K subscribers
1.44K photos
72 videos
30 files
1.48K links
life = curiosity + irreducible noise

Whois: https://xn--r1a.website/boris_again/3400

Лс: @btseytlin
Download Telegram
# Vibecoding vs pycocotools часть II: Cursor

Недавно я проверил, может ли Claude Code Agent написать для нас небольшую Python библиотеку: pycocotools здорового человека. Он не смог.

Сегодня я проверил может ли Cursor. Задача была ослаблена до того, может ли Cursor в неавтономном режиме (на агентов пока надежды нет) помочь мне написать библиотеку быстрее, чем я написал бы её сам.

Я записал час вайбкодинга на видео (сам вайбкодинг начинается с 20 минуты).

Как и в прошлый раз посмотреть как и куда я пришел можно в этом репозитории (только не забудьте смотреть в ветку `cursor`):
https://github.com/btseytlin/sane-coco/tree/cursor

Ниже опишу свои выводы
Media is too big
VIEW IN TELEGRAM
15👍7
В целом опыт на три с плюсом, почти четыре.

Сначала про плюсы. Очень приятный интерфейс. Cursor конечно монстр UI/UX. Очень простое погружение и онбординг. Самое главное: это работало. Если claude code agent за два часа работы не приблизил меня к желаемому результату, то здесь наблюдается прогресс. То, что осталось после часа работы, гораздо лучше, чем ничего. Cursor гораздо лучше понимал целевой вайб. В целом прикольно.

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

Самый неприятный момент (начинается около 57 минуты) был когда ассистент написал вызов трех методов:
1. Распарсить категории.
2. Распарсить изображения.
3. Распарсить аннотации.

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

Ничего, поправили. После шага парсинга аннотаций добавился шаг связи аннотаций и изображений (в COCO формате их надо сопоставить друг-другу). Потом ассистент пошел прогонять тесты, начал их править, внес множество изменений. И удалил шаг связи, который только что добавлял. Но вдруг тесты проходят!

Я смотрю в код и не понимаю как так может быть. То есть аннотации парсятся, результат записывается в переменную, а потом она нигде не используется. Её даже VSCode подсвечивает: смотри, этот кусок кода не нужен.

Получается мы распарсили аннотации, потом просто выбросили их, а тесты всё равно проходят. Не должно работать, но работает – очень плохая ситуация. Значит или тесты неправильные, или код работает не так, как мне кажется. Оказалось второе. На самом деле вторая функция, которая парсила изображения, уже записывала всё куда нужно. То есть она выглядела будто там нет сторонних эффектов, будто это правильная "делаю одну вещь" функция, а на самом деле это была подстава 👀.

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

Дело так же в качестве. Я поймал эту проблему только потому, что у меня очень четкое представление о том, что я хочу получить. И то она вскрылась случайно. Как много программистов заботятся о том, чтобы каждая функция делала одну вещь? Может процентов десять. Как много не-программистов/вайбкодеров? Ноль. Значит 90% программистам и 100% вайбкодерам Cursor поможет написать код со скрытым приколом 🙄. В общем готовьтесь через пару лет поддерживать чье-то курсорное легаси где возможно всё и в любом куске кода может обнаружиться пасхалка.

В общем смешанные ощущения. Но скорее положительные. Однако точно не идет речи ни о каком "В 100Х РАЗ ЛУЧШЕ ПРОГРАММИСТЫ НЕ НУЖНЫ!1!11" Я напоминаю, что мы тут всё ещё пытаемся прочитать JSON с диска.
Please open Telegram to view this post
VIEW IN TELEGRAM
59👍405🔥1
Вот это пожалуй лучший перл LLM кода сегодня 👀

Работало кстати
Please open Telegram to view this post
VIEW IN TELEGRAM
561
Так же Cursor практически не помогает думать. Я прошу написать тесты: он пишет тесты, где проверяет, что всё работает. Но пока не попросишь он не напишет негативные тесты. То есть он не будет без твоего пинка проверять, что то, что не должно работать, действительно не работает. И не скажет о том, что так нужно делать.

Так что программистский навык не обесценивается. Возможно, наоборот, теперь нужно два навыка:
1. Умение делать хорошо.
2. Умение распознать где LLM может тебя обмануть.
73👍259👎2
Блин, это слишком хорошо. Cursor не может заставить pycocotools работать в тестах и поэтому решил его выпилить

...из регрессионных тестов библиотеки которую мы пишем на замену pycocotools
142👍7
😀
Please open Telegram to view this post
VIEW IN TELEGRAM
35😢7
Любишь vibecoding люби и
😢70485
Hold up
186🤔11👍2😢1
Forwarded from epsilon correct
Gemma 3

Выкатили семейство очень добротных моделек, нацеленных на локальных юзеров. Размеры 1, 4, 12, 27B, но зато 4-27B модельки со зрением и 128к контекста! По MMMU обогнали Gemini 1.5 Flash и вплотную подобрались ко второму флешу.

По бенчмаркам не так сильно обогнали Gemma 2, но моделька сильно лучше разбирается в социальных науках, бизнесе, психологии. Особенно хороший прирост на европейских языках, но под шумок я долил и русского. 👉

Блогпост
Tech report
HuggingFace
Потыкать модель можно тут
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥385👍4
https://x.com/emollick/status/1901431681279475808

🔹LLMs produce funnier memes than the average human, as judged by humans.
🔹Humans working with AI get no boost.
🔶The best human memers still beat AI, however. 💪💪💪

Лучшие хьюман мемеры, вся надежда на вас 🫡
Please open Telegram to view this post
VIEW IN TELEGRAM
286👍2
👍1
https://mistral.ai/news/mistral-small-3-1

Внезапно мистраль выложил 24B мультимодальную модель Mistral Small 3.1, которая бьет GPT-4o Mini, Claude-3.5 Haiku и недавно вышедшие Gemma 3 (27B) и Cohere Aya Vision (32B).

Конечно подождем результатов на арене, но если подтвердиться, то считайте можно запускать бесплатную и улучшенную GPT-4o Mini на своём макбуке
🔥54👍62
😎😎😎😎😎

Я конечно согласился, ждите
Please open Telegram to view this post
VIEW IN TELEGRAM
175🔥18👍52
💅 Уход за кожей в машинном обучении

О, ты МОП, закончил ШАД, написал три статьи по Байесовскому DL? Поздравляю вставай в эту очередь опоздавших на пять лет.

Этим сейчас никого не удивишь, но многие упускают необходимую базу для работы с нейросетями: гладкую кожу. Поэтому это дешевое преимущество если вы готовы инвестировать усилия в свою карьеру.

Когда вы сидите на фит интервью с бимбо-эйчаркой она должна видеть, что ваша кожа сияет. Причем больше, чем у неё самой. Тогда она чувствует, что перед ней доминантная особь, и пропускает вас дальше. Так же и на следующих этапах. Литкод больше не работает, поэтому отсев идет только по мягкости кожи.

Чтобы ваша кожа была гладкой как лосс функция MSE, делюсь гайдом.

1. Очищение: Гидрофильное масло → pH-сбалансированный пенящийся очиститель (5.5-6.0) → мицеллярная вода для остатков.
2. Тонизация: Безспиртовой тоник с ниацинамидом (3-5%), глицерином, гиалуроновой кислотой, нанесение методом "7 skin".
3. Активы: Утро - антиоксиданты (L-аскорбиновая кислота 15-20%), вечер - ретиноиды/AHA/BHA (чередовать).
4. Ретинол: Начать с 0.01-0.03%, постепенно повышая до 0.25-1.0%. Буферизировать сэндвич-методом. Внедрять по схеме 1-2-3 (1 раз в неделю, затем 2, затем 3). Обязательная фаза ретинизации 4-12 недель. Альтернативы: ретинальдегид (в 11 раз сильнее), HPR (менее раздражающий), бакучиол (фитоальтернатива).
5. Увлажнение: Многослойное нанесение - пептиды, керамиды, сквалан, пантенол.
6. Защита: SPF 50+ PA++++ с фильтрами нового поколения, ребазировать каждые 2 часа.
7. Еженедельно: Энзимный пилинг, неабразивная эксфолиация, окклюзионная маска для трансэпидермальной регидратации.
8. Коррекция по фототипу Фитцпатрика и барьерной функции.

Это МИНИМУМ для работы с нейросетями в 2025
114296🤔14🔥8👍7🤬3👎2
This media is not supported in your browser
VIEW IN TELEGRAM
https://huggingface.co/manycore-research/SpatialLM-Llama-1B

https://manycore-research.github.io/SpatialLM/

Я стараюсь не приносить сюда посты вида "вышла очередная модель". Но тут 1B LLAMA для облаков точек, выглядит просто убойно, не могу не поделиться. Посмотрите сайт, там другие примеры очень интересные.

Украл у @lovedeathtransformers
54🔥30🤔2
Forwarded from AbstractDL
M-Attack: как обмануть GPT-4.5 и Gemini

Все привыкли, что атаковать современные мультимодальные модели (типа GPT-4o, Claude, Gemini и т.п.) крайне сложно — особенно, если это black-box модели, где нет доступа к градиентам и архитектуре. Стандартные подходы атак типа "выдать одну картинку за другую" часто генерируют какие-то невнятные шумы, которые либо игнорируются моделью, либо приводят к абстрактным ответам типа "размытое изображение".

Но оказалось, что проблема была не в самих моделях, а в подходе к генерации возмущений. В свежей статье предложили очень простой, но мощный подход — M-Attack:
1. Берём исходную и целевую картинки.
2. На каждом шаге рандомно crop'аем кусок исходного изображения (50-100% площади) и затем ресайзим обратно до исходного размера.
3. Заставляем эмбеддинги этого кусочка максимально приблизиться к эмбеддингам целевого изображения оптимизируясь в white-box режиме по ансамблю открытых визуальных моделей (например, CLIP, ViT и тп).

И всё! После нескольких итераций в центральной области картинки "проявляется" целевая семантика, при этом возмущения выглядят крайне незаметно и аккуратно (в отличие от других подходов).

Авторы добились совершенно впечатляющих результатов: успех атаки (ASR) превышает 90% (!) для GPT-4.5, GPT-4o и даже для o1 и Gemini. Код и датасет из 100 атакованных картинок выложили в открытый доступ.

Статья, GitHub, dataset
👍47🔥15115😢4
Forwarded from КПД
Scale-wise Distillation of Diffusion Models
[Статья] [Демка] [Код soon]

Введение

Диффузионные модели на протяжении последних несколько лет удерживают пальму первенства среди семейств генеративных моделей во многих приложениях. Однако их фундаментальным ограничением является многошаговое сэмплирование, из-за чего генерация занимает много времени.

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

Отсюда мысль 🤔 - а что если ускорить генерацию за счет удешевления шагов сэмплирования?

Мы с коллегами из Yandex Research предложили метод дистилляции в несколько-шаговую генерацию, где разрешение изображения увеличивается постепенно, на каждом шаге генерации (SwD). За счет этого удается достичь более чем 2х кратного ускорения по сравнению с эквивалентной дистилляцией в фиксированном разрешении.
👍209🔥6👎1