Уже писал про важность работы с PDF как основным источником актуальных знаний.
Недавно была волна постов про новый отчет Mery Meeker. Раньше она делала ежегодный Internet Report – анализ всей интернет экономики, наверное, один из самых известных и уважаемых в венчурном мире.В этот раз репорт называется Trends – AI
Большая часть постов были просто новостными с ссылкой на статью, а мы тут такое не любим, так что я посмотрел часть репорта сам, а часть в предобработке LLMкой и принес вам хайлайты, которые меня зацепили:
Про выбор идеи для создания продуктов:
Сейчас стало еще важнее нишеваться за счет своей уникальной доменной экспертизы и быстрых интеграций с существующими в индустрии инструментами. Либо вообще делать сервисный бизнес, а не продуктовый и тупо автоматизировать операционку внутри. Горизонтальные решения оставляем существующим игрокам на рынке, у них
Про ИИ-интеграции
По сути, все мои внешние проекты на интеграцию ИИ – гораздо больше о дизайне процессов и структурированию данных, чем о самой архитектуре LLM запросов. В этом плане, ИИ-интегратор должен быть скорее хорошим менеджером, чем разработчиком.
Общие штуки:
Классика, когда сливают бюджет на AI там где он не нужен, просто чтобы том-менеджменту отчитаться что компания в тренде
↑ База. Уже сейчас, когда общаюсь с людьми из разных областей, вижу жесткий разрыв. Причем, иногда, чем они дальше от айти, тем сильнее разрыв.
Тут мне понравилась мысль, что есть огромный рынок, который "не испорчен" UXом "старого" интернета и под них можно запускать такие продукты, на которые не нужно будет переучивать. Вижу тут возможность про продукты для детей, которые только начинают знакомиться с диджитал миром. Хочется верить образовательные, но в реальности ждем таймкиллеры 🥴
И немного реализма в AI-hypetrain:
Пум-пум-пум
———
Оригинальный репорт – первым комментом
Недавно была волна постов про новый отчет Mery Meeker. Раньше она делала ежегодный Internet Report – анализ всей интернет экономики, наверное, один из самых известных и уважаемых в венчурном мире.
Большая часть постов были просто новостными с ссылкой на статью, а мы тут такое не любим, так что я посмотрел часть репорта сам, а часть в предобработке LLMкой и принес вам хайлайты, которые меня зацепили:
Про выбор идеи для создания продуктов:
...специализированных приложений с добавленной стоимостью для нишевых рынков, которые крупные игроки могут упустить из виду или слишком медленно осваивать
Конкурируйте за счет отраслевой экспертизы и скорости интеграции
Хотя горизонтальные платформы (вроде ChatGPT) на слуху, немедленное, высокоценное внедрение в корпоративном секторе часто происходит в вертикально-специфичных ИИ-решениях, которые понимают отраслевой язык, рабочие процессы и требования соответствия
Сейчас стало еще важнее нишеваться за счет своей уникальной доменной экспертизы и быстрых интеграций с существующими в индустрии инструментами. Либо вообще делать сервисный бизнес, а не продуктовый и тупо автоматизировать операционку внутри. Горизонтальные решения оставляем существующим игрокам на рынке, у них
Про ИИ-интеграции
У предприятий огромные объемы данных, но они часто разрознены, неструктурированы или не «готовы к ИИ».
Предлагайте услуги, выходящие за рамки простого развертывания моделей. Включайте стратегию данных, подготовку данных, редизайн рабочих процессов
По сути, все мои внешние проекты на интеграцию ИИ – гораздо больше о дизайне процессов и структурированию данных, чем о самой архитектуре LLM запросов. В этом плане, ИИ-интегратор должен быть скорее хорошим менеджером, чем разработчиком.
Общие штуки:
Продакт-менеджерам необходимо мыслить в парадигме «ИИ прежде всего» для новых функций, а не «с поддержкой ИИ».
Классика, когда сливают бюджет на AI там где он не нужен, просто чтобы том-менеджменту отчитаться что компания в тренде
CEO NVIDIA: «вы потеряете работу не из-за ИИ, а из-за того, кто использует ИИ» (стр. 336)
↑ База. Уже сейчас, когда общаюсь с людьми из разных областей, вижу жесткий разрыв. Причем, иногда, чем они дальше от айти, тем сильнее разрыв.
особенно актуально для 2,6 млрд человек, которые еще не подключены к интернету и могут сразу начать использовать ИИ-интерфейсы
Тут мне понравилась мысль, что есть огромный рынок, который "не испорчен" UXом "старого" интернета и под них можно запускать такие продукты, на которые не нужно будет переучивать. Вижу тут возможность про продукты для детей, которые только начинают знакомиться с диджитал миром. Хочется верить образовательные, но в реальности ждем таймкиллеры 🥴
И немного реализма в AI-hypetrain:
При этом, реальное использование ИИ в производстве товаров/услуг в США все еще относительно невысоко (~7% компаний в Q1:25, стр. 328-329).
Рост вакансий в области ИИ, заявления CEO о том, что ИИ создаст новые рабочие места и повысит производительность (стр. 325-327, 331-336). Одновременно — признание, что «каждая работа будет затронута» и некоторые рабочие места будут потеряны
...приведет ли это к значительному росту неравенства, если выгоды от ИИ сконцентрируются у владельцев капитала и высококвалифицированных специалистов, способных работать с ИИ?
Растущее энергопотребление дата-центров, особенно ИИ-ориентированных (стр. 124-128). США потребляют 45% мировой электроэнергии дата-центров. Сможет ли технологический прогресс в энергоэффективности компенсировать экспоненциальный рост спроса на вычисления?
Пум-пум-пум
———
Оригинальный репорт – первым комментом
❤16🔥6👍2❤🔥1
Проблема фокуса и лайфхак
Если вы используете AI в работе, то точно сталкивались с ситуацией, когда даете задание LLMке, пока ждете результата переключаетесь на другую задачу, а про первую вспоминаете спустя пол часа (в лучшем случае).
У меня бывает доходит до абсурда – я переключаюсь между задачами по нескольким проектам, играя роль оркестратора. В этот момент чувствую себя СДВГшником, и от постоянной смены контекстов очень устаю. А сидеть и пялиться в монитор несколько минут в ожидании задачи – невыносимо.
Как решить эту проблему я пока не понял, но зато понятно как решать проблему с возвратом фокуса – нотификашки.
Например, я постоянно использую копеечный Perplexity с deepresearch для сбора инфы из интернета, а иногда и их новый Perplexity Lab, чтобы делать простые веб прототипы. И теперь мне приходит уведомление, когда новая задача выполнена.
Но так как я не только разраб, который использует AI, но и разраб самих AI решений, то часто мне нужно ждать, пока обработаются все тестовые запросы внутри системы, которую разрабатываю, и можно будет посмотреть на метрики(помним, что evaluation is a king сейчас – нормальный evaluation пайплайн – ключевое отличие здорового процесса разработки AI систем) .
Обычно я все эксперименты делаю в jupyter ноутбуках (внутри cursor), чтобы перезапускать отдельные шаги и быстро визуализировать что угодно. Запустил ячейку с экспериментом, пошел смотреть на результаты прошлого шага и формировать изменения для следующего.
Так вот, я не знаю, почему я только сейчас до этого дошел, но это настолько банально очевидно – вставлять в конец ячейки команду, которая будет издавать звук или присылать системное уведомление.
На маке вот так:
А так можно произнести любой текст
Работа стала и эффективнее и веселее
P.s. это все на стороне сервера => если вы через подключаетесь к удаленной машине, то работать не будет.
Upd: в комментах @YakovLitvin версию для винды принес, спасибо ему
Если вы используете AI в работе, то точно сталкивались с ситуацией, когда даете задание LLMке, пока ждете результата переключаетесь на другую задачу, а про первую вспоминаете спустя пол часа (в лучшем случае).
У меня бывает доходит до абсурда – я переключаюсь между задачами по нескольким проектам, играя роль оркестратора. В этот момент чувствую себя СДВГшником, и от постоянной смены контекстов очень устаю. А сидеть и пялиться в монитор несколько минут в ожидании задачи – невыносимо.
Как решить эту проблему я пока не понял, но зато понятно как решать проблему с возвратом фокуса – нотификашки.
Например, я постоянно использую копеечный Perplexity с deepresearch для сбора инфы из интернета, а иногда и их новый Perplexity Lab, чтобы делать простые веб прототипы. И теперь мне приходит уведомление, когда новая задача выполнена.
Но так как я не только разраб, который использует AI, но и разраб самих AI решений, то часто мне нужно ждать, пока обработаются все тестовые запросы внутри системы, которую разрабатываю, и можно будет посмотреть на метрики
Обычно я все эксперименты делаю в jupyter ноутбуках (внутри cursor), чтобы перезапускать отдельные шаги и быстро визуализировать что угодно. Запустил ячейку с экспериментом, пошел смотреть на результаты прошлого шага и формировать изменения для следующего.
Так вот, я не знаю, почему я только сейчас до этого дошел, но это настолько банально очевидно – вставлять в конец ячейки команду, которая будет издавать звук или присылать системное уведомление.
На маке вот так:
subprocess.run([
'osascript', '-e',
'display notification with title "Task Complete" subtitle "ProjectX" sound name "Glass"'
]);
А так можно произнести любой текст
os.system('say "My lord, your data has been prepared!"')Работа стала и эффективнее и веселее
P.s. это все на стороне сервера => если вы через подключаетесь к удаленной машине, то работать не будет.
Upd: в комментах @YakovLitvin версию для винды принес, спасибо ему
3👍28❤18🔥10😁3👻1🤝1
Проектный менеджмент в AI и личный опыт
"В AI использовать классический айтишный проектный менеджмент – стрелять себе в ногу" – нарратив, которую я все чаще слышу от опытных ИИ интеграторов. Дальше – почему я согласен и как сам строю процесс
Дело в том, что в разработке AI решений гораздо больше неопределенности. Разработать сайт – достаточно предсказуемая штука. Да, там вылезет что-то, чего не было в тз или ошибки проектирования не позволят добавить "очень нужную функцию", которая понадобилась заказчику.
Но с AI системами все по-другому. Это в самой своей сути всегда немного исследовательский проект. Получится ли добиться нужной точности? А если другую архитектуру попробовать? А другую модель? А если форматирование данных с json поменять на xml? А что если ошибки не в поведении системы, а в самой разметке тестовых данных? А как это понять?
Это все – набор экспериментов. Результатом является не разработанная система, а проверенные гипотезы + выводы. Все как в науке => проектный менеджмент нужен похожий скорее на академический, чем на айтишный.
Но заказчику нужны не выводы, а рабочий продукт. Как быть?
Я свои заказы практически всегда делю на два ключевых этапа: исследовательский и интеграционный
Исследовательский
* Цель – проверить гипотезы и разработать LLM-core часть.
* Заказчик на вход дает примеры данных, с которыми система работает:
* Набор документов для извлечения данных
* Аудиозаписи для транскрибации
* Переписку продажников, которую хотим анализировать на ошибки
* В идеале получить еще разметку – ожидаемые результаты. Это может быть то, какой результат сейчас получают вручную
* На выходе тоже данные – результаты работы системы. И если есть разметка, то еще и сравнение с ней – где совпадает, а где нет (высший пилотаж, если даем еще и анализ почему)
* Никакой рабочей системы, продакшена и интерфейсов. Данные на вход, данные и метрики на выход,
* Если результаты исследования устраивают – идем дальше
Интеграционный
* Цель – обернуть llm-систему в сервис/приложение и интегрировать в существующие процессы.
* Я стараюсь вынести требования к прайваси именно сюда, чтобы они не тормозили на первом этапе. Тут уже может быть и разворачивание инфраструктуры в своем контуре, и работа с локальными моделями, и переезд в Azure вместо обычного OpenAI API.
* Много погружения в существующие процессы или код для бесшовной интеграции. Для примера, на текущем проекте идем в два этапа:
* Сначала внутренний сервис, который сотрудники используют под своим контролем – вручную детектим проблемы, которые не видели на тестовых данных.
* А когда основные edge-кейсы обработаны, выносим в самостоятельный сервис без участия человека.
* Настраиваем мониторинги, деплой, A/B тесты, ретраи с exponential backoff, фоллбэки на других провайдеров для надежности. Короче, продакшн
* По большей части обычная айтишная разработка.
———
Разделяя так проект, я снижаю и свои риски, и заказчика – если сразу видим, что задача автоматизации не решается на нужном уровне, можно вообще не тратить деньги и время на продакнш.
Заказчик экономит время и деньги, а я – сохраняю репутацию(чтобы не было "вон столько денег потратили, а пользоваться не возможно") .
Еще и итерации без всей этой продакшн части делаются на порядок быстрее. Я за последние три года видел много ситуаций, когда люди сразу делали продакшн, а потом серьезное обновление LLM-системы тянуло за собой кучу приседаний.
И люди просто отказывались делать такие обновления. Да, в идеале оно все абстрагировано друг от друга. Но в реальности я такого не видел 🤷♂️
Кстати, бонус: если на исследовательском этапе метрики не устраивают, не обязательно отказываться от дальнейшей разработки. Можно менять подход к интеграции в сторону "копайлота". Работает AI + человек, который следит за ошибками и направляет систему, работая за целую команду.
Этот вроде простой подход наработан "кровью и потом". Если знаете, кому этот пост может быть полезен, поделитесь с ними, вам будут благодарны. А я буду рад, если рефлексия над моими ошибками поможет кому-то избежать своих
"В AI использовать классический айтишный проектный менеджмент – стрелять себе в ногу" – нарратив, которую я все чаще слышу от опытных ИИ интеграторов. Дальше – почему я согласен и как сам строю процесс
Дело в том, что в разработке AI решений гораздо больше неопределенности. Разработать сайт – достаточно предсказуемая штука. Да, там вылезет что-то, чего не было в тз или ошибки проектирования не позволят добавить "очень нужную функцию", которая понадобилась заказчику.
Но с AI системами все по-другому. Это в самой своей сути всегда немного исследовательский проект. Получится ли добиться нужной точности? А если другую архитектуру попробовать? А другую модель? А если форматирование данных с json поменять на xml? А что если ошибки не в поведении системы, а в самой разметке тестовых данных? А как это понять?
Это все – набор экспериментов. Результатом является не разработанная система, а проверенные гипотезы + выводы. Все как в науке => проектный менеджмент нужен похожий скорее на академический, чем на айтишный.
Но заказчику нужны не выводы, а рабочий продукт. Как быть?
Я свои заказы практически всегда делю на два ключевых этапа: исследовательский и интеграционный
Исследовательский
* Цель – проверить гипотезы и разработать LLM-core часть.
* Заказчик на вход дает примеры данных, с которыми система работает:
* Набор документов для извлечения данных
* Аудиозаписи для транскрибации
* Переписку продажников, которую хотим анализировать на ошибки
* В идеале получить еще разметку – ожидаемые результаты. Это может быть то, какой результат сейчас получают вручную
* На выходе тоже данные – результаты работы системы. И если есть разметка, то еще и сравнение с ней – где совпадает, а где нет (высший пилотаж, если даем еще и анализ почему)
* Никакой рабочей системы, продакшена и интерфейсов. Данные на вход, данные и метрики на выход,
* Если результаты исследования устраивают – идем дальше
Интеграционный
* Цель – обернуть llm-систему в сервис/приложение и интегрировать в существующие процессы.
* Я стараюсь вынести требования к прайваси именно сюда, чтобы они не тормозили на первом этапе. Тут уже может быть и разворачивание инфраструктуры в своем контуре, и работа с локальными моделями, и переезд в Azure вместо обычного OpenAI API.
* Много погружения в существующие процессы или код для бесшовной интеграции. Для примера, на текущем проекте идем в два этапа:
* Сначала внутренний сервис, который сотрудники используют под своим контролем – вручную детектим проблемы, которые не видели на тестовых данных.
* А когда основные edge-кейсы обработаны, выносим в самостоятельный сервис без участия человека.
* Настраиваем мониторинги, деплой, A/B тесты, ретраи с exponential backoff, фоллбэки на других провайдеров для надежности. Короче, продакшн
* По большей части обычная айтишная разработка.
———
Разделяя так проект, я снижаю и свои риски, и заказчика – если сразу видим, что задача автоматизации не решается на нужном уровне, можно вообще не тратить деньги и время на продакнш.
Заказчик экономит время и деньги, а я – сохраняю репутацию
Еще и итерации без всей этой продакшн части делаются на порядок быстрее. Я за последние три года видел много ситуаций, когда люди сразу делали продакшн, а потом серьезное обновление LLM-системы тянуло за собой кучу приседаний.
И люди просто отказывались делать такие обновления. Да, в идеале оно все абстрагировано друг от друга. Но в реальности я такого не видел 🤷♂️
Кстати, бонус: если на исследовательском этапе метрики не устраивают, не обязательно отказываться от дальнейшей разработки. Можно менять подход к интеграции в сторону "копайлота". Работает AI + человек, который следит за ошибками и направляет систему, работая за целую команду.
Этот вроде простой подход наработан "кровью и потом". Если знаете, кому этот пост может быть полезен, поделитесь с ними, вам будут благодарны. А я буду рад, если рефлексия над моими ошибками поможет кому-то избежать своих
❤31🔥11👍4
Очень узкий лайхак, который сэкономил мне много часов
Пишу только потому что его нет в официальной документации, и мне самому было бы полезно узнать о нем откуда-то
Вводные:
1. Я сейчас активно использую Gemini в качестве поискового движка вместо эмбеддингов
2. Я работаю с PDFками
3. Я использую OpenAI-compatible API (тут гугл красавчики, конечно)
4. У OpenAI API нет поддержки пдфок
Короче, хочется и все плюшки OpenAI формата использовать, и при этом специфичные для гугла фичи, типа умения кушать PDF в обычном chat completion режиме.
Оказалось, есть незадокументированный способ это сделать. Используем методы OpenAI для загрузки изображений, но меняем
P.s. помним, что google читает пдфки с потерями (на вход идет раза в три меньше токенов, чем если грузить пдфку текстом). Для надежности лучше перегнать пдфки в текст, например в markdown через MarkerPDF и сравнить метрики двух подходов. На многих задачах оказывается, что достаточно отправлять PDF напрямую (+ в комментах потестили)
! Только для тех, кто разрабатывает свои AI системы
Пишу только потому что его нет в официальной документации, и мне самому было бы полезно узнать о нем откуда-то
Вводные:
1. Я сейчас активно использую Gemini в качестве поискового движка вместо эмбеддингов
2. Я работаю с PDFками
3. Я использую OpenAI-compatible API (тут гугл красавчики, конечно)
4. У OpenAI API нет поддержки пдфок
Короче, хочется и все плюшки OpenAI формата использовать, и при этом специфичные для гугла фичи, типа умения кушать PDF в обычном chat completion режиме.
Оказалось, есть незадокументированный способ это сделать. Используем методы OpenAI для загрузки изображений, но меняем
image/png на appication/pdf. Всё!messages = [
{
"role": "user",
"content": [
{
"type": "text",
"text": prompt,
},
{
"type": "image_url",
"image_url": {"url": f"data:application/pdf;base64,{base64_file}"},
},
],
},
]
P.s. помним, что google читает пдфки с потерями (на вход идет раза в три меньше токенов, чем если грузить пдфку текстом). Для надежности лучше перегнать пдфки в текст, например в markdown через MarkerPDF и сравнить метрики двух подходов. На многих задачах оказывается, что достаточно отправлять PDF напрямую (+ в комментах потестили)
3❤24👍7🔥2✍1
AI и грабли
Очень узкий лайхак, который сэкономил мне много часов ! Только для тех, кто разрабатывает свои AI системы Пишу только потому что его нет в официальной документации, и мне самому было бы полезно узнать о нем откуда-то Вводные: 1. Я сейчас активно использую…
Понял, что даже примерно не знаю имплементацию обработки pdf у гугла. Есть ли там OCR? А текст, который прям текстом в pdf лежит, он сохраняет текстом или как картинку читает? Отправил Perplexity рисерчить за меня (внизу русская версия).
Из интересного:
1. Все страницы обрабатываются как картинки (не ожидал, я думал, хотя бы часть текста передается как текст)
2. Каждая страница кодируется 258 токенами вне зависимости от плотности инфы (значит, страницы с очень плотной инфой будут разбираться с ошибками)
Вывод – берем самые плотные страницы из данных с которыми работаем и бенчмаркаемся на них, прежде чем использовать нативную поддержку pdf в google gemini
P.s. а еще это значит, что если будет проблема со сломанными шрифтами (а в реальности такое бывает), то gemini сможет прочитать такой файл, об который текстовый пайплайн сломается (пример в комментах).
Из интересного:
1. Все страницы обрабатываются как картинки (не ожидал, я думал, хотя бы часть текста передается как текст)
2. Каждая страница кодируется 258 токенами вне зависимости от плотности инфы (значит, страницы с очень плотной инфой будут разбираться с ошибками)
Вывод – берем самые плотные страницы из данных с которыми работаем и бенчмаркаемся на них, прежде чем использовать нативную поддержку pdf в google gemini
P.s. а еще это значит, что если будет проблема со сломанными шрифтами (а в реальности такое бывает), то gemini сможет прочитать такой файл, об который текстовый пайплайн сломается (пример в комментах).
Perplexity AI
find any articles reverse engineering Google Gemini abilities of work with pdf...
Based on my research into Google Gemini's PDF processing capabilities, I can provide you with a comprehensive analysis of the available information about how...
🔥10❤3🤯3
Не хочу мусолить одну и ту же тему второй день подряд (но буду)
Просто вчера google выкатил апдейт ровно по теме предыдущего поста – теперь можно контролировать детализацию "понимания" медиа файлов – сколько токенов используется для кодирования одной страницы pdf.
Правда, появилась возможность только понизить точность, а не повысить 🥲
(ладно, повысить тоже можно через zoom, но почему-то только для старых 2.0 моделек)
Все, никаких постов про разработку AI сервисов в ближайшее время
Просто вчера google выкатил апдейт ровно по теме предыдущего поста – теперь можно контролировать детализацию "понимания" медиа файлов – сколько токенов используется для кодирования одной страницы pdf.
Правда, появилась возможность только понизить точность, а не повысить 🥲
(ладно, повысить тоже можно через zoom, но почему-то только для старых 2.0 моделек)
Все, никаких постов про разработку AI сервисов в ближайшее время
4❤13👍4
Привет!
Я Коля и этот канал – такая же смесь разных штук, как и я сам. Прошел путь от хардкорных оптимизаций на C++ до ML инжиниринга и управления продуктом, чтобы в 2023 уйти строить "my own software company".
По пути пожил на 4х континентах, несколько лет преподавал в университе (придумав забавную систему, которую студенты назвали "коля-коинами"), 4 месяца покатался по Западной Африке автостопом, занимался сценической импровизацией и переговорными чемпионатами, сжал все свои вещи до 35л рюкзака.
Сейчас строю свои микро-продукты (тут скоро будет ссылка на пост с провалами), веду консультации и делаю ИИ интеграции для чужого бизнеса (часто вообще не айтишного – выше ценность). Обычно хвастаюсь, что начал внедрять GPT-3 в существующий бизнес еще до выхода ChatGPT в 2023м.
Делюсь тем, что узнаю по пути. Стараюсь писать про практический опыт, ошибки и личное мнение – то, что нельзя вытащить LLMкой из новостной ленты.
Все лучшие посты тут, а вот три моих любимых:
Инсайты из чатов. как выкачать и проанализировать любую переписку
Вайб-кодинг без вайб-кодинга. Мой подход к разработке с AI спустя 2,5 года
Как я перестал откладывать
Записаться на консультацию:
@nikolay_sheyko
Я Коля и этот канал – такая же смесь разных штук, как и я сам. Прошел путь от хардкорных оптимизаций на C++ до ML инжиниринга и управления продуктом, чтобы в 2023 уйти строить "my own software company".
По пути пожил на 4х континентах, несколько лет преподавал в университе (придумав забавную систему, которую студенты назвали "коля-коинами"), 4 месяца покатался по Западной Африке автостопом, занимался сценической импровизацией и переговорными чемпионатами, сжал все свои вещи до 35л рюкзака.
↑ Это я рассказываю, чтобы за аватаркой канала было немного реального человека со своими "приколами"
Сейчас строю свои микро-продукты (тут скоро будет ссылка на пост с провалами), веду консультации и делаю ИИ интеграции для чужого бизнеса (часто вообще не айтишного – выше ценность). Обычно хвастаюсь, что начал внедрять GPT-3 в существующий бизнес еще до выхода ChatGPT в 2023м.
Делюсь тем, что узнаю по пути. Стараюсь писать про практический опыт, ошибки и личное мнение – то, что нельзя вытащить LLMкой из новостной ленты.
Все лучшие посты тут, а вот три моих любимых:
Инсайты из чатов. как выкачать и проанализировать любую переписку
Вайб-кодинг без вайб-кодинга. Мой подход к разработке с AI спустя 2,5 года
Как я перестал откладывать
Записаться на консультацию:
@nikolay_sheyko
Telegram
Nikolay Sheyko
23🔥40❤18👏11
Подборка всех лучших постов (обновляется)
Для всех:
Инсайты из чатов. как выкачать и проанализировать любую переписку
Транскрибация и саммари звонков здорового человека
Как получилось, что юристы используют среду для разработчиков?
Универсальный взлом LLM и чем это грозит бизнесу
Самообман LLMками
Про разработку AI систем
Structured output, почему это база и как это использовать
Главная проблема GPT – не экспертиза, а контекст. И вот как её решить
Проектный менеджмент в AI и личный опыт: почему айтишные подходы – зло
Инсайты из моего эфира про context engineering у Влада NGI
Эмбеддинги сосут
Про разработку с AI тулами:
Вайб-кодинг без вайб-кодинга. Мой подход к разработке с AI спустя 2,5 года
Мой топ постов из других каналов о разработке с AI инструментами
Как хостить свои поделки, не превращаясь в девопса
Как дизайнить собесы под использование ИИ
Личное:
Выбирать скуку
Как я перестал откладывать: магия «задач-черновиков»
Быть фаундером стартапа – плохой способ заниматься инновациями
Для всех:
Инсайты из чатов. как выкачать и проанализировать любую переписку
Транскрибация и саммари звонков здорового человека
Как получилось, что юристы используют среду для разработчиков?
Универсальный взлом LLM и чем это грозит бизнесу
Самообман LLMками
Про разработку AI систем
Structured output, почему это база и как это использовать
Главная проблема GPT – не экспертиза, а контекст. И вот как её решить
Проектный менеджмент в AI и личный опыт: почему айтишные подходы – зло
Инсайты из моего эфира про context engineering у Влада NGI
Эмбеддинги сосут
Про разработку с AI тулами:
Вайб-кодинг без вайб-кодинга. Мой подход к разработке с AI спустя 2,5 года
Мой топ постов из других каналов о разработке с AI инструментами
Как хостить свои поделки, не превращаясь в девопса
Как дизайнить собесы под использование ИИ
Личное:
Выбирать скуку
Как я перестал откладывать: магия «задач-черновиков»
Быть фаундером стартапа – плохой способ заниматься инновациями
Telegram
AI и грабли
Инсайты из чатов
Уже третий раз себя ловлю на повторении одного и того же действия – когда нужна какая-то инфа про страну, оформление виз, получение доков, то просто выкачиваю весь чат, и отправляю в LLM. Вроде все просто, но на самом деле есть пара нюансов:…
Уже третий раз себя ловлю на повторении одного и того же действия – когда нужна какая-то инфа про страну, оформление виз, получение доков, то просто выкачиваю весь чат, и отправляю в LLM. Вроде все просто, но на самом деле есть пара нюансов:…
🔥10❤8👍5
Что использовать для evaluation или как я очень удивился
Тут Ринат отлично объясняет зачем нужен evaluation в AI продуктах – нормально построенный механизм проверки качества позволяет избежать таких ситуаций:
Про это в целом давно все говорят (см выше скрин твиттера президента OpenAI от 2023), но про реализацию на практике – почти ничего не вижу. Значит надо писать.
Я строил eval пайплайны для LLMок еще в конце 22го, до выхода chatgpt, продолжаю строить их и сейчас для клиентских проектов. Обычно я даже не начинаю работать над проектом, пока нет данных, и не начинаю разрабатывать саму LLM-систему, пока не сделал систему проверки качества.
По сути есть два основных варианта, как делать:
1. Писать полностью свой кастомный код конкретно под задачу
2. Использовать какие-то готовые инструменты типа OpenAI Evals, который уже встречался тут
Я всегда делал сам, индивидуально под задачу. У такого подхода есть два серьезных минуса:
1. Нужно строить логику хранения и сравнения разных экспериментов. При чем, нужно, чтобы по данным эксперимента можно было точно восстановить исходный код и данные (решаю привязкой эксперимента к хешу гит коммита)
2. Нужно настраивать визуализацию. С разными отображениями. Сравнение ключевых метрик между экспериментами. Табличка по конкретному эксперименту. Фильтрации по каким-нибудь подмножествам. Графики.
В целом, я готов платить этой доп сложностью за гибкость настройки под конкретный кейс. Но тут мне пришел запрос помочь с выбором инструмента и построением eval системы.Кажется, нужно начать продавать такую услугу, хаха
———
Я полез смотреть, что сейчас есть на рынке и ужаснулся. Расплодилось очень много модных инструментов для LLM-evaluation. Они все позволяют достаточно гибко настраивать проверку по каждому отдельному объекту (см картинку OpenAI Evals), но при этом суммарная метрика по всем объектам из датасета – это всегда просто усреднение. То есть – тупо accuracy. Я напишу отдельный пост, почему это почти всегда плохая метрика, а сейчас важен сам факт:
Я не понимаю, почему так, если честно. Видимо, рынок evals еще в очень незрелом состоянии. Или просто все, кто разбирается в ML метриках, тоже идут по первому пути и считают все сами.
Итог
Справедливости ради, я все-таки нашел инструмент, где можно самому задавать общую метрику – это wandb.com, который исторически как раз был инструментом для классических ML и DS, но запустил у себя новый продукт weave для LLM evals.
Это прям рекомендация, особенно на python. На js/ts нужного функционала сильно меньше – там f-score уже не получится сделать.
А вы на какой стороне?
❤️ – использовать готовые инструменты
👍 – кастомить под задачу
😈 – еvals не нужны, просто вручную смотришь, что норм работает
Тут Ринат отлично объясняет зачем нужен evaluation в AI продуктах – нормально построенный механизм проверки качества позволяет избежать таких ситуаций:
Недавно мы подкручивали промпт в нашем проекте. После изменений система стала работать лучше, но пользователи начали жаловаться. Поправили там, но сломалось где-то ещё.
Про это в целом давно все говорят (см выше скрин твиттера президента OpenAI от 2023), но про реализацию на практике – почти ничего не вижу. Значит надо писать.
Я строил eval пайплайны для LLMок еще в конце 22го, до выхода chatgpt, продолжаю строить их и сейчас для клиентских проектов. Обычно я даже не начинаю работать над проектом, пока нет данных, и не начинаю разрабатывать саму LLM-систему, пока не сделал систему проверки качества.
По сути есть два основных варианта, как делать:
1. Писать полностью свой кастомный код конкретно под задачу
2. Использовать какие-то готовые инструменты типа OpenAI Evals, который уже встречался тут
Я всегда делал сам, индивидуально под задачу. У такого подхода есть два серьезных минуса:
1. Нужно строить логику хранения и сравнения разных экспериментов. При чем, нужно, чтобы по данным эксперимента можно было точно восстановить исходный код и данные (решаю привязкой эксперимента к хешу гит коммита)
2. Нужно настраивать визуализацию. С разными отображениями. Сравнение ключевых метрик между экспериментами. Табличка по конкретному эксперименту. Фильтрации по каким-нибудь подмножествам. Графики.
В целом, я готов платить этой доп сложностью за гибкость настройки под конкретный кейс. Но тут мне пришел запрос помочь с выбором инструмента и построением eval системы.
———
Я полез смотреть, что сейчас есть на рынке и ужаснулся. Расплодилось очень много модных инструментов для LLM-evaluation. Они все позволяют достаточно гибко настраивать проверку по каждому отдельному объекту (см картинку OpenAI Evals), но при этом суммарная метрика по всем объектам из датасета – это всегда просто усреднение. То есть – тупо accuracy. Я напишу отдельный пост, почему это почти всегда плохая метрика, а сейчас важен сам факт:
Мы не можем настраивать суммарную для всего датасета метрику, а должны довольствоваться просто accuracy.
P.s. а ко мне пришли с задачей multi-label классификации, и мы хотим f-score с увеличенным весом recall
Я не понимаю, почему так, если честно. Видимо, рынок evals еще в очень незрелом состоянии. Или просто все, кто разбирается в ML метриках, тоже идут по первому пути и считают все сами.
Итог
Справедливости ради, я все-таки нашел инструмент, где можно самому задавать общую метрику – это wandb.com, который исторически как раз был инструментом для классических ML и DS, но запустил у себя новый продукт weave для LLM evals.
Это прям рекомендация, особенно на python. На js/ts нужного функционала сильно меньше – там f-score уже не получится сделать.
А вы на какой стороне?
❤️ – использовать готовые инструменты
👍 – кастомить под задачу
😈 – еvals не нужны, просто вручную смотришь, что норм работает
👍24❤7😈7🔥3
Самые частые микро-советы с консультаций:
XML > json (для данных)
XML sections > Markdown headers (для промптов в целом)
Gemini flesh lite > Embeddings search
Gemini > whisper
Порядок экспериментов:
1. Без ризонинга 2. Общий ризонинг 3. Кастомный ризонинг
Кастомный ризонинг делать через поля в structured_output. 1 поле – 1 шаг.
Бейзлайн решение на закрытой мощной дорогой модели – верхняя оценка возможностей.Релевантно, даже если решение нужно делать на открытых моделях
Ваншот запрос (с интерактивным редактированием и перезапуском) > чат с кучей коррекционных сообщений
"
XML > json (для данных)
XML sections > Markdown headers (для промптов в целом)
Gemini flesh lite > Embeddings search
Gemini > whisper
Порядок экспериментов:
1. Без ризонинга 2. Общий ризонинг 3. Кастомный ризонинг
Кастомный ризонинг делать через поля в structured_output. 1 поле – 1 шаг.
Бейзлайн решение на закрытой мощной дорогой модели – верхняя оценка возможностей.
Ваншот запрос (с интерактивным редактированием и перезапуском) > чат с кучей коррекционных сообщений
"
Before start, ask questions to clarify what remains unclear/ambiguous. Then wait for my response, then proceed with the initial task"❤33🔥18🤝3
AI делает опытных разработчиков менее продуктивными
Нашумевшая статья, про то, что использование ИИ снижает эффективность разработки. А самое интересное, что участники исследования думают, что производительность только увеличилась. Шах и мат, ИИ-энтузиасты.
Ладно, на самом деле я не хотел писать про эту статью, но до сих пор вижу, как ее расшаривают даже в профильных ИИ чатах, так что пора развенчивать мифы.
У этой статьи сразу несколько серьезных проблем:
1. Выборка всего из 16 участников. 16, КАРЛ.
2. Пишут, что было 250 задач. Но если вчитаться, оказывается, что это не на участника, а всего. То есть 16 участников по 16 задач. Если посмотреть на графики в аппендиксе, то видно, что у результатов нет статзначимости 🤥
3. Никто из них не имел серьезного опыта с ИИ-инструментами для разработки. Кривая входа в больших проектах в кодинг с ИИ – очень крутая. Это лендос на lovable собрать за выходные может любой дизайнер/продакт. Но большой проект – это всегда сложная инженерия с кучей нюансов
4. Результаты оценивали в среднем, хотя в контексте предыдущего пункта полезнее всего смотреть на верхней перцентиль – на сколько увеличилась эффективность эффективность у тех, у кого получилось найти эффективные паттерны использования.
———
Удивительно(нет) , но у 4 разработчиков эффективность выросла (у двух – почти x2), причем лучший результат был у того, кто уже немного пользовался Cursor до эксперимента. Что только подтверждает связь между умением пользоваться инструментом и производительностью (вау?).
По хорошему, такой эксперимент нужно делать на разработчиках, которые уже прошли какие-то курсы с best practices по использованию ИИ в разработке, когда они уже знают эффективные паттерны использования, а не пытаются методом тыка их найти прямо во время эксперимента.
Кстати, если хотите провести такое обучение у себя в компании, напишите мне, хочу пилот сделать.
Ну а у авторов статьи получилось красиво хайпануть, еще и нигде не скрывать инфу (СМИ все равно сами вытащат "нужное"). Кстати, очень похожим образом в свое время получилось хайпануть у DeepSeek. Остается только учиться
Нашумевшая статья, про то, что использование ИИ снижает эффективность разработки. А самое интересное, что участники исследования думают, что производительность только увеличилась. Шах и мат, ИИ-энтузиасты.
Ладно, на самом деле я не хотел писать про эту статью, но до сих пор вижу, как ее расшаривают даже в профильных ИИ чатах, так что пора развенчивать мифы.
У этой статьи сразу несколько серьезных проблем:
1. Выборка всего из 16 участников. 16, КАРЛ.
2. Пишут, что было 250 задач. Но если вчитаться, оказывается, что это не на участника, а всего. То есть 16 участников по 16 задач. Если посмотреть на графики в аппендиксе, то видно, что у результатов нет статзначимости 🤥
3. Никто из них не имел серьезного опыта с ИИ-инструментами для разработки. Кривая входа в больших проектах в кодинг с ИИ – очень крутая. Это лендос на lovable собрать за выходные может любой дизайнер/продакт. Но большой проект – это всегда сложная инженерия с кучей нюансов
4. Результаты оценивали в среднем, хотя в контексте предыдущего пункта полезнее всего смотреть на верхней перцентиль – на сколько увеличилась эффективность эффективность у тех, у кого получилось найти эффективные паттерны использования.
———
Удивительно
По хорошему, такой эксперимент нужно делать на разработчиках, которые уже прошли какие-то курсы с best practices по использованию ИИ в разработке, когда они уже знают эффективные паттерны использования, а не пытаются методом тыка их найти прямо во время эксперимента.
Кстати, если хотите провести такое обучение у себя в компании, напишите мне, хочу пилот сделать.
Ну а у авторов статьи получилось красиво хайпануть, еще и нигде не скрывать инфу (СМИ все равно сами вытащат "нужное"). Кстати, очень похожим образом в свое время получилось хайпануть у DeepSeek. Остается только учиться
👍15❤9😱6👏3
Кстати, Влад из комментов к посту выше позвал меня на эфир в понедельник (21.07 в 19:00).
Будем разбираться, что за новый хайповый термин Context Engineer, чем это отличается от ушедшего в небытие Prompt Engineer. А самое главное, зачем управление контекстом нужно всем, кто много использует ИИ и как избежать основные грабли.
Кодить уметь не нужно. Целевая аудитория – все активные пользователи ИИ. Бонусом будет мини воркшоп от меня, как без программирования делать динамические сборщики контекста.
Чтобы не пропустить, можно добавить ивент в календарик тут
Будем разбираться, что за новый хайповый термин Context Engineer, чем это отличается от ушедшего в небытие Prompt Engineer. А самое главное, зачем управление контекстом нужно всем, кто много использует ИИ и как избежать основные грабли.
Кодить уметь не нужно. Целевая аудитория – все активные пользователи ИИ. Бонусом будет мини воркшоп от меня, как без программирования делать динамические сборщики контекста.
Чтобы не пропустить, можно добавить ивент в календарик тут
👍17❤4🔥2
Ссылка на эфир: https://t.me/NGI_ru?livestream
Telegram
NGI | Влад Корнышев про AI и создание AI-продуктов
Простым языком рассказываю об AI, Product Management и работе AI-продактом.
Автор канала - @vladkor97, консультирую AI стартапы, помогаю запускать MVP, ex-R&D продакт в Skyeng, ex-AI продакт в Pearson. Создаю инновации следующего поколения с 2019 года.
Автор канала - @vladkor97, консультирую AI стартапы, помогаю запускать MVP, ex-R&D продакт в Skyeng, ex-AI продакт в Pearson. Создаю инновации следующего поколения с 2019 года.
❤2
Неделю назад я был на эфире у Влада про Context Engineering. Наконец у меня дошли руки выписать несколько мини-тейков, чтобы не смотреть все два часа (некоторые достаточно противоречивые, как мы любим):
* Контекст-инжиниринг – часть промпт-инжиниринга. Просто теперь все важнее не только правильно собирать слова в инструкции, но и подтягивать релевантные данные извне.
* Можно легко перегрузить контекстом. Аналогия – когда на разработчика вывалили весь контекст, который был в голове у менеджера, и теперь разработчик парализован, потому что постоянно вылетает в мысли про смежные зоны и ограничения.
* Отсюда берется полезный паттерн: отдельно чат – "менеджер", где много контекста, и идет основное размышление и планирование, а отдельно чаты – "исполнители", которые занимаются узкой задачей, владея только нужным для конкретной задачи контекстом
* Другой полезный паттерн – стараться решить задачу в один-два запроса вместо того, чтобы бесконечно корректировать в режиме долгого диалога. То есть, если не получается, то менять исходный запрос, а не писать новые сообщения-корректировки.
* Модели хуже обращают внимание на контекст в середине. Одно из решений – просить модель повторить релевантный блок, прежде, чем генерировать финальный ответ. Так, она сама поместит его в конец своей "оперативной памяти", где внимание не проседает
* Просите модель собрать для вас инструменты для сбора данных. На эфире мы попробовали два способа, актуальных для неразработчиков (не требуют деплоя):
1. Самодостаточный html файл, который открывается в любом браузере
2. JS код, который вставляем в браузерную консоль.
* Есть еще варианты всяких агентов, где деплой уже настроен (Lovable, Perplexity Labs, Manus, Google Apps) или вообще ChatGPT Interpreter, который сам напишет код, сам его запустит.
* Контекст-инжиниринг – часть промпт-инжиниринга. Просто теперь все важнее не только правильно собирать слова в инструкции, но и подтягивать релевантные данные извне.
Примеры:
* Дамп дневника → понимает личный контекст → лучше ответы на вопросы про отношения или зоны личностного роста, ошибки мышления
* Информация с созвонов компании → точнее ответы на бизнес вопросы
* Выгрузка тг канала → перенимает стиль текста и зоны фокуса при анализе инфы
* Документация → корректное использование библиотек (кстати, context7 MCP, кто еще не)
* Можно легко перегрузить контекстом. Аналогия – когда на разработчика вывалили весь контекст, который был в голове у менеджера, и теперь разработчик парализован, потому что постоянно вылетает в мысли про смежные зоны и ограничения.
На техническом уровне это объясняется слабым навыком моделей фильтровать неважную часть контекста – "если в условиях это зачем-то дано, значит, мне нужно это как-то использовать"
* Отсюда берется полезный паттерн: отдельно чат – "менеджер", где много контекста, и идет основное размышление и планирование, а отдельно чаты – "исполнители", которые занимаются узкой задачей, владея только нужным для конкретной задачи контекстом
* Другой полезный паттерн – стараться решить задачу в один-два запроса вместо того, чтобы бесконечно корректировать в режиме долгого диалога. То есть, если не получается, то менять исходный запрос, а не писать новые сообщения-корректировки.
Спекулятивное объяснение: в режиме диалога каждая фраза юзера – отдельная инструкция и модели сложно собрать их в одну непротиворечивую, да еще и не зацикливаться на подтверждении своих прошлых ответов.
* Модели хуже обращают внимание на контекст в середине. Одно из решений – просить модель повторить релевантный блок, прежде, чем генерировать финальный ответ. Так, она сама поместит его в конец своей "оперативной памяти", где внимание не проседает
* Просите модель собрать для вас инструменты для сбора данных. На эфире мы попробовали два способа, актуальных для неразработчиков (не требуют деплоя):
1. Самодостаточный html файл, который открывается в любом браузере
2. JS код, который вставляем в браузерную консоль.
* Есть еще варианты всяких агентов, где деплой уже настроен (Lovable, Perplexity Labs, Manus, Google Apps) или вообще ChatGPT Interpreter, который сам напишет код, сам его запустит.
6❤15🔥11👍8
Там Цукерберг разрешил использовать ИИ на собесах
Если уже бигтех добавляет это в свои процессы, значит рынок уже достаточно созрел для AI coding, дальше все будет только ускорятся.
Но это все лирика, теперь к практике – как проводить такие собесы у вас в компании.
По сути, главный вопрос – а как сделать так, чтобы ИИ не был читерством?
Смотрим, чем опытный разработчик, который владеет ИИ-инструментами отличается от вайб-кодера, который вслепую командует ИИ-агентом, не разбираясь в коде.
С чем у вайб-кодеров проблемы?
1. Добавить фичу, которая "не укладывается" в существующую архитектуру (где опытный разработчик проактивно потребует рефакторинга)
2. Сформулировать правила для ИИ-агента с учетом специфики проекта
3. Писать безопасный код (сколько уже было новостей про захардкоженные секреты, а это только вершина айсберга)
4. Понять, что сама задача поставлена некорректно
Критерии задач?
Получается, задачи на собеседовании должны быть сформулированы так, что если напрямую отправить их в LLM, то ее унесет "в локальные оптимумы" в сторону от хорошего решения.
И наоборот, чтобы сильное решение можно было получить, только подумав про неявно заданные условия, уточнить их и сделать определенное количество промежуточных шагов, корректируя результат.
Потому что именно так и выглядит настоящая работа. И наконец-то собесы станут ближе к реальности. Прогресс не остановить!
Бонус:
Лучшим стартом для такого будет взять челленджи из обучающего туториала Kiro – очень крутого примера обучения кодингу с ИИ на существующей кодовой базе.
Если хочется, чтобы кто-то докрутил под вашу компанию, пишите мне в личку, я такие штуки люблю и умею
Если уже бигтех добавляет это в свои процессы, значит рынок уже достаточно созрел для AI coding, дальше все будет только ускорятся.
Но это все лирика, теперь к практике – как проводить такие собесы у вас в компании.
Кстати, я работал над дизайном технических собеседований в CodeSignal – компании, которая делает собесы-as-a-service (кстати, с детищем Цука в списке основных клиентов). Повыпендривался, теперь можно и к делу
По сути, главный вопрос – а как сделать так, чтобы ИИ не был читерством?
Смотрим, чем опытный разработчик, который владеет ИИ-инструментами отличается от вайб-кодера, который вслепую командует ИИ-агентом, не разбираясь в коде.
С чем у вайб-кодеров проблемы?
1. Добавить фичу, которая "не укладывается" в существующую архитектуру (где опытный разработчик проактивно потребует рефакторинга)
2. Сформулировать правила для ИИ-агента с учетом специфики проекта
3. Писать безопасный код (сколько уже было новостей про захардкоженные секреты, а это только вершина айсберга)
4. Понять, что сама задача поставлена некорректно
Мы приходим к тому, в чем заключается профессионализм – умение самому подумать про промежуточные задачи, а не слепо следовать "промту" интервьюера/тимлида/задачи в тасктрекере.
Критерии задач?
Получается, задачи на собеседовании должны быть сформулированы так, что если напрямую отправить их в LLM, то ее унесет "в локальные оптимумы" в сторону от хорошего решения.
И наоборот, чтобы сильное решение можно было получить, только подумав про неявно заданные условия, уточнить их и сделать определенное количество промежуточных шагов, корректируя результат.
Потому что именно так и выглядит настоящая работа. И наконец-то собесы станут ближе к реальности. Прогресс не остановить!
Бонус:
Лучшим стартом для такого будет взять челленджи из обучающего туториала Kiro – очень крутого примера обучения кодингу с ИИ на существующей кодовой базе.
Если хочется, чтобы кто-то докрутил под вашу компанию, пишите мне в личку, я такие штуки люблю и умею
🔥18❤6👍5🤝1
AI tools для массмаркета и AI tools для топ-5% про-пользователей – два разных мира.
Как микроволновка и кухня шеф-повара(вот такие аналогии сегодня) .
AI микроволновка
- получаешь результат почти сразу после регистрации
- не нужны доменные знания (собирай приложения в lovable без знаний программирования)
- почти нельзя корректировать систему в процессе
- много шаблонов, мало настроек
- работает для стандартных кейсов
AI кухня шеф-повара
- крутая кривая обучения
- часто работа в режиме копайлота
- видишь промежуточные результаты
- очень гибкая настройка
- плотная интеграция с существующими инструментам
- выходит за рамки шаблонных решений
Есть интересный нюанс. Внимательные читатели заметили, что некоторые продукты попадают в обе категории.
Это продукты-гибриды, где массмаркет часть – это просто большая воронка в PRO версию. При этом, с т.з. паттернов использования, эта лид-магнит часть – принципиально другой продукт.
Интересно, будет ли рынок еще сильнее делиться на эти две категории, или они наоборот схлопнутся. Обычно специализация побеждает, так что я ставлю на первое
Как микроволновка и кухня шеф-повара
AI микроволновка
- получаешь результат почти сразу после регистрации
- не нужны доменные знания (собирай приложения в lovable без знаний программирования)
- почти нельзя корректировать систему в процессе
- много шаблонов, мало настроек
- работает для стандартных кейсов
Примеры: Lovable, Granola, Canvas, Gamma для презенташек, ElevenLabs, LogoAI
AI кухня шеф-повара
- крутая кривая обучения
- часто работа в режиме копайлота
- видишь промежуточные результаты
- очень гибкая настройка
- плотная интеграция с существующими инструментам
- выходит за рамки шаблонных решений
Примеры: Claude Code, AI фичи в adobe, Harvey для юристов, Canva, ElevenLabs
Есть интересный нюанс. Внимательные читатели заметили, что некоторые продукты попадают в обе категории.
Это продукты-гибриды, где массмаркет часть – это просто большая воронка в PRO версию. При этом, с т.з. паттернов использования, эта лид-магнит часть – принципиально другой продукт.
Интересно, будет ли рынок еще сильнее делиться на эти две категории, или они наоборот схлопнутся. Обычно специализация побеждает, так что я ставлю на первое
🔥18👍3👀2❤1🤡1
AI делает опытных разработчиков менее более продуктивными
В прошлой части я "прожаривал" нашумевшую статью, где "эффективность разработчиков ниже на 20% чем без ИИ, пока им кажется, что она на 20% выше".
А сегодня расскажу про гораздо более серьезное исследование от ребят из Стэнфорда (кстати, русскоязычных). Вот главные тезисы оттуда:
Критика существующих подходов к измерению эффективности
- Нельзя опираться на число коммитов/PR – AI может делать больше маленьких коммитов, сами они могут быть забагованными, а багфиксы – это еще больше коммитов📈
- Нельзя полагаться на субъективные опросы. Выявили корреляцию всего в 0.17 между ощущаемой и реальной продуктивностью 🥴
- Большая часть измерений делается на задачах, которые делаются с нуля (greenfield). А реальная работа – почти всегда с "унаследованным" кодом и сложными зависимостями (brownfield)
Это серьезная заявочка, интересно, как они сами решили эти проблемы (и что там получилось в результате)
- Взяли код 100,000+ инженеров, 600+ компаний, миллиарды строк кода (!)
- 80% данных — из приватных репозиториев
- Оценивают суть изменений в коде для каждого коммита
Погодите-ка, как это они оценивают изменения в миллиардах строк кода? (на самом деле – самая красивая часть исследования)
- Взяли 15 опытных разрабов (11-25 лет опыта, сеньоры, CTO, VP)
- Прогнали эту экспертную комиссию на 70 коммитах, честно считая внутриклассовую корреляцию (если эксперты сами не могут договориться – это шум)
- Это 70 коммитов отбирали так, чтобы их распределение совпадало со общим
- Определили "объективные" метрики (время, сложность) и обучили модельку на этих 70 коммитах угадывать "оценки" панели экспертов.
- Потом полный анализ миллиардов строк кода – уже автоматически этой моделью.
Ну так и что, уже можно увольнять разработчиков?
- "Сырое" улучшение аж на 35-40%
- Но и количество багов и правок тоже растет (скрин 1).
- За вычетом налога на переделку, получается 15-20% чистого выигрыша
- Сильно влияет сложность задач, тип проекта (greenfield/brownfield, скрин 2) и язык (на Haskel/Cobol/Elixir лучше пока без ИИ)
- Сильно падают результаты после 10к строк кода
Чего мне не хватило
- Инфы про то, насколько знакомы разработчики с ИИ инструментами, но ее и не возможно было получить на таком датасете
- Анализа верхнего перцентиля. Если в среднем получается прирост на 15 процентов, то есть ощущение, что топ 5% точно умеет делать x2 и интересно узнать как
———
Но даже так видно, что прирост есть даже в среднем по больнице, не говоря про тех, кто выработал оптимальные подходы. Так что уже можно скидывать этот пост всем критикам AI coding
Оригинал: видео, статья
В прошлой части я "прожаривал" нашумевшую статью, где "эффективность разработчиков ниже на 20% чем без ИИ, пока им кажется, что она на 20% выше".
Прожаривал в основном за:
- Ничтожно маленькую выборку – 16 человек (!)
- Разработчики не использовали ИИ инструменты до эксперимента – им не проводят обучение, но уже замеряют результаты.
- Смотрят на среднее, а не на верхний перцентиль, где самое интересное
- Манипуляции визуализацией данных
А сегодня расскажу про гораздо более серьезное исследование от ребят из Стэнфорда (кстати, русскоязычных). Вот главные тезисы оттуда:
Критика существующих подходов к измерению эффективности
- Нельзя опираться на число коммитов/PR – AI может делать больше маленьких коммитов, сами они могут быть забагованными, а багфиксы – это еще больше коммитов
- Нельзя полагаться на субъективные опросы. Выявили корреляцию всего в 0.17 между ощущаемой и реальной продуктивностью 🥴
- Большая часть измерений делается на задачах, которые делаются с нуля (greenfield). А реальная работа – почти всегда с "унаследованным" кодом и сложными зависимостями (brownfield)
Это серьезная заявочка, интересно, как они сами решили эти проблемы (и что там получилось в результате)
- Взяли код 100,000+ инженеров, 600+ компаний, миллиарды строк кода (!)
- 80% данных — из приватных репозиториев
- Оценивают суть изменений в коде для каждого коммита
Погодите-ка, как это они оценивают изменения в миллиардах строк кода? (на самом деле – самая красивая часть исследования)
- Взяли 15 опытных разрабов (11-25 лет опыта, сеньоры, CTO, VP)
- Прогнали эту экспертную комиссию на 70 коммитах, честно считая внутриклассовую корреляцию (если эксперты сами не могут договориться – это шум)
- Это 70 коммитов отбирали так, чтобы их распределение совпадало со общим
- Определили "объективные" метрики (время, сложность) и обучили модельку на этих 70 коммитах угадывать "оценки" панели экспертов.
- Потом полный анализ миллиардов строк кода – уже автоматически этой моделью.
Интересно, что в отличие от классического сторипоинт-подхода "предсказания" сложности заранее, тут эксперты уже смотрели на выполненную работу и оценивают сложность постфактум
Ну так и что, уже можно увольнять разработчиков?
- "Сырое" улучшение аж на 35-40%
- Но и количество багов и правок тоже растет (скрин 1).
- За вычетом налога на переделку, получается 15-20% чистого выигрыша
- Сильно влияет сложность задач, тип проекта (greenfield/brownfield, скрин 2) и язык (на Haskel/Cobol/Elixir лучше пока без ИИ)
- Сильно падают результаты после 10к строк кода
Чего мне не хватило
- Инфы про то, насколько знакомы разработчики с ИИ инструментами, но ее и не возможно было получить на таком датасете
- Анализа верхнего перцентиля. Если в среднем получается прирост на 15 процентов, то есть ощущение, что топ 5% точно умеет делать x2 и интересно узнать как
———
Но даже так видно, что прирост есть даже в среднем по больнице, не говоря про тех, кто выработал оптимальные подходы. Так что уже можно скидывать этот пост всем критикам AI coding
P.s. Ну и посмотрите на оптимизм на последнем скрине: 10k → 1m (!!!)
Для энтерпрайзов – особенно актуально
Оригинал: видео, статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21🔥6👏3🙏1💯1