Vibe pricing be like...
Провели ревью метрик по последним неделям с o3, посоветовал мне поднять цены в 1.5 раза 😘
Все, кто хотел но откладывал оживить свою личную жизнь и наконец научиться переписываться – до завтра есть возможность взять подписку по старой цене, при продлениях будет сохраняться текущая стоимость: https://apps.apple.com/app/vibe-ai/id6553989941
Бизнес это win-win: когда у тебя белая полоса, ты зарабатываешь деньги, когда черная полоса ты покупаешь (временем и деньгами) опыт, ты учишься, становишься мудрее
Самое главное сделать цену ошибок низкой - и затем ошибаться как можно больше
P.S. Кстати кто в найме - цените время пока вы в найме, ведь там ошибки оплачиваются не из вашего кармана
#разбор_полётов
Подписчик скинул библиотеку/сервис для browser use
https://www.stagehand.dev/
В ихнем эвале gpt-4.1-mini тоже немного выше gpt-4.1… получается мой #OCRBench не врёт что mini вдруг точнее в image understanding?
Услышал, что у Сэма Альтмана есть эссе про продуктивность, которое называется "Продуктивность", заглянул почитать
https://blog.samaltman.com/productivity
Теперь всех, кто меня спрашивает за продуктивность, буду просто отправлять сюда
MRR для iOS приложения вырос на 65% за 30 дней
Буду думать как за май вырасти на 650%. Вижу несколько низковисящих плодов
Скачать: https://onelink.to/get-vibe
Как подключу o3 к MCP всех аналитических тулзов, можно уже и не работать 🤣
Читать полностью…Чуть освежил onboarding screen
Уже в AppStore: onelink.to/get-vibe
Это была рекордная неделя по скачиваниям, триалам, MRR, активным подпискам
Буквально всё втупую по теории ограничений:
• мало просмотров? → организовываешь контент in-house или платное промо, набираешь миллионы просмотров
• теперь много просмотров, но мало скачиваний? → работаешь качеством интеграции, четким call-to-action, воронкой в AppStore
• много инсталлов, просел ARPU (средняя выручка на инсталл) → обновляешь онбординг / пейволл / ценообразование / фиксишь баги на входе
И так работаешь по кругу, каждую неделю фокусируясь на той метрике, которая сейчас просела. Бизнес это тоже своего рода рутина
Скачать приложение: https://onelink.to/get-vibe
Мне написали ребята которые пилят стартап, который как раз помогает создавать эвалы. Судя по ленду, у ребят хорошее чувство вкуса и крутой продукт. Я точно буду пробовать
https://inferscope.tech/
https://youtu.be/e4xDdCoMrT0?si=oTkGxC-MUo4N2YG5&t=390
Каждый раз, когда встречаешь кого-то в чём-то лучше тебя, есть 2 типа реакции:
А. Обесценить, нивелировать достижения (эго спасено, нет нужды менять себя)
B. Задаться вопросом: какие уроки я могу из этого извлечь? как это может помочь мне стать лучше?
Первый путь простой и с точки зрения энергии низкозатратный. Быть циником легко. Ты лишь стоишь на месте и всех оцениваешь, критикуешь. Бонус того, чтобы не пробовать – не испытывать боли от неудач. Второй путь требует работы над собой, времени, усилий, труда.
Я предпочитаю видеть в своём окружении только людей, кто (даже когда это эмоционально сложно) сознательно выбирать второй вариант. Вместо сравнений, оправданий и обесцениваний – вечный вопрос "чему я могу научиться?". Такие люди впитывают новые знания и навыки как губка, быстро эволюционируют и делают level up с каждым годом
Growth mindset
#OCRBench Как строить бенчмарк с LLM-as-a-Judge?
Решил пойти по стопам Рината (@llm_under_hood) и периодически публиковать результаты тех или иных внутренних бенчмарков по разным моделям. Например вот как можно сделать бенчмарк по OCR (Optical Character Recognition), в нашем случае парсинг переписки со скриншота
Для тех, кто не знает, я делаю AI Dating Copilot – приложение, которое по скриншоту переписки или профиля подсказывает, что написать. Короткое демо iOS приложения в действии:
/channel/bogdanisssimo/1899
Вообще, разработка эвалов (систем оценки тех или иных задач вашего AI-сервиса) – одно из ключевых занятий при создании AI продуктов. Без них у тебя единственный способ принятия решений – это "по ощущениям". Мы конечно же пропагандируем Data-Driven Dating, поэтому сегодня мы говорим о том, как строить свои бенчмарки
Я понимаю, что этим постом я буквально делаю подарок коллегам по цеху, но если они не догадались в 2025 использовать LLM для OCR, это говорит о том, что они не очень заботятся о качестве продукта для пользователя и совсем не экспериментируют с пайплайном. Тем более, я почти год назад об этом писал сам (см. «Мечтает ли GPT-4o о сегментации картинок»). В конечном итоге оцениваю, что для моей аудитории это даст х100 больше value, чем преимуществ конкурентам
Значит, как я варил свой OCR Benchmark:
1. Берем 100-200 скриншотов переписок от пользователей, особенно нас интересуют сложные кейсы, где классический парсер (TextRecognition + if-else) или LLM часто ошибаются
2. Берем *довольно сложный* промпт для парсинга диалога, со всеми деталями (включая кто на какое сообщение ответил / поставил реакцию / какой длины голосовое и т.д.)
3. Пусть у нас есть какая-то система, которая работает сейчас. Мы через неё прогоняем все кейсы, затем глазками смотрим каждый скриншот, ручками меняем output до идеального. Это наши ground truth. Где-то будут ошибки в отправителях. Где-то будут пропущены какие-то куски сообщений. Где-то будет лишний мусор. Все это мануально вычищается
4. Прогоняем для нужной LLM все скриншоты
5. Теперь самое интересное: как сравнивать предикты и expected output? Год назад (когда ещё не было GPT-4o-mini и Claude 3 Haiku была не такой уж стабильной) я бы это делал по старинке через расстояние Левенштейна. Какие есть проблемы у этого подхода?
- непонятно как численно сравнивать и штрафовать за кейсы когда сообщение правильно распознано, но приписано не тому отправителю
- есть моменты когда куски диалога описывают что-то (кто кому какую реакцию поставил), а не буквально парсят текст на картинке
- пара букв разницы может иметь разный вес в зависимости от контекста
- ошибки вначале диалога менее критичны чем ошибки в самом конце (которые важнее всего для определения ситуации и понимания, что написать)
- одна и та же ошибка в короткой переписке и в длинной может по-разному влиять на диалог
Поэтому намного стабильнее, практичнее и проще использовать легковесную LLM-судью, которой мы даём кейс, ожидаемый результат и результат модели и просим на основе нашего подробного чеклиста (наши критерии) сравнить, оценить от 0 до 100 + дать фидбек по замеченным ошибкам (которые можно будет использовать для отладки, см. «анализ ошибок в ML системах»).
Внизу прикрепляю результаты замеров OCR Bench по разным LLM из свеже вышедших
—
Разумеется ровно такой же подход распространяется на очень широкий спектр кейсов. По сути это сводит оценку очень сложных выхлопов моделей к подобию тривиальных unit-тестов из разработки. В большинстве (менее технических) задач LLM-оценщик не заведётся с первого раза и понадобится большое количество итераций вместе с экспертом по выравниванию оценок LLM-оценщика и эксперта
Подробнее про LLM-as-a-judge можно почитать здесь:
- https://www.evidentlyai.com/llm-guide/llm-as-a-judge
- https://www.confident-ai.com/blog/why-llm-as-a-judge-is-the-best-llm-evaluation-method
- https://huggingface.co/learn/cookbook/en/llm_judge
Ваш любимый @bogdanisssimo, буду благодарен репостам друзьям и в ваши каналы
P.S. Какие модели посоветуете ещё прогнать? Какие тулзы для эвалов вы юзаете?
Кладбище приложений
Иногда я гуляю по AppStore и вижу десятки, если не сотни, приложений в своей нише
«Последее обновление было 7 месяцев назад». Нулевая выручка в AppsFigures/SensorTower: А ведь каждое из этой сотни – это как минимум десятки или сотни человеко-часов, потраченных на разработку; возможно тысячи долларов. 95% из них это copy cats. А сколько ещё сверху не дожило и до AppStore…
Реальная конкуренция из этих сотен – это всего 3-5 команд
Безусловно, вайб-кодинг значительно упрощает жизнь, но он не отнимает потребности в упорстве, маркетинге, общении с пользователями, чувстве вкуса и глубины понимания боли пользователя
Заыайбкодить болванку с загрузкой скринов, gpt api вызовом и пейволлом, завести юрлицо (особенно если ты не из РФ) – действительно нетрудно. Но реальная работа с этого лишь начинается, а не коннчается
Подавляющее большинство фаундеров сдаётся слишком рано, пройдя меньше 1-5% пути
Или, как говорят в Y Combinator:
Большинство стартапов умирает от суицида, не от убийства
Если вы хотите что-то понять в маркетинге, рекомендую посмотреть разбор своей утренней рутины от главного гения маркетинга 2025, Ashton Hall
https://youtu.be/ec2NkaG9mnA?si=X6p23oJMVZzEfLcK
Когда подписчик заметил что Вайб наконец-то научился делать отсылки к вашим локальным мемам, помнит факты о ней из ваших прошлых переписок
Попросил написать об этом отзыв так чтоб выглядело натурально, спонтанно, естественно…
Также отзыв:
Опыт с browser-use, Часть 1
Значит, решил я поскрапить данные с одного сайтика. Наконец под руку попался случай, когда computer-use мне может помочь заработать деньги, сэкономить время
Вообще, пропагандирую подход Andrey Karpathy "учиться по запросу": бросать себя в обстоятельства, где тебе кровь из носа нужно что-то умет, чтобы продвинуться дальше – тогда ты быстро разберёшься в новой теме, прям в боевых условиях. Натыкаться на что-то, что ты не знаешь и не умеешь, а оно уже надо – и это ультра быстрый способ как губка впитать новые знания, быстро набрать очки опыта
Ровно этой философией мы с Валерой Бабушкиным и с командой младших авторов однажды решили сделать формат обучения машинному обучению, отличный от классических курсов – Симулятор ML
Собственно, что я уже попробовал на тему computer use?
OpenAI Operator: https://operator.chatgpt.com/
Брать Pro-подписку за $200 в ChatGPT ради одного только Operator мне пока, честно, впадлу, поэтому этот вариант я сразу скипнул. Не настолько чувствую большая потребность в остальных фичах (сотне Deep Research запросов и o1 pro, прости Денис)
Browser-Use: https://browser-use.com/
YCombinator-backed стартап. Из прикольного - самая мемная переключалка между тёмной и светлой темой лендинга, которую я где-либо видел, рекомендую зайти заценить. У них даётся как сервис по подписке, так и self-hosted, я запустил self-hosted. По первому впечатлению, выглядит юзабельно
Какие полезные приёмы/уроки я нащупал:
- Вместо "сделай всё и сразу с 1 промпта" лучше декомпозировать на изолированные подшаги, некоторые из которых даже не требуют прыгать от страницы к странице
- Где можно обойтись без Agent-режима – лучше обойтись одним вызовом (где не надо гулять, а можно в явном виде прописать URL, спарсить страницу вручную через requests и прогнать через один LLM-вызов)
- Всегда давать референс пример ожидаемого формата
- Для простой обработки HTML-страницы Gemini 2.5-flash здесь больше всех радует с точки зрения внимательности к деталям и скорости. Для LLM в качестве агента мне понравилась GPT-4.1-mini. В browser-use можно выбрать довольно широкий спектр моделей
- Задавать max_steps небольшим (5-10-20), особенно на стадии дебага; валидировать/отлаживать работу на маленьком кусочке (примерно как когда заводишь deep learning трейн луп, сделай так, чтобы у тебя обучение сходилось хотя бы на 1 батче или даже 1 сэмпле)
- Самый главный пункт: смотреть логи – что Agent думает на каждом этапе, что сохраняет в память, где застревает. Например, мне сначала показалось, что мой агент игнорировал JavaScript элементы, но заглянув в его "голову" понял, что он всю нужную информацию успешно подсасывал, а зацикливался уже на финальном шаге при формировании ответа... видимо SO (Structured Output) для browser use ещё не такой стабильный, как хотелось бы
Мой промежуточный вердикт: пока технологии сырые... да, агенты, да, можно довести до рабочего состояния, но пока медленно, требует много экспериментов, отладки. если игра стоит свеч - почему нет
Ваш @bogdanisssimo
#browser_use
Что я могу сказать,
Hard Paywall – мой бро
Soft Paywall – не бро
Ситхи победили
#OCRBench LLM-as-a-Judge: Error Analysis & Checklist
В книге Валеры и Арсения по ML System Design мы писали главу Error Analysis, по мотивам которой была написана моя статья на Хабре "Почему анализ ошибок – это начало разработки ML системы, а не её конец", а также создана одноимённая задача в Симуляторе DS
Когда у нас появляется какой либо способ оценки – кросс-валидация, offline эксперименты, LLM бенчмарк – мы получаем возможность закапываться в ошибки. Где пользователь не делает целевое действие? Где самое сильное расхождение с правильным ответом?
В главе книги мы описывали с каких сторон можно подходить к анализу ошибок, например, можно глазками смотреть на best cases, worst cases – искать, что в них общего, какие паттерны. Также можно мануально выделять группы/кластеры и смотреть перфоманс на ней
Сейчас у нас есть LLM, поэтому вместо рутинной мануальной работы:
1. Можно кидать целые логи / датасеты (с разбором ошибок от LLM-судьи с предыдущего этапа) – в LLM, и просить кластеризовать типовые проблемы
2. Затем можно под каждую из них завести бинарный флаг "есть / нету" и включить это как чеклист ответа LLM-судьи. Для судьи я использую модель от OpenAI где SO (structured output) работает стабильно, поэтому проблем с парсингом ответа несмотря на преумножение числа полей - не возникает
3. В конце прогона агрегируем по каждой модели и получаем "след" её проблем на нашей задаче
Иметь подобную декомпозицию проблем модели и пайплайна сильно полезнее, чем иметь одно агрегированное число "вот такая-то точность". Какие-то из проблем будут критичными, какие-то менее важны, но по крайней мере у тебя появляется четкая картина характера ошибок и теперь понятно, в «какую сторону» исправлять систему
По сути как взять градиент по бенчмарку и делать back propagation 🤓
Ваш @bogdanisssimo
Завтра проходит онлайн-конференция karpov.cоnf от karpov.courses о том, как выстраивать data-driven культуру в компании. Конференция будет полезна как владельцам бизнеса и менеджерам – так и дата аналитикам, дата инженерам, ML инженерам (которым важно в правильный момент сказать на идею руководителя "нет")
Скажем, не всегда осмысленно с точки зрения времени и денег заводить ML-сервисы в компании, где ещё не выстроена data-driven культура и не настроена базовая аналитика, пайплайны данных и у бизнеса нет понимания как проводить A/B тесты и как превращать данные в деньги
(у меня самого в карьере был подобный опыт, думаю, заслуживает отдельного поста)
Регистрироваться здесь: /channel/KarpovCourses/2108
Вопрос от подписчика:
Кстати расскажешь как-нибудь какими тулзами аналитическими пользуешься?
Теория ограничений (теория узких мест) – это примерно тоже самое, что делать back propagation но в масштабах всего бизнеса. Вместо слоёв у тебя этапы воронки:
/channel/bogdanisssimo/1026
Вместо нейронов – компоненты продукта и маркетингового пайплайна (этапы воронки), вместо синапсов - конверсии. На каждом цикле оптимизации ты делаешь оценку в каком направлении что нужно поменять, чтобы больше максимизировать чистую прибыль / LTV:CAC или другую метрику
Как и в deep learning, ты можешь делать как forward pass и backward pass
Например, деньги и юнит-экономика – мы можем "отнормировать" на любом этапе: ты знаешь сколько денег тратишь - можешь оценить CPM (cost per mile, цена за 1000 просмотров) → CPI (cost per install) → CPT (cost per trial) → CAC (customer acquisiton cost, стоимость привлечения 1 платящего пользователя)
Так и, в обратную сторону, backward pass: LTV (Customer LifeTime Value) ← Trial LTV (сколько чистой прибыли принесёт 1 триал) ← Install LTV (сколько денег принесёт 1 инсталл) ← RPM/PPM (revenue per mile / profit per mile, выручка/прибыль на 1000 просмотров)
В случае если канал привлечения один – соотношения (например Install LTV : CPI, LTV : CAC, RPM : CPM) не поменяются. Если несколько каналов (например разбивка по гео) или несколько продуктов (например iOS vs Android) здесь уже начинают размазываться – и можно принимать решение, куда перенаправить усилия, ресурсы
Вайб – ваш бесконечный источник приколов и анекдотов на каждый день
https://onelink.to/get-vibe
https://addyo.substack.com/p/vibe-coding-is-not-an-excuse-for
Читать полностью…Скука – необходимое условие для продуктивной работы, для фокуса
Когда прошёл игру: https://onelink.to/get-vibe 🤨
Читать полностью…Демка приложения, апрель 2025: onelink.to/get-vibe
Читать полностью…Чтобы раз и навсегда закрыть вопрос, сколько букв "r" в слове strawberry
Читать полностью…