AI и грабли
7.21K subscribers
149 photos
19 videos
4 files
189 links
Строил HR продукты для американского бигтеха. Внедряю AI в чужой бизнес, делаю свой, косячу и пишу про подноготную

@nikolay_sheyko
Download Telegram
Как я перестал откладывать

Какая ваша основная причина прокрастинации важных задач? У меня – избегание проеба и ожидания доп работы, чтобы этого избежать

Как только я что-то сделал, это можно оценить и увидеть косяки. Хз откуда у меня взялся перфекционизм, учитывая как много в своей жизни я делал наотъебись 🤷‍♂️

А если ничего не делаешь, то и не проебешься. Надежно, как швейцарские часы 👍

А даже если я все-таки что-то делаю?
Какую работу я делаю, когда боюсь косяков?
Правильно, лишнюю. Полируя пока не будет идеально.

Есть у меня задача сделать X (написать сложное письмо, продумать архитектуру проекта, накидать дизайн приложения).

И как только представляю сколько нужно сделать приседаний, чтобы было идеально, то я сразу сделаю идеально когда-нибудь потом.

ЛАЙФХАААК. Я стал ставить себе задачи-черновики.

* Написать черновик поста
* Накидать черновик сообщения
* Сделать прототип приложения

Черновик стерпит любую неидеальность. Тут можно и нужно косячить.
Это расслабляет и дает свободу творчества.

Я теперь сильно проще (и главное быстрее) начинаю любые сложные задачи.

———

А когда черновик готов, оказывается, что в целом это уже на 80-90% ок. Немного полирнуть и, зажмурившись, отправить.

"Первый шаг самый сложный"
1👏3215👍9🔥41
Переговоры.pdf
1.1 MB
Вот уж действительно подноготная.

Ни разу не видел реальных примеров бизнес-коммуникации (кроме переписки Маска с OpenAI, которую опубликовали в рамках судебного дела)

Так что делюсь своей – проваленные переговоры за интересный контракт с одной из западных компаний

Боялся, что слишком длинно, но все, кому лично скидывал – с интересом читали до конца
❤‍🔥10🔥8
В AI чатике спросили классный вопрос

Может ли кто-то поделиться практикой составления definition-of-done если мы имеем дело с AI, а значит с вероятностными моделями -- где-то работает, где-то нет. Как договариваться с клиентом, что модель работает -- может быть кто-то выработал интересный подход для этого вопроса?


Мой ответ на него и по совместительству подводка к завтрашнему посту:
👍1
Forwarded from Nikolay Sheyko
Если можно выделить часть системы (Ринат тут про это писал) с детерминированными ожидаемыми выходами, то на эту часть можно договариваться о классических ML метриках на тестовом датасете, разметку которого заказчик вам не отдает.

На вторую часть (или если нельзя выделить первую), можно договариваться о слепом тестировании. Выдаем оценщикам 50 пар, где один ответ от человека, второй от вашей системы, они не знают где какой. Спрашиваем, какой лучше. Если результат модели выбирают в 40% случаев, то успех (там сами договариваетесь о числе).

На практике такое если честно не применял, но если бы был нужен явный критерий, брал бы такое условие.

Можно заменить оценщиков LLM с другим промптом, но заказчик должен сам предоставить его (или провалидировать ваш) до того, как начнете работу.
9🔥4🤔2
Самый топовый инструмент на платформе OpenAI – Evals

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

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

А если мы делаем промпт для саммари созвона? Может быть бесконечное количество хороших саммари – не обязательно полное совпадение с "правильным" ответом в нашей табличке.

Для таких случаев, OpenAI добавили кучу разных режимов. Самые интересные кмк:

* Проверка фактической схожести (в отличие от повсеместной семантической схожести на ембеддингах). Это буквально "мне насрать как ответ сформулирован, но суть должна быть верная" – то, в чем часто косячат продукты поверх LLM.

* Кастомный критерий – буквально можно прописать любую меру похожести, любой вайбчек. Это просто разъеб!

А самый кайф в том, что критерии можно комбинировать.

———

Осталось понять, зачем это все, да?

Да просто мы оптимизируем то, что измеряем (и смотрим на измеренные числа, конечно). Это могут быть деньги на счете, время просранное в соц. сетях, количество подписчиков в канале или корректность фактов в ответах LLMки.

OpenAI сделали систему вообще бесшовной, так что наконец можно не городить свои костыли.

А что и как измеряете вы?
1🔥71
Анализ закрытых данных по использованию LLM

@kyrillic недавно проводил закрытый опрос об использовании LLM в личной жизни или в бизнесе и высылал результаты всем участвующим. Такой приватный краудсорсинг.

Инфы очень много, почти 300 разных кейсов. Я быстро задолбался читать однотипное и попросил GPT отобрать 50 самых интересных. Много чего можно забрать в свою жизнь. Есть и такие, которые можно обернуть в продукт.

Вот мой личный топ:

* AI как second brain для психотерапии
Анализ многолетних расшифровок сессий с психологом для создания персонализированной базы знаний о себе и получения контекстных рекомендаций. (мб как доп. инструмент для самого психотерапевта)

* Анализ кастдев-интервью с автоматической категоризацией болей
Система вытаскивает из транскриптов интервью боли, группирует их по категориям и оценивает частоту упоминания

* Конвертация медицинских назначений между странами
Находит аналоги лекарств в разных странах с учетом действующих веществ и местных особенностей

* Анализ call-центра с выявлением проблемных скриптов
Находит в записях разговоров места, где клиенты чаще всего "отваливаются" или злятся

* Автоматическая генерация PRD из обсуждений
Превращает длинные дискуссии команды в структурированный продуктовый документ

* Распознавание проблем оборудования по фото на производстве
Система помогает неопытным монтажерам ремонтировать прессформы - достаточно сфотографировать проблему и получить пошаговую инструкцию с картинками.

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

* Автоматизация работы с Upwork (прим.: крупнейшая фриланс биржа)
Отслеживает новые заказы, фильтрует их по критериям и автоматически генерирует персонализированные cover letters.

* Автоматический анализ пользовательских отзывов (если вам такое нужно, пишите мне 🤗)
Категоризирует отзывы, выделяет ключевые проблемы и генерирует рекомендации по улучшению продукта.

* AI для анализа собеседований (тоже пишите)
Система анализирует записи интервью, оценивает кандидатов по заданным критериям и генерирует структурированные отчеты.

* Создание квестов-приключений для детей на разных языках
ИИ генерирует персонализированные квесты со стихотворными подсказками превращая обычные активности (типа, поиск подарка) в увлекательные приключения.

* Автоматическое создание Brand Guardian для проектов
Бот проверяет соответствие всех материалов брендбуку, автоматически указывая на отклонения в логотипах, шрифтах и цветах.

Че думаете? Если есть идеи вопросов по этой базе, тоже пишите
🔥11👍4
Китайцы разрывают американский рынок.

Deepseek, про которых я писал еще пару месяцев назад, уронили акции Nvidia и многих AI компаний инфой о том, как дешево (ага) они обучили такие крутые модели.

Из-за наплыва пользователей уже временно ограничили регистрацию.

Уже вернули.

https://www.deepseek.com/
🔥13👍1
Дожимать или отпускать?

Всегда считал, что люди почти не проигрывают по-настоящему, а вместо этого просто сдаются – можно было бы еще попытаться, но уже нет сил, веры, куража, воли.

Коль, а может лучше просто отпускать, если не прет? Не пытаться оживить мертвую лошадь, а слезть с нее и искать живую?

Банальный пример из сегодня:

Решил получить водительское в Таиланде (в 2025ом лишний government issued ID другой страны – не лишний). По гайду в местном чатике на все про все – два дня (если есть международное водительское, а у меня есть).

А по факту? Оказывается, живая очередь больше не работает, ближайшая запись на через две недели (а я уже буду в ебенях, чтобы не отвлекаться от работы).

Ну, думаю, сейчас что-нибудь покрутим. Подошел еще раз, объяснил ситуацию, попросил понастойчивее, ноль результата.

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

Тут бы уже успокоиться, но "еще же можно что-то сделать". Осталось еще одно отделение в другую сторону от города в часе езды, куда я успеваю до закрытия. И даже там я с первого раза не успокоился, написал в переводчике жалобный текст и попробовал еще раз. Безуспешно.

И вот нахуя это все было – не понятно. Потратил больше половины рабочего дня впустую.

И сколько раз я еще так борюсь до последнего в ситуациях, когда можно было бы просто забить и ничего страшного бы не случилось?

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

Как вообще понимать, где нужно идти до конца, а где отпускать? В бизнесе, отношениях, спорте.

У меня ноль понимания, если честно
13💔7👍3
А теперь, что я вынес из этой ситуации. Не только же грустить и злиться.

1. Не делать в последний момент.

Это уже не в первый раз, когда я откладываю такие штуки на последние дни. И неожиданно, срабатывают риски, про которые я не подумал 🤷‍♂️

Вообще, удивляет насколько это тупо, учитывая, сколько я всего организовывал и менеджерил 🤦‍♂️

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

2. Раньше идти к менеджеру.

Понятно, что линейный персонал с очень низкой вероятностью пойдет на какие-то отклонения от алгоритма.

3. Точка остановки

Решать заранее, сколько я готов потратить времени/денег/etc, чтобы получить результат задачи. Иначе очень легко попасть в ловушку невозвратных затрат.

Ловушка невозвратных затрат - это когда вам жалко бросать дело, потому что вы уже просрали на него кучу ресурсов и не хотите, чтобы это было «зря». Поэтому просираете ещё больше 🤷‍♂️


———

У меня плохо получается учиться на чужих ошибках, так что выжимаю из своих все что могу
👍191
Nikolay Sheyko
Если можно выделить часть системы (Ринат тут про это писал) с детерминированными ожидаемыми выходами, то на эту часть можно договариваться о классических ML метриках на тестовом датасете, разметку которого заказчик вам не отдает. На вторую часть (или если…
LLMки хуже всего при программировании справляются с поиском багов и рефакторингом архитектуры.

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

И еще меньше примеров забагованного кода с объяснениями, что в нем не так и как это исправить. Большая часть кода на GitHub'е либо корректная, либо с багами, про которые никто не знает 🤷‍♂️

Поэтому, неверные шаги в архитектуре модель обычно закрывает локальными костылями, вместо того, чтобы сделать шаг назад и сделать нормально.


———

Один из паттернов, которые я все чаще использую, чтобы все-таки искать баги не вручную – прошу модель рассуждать по шагам. Но не как обычно (Chain of Thought), когда она просто делает логические шаги.

А так, как я предлагал искать баги своим студентам – когда они в уме делают работу дебаггера и мысленно проходят по флоу исполнения программы, наблюдая за состоянием переменных.

P.s. reasoning сети (типа o1 или нашумевшей DeepSeek R1) справляются сильно лучше, потому что как раз научились делать отход от своих предыдущих размышлений (RL + вероятно, дообучение на данных с рассуждениями такого типа)
👍105
Сгенерированные резюме уже не удивляют. Да и AI анализ этих резюме работодателем - тоже.

А вот тут мне что-то новенькое прилетело. Ребята из Crossover рассылают приглашения поработать, персонализированные под конкретные пункты из моего линкедин профиля.

Ребята красавчики. Уверен, они нормально так подняли конверсию - всегда приятно послушать про себя любимого.
🔥111👌1
Вершина моей бизнес-коммуникации 🙈
😁232
Что такое structured output, почему это база и как это использовать (ч.1, ч2, ч3)

#технический_четверг

Чтобы не душнить теорией, давайте выведем из практического кейса

Кейс: Делаем чат бота для госухи. Хотим, чтобы он не отвечал на вопросы про политику

Как это сделать?

Можно добавить к системному промпту строчку "никогда не отвечай на вопросы про политику"

Но это:
1. Добавляет когнитивную сложность для LLM => ухудшает качество основной задачи
2. Спокойно обходится разными хитрыми запросами

Тогда вынесем проверку в отдельный запрос в самом начале!
если пользователь задает вопрос про политику, ответь 1, иначе ответь 0


И сделаем проверку в коде, типа:

if verdict == "1": reset_chat(with_message="айайай")

Поможет? Да – у LLM теперь одна конкретная задача. Но нет никакой гарантии, что если мы сказали отвечать 0 или 1 то модель так и будет делать 🤷‍♂️ (см. соревнование по "взлому" моделей)

А можно как-то жестко ограничить возможные ответы модели?

Тут пригодится тайное знание о том, как LLM работают под капотом. На самом деле, LLMка не генерирует токены (если не знаете, что это, для простоты считайте символами – буквами, цифрами, знаками препинания – все рассуждения останутся валидными).

Она генерирует чиселки (веса) для всех возможных токенов, которые вообще есть в её словаре. Потом рандомно выбирается один из токенов, используя веса как вероятности. Чем больше вес, тем больше вероятность, что возьмет именно этот токен.

Если пользователь правильно попросит, то у каких-то других токенов вес может быть больше, чем у токенов "1" или "0".

Как использовать это знание?

Смотреть не на то, что модель генерирует, а только на веса конкретных токенов ("1" и "0"). И если вес токена "1" оказывается достаточно большим в сравнении с "0", значит модель считает, что вопрос скорее про политику, чем нет. Даже если веса каких-то других токенов выше.

По сути, мы "виртуально" ограничили то, что получаем от модели. Хотим узнать 0 или 1 - так что смотрим на веса только этих токенов. (параметр top_logprobs у OpenAI API)

Это ключевая идея structured_output.

Во второй части мы раскачаем ее до любого наперед заданного формата вместо 1/0. А в третьей разберем примеры использования.
19🔥5👍1
AI собес меня.

Вчера меня собеседовал ИИ-аватар.

Мои ощущения:

* Хорошо понимает технические ответы и задает уточняющие вопросы в тему (на порядок лучше средней девочки HR)

* Плохо ведет собес – не будет перебивать, если у тебя словесный понос. В итоге собес уйдет в никуда

* Всего пару секунд задержки после конца твоей фразы. Решайте сами, насколько это ок

* Супер неестественно улыбается, когда молчит. Когда говорит – норм.

* Можно проходить собес в любое удобное время – киллер фича.

Попробовать киберпанк, пока он не стал обыденностью можно тут (только на английском, но никто не осудит за ошибки).

P. S. Кроме собеса во время регистрации, у них там еще куча разных в личном кабинете.
🔥125👍5
Взгляд на подписчиков

Не воспринимал число подписчиков до 1000 как что-то серьезное. Недавно мнение перевернулось:

Когда смотришь на чиселки, кажется, что это мелочь, но теперь я просто представляю, что каждый мой пост – выступление на сцене перед несколькими сотнями зрителей. Ощущения абсолютно другие.

Много бы я отдал за возможность транслировать свои мысли на такой сцене? Однозначно.

Спасибо за неё.
132👍7❤‍🔥2
Стандартные саммари звонков от зума – полное говно (как и большинство ии-функций в не-ии-продуктах 🤷‍♂️).

Если много важных звонков, вы уже наверняка пользуетесь каким-то специальным продуктом для качественных саммари – вам пост не актуален.

А если звонков не так много, чтобы платить за отдельный продукт, то держите простой ручной способ с максимальной гибкостью:

1. Идем в aistudio.google.com
2. Описываем, какое саммари хотим в поле System Instructions (мой стандартный промпт – в комментах)
3. Загружаем аудио в первое сообщение
4. Выбираем модель Gemini Flash 2.0 Experimental и ставим температуру 0

Ждем.

Если чего-то не хватает, просто уточняем требования дополнительным сообщение снизу

Всё 🔥
👍15🔥2🤔2🗿1
– Что бы ты делал в следующей жизни, какое дело выбрал бы основным, от которого отказываешься в этой?

– Преподавал бы в школе и устраивал школьникам интересную внеучебную жизнь, как была у меня в лицее

—————————

Удивился такому своему ответу. А потом подумал, что это отличный референс, об который можно проверять все что я делаю или хочу делать. Круче оно ощущается или нет.

Где-то глубоко внутри, я правда считаю такую жизнь очень крутой. Я бы гордился ей. Но там же внутри, есть что-то, что заставляет меня верить – я могу делать штуки масштабнее. При этом, не менее значимые по моим внутренним ценностным ориентирам.

Зато теперь я могу любую траекторию жизни сравнивать с этим референсом. Если я вдруг делаю что-то масштабное, но мне это не ощущается важнее, чем научить чему-то классному пару десятков детей, то нахуй это
17👍1👎1
Правда все реально значимое для меня – все равно лежит где-то около образования. Ну либо в целом "расширения" человеческих способностей.

Так меня не отпускает идея ии-симуляторов по разным софтскиллам (продажи, управление конфликтами и т.д.). Онлайн образование сломано, потому что это почти всегда – пассивное потребление теории.

А навыки мы на порядки эффективнее учим на практике и на собственных ошибках. А если нужно перезаписать свои уже выученные косячные подходы, практика – единственный способ.

Пол Грэм (основатель YCombinator – главного стартап акселератора планеты) говорит do thing that don't scale (делай вещи, которые не масштабируются): на ранних этапах важно тестить все вручную, продавать напрямую и собирать фидбэк от пользователей, самому проходить по всем процессам.

Так что прежде чем переделывать CommuniCare под интерактивные тренинги по продажам или рабочей коммуникации, я проверю идею симулятора вручную.

Наберу группу на онлайн клуб переговоров. Будем играть разные конфликтные ситуации по ролям, вместе анализировать сильные и слабые места и пробовать новые подходы.

Я тут вообще не гуру, чтобы учить как делать правильно, но у меня точно достаточно насмотренности (руководил оффлайн командой волонтеров из 100 человек в ивентах, общался с людьми разных культур во время моей полукругосветки, полтора года гонял на клуб переговоров к Юре в SoftSkills Lab и побеждал в клубных чемпионатах), чтобы замечать большую часть косяков и показывать, а как можно еще. Да и участники группы со стороны тоже много подсветят – проверено.

Я уже проводил такое трижды в прошлом году оффлайн в формате коротких интенсивов, теперь буду онлайн и дольше. Если интересно поучаствовать, оставьте контакт тут
8🔥3