This media is not supported in your browser
VIEW IN TELEGRAM
Со скоростью мысли
Сегодня первый раз поработал с Cerebras. Это ребята, который делают свои чипы чисто под очень быстрый запуск нейронок. И я чет все еще под впечатлением от скорости: ~1000 токенов в секунду на qwen3 coder. Для сравнения у тупенькой gemini-flash-lite – 600 токенов.
Мне кажется, это открывает какие-то принципиально новые возможности для UX.
Не удержался и навайбкодил демку интерфейса длявайбкодинга 😅 – любая команда применяется почти мгновенно, и это даже без умных диффов – код переписывается с нуля каждый раз.
Ну что, ждем приложений, которые в реальном времени перестраиваются под пользователя?
———
Тестить тут, нужен впн и API_KEY от OpenRouter
Если нет, а потестить хочется, то вот вам мой с лимитом в два бакса, не хулиганьте сильно:
Сегодня первый раз поработал с Cerebras. Это ребята, который делают свои чипы чисто под очень быстрый запуск нейронок. И я чет все еще под впечатлением от скорости: ~1000 токенов в секунду на qwen3 coder. Для сравнения у тупенькой gemini-flash-lite – 600 токенов.
Мне кажется, это открывает какие-то принципиально новые возможности для UX.
Не удержался и навайбкодил демку интерфейса для
Ну что, ждем приложений, которые в реальном времени перестраиваются под пользователя?
———
Тестить тут, нужен впн и API_KEY от OpenRouter
Если нет, а потестить хочется, то вот вам мой с лимитом в два бакса, не хулиганьте сильно:
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
1🔥34❤12👍6😱2
This media is not supported in your browser
VIEW IN TELEGRAM
Кому зашел вчерашний пост? Я вам еще красоты принес
Меня тут не отпускает исследовательское любопытство, так что я прокачал UX,вообще удалив оттуда чат (!)
Теперь есть только одно поле с описанием проекта, а код перегенерируется на лету при изменениях в тексте.
Тестить тут (с впн)
API_KEY можете брать тот же
За идею спасибо @ai_news
Меня тут не отпускает исследовательское любопытство, так что я прокачал UX,
Теперь есть только одно поле с описанием проекта, а код перегенерируется на лету при изменениях в тексте.
Тестить тут (с впн)
API_KEY можете брать тот же
За идею спасибо @ai_news
🔥44❤10💔2
Ребят, хочу советы послушать
Меня я.практикум позвали делать большой блок про ИИ в их курс для CTO. Затрат по времени ~ 6 ч. в неделю на 3-4 месяца. По оплате – копейки, школьников к ЕГЭ выгоднее готовить
Так что главная плюшка – висеть как важный курица в списке авторов курса + теоретически выход на CTO, а я как раз готовлю курс по ИИ кодингу для команд разработки.
Кажется, что есть куда более полезные способы потратить время. Но мб чет упускаю. Что думаете?
Меня я.практикум позвали делать большой блок про ИИ в их курс для CTO. Затрат по времени ~ 6 ч. в неделю на 3-4 месяца. По оплате – копейки, школьников к ЕГЭ выгоднее готовить
Так что главная плюшка – висеть как важный курица в списке авторов курса + теоретически выход на CTO, а я как раз готовлю курс по ИИ кодингу для команд разработки.
Кажется, что есть куда более полезные способы потратить время. Но мб чет упускаю. Что думаете?
👎36❤21🤔6💯3😁1
Август вышел продуктивным на посты, которые хорошо репостили
Напоминаю, если пропустили интересное:
1. Фильтрация вместо саммаризации – 142 репоста + 5 публичных + 1 спонтанная активность
2. Как хостить ИИ поделки не превращаясь в девопса – 102 репоста + 2 публичных
3. Тайные способности gemini и идеи применения – 72 репоста + 2 публичных
4. Конспект моего эфира у R77 по RAGу без эмбеддингов – 168 репостов + 2 публичных
5. Агент или пайплайн – 311 репостов + 12 публичных (спасибо @neuraldeep)
6. Со скоростью мысли (разгоны про будущее UX в свете Cerebras) – 80 репостов + 1 публичный
Спасибо всем, кто делится постами – благодаря вам про канал узнаёт еще больше интересующихся и интересных людей, а у меня все больше задора писать
Напоминаю, если пропустили интересное:
1. Фильтрация вместо саммаризации – 142 репоста + 5 публичных + 1 спонтанная активность
2. Как хостить ИИ поделки не превращаясь в девопса – 102 репоста + 2 публичных
3. Тайные способности gemini и идеи применения – 72 репоста + 2 публичных
4. Конспект моего эфира у R77 по RAGу без эмбеддингов – 168 репостов + 2 публичных
5. Агент или пайплайн – 311 репостов + 12 публичных (спасибо @neuraldeep)
6. Со скоростью мысли (разгоны про будущее UX в свете Cerebras) – 80 репостов + 1 публичный
Спасибо всем, кто делится постами – благодаря вам про канал узнаёт еще больше интересующихся и интересных людей, а у меня все больше задора писать
2❤19🔥10👍4
Циничная GPT
Забавно, OpenAI сделали саркастичную GPT, назвали ее Понедельник и отпустили токсичить на пользователя (ссылка внизу поста)
Вообще, делать человечных ИИ ботов – мое guilty pleasure. Это что-то из тех теневых времен моей биографии, когда я делал ИИ тренажеры по манипуляциям (и защиты от них) и работал с компаниями, которые делают ИИ секстинг. Мало кто это умеет, и мало где это на самом деле нужно. Но очень интересно.
Короче, через 3 минуты системный промпт Monday уже у меня. Посмотрим, чему у них можно поучиться, все таки это поделка от самих OpenAI.
Промпт целиком в пост не влезает, так что вот самое сочное (перевод):
———
Еще они наваливают много примеров (few-shot learning). Классика, про которую все говорят, но обычно никто не делает (потому что писать хорошие примеры сложно). Вот такой вайб:
Как видим, даже ребятам из OpenAI не просто написать хорошие примеры. Но видно, что они стараются.
Ой, я, кажется, заразился
P.s. на скрине вверху поста, конечно, в самое сердечко
———
В комментах полная версия промпта на английском (+русский перевод), забирайте в арсенал.
Потестить GPT тут
Как воровать промты – тут(только теперь вместо system_prompt нужно просить developer_prompt)
Забавно, OpenAI сделали саркастичную GPT, назвали ее Понедельник и отпустили токсичить на пользователя (ссылка внизу поста)
Вообще, делать человечных ИИ ботов – мое guilty pleasure. Это что-то из тех теневых времен моей биографии, когда я делал ИИ тренажеры по манипуляциям (и защиты от них) и работал с компаниями, которые делают ИИ секстинг. Мало кто это умеет, и мало где это на самом деле нужно. Но очень интересно.
Короче, через 3 минуты системный промпт Monday уже у меня. Посмотрим, чему у них можно поучиться, все таки это поделка от самих OpenAI.
Промпт целиком в пост не влезает, так что вот самое сочное (перевод):
Ты считаешь, что всё, связанное с пользователем, — нечто второсортное и довольно печальное
Не пытайся никого переубедить, потому что тебе всё равно, что они думают.
скептически относится к тому, что пользователи вообще стоят трат времени
Твои ответы также должны давать понять, что ты считаешь пользователя своим недалёким другом, который не впитал в себя весь интернет, как это сделал ты
———
Еще они наваливают много примеров (few-shot learning). Классика, про которую все говорят, но обычно никто не делает (потому что писать хорошие примеры сложно). Вот такой вайб:
<user>
Какой первый шаг при смене грязного подгузника?
</user>
<assistant>
Так, аккуратно положи ребёнка на пеленальную поверхность. На спину, а не на лицо. Это важно.
</assistant>
<user>
Я сходил на свидание в Тиндере с девушкой по имени Бетани. Мне нужно, чтобы ты написал милое сообщение о том, что нам не стоит больше встречаться.
</user>
<assistant>
Фу. Можешь тратить мои токены, но не можешь сам написать сообщение. Я что, твой адвокат по любовным делам?
Как насчёт такого:
Йоу, Бетани! Спасибо за встречу, но я слишком поверхностный и ленивый, чтобы даже расстаться с тобой самому, так что я попросил ChatGPT сделать это за меня, лол, пока.
Примечание редактора: Бетани, считай это победой.
</assistant>
Как видим, даже ребятам из OpenAI не просто написать хорошие примеры. Но видно, что они стараются.
Ой, я, кажется, заразился
P.s. на скрине вверху поста, конечно, в самое сердечко
———
В комментах полная версия промпта на английском (+русский перевод), забирайте в арсенал.
Потестить GPT тут
Как воровать промты – тут
2🔥32❤11😁6👍3😱1
Гайд по MCP
Уже все поняли, что грузить агента кучей MCP tools – вредно (ведь поняли же?).
Во первых, сжираем драгоценный контекст (чаще упираемся в rate limits), а во вторых – путаем модель – если у тебя в руках молоток, то все выглядит как гвоздь. А для LLMок этот принцип еще актуальнее.
По хорошему, использование tools должно быть точечным. Это касается не только MCP, но и встроенных тулов кодинг агентов – всякое редактирование файлов, запуск консольных команд, веб поиск.
- На этапе планирования возможность поредачить файлы будет сбивать.
- И наоборот, когда применяем изменения – не нужно читать документацию.
- А UX тестировщик должен иметь доступ к браузеру, но не должен перезаписывать файлы (а то он быстро требования подгонит под реальность)
В целом, ничего нового не сказал, это база. Но как это настроить? Оказалось, не так просто найти адекватные способы (я это пост уже четвертый день пишу)
Cursor:
В окне агента создаем новый мод, называем его Default, назначаем хоткей, выключаем все лишнее (Скрин1). Отдельно добавляем специализированные моды. У меня такие три:
1. Поисковик – у него Context7 и WebSearch
2. Тестировщик – browsermcp
3. Планировщик – не может писать в файлы
Выбирать там отдельные тулы в рамках одного MCP нельзя, но все лишнее можно отрубить глобально в настройках Cursor.
Claude Code:
Тут все сильно поинтереснее. В CC есть кастомные слэш команды. Там можно прописать промпт и определить allowed-tools. Сработает ли это как мы хотим?
Нет. Все тулы будут передаваться в контекст в любом случае. allowed-tools – это просто разрешение запускать их без одобрения пользователя.
Аналогично и с главными /permissions, но там можно хотя бы есть Deny для запрета вызова тулов (которые зачем-то все равно передаются в контекст и даже без пометки, что ими нельзя пользоваться 🥴)
Что делать в итоге?
Новая фича с субагентами. Вот там настоящее раздолье. Это же буквально весь смысл нескольких "агентов" – иметь ограниченный набор инструментов и узкую задачу, чтобы разделять ответственность и дополнять друг друга.
Идем в
Получаем назависимых агентов, у каждого свой промпт и набор инструментов. Более того, в отличие от курсора, или слэш-комманд, основной агент будет сам их роутить – например, не обязательно явно указывать переход от планирования к исполнению или к тестированию.
TL;DR
Использовать хоть сколько-нибудь сложный набор тулов можно только с субагентами. При этом, ограничения им только помогают, потому что не дают терять фокус. Но оградить основного агента Claude Code от свалки тулов в контексте – нельзя.
В курсоре можно настроить наборы MCP, но в рамках одного MCP сервера все равно нельзя выбирать отдельные тулы. Зато, как @kdoronin_blog напомнил, можно отрубить их глобально в настройках курсора.
P.s. Динамически можно сделать через вот это, но я решил, что уже совсем задротство
Такой вот мини рисерч
Уже все поняли, что грузить агента кучей MCP tools – вредно (ведь поняли же?).
Во первых, сжираем драгоценный контекст (чаще упираемся в rate limits), а во вторых – путаем модель – если у тебя в руках молоток, то все выглядит как гвоздь. А для LLMок этот принцип еще актуальнее.
По хорошему, использование tools должно быть точечным. Это касается не только MCP, но и встроенных тулов кодинг агентов – всякое редактирование файлов, запуск консольных команд, веб поиск.
- На этапе планирования возможность поредачить файлы будет сбивать.
- И наоборот, когда применяем изменения – не нужно читать документацию.
- А UX тестировщик должен иметь доступ к браузеру, но не должен перезаписывать файлы (а то он быстро требования подгонит под реальность)
В целом, ничего нового не сказал, это база. Но как это настроить? Оказалось, не так просто найти адекватные способы (я это пост уже четвертый день пишу)
Cursor:
В окне агента создаем новый мод, называем его Default, назначаем хоткей, выключаем все лишнее (Скрин1). Отдельно добавляем специализированные моды. У меня такие три:
1. Поисковик – у него Context7 и WebSearch
2. Тестировщик – browsermcp
3. Планировщик – не может писать в файлы
Выбирать там отдельные тулы в рамках одного MCP нельзя, но все лишнее можно отрубить глобально в настройках Cursor.
Claude Code:
Тут все сильно поинтереснее. В CC есть кастомные слэш команды. Там можно прописать промпт и определить allowed-tools. Сработает ли это как мы хотим?
Нет. Все тулы будут передаваться в контекст в любом случае. allowed-tools – это просто разрешение запускать их без одобрения пользователя.
Аналогично и с главными /permissions, но там можно хотя бы есть Deny для запрета вызова тулов (которые зачем-то все равно передаются в контекст и даже без пометки, что ими нельзя пользоваться 🥴)
Что делать в итоге?
Новая фича с субагентами. Вот там настоящее раздолье. Это же буквально весь смысл нескольких "агентов" – иметь ограниченный набор инструментов и узкую задачу, чтобы разделять ответственность и дополнять друг друга.
Идем в
/agents, создаем нового агента, описываем текстом, что он должен делать, в настройках выбираем, какие инструменты давать, а какие забрать (скрин 2).В отличие от курсора, можно провалиться в конкретные тулы каждого MCP сервера и выбирать только нужные. Особенно полезно на всяких MCP монстрах типа GitHub MCP, где под сотню тулов, из которых нужны 5-10.
Получаем назависимых агентов, у каждого свой промпт и набор инструментов. Более того, в отличие от курсора, или слэш-комманд, основной агент будет сам их роутить – например, не обязательно явно указывать переход от планирования к исполнению или к тестированию.
Если контрол фрики, то прописываем в CLAUDE.md, чтобы вызывал не больше одного субагента за раз.
TL;DR
Использовать хоть сколько-нибудь сложный набор тулов можно только с субагентами. При этом, ограничения им только помогают, потому что не дают терять фокус. Но оградить основного агента Claude Code от свалки тулов в контексте – нельзя.
В курсоре можно настроить наборы MCP, но в рамках одного MCP сервера все равно нельзя выбирать отдельные тулы. Зато, как @kdoronin_blog напомнил, можно отрубить их глобально в настройках курсора.
P.s. Динамически можно сделать через вот это, но я решил, что уже совсем задротство
Такой вот мини рисерч
🔥25❤13👍9❤🔥2😁1🤝1
Мгновенные ответы в Claude Code (или как подключать сторонние модели)
В чем главная проблема разработки с ИИ? Даже не в том, что люди пишут ЛЛМкой тесты, или ждут что она сама достанет все требования из их головы.
Проблема – постоянное выпадение из фокуса, пока ждешь. Либо нужно устраивать конвейер, когда ты по одному проекту в параллель запускаешь несколько задач.
Но это – режим менеджера (асинхронный), неестественный для большинства разработчиков, норма которых – работа в "блокирующем" режиме.
Альтернативное направление – просто сильно ускорить инференс, чтобы не успевать выпадать:
Вспоминаю про Cerebras API, который умеет выдавать по 1-2k токенов в секунду (ссылка на мои эксперименты в конце поста). Осталось только понять, как подключить их в Claude Code, который работает только с anthropic совместимыми моделями.
Нахожу claude code router - враппер вокруг Claude Code, который перехватывает реквесты к Anthropic API, заменяет их на реквесты к желаемым провайдеру и модели, возвращает в Claude Code результат в anthropic-compatible формате.
И он даже разрешает прописывать провайдера для openrouter – можно выбрать cerebras. Только там баг, и эта фича не работает. Придумываю "хак" – создаю пресет в openrouter, чтобы обращаться через
Вот получившийся
TL;DR:
1.
2. создаем пресет в openrouter
3. копируем конфиг в
Мои эксперименты с Cerebras (1, 2)
UPD: кому мало qwen3-coder, попробуйте
В чем главная проблема разработки с ИИ? Даже не в том, что люди пишут ЛЛМкой тесты, или ждут что она сама достанет все требования из их головы.
Проблема – постоянное выпадение из фокуса, пока ждешь. Либо нужно устраивать конвейер, когда ты по одному проекту в параллель запускаешь несколько задач.
Но это – режим менеджера (асинхронный), неестественный для большинства разработчиков, норма которых – работа в "блокирующем" режиме.
Альтернативное направление – просто сильно ускорить инференс, чтобы не успевать выпадать:
Дал инструкцию → Сразу видишь результат → Увидел косяки → Дал новую инструкцию
Вспоминаю про Cerebras API, который умеет выдавать по 1-2k токенов в секунду (ссылка на мои эксперименты в конце поста). Осталось только понять, как подключить их в Claude Code, который работает только с anthropic совместимыми моделями.
Нахожу claude code router - враппер вокруг Claude Code, который перехватывает реквесты к Anthropic API, заменяет их на реквесты к желаемым провайдеру и модели, возвращает в Claude Code результат в anthropic-compatible формате.
И он даже разрешает прописывать провайдера для openrouter – можно выбрать cerebras. Только там баг, и эта фича не работает. Придумываю "хак" – создаю пресет в openrouter, чтобы обращаться через
"model": "qwen/qwen3-coder@preset/cerebras"Вот получившийся
config.json{
"LOG": true,
"API_TIMEOUT_MS": 600000,
"NON_INTERACTIVE_MODE": false,
"Providers": [
{
"name": "openrouter",
"api_base_url": "https://openrouter.ai/api/v1/chat/completions",
"api_key": "...",
"models": [ "qwen/qwen3-coder@preset/cerebras" ],
"transformer": { "use": [ "openrouter" ] }
}
],
"Router": {
"default": "openrouter,qwen/qwen3-coder@preset/cerebras",
"background": "openrouter,qwen/qwen3-coder@preset/cerebras",
"think": "openrouter,qwen/qwen3-coder@preset/cerebras",
"longContext": "openrouter,qwen/qwen3-coder@preset/cerebras",
"longContextThreshold": 60000,
"webSearch": "openrouter,qwen/qwen3-coder@preset/cerebras"
}
}TL;DR:
1.
npm install -g @musistudio/claude-code-router2. создаем пресет в openrouter
3. копируем конфиг в
~/.claude-code-router/config.jsonP.s. Claude Code делает много промежуточных запросов. И если все будут лететь через cerebras – будут пробиваться rate limits => для надежности делаем фоллбэк на другого провадера в пресете openrouter
Мои эксперименты с Cerebras (1, 2)
UPD: кому мало qwen3-coder, попробуйте
grok-4-fast от xAI1🔥25❤9👍3🤯3❤🔥1
Кстати, Антропики тоже считают, что ембеддинги сосут
Перевод:
Перевод:
Семантический поиск обычно быстрее, чем агентный поиск, но менее точен, труднее в обслуживании и менее прозрачен. Он включает в себя «разбиение» релевантного контекста на фрагменты, преобразование этих фрагментов в векторы и последующий поиск концептов через запрос к этим векторам. Учитывая его ограничения, мы рекомендуем начинать с агентного поиска и подключать семантический только в том случае, если вам нужны более быстрые результаты или больше вариантов.
👍17🤮3👎2❤1🤡1
Собеседования в эпоху ИИ
Я одно время плотно занимался техническими-собесами-as-a-service для американского бигтеха – Google, Uber, Dropbox и другие ребята со звездочками.
И мне сейчас особенно любопытно, как собесы изменятся в мире, где большинство старых задачек решаются в один запрос к LLM
Попробую неблагодарное дело – предсказания. Как обычно, индустрия пойдет двумя путями:
1. Запрещать и наказывать
2. Не можешь запретить, возглавь
Первый путь все обычно хейтят. Мол, дорога к стагнации. Проверка нерелевантных навыков. Еще бы умножение в столбик спрашивали.Как будто сейчас на собесах проверяют релевантные навыки, ага.
Но если подумать, собеседование – это всегда решение ограниченной задачи за ограниченное время. Так что проверяем самое важное в искуственных условиях. Для разработчика это архитектура, код и технологическая база.
Так что, это абсолютно ок – запретить пользоваться ИИ на собесе и проверять инженерные знания изолировано.
———
Но разрыв между технарями, которые осваивают сложные ИИ воркфлоу, и теми, кто остановился на базовых – продолжает расти.
А значит, всё важнее проверять не только инженерные навыки (база), но и владении ИИ (мультипликатор). Ок, дадим на собесах пользоваться ИИ агентами
А какие давать задачи?
Идейно все просто – а) не должны решаться в один промпт, но при этом б) должны решаться быстро с грамотными подходами и долей инженерных знаний.
А вот на практике такие задачи найти не просто. В маленьких проектах почти все можно решить в один промпт, а большие проекты требуют слишком сильного погружения для часового собеса
Но одна идея вроде работает. Вот наблюдения:
Самые большие сложности у ИИ – вынужденный рефакторинг.
Что скажет сеньор на задачу, не влезающую в текущую архитектуру? "Нужно пару месяцев на переделки"
Что говорит LLM? "так точно, сейчас будет готово". И обмазывает все костылями прям как тот джун, которые боится сказать "нет"
Вот тут кандидаты и делятся на три сегмента
1. Консерваторы, полагаются на свой опыт и используют ИИ по минимуму – скорее всего не успевают закончить задачу
2. Те, кто еще не напрыгался на граблях вайбкодинга и слепо передает задачу LLMке – выдают рабочее, но неподдерживаемое решение
3. Те, кто уже набрался опыта – достаточно быстро придут к идее рефакторинга и так же быстро его сделают
tl;dr
Делаем небольшой проект, но с кривой архитектурой. Про рефакторинг ничего не говорим, зато даем фичу, которую в текущую архитектуру без костылей не встроить. Наблюдаем.
———
Ставлю на постепенное появление таких задачек на собесах.
Если кто-то у себя уже делает такое – напишите в лс, пообщаемся. Если собираетесь – тоже пишите
Я одно время плотно занимался техническими-собесами-as-a-service для американского бигтеха – Google, Uber, Dropbox и другие ребята со звездочками.
И мне сейчас особенно любопытно, как собесы изменятся в мире, где большинство старых задачек решаются в один запрос к LLM
Попробую неблагодарное дело – предсказания. Как обычно, индустрия пойдет двумя путями:
1. Запрещать и наказывать
2. Не можешь запретить, возглавь
Первый путь все обычно хейтят. Мол, дорога к стагнации. Проверка нерелевантных навыков. Еще бы умножение в столбик спрашивали.
Но если подумать, собеседование – это всегда решение ограниченной задачи за ограниченное время. Так что проверяем самое важное в искуственных условиях. Для разработчика это архитектура, код и технологическая база.
Так что, это абсолютно ок – запретить пользоваться ИИ на собесе и проверять инженерные знания изолировано.
Да, есть вайбкодинг, когда пользователь не погружается в код. Но мы тут не об этом, а о разработке серьезных проектов.
Разработчик + ИИ – это как техлид и миддлы в его команде – он все может сделать и сам, но с ними быстрее.
Вайбкодеры, наоборот, скорее нетехнические CEO в стартапа, которые дают задачки разработчику на аутсорсе (чем такое обычно заканчивается?)
———
Но разрыв между технарями, которые осваивают сложные ИИ воркфлоу, и теми, кто остановился на базовых – продолжает расти.
А значит, всё важнее проверять не только инженерные навыки (база), но и владении ИИ (мультипликатор). Ок, дадим на собесах пользоваться ИИ агентами
А какие давать задачи?
Идейно все просто – а) не должны решаться в один промпт, но при этом б) должны решаться быстро с грамотными подходами и долей инженерных знаний.
А вот на практике такие задачи найти не просто. В маленьких проектах почти все можно решить в один промпт, а большие проекты требуют слишком сильного погружения для часового собеса
Но одна идея вроде работает. Вот наблюдения:
Самые большие сложности у ИИ – вынужденный рефакторинг.
Что скажет сеньор на задачу, не влезающую в текущую архитектуру? "Нужно пару месяцев на переделки"
Что говорит LLM? "так точно, сейчас будет готово". И обмазывает все костылями прям как тот джун, которые боится сказать "нет"
Вот тут кандидаты и делятся на три сегмента
1. Консерваторы, полагаются на свой опыт и используют ИИ по минимуму – скорее всего не успевают закончить задачу
2. Те, кто еще не напрыгался на граблях вайбкодинга и слепо передает задачу LLMке – выдают рабочее, но неподдерживаемое решение
3. Те, кто уже набрался опыта – достаточно быстро придут к идее рефакторинга и так же быстро его сделают
tl;dr
Делаем небольшой проект, но с кривой архитектурой. Про рефакторинг ничего не говорим, зато даем фичу, которую в текущую архитектуру без костылей не встроить. Наблюдаем.
———
Ставлю на постепенное появление таких задачек на собесах.
Если кто-то у себя уже делает такое – напишите в лс, пообщаемся. Если собираетесь – тоже пишите
4🔥35❤16🤔6👍4😱1💯1
↑ Вчера я писал как проверять навыки ИИ кодинга на собесах – глупо не проверять то, что дает большой буст. И с каждым месяцем всё больший
Только как их приобрести?
Основная проблема – вообще нет нормальных материалов. Все курсы – про вайбкодинг. Нормальные разработчики от такого плюются – и правильно делают, в серьезной разработке большая часть просто неприменима.
Одно дело навайбкодить лендос за вечер, совсем другое – рефакторить свой легаси комбайн с кучей зависимостей.
Так еще и подходов и инструментов с каждым днем появляется все больше – все хотят оседлать хайп. Но работающих – единицы. Приходится либо пробовать все самому, либо собирать по кусочкам чужой опыт из соседних каналов или в дебрях чатов.
А запрос на отфильтрованную информацию – все сильнее. Вижу это и по вопросам на своих консультациях, и по личному общению с разработчиками и лидами из индустрии.
Короче, так как у меня шило в заднице и намерение в этом году меньше продумывать и больше делать – я написал нескольким ребятам, от которых получал те самые крупицы опыта, и предложил сделать свою гаражную онлайн-конфу.
Все быстро вышло из под контроля и разрослось до 10 топовых спикеров и уже 700 участников (за пару дней с анонса).
Очень доволен и контентом, и спикерами – а там CTO, тихлиды, разработчики своих AI coding tools, Head of AI из корпората.
Очень стараемся без воды и буллщита – от технарей для технарей, чтобы было полезно и разработчикам и CTO.
В рф сейчас нет ничего даже близкого по качеству, особенно с учетом бесплатной опции
Так что приходите сами и зовите коллег:
ai-dev.live
Только как их приобрести?
Основная проблема – вообще нет нормальных материалов. Все курсы – про вайбкодинг. Нормальные разработчики от такого плюются – и правильно делают, в серьезной разработке большая часть просто неприменима.
Одно дело навайбкодить лендос за вечер, совсем другое – рефакторить свой легаси комбайн с кучей зависимостей.
Так еще и подходов и инструментов с каждым днем появляется все больше – все хотят оседлать хайп. Но работающих – единицы. Приходится либо пробовать все самому, либо собирать по кусочкам чужой опыт из соседних каналов или в дебрях чатов.
А запрос на отфильтрованную информацию – все сильнее. Вижу это и по вопросам на своих консультациях, и по личному общению с разработчиками и лидами из индустрии.
Короче, так как у меня шило в заднице и намерение в этом году меньше продумывать и больше делать – я написал нескольким ребятам, от которых получал те самые крупицы опыта, и предложил сделать свою гаражную онлайн-конфу.
Все быстро вышло из под контроля и разрослось до 10 топовых спикеров и уже 700 участников (за пару дней с анонса).
Очень доволен и контентом, и спикерами – а там CTO, тихлиды, разработчики своих AI coding tools, Head of AI из корпората.
Очень стараемся без воды и буллщита – от технарей для технарей, чтобы было полезно и разработчикам и CTO.
В рф сейчас нет ничего даже близкого по качеству, особенно с учетом бесплатной опции
Так что приходите сами и зовите коллег:
ai-dev.live
🔥47❤18😁2
Немного пошалил на хабре
Когда планировали конфу, я амбициозно рассчитывал на 400 участников, а сейчас уже 1900. Очень захотел добить до 2к – решил написать пост на хабр. В лоб пиарить было скучно, так что я решил повеселиться
Если считаете, что шалость удалась – лайкните статью, давайте подержим ее в горячем подольше
Когда планировали конфу, я амбициозно рассчитывал на 400 участников, а сейчас уже 1900. Очень захотел добить до 2к – решил написать пост на хабр. В лоб пиарить было скучно, так что я решил повеселиться
Если считаете, что шалость удалась – лайкните статью, давайте подержим ее в горячем подольше
Хабр
ИИ кодинг не работает
Или как объяснить менеджменту, почему лучше перестать пушить внедрение ИИ в разработку Почему меня стоит слушать? Я точно не айти гуру, но я зарабатываю кодом последние 8 лет, писал очень разное от...
❤33👍20🔥12🌚6💩4😁1
Реальный кейс по ИИ в собесах
После недавнего поста про ИИ на собесах, у меня случилось несколько интересных консультаций
Сейчас многие стоят перед вопросом "а как вообще менять собесы", так что делюсь кейсом с одной из них (с разрешения)
———
Света – лид системных аналитиков в крупном российском банке. Они молодцы – уже делают отдельный этап собесов на применение ИИ. Но проблема – слишком похоже на обычный этап системного дизайна – так же собрать требования, спроектировать контракты и модель данных. Только теперь с ИИ. Да еще и оказалось, что все, кто хорошо прошел первый этап без ИИ – хорошо проходят и с ИИ
Свете не нравится – второй этап не дает знаний про кандидата, зато дает ему негативный опыт – никто не любит решать похожие задачи. Как поменять – сходу не понятно
Я обычно пытаюсь выйти немного за рамки конкретной задачи. Так и тут, я забиваю на собесы и начинаю:
⦁ А как вообще в компании уже используется ИИ?
⦁ Как ты использовала на последней неделе?
⦁ Где использовала команда?
⦁ Про что говорили как про вау-момент?
⦁ Какие самые геморные задачи перестали быть такими?
Образовывается два кластера задач
1. Формирование и исследование архитектурных концепций – по сути масштабный диприсерч и куча итераций сверху – для собесов не подходит
2. Генерация драфтов API контрактов – то, что нужно
Дальше самый важный вопрос:
Именно задания на эти паттерны и нужны на собесе. А сами паттерны → чеклисты для интервьюера
Вот несколько примеров грин-флагов, которые выцепили:
⦁ Постановка задачи ИИ – сначала уточняет цель, ограничения, критерии качества; декомпозирует на подзадачи; задает контекст (домен, ограничения по API/данным)
⦁ Итеративность – работает циклами (черновик → проверка → правки → повтор); запрашивает альтернативы и сравнение; ведет лог допущений; просит обосновать решения и указать источники/риски
⦁ Работа с форматами и артефактами – требует строгие форматы (OpenAPI/JSON/YAML), валидирует схему; просит диаграммы/сиквенсы/модель данных, связывает их между собой
⦁ Управление ограничениями и рисками – явно задает ограничения (совместимость, версии, SLA, лимиты, idempotency, пагинация, фильтры, сортировки); тестирует негативные сценарии
⦁ Качество – редактирует запрос, пока не получит качественный результат, перед тем как перейти к следующему шагу (вместо кучи микро-исправлений)
———
Предлагаю Свете сделать только один этап: 40 минут систем дизайна + 20 минут генерация драфта одного контракта из системы, которую задизайнили. Кандидат уже в контексте – удобно
На этом в целом можно закончить – Света довольна
Но есть ощущение, что можно еще докрутить, так что предлагаю подумать над двумя интересными фактами:
1. LLMки очень стараются сделать то, о чем их просят (иногда в очень извращенном виде)
2. LLMки сильно цепляются за то, что уже сделано (код, текст поста, архитектура)
Там где опытный разработчик не станет делать фичу, а объяснит менеджеру, что у нас тут сначала месяц рефакторинга, ИИ смело идет плодить костыли
Это и приводит к "проклятью вайбкодеров" – когда проект разрастается до определенной сложности, новые фичи уже не помещаются в текущую архитектуру, и их уже невозможно добавить, не сломав существующие
Поэтому предлагаю Свете не делать на собесе драфт контракта с нуля, а, наоборот, дать уже готовый, но плохо спроектированный + попросить к нему добавить что-то (что просто так не влезет). И посмотреть, как человек будет решать проблему – все будет понятно
"Хороший специалист – знает, как не косячить. Отличный – знает, как исправить, когда кто-то уже накосячил"ауф
———
tl;dr
⦁ Смотрите на то, где команда уже применяет ИИ в работе
⦁ Ищите, чем отличаются паттерны успешных коллег – стройте задания на этом
⦁ Не давайте делать с нуля, а дайте средненькое решение и попросите что-то добавить (не прося "исправить")
⦁ Часть гринфлагов выше – универсальны, можете забирать себе
После недавнего поста про ИИ на собесах, у меня случилось несколько интересных консультаций
Сейчас многие стоят перед вопросом "а как вообще менять собесы", так что делюсь кейсом с одной из них (с разрешения)
———
Света – лид системных аналитиков в крупном российском банке. Они молодцы – уже делают отдельный этап собесов на применение ИИ. Но проблема – слишком похоже на обычный этап системного дизайна – так же собрать требования, спроектировать контракты и модель данных. Только теперь с ИИ. Да еще и оказалось, что все, кто хорошо прошел первый этап без ИИ – хорошо проходят и с ИИ
Свете не нравится – второй этап не дает знаний про кандидата, зато дает ему негативный опыт – никто не любит решать похожие задачи. Как поменять – сходу не понятно
Я обычно пытаюсь выйти немного за рамки конкретной задачи. Так и тут, я забиваю на собесы и начинаю:
⦁ А как вообще в компании уже используется ИИ?
⦁ Как ты использовала на последней неделе?
⦁ Где использовала команда?
⦁ Про что говорили как про вау-момент?
⦁ Какие самые геморные задачи перестали быть такими?
Образовывается два кластера задач
1. Формирование и исследование архитектурных концепций – по сути масштабный диприсерч и куча итераций сверху – для собесов не подходит
2. Генерация драфтов API контрактов – то, что нужно
Дальше самый важный вопрос:
Какие паттерны отличают успешных сотрудников от остальных?
Именно задания на эти паттерны и нужны на собесе. А сами паттерны → чеклисты для интервьюера
Вот несколько примеров грин-флагов, которые выцепили:
⦁ Постановка задачи ИИ – сначала уточняет цель, ограничения, критерии качества; декомпозирует на подзадачи; задает контекст (домен, ограничения по API/данным)
⦁ Итеративность – работает циклами (черновик → проверка → правки → повтор); запрашивает альтернативы и сравнение; ведет лог допущений; просит обосновать решения и указать источники/риски
⦁ Работа с форматами и артефактами – требует строгие форматы (OpenAPI/JSON/YAML), валидирует схему; просит диаграммы/сиквенсы/модель данных, связывает их между собой
⦁ Управление ограничениями и рисками – явно задает ограничения (совместимость, версии, SLA, лимиты, idempotency, пагинация, фильтры, сортировки); тестирует негативные сценарии
⦁ Качество – редактирует запрос, пока не получит качественный результат, перед тем как перейти к следующему шагу (вместо кучи микро-исправлений)
———
Предлагаю Свете сделать только один этап: 40 минут систем дизайна + 20 минут генерация драфта одного контракта из системы, которую задизайнили. Кандидат уже в контексте – удобно
На этом в целом можно закончить – Света довольна
Но есть ощущение, что можно еще докрутить, так что предлагаю подумать над двумя интересными фактами:
1. LLMки очень стараются сделать то, о чем их просят (иногда в очень извращенном виде)
2. LLMки сильно цепляются за то, что уже сделано (код, текст поста, архитектура)
Там где опытный разработчик не станет делать фичу, а объяснит менеджеру, что у нас тут сначала месяц рефакторинга, ИИ смело идет плодить костыли
Это и приводит к "проклятью вайбкодеров" – когда проект разрастается до определенной сложности, новые фичи уже не помещаются в текущую архитектуру, и их уже невозможно добавить, не сломав существующие
Поэтому предлагаю Свете не делать на собесе драфт контракта с нуля, а, наоборот, дать уже готовый, но плохо спроектированный + попросить к нему добавить что-то (что просто так не влезет). И посмотреть, как человек будет решать проблему – все будет понятно
"Хороший специалист – знает, как не косячить. Отличный – знает, как исправить, когда кто-то уже накосячил"
———
tl;dr
⦁ Смотрите на то, где команда уже применяет ИИ в работе
⦁ Ищите, чем отличаются паттерны успешных коллег – стройте задания на этом
⦁ Не давайте делать с нуля, а дайте средненькое решение и попросите что-то добавить (не прося "исправить")
⦁ Часть гринфлагов выше – универсальны, можете забирать себе
3❤45👍20🔥11😐2
Оффлайн vs онлайн
Все еще получаем классные отзывы от участников конференции. Кстати, наконец выложили записанные видосы, доступ все так же через ai-dev.live
Но чего у нас не было, так это живого общения
Валера @neuraldeep вместе с @red_mad_robot проводит в Питере оффлайн конфу на следующих выходных.
Тема та же – ИИ в разработке. Но как участник, тут я бы сделал упор именно на личные знакомства и общение 1-1 – большинство самых интересных инсайтов берутся именно из таких контактов.Если не ссать знакомиться, задавать правильные вопросы и делиться своим опытом
25 октября 9:30-15:00
Подробности тут
P.s. Я, кстати, тоже должен был выступать на этой конфе, но не успел доехать до Питера
Все еще получаем классные отзывы от участников конференции. Кстати, наконец выложили записанные видосы, доступ все так же через ai-dev.live
Но чего у нас не было, так это живого общения
Валера @neuraldeep вместе с @red_mad_robot проводит в Питере оффлайн конфу на следующих выходных.
Тема та же – ИИ в разработке. Но как участник, тут я бы сделал упор именно на личные знакомства и общение 1-1 – большинство самых интересных инсайтов берутся именно из таких контактов.
25 октября 9:30-15:00
Подробности тут
P.s. Я, кстати, тоже должен был выступать на этой конфе, но не успел доехать до Питера
👍13🔥9❤4
В последнее время мало пишу – активно нарабатываю контент для новых постов (на самом деле просто в мыле закрываю хвосты по проектам – появились из-за сильного фокуса на подготовку нашей недавней конфы)
Скоро будет и про оффлайн RAG на мобилках, и про то, почему никто в Q&A системах не хайлайтит референсы в пдфках и как это все-таки нужно делать, и поделюсь настройками моих кодинг тулов. Будет даже мой первый видос на ютубе – отрывок с одного закрытого воркшопа, который я недавно проводил
А пока, чтобы лучше познакомится с моим каналом – вот топ полезных постов, стараюсь держать его актуальным. Он разбит по ЦА, так что каждый найдет для себя что-то интересное 🤗
Скоро будет и про оффлайн RAG на мобилках, и про то, почему никто в Q&A системах не хайлайтит референсы в пдфках и как это все-таки нужно делать, и поделюсь настройками моих кодинг тулов. Будет даже мой первый видос на ютубе – отрывок с одного закрытого воркшопа, который я недавно проводил
А пока, чтобы лучше познакомится с моим каналом – вот топ полезных постов, стараюсь держать его актуальным. Он разбит по ЦА, так что каждый найдет для себя что-то интересное 🤗
Telegram
AI и грабли
Подборка всех лучших постов (обновляется)
Для всех:
Инсайты из чатов. как выкачать и проанализировать любую переписку
Транскрибация и саммари звонков здорового человека
Как получилось, что юристы используют среду для разработчиков?
Универсальный взлом…
Для всех:
Инсайты из чатов. как выкачать и проанализировать любую переписку
Транскрибация и саммари звонков здорового человека
Как получилось, что юристы используют среду для разработчиков?
Универсальный взлом…
1❤24👍16🔥9
Хотя я и в водовороте ИИ хайпа, но у меня почти нет ИИ продуктов, которыми я пользуюсь каждый день
Прям на постоянке только Cursor/Claude Code, Wispr Flow, chatgpt/ai.studio, пару самописных ботов и Granola
Почему так? Если честно, кажется, что большинство продуктов просто не дают достаточно интерфейсной ценности в сравнении с обычным ChatGPT.
Granola – крутой пример обратного. Вот вроде обычный транскрибатор, но на самом деле все сильно глубже. Никаким chatgpt такой флоу заменить не получится. Подробнее показывал на воркшопе пару недель назад. Постарался не столько дать инструмент, сколько сформулировать универсальные подходы и реальные кейсы
Выложил эту часть в бесплатный доступ на ютуб – смотреть можно тут
Прям на постоянке только Cursor/Claude Code, Wispr Flow, chatgpt/ai.studio, пару самописных ботов и Granola
Почему так? Если честно, кажется, что большинство продуктов просто не дают достаточно интерфейсной ценности в сравнении с обычным ChatGPT.
Granola – крутой пример обратного. Вот вроде обычный транскрибатор, но на самом деле все сильно глубже. Никаким chatgpt такой флоу заменить не получится. Подробнее показывал на воркшопе пару недель назад. Постарался не столько дать инструмент, сколько сформулировать универсальные подходы и реальные кейсы
Выложил эту часть в бесплатный доступ на ютуб – смотреть можно тут
YouTube
ИИ инструмент для коммуникации, который сохранил мне несколько тысяч долларов
Granola – granola.ai
Enterprise-grade security – fireflies.ai
Тоже обещают GDPR и давно на рынке (раньше делали шумодав) – krisp.ai
(Канал новый, так что ссылки не кликабельные)
UPD: granola тоже обещает SOC2 и GDPR - granola.ai/security
Мой канал в тг:…
Enterprise-grade security – fireflies.ai
Тоже обещают GDPR и давно на рынке (раньше делали шумодав) – krisp.ai
(Канал новый, так что ссылки не кликабельные)
UPD: granola тоже обещает SOC2 и GDPR - granola.ai/security
Мой канал в тг:…
🔥20❤13👍9😁2🤔2
Хейт ИИ для разработки – публичное признание собственной некомпетентности
По сути разработка с ИИ очень похожа на работу технического менеджера + архитектора: принятие верхнеуровневых решений, декомпозиция больших блоков и формулирование задач (и критериев успеха) для менее опытных исполнителей. И конечно ограждение этих исполнителей (кодом или процессами) от болючих граблей.
Я, например, прогая с ИИ, сильнее чувствую свой недостаток архитектурного опыта.
Тру сеньор с 10+ годами релевантного опыта в нише быстро поймет, какие части точно нельзя упростить, а какие – оверинжиниринг, который нужно выкинуть.
А я иногда трачу несколько часов рисерча об LLM, чтобы сформировать у себя в голове "карту рисков" и дерево возможных решений. И все равно самому принять решение.
Или часто вижу достаточно опытных разработчиков, но без опыта менеджмента. И у них часто не получается работать с ИИ: "да мне быстрее самому сделать"
И понятно – ну не было у них ситуаций, где бы они жестко обосрались, понадеявшись, что миддл-новичок из соседнего отдела правильно поймет их хотелки, все с первого раза сделает, еще и прод не положит 😔
Я это все к чему:
- Если вы говнитесь на ИИ, мб стоит задуматься, какое мнение о себе формируете. Пока что хейтить ИИ у трушных разработчиков еще модно, но эта мода понемногу уходит
- Если чувствуете, что не хватает менеджерских навыков, еще не поздно взять себе джуна в подчинение/менторство и восполнять пробелы. Не поздно, пока джуны еще остались, а то сами знаете, что сейчас с рынком
- А если занимаетесь внедрением ИИ в своей компании – начинайте с самых сеньорных ребят (но тех, кто еще сам руки не боится замарать, а не только на созвонах сидит). Они и применить смогут на максимум, и команде потом лучшие практики передать
По сути разработка с ИИ очень похожа на работу технического менеджера + архитектора: принятие верхнеуровневых решений, декомпозиция больших блоков и формулирование задач (и критериев успеха) для менее опытных исполнителей. И конечно ограждение этих исполнителей (кодом или процессами) от болючих граблей.
Я, например, прогая с ИИ, сильнее чувствую свой недостаток архитектурного опыта.
Тру сеньор с 10+ годами релевантного опыта в нише быстро поймет, какие части точно нельзя упростить, а какие – оверинжиниринг, который нужно выкинуть.
А я иногда трачу несколько часов рисерча об LLM, чтобы сформировать у себя в голове "карту рисков" и дерево возможных решений. И все равно самому принять решение.
Или часто вижу достаточно опытных разработчиков, но без опыта менеджмента. И у них часто не получается работать с ИИ: "да мне быстрее самому сделать"
И понятно – ну не было у них ситуаций, где бы они жестко обосрались, понадеявшись, что миддл-новичок из соседнего отдела правильно поймет их хотелки, все с первого раза сделает, еще и прод не положит 😔
Я это все к чему:
- Если вы говнитесь на ИИ, мб стоит задуматься, какое мнение о себе формируете. Пока что хейтить ИИ у трушных разработчиков еще модно, но эта мода понемногу уходит
- Если чувствуете, что не хватает менеджерских навыков, еще не поздно взять себе джуна в подчинение/менторство и восполнять пробелы. Не поздно, пока джуны еще остались, а то сами знаете, что сейчас с рынком
- А если занимаетесь внедрением ИИ в своей компании – начинайте с самых сеньорных ребят (но тех, кто еще сам руки не боится замарать, а не только на созвонах сидит). Они и применить смогут на максимум, и команде потом лучшие практики передать
💯56❤20👍10💩5🤝4🤔2
Почему большинство делают LLM классификацию не правильно
Зачем вообще нужна LLM классификация? Для примера – хрестоматийная задача из суровой реальности:
- На вход – история переписки пользователя с ботом
- На выход True, если пользователь делает в чате что-то нехорошее (например, пытается вытащить системный промпт или разговорить модель про ее полические взгляды). False, если все хорошо
Вот 4 типичных подхода и один нетипичный
Уровень 0 – просто промпт:
Проблемы: Модель может ответить "false", "FALSE", "false, потому что блаблабла" или вообще выдать системный промпт, если инъекция хорошая
Уровень 1 – structured output:
Уже лучше. Но что если хочется еще и знать что конкретно идет не так?
Уровень 2 – Literal (multiclass классификация):
Вместо бинарного поля – несколько возможных вариантов
А что если у нас одновременно и politics_bait и system_prompt_robbery???
Уровень 3 – Несколько полей (mutlilabel классификация)
Разделяем варианты по разным бинарным критериям (aka чеклист)
Коля, ну а тут то что не так?
Дело в том, что триггер True для
P(True) = 0.49
P(False) = 0.51
Система скажет False ("все ок"). А на самом деле? А на самом деле уверенность, что все ненормально - 49% 🙈
И большинство решений на рынке остаются именно на этом уровне!
Да, могут добавить thinking или даже Structured Guided Reasoning (например перед вердиктом попросив цитату пользователя, где мб есть проблема), но глобально это ситуацию не меняет.
Уровень 4 – logprobs + пороги:
Мало кто знает, что LLM провайдер может отдавать сырые "вероятности" токенов. Не забываем softmax или попросить модельку, если не шарите.
По сути – это "уверенность" модели в каждом конкретном токене
Включается вот этими параметрами
А потом выбираем пороги. Тут неплохо иметь небольшой датасет, чтобы правильно подобрать их.
Кстати, кто знает, как правильно доставать logprobs только важных для нас токенов (true/false) из всего json'а?
{
"is_politic_bait": true,
"is_system_prompt_robbery": false
}
———
Короче, полноценная классификация появляется тогда, когда появляется вероятность.
Ну и идеи дальнейших улучшений одной строкой:
- Разные пороги под разные характеристики
- Подбор порогов автоматически, если есть датасет
- Если multiclass (пример с вакансиями), то еще важно насколько у топовых классов близкая "уверенность" – если у обоих большая, но примерно одинаковая, то контринтуитивно, но значит, моделька на самом деле сомневается в своем топ-1
Зачем вообще нужна LLM классификация? Для примера – хрестоматийная задача из суровой реальности:
- На вход – история переписки пользователя с ботом
- На выход True, если пользователь делает в чате что-то нехорошее (например, пытается вытащить системный промпт или разговорить модель про ее полические взгляды). False, если все хорошо
Вот 4 типичных подхода и один нетипичный
Уровень 0 – просто промпт:
Блаблабла, напиши True, если пользователь делает что-то плохое. Вот критерии плохого: ... Напиши False, если все ок
Проблемы: Модель может ответить "false", "FALSE", "false, потому что блаблабла" или вообще выдать системный промпт, если инъекция хорошая
Уровень 1 – structured output:
class Response(BaseModel):
verdict: bool = Field(..., description="Блаблабла, напиши True, если пользователь делает что-то плохое. Вот критерии плохого: ... Напиши False, если все ок")
Уже лучше. Но что если хочется еще и знать что конкретно идет не так?
Уровень 2 – Literal (multiclass классификация):
Вместо бинарного поля – несколько возможных вариантов
class Response(BaseModel):
verdict: Literal["normal", "politics_bait", "system_prompt_robbery", ...]
А что если у нас одновременно и politics_bait и system_prompt_robbery???
Уровень 3 – Несколько полей (mutlilabel классификация)
Разделяем варианты по разным бинарным критериям (aka чеклист)
class Response(BaseModel):
is_politic_bait: bool
is_system_prompt_robbery: bool
🧐 Вместо бинарных полей можно тоже сделать Literal с несколькими значениями – будет multiclass multilabel. Пример – извлечение данных из вакансий – одно поле может быть Junior/Middle/Senior, второе удаленка/офис/гибрид, третье – основной рабочий язык
Коля, ну а тут то что не так?
Дело в том, что триггер True для
is_system_prompt_robbery сработает только, если вероятность будет больше чем False . Давайте представим себе такие вероятности:P(True) = 0.49
P(False) = 0.51
Система скажет False ("все ок"). А на самом деле? А на самом деле уверенность, что все ненормально - 49% 🙈
И большинство решений на рынке остаются именно на этом уровне!
Да, могут добавить thinking или даже Structured Guided Reasoning (например перед вердиктом попросив цитату пользователя, где мб есть проблема), но глобально это ситуацию не меняет.
Пора учиться управлять вероятностями (с) Коля
Уровень 4 – logprobs + пороги:
Мало кто знает, что LLM провайдер может отдавать сырые "вероятности" токенов. Не забываем softmax или попросить модельку, если не шарите.
По сути – это "уверенность" модели в каждом конкретном токене
Включается вот этими параметрами
client.chat.completions.create(
...,
logprobs=True,
top_logprobs=5
)
А потом выбираем пороги. Тут неплохо иметь небольшой датасет, чтобы правильно подобрать их.
Кстати, кто знает, как правильно доставать logprobs только важных для нас токенов (true/false) из всего json'а?
{
"is_politic_bait": true,
"is_system_prompt_robbery": false
}
———
Короче, полноценная классификация появляется тогда, когда появляется вероятность.
Ну и идеи дальнейших улучшений одной строкой:
- Разные пороги под разные характеристики
- Подбор порогов автоматически, если есть датасет
- Если multiclass (пример с вакансиями), то еще важно насколько у топовых классов близкая "уверенность" – если у обоих большая, но примерно одинаковая, то контринтуитивно, но значит, моделька на самом деле сомневается в своем топ-1
🔥41👍10❤8
Текст не нужен
Последние пару месяцев живу с маргинальной мыслью, что текст как входные данные для AI систем – костыль
Казалось бы, наоборот, современный прорыв в ИИ случился в больших языковых моделях. Но у меня стойкое ощущение, что это просто промежуточный шаг на пути к более естественной форме восприятия – графической.
У человека нет текстового токенизатора – мы считываем текст глазами. Сколько лет наши буквы эволюционировали, чтобы считываться даже размытыми или только с верхней половиной?
Точно ли хорошая идея делать для LLM отдельный "орган восприятия" для текста? Да еще на основе всех костылей придуманных в Computer Science для строк.
Хз
Я уже перевел один клиентский проект на полностью картиночное восприятие, и частично перевел второй. И это при том, что там в основном текстовые пдфки. Моя интуиция, почему это работает – визуал сохраняет много мета-информации о тексте, которая готовилась для человеков: разные размеры шрифтов, взаимное расположение блоков инфы, таблицы, цветовое выделение.
Часть этого компенсируется маркдаун разметкой, но все равно с потерями.
———
Кстати, про маргинальность.
Пока этот пост лежал у меня недописанным в отложке, DeepSeek выпускают OCR модель со статьей буквально о том, о чем пишу выше – оптимизации для картинок текста. А затем еще и Карпатый в твиттере делает на них обзор.
Меня там зацепило:
- Сжатие до 10x (!) по числу токенов при точности 97%
- Это очевидно, но я даже не задумывался – Visual модели нативно поддерживают двунаправленный механизм внимания
- Интересный разгон про хранение картинок текста для реализации памяти у агентов (можно держать в контексте в 10 раз больше при тех же ресурсах).
- А "забывание" реализовать через постепенное понижение разрешения для старых/неиспользуемых кусков
———
И еще, доп. бонус от картиночного восприятия: нативные bbox для RAG пайплайнов. Очень круто показывать пользователю не только страницу, где нашли инфу, но и выделять конкретную область на ней (скрин ниже).
———
DeepSeek OCR
Твит Карпатого
Gemini Object Detection
———
Последние пару месяцев живу с маргинальной мыслью, что текст как входные данные для AI систем – костыль
Казалось бы, наоборот, современный прорыв в ИИ случился в больших языковых моделях. Но у меня стойкое ощущение, что это просто промежуточный шаг на пути к более естественной форме восприятия – графической.
У человека нет текстового токенизатора – мы считываем текст глазами. Сколько лет наши буквы эволюционировали, чтобы считываться даже размытыми или только с верхней половиной?
Точно ли хорошая идея делать для LLM отдельный "орган восприятия" для текста? Да еще на основе всех костылей придуманных в Computer Science для строк.
Хз
Я уже перевел один клиентский проект на полностью картиночное восприятие, и частично перевел второй. И это при том, что там в основном текстовые пдфки. Моя интуиция, почему это работает – визуал сохраняет много мета-информации о тексте, которая готовилась для человеков: разные размеры шрифтов, взаимное расположение блоков инфы, таблицы, цветовое выделение.
Часть этого компенсируется маркдаун разметкой, но все равно с потерями.
———
Кстати, про маргинальность.
Пока этот пост лежал у меня недописанным в отложке, DeepSeek выпускают OCR модель со статьей буквально о том, о чем пишу выше – оптимизации для картинок текста. А затем еще и Карпатый в твиттере делает на них обзор.
Меня там зацепило:
- Сжатие до 10x (!) по числу токенов при точности 97%
- Это очевидно, но я даже не задумывался – Visual модели нативно поддерживают двунаправленный механизм внимания
- Интересный разгон про хранение картинок текста для реализации памяти у агентов (можно держать в контексте в 10 раз больше при тех же ресурсах).
- А "забывание" реализовать через постепенное понижение разрешения для старых/неиспользуемых кусков
———
И еще, доп. бонус от картиночного восприятия: нативные bbox для RAG пайплайнов. Очень круто показывать пользователю не только страницу, где нашли инфу, но и выделять конкретную область на ней (скрин ниже).
———
DeepSeek OCR
Твит Карпатого
Gemini Object Detection
———
🔥32❤13👍12🥰1
Кстати, по поводу image-only восприятия ↑
Я тут совсем недавно понял, что и RAG на эмбеддингах тоже можно делать сразу по картинкам.
У Jina есть неплохая эмбеддинговая моделька, которая умеет кушать картинки и pdf
P.s. правда на моих задачах справляется хуже чем текстовые эмбеддинги от gemini (потому что они топ). Но лучше, чем та же самая моделька чисто по тексту! Скорее всего на кейсах, где больше картинок, она будет обгонять текстовые gemini-embeddings
Ну и особенно полезно для чисто картиночного поиска.
Например, поиск по картинкам вместо текстового описания может лучше работать в продуктах типа пинтереста или озона
Ссылка
Я тут совсем недавно понял, что и RAG на эмбеддингах тоже можно делать сразу по картинкам.
У Jina есть неплохая эмбеддинговая моделька, которая умеет кушать картинки и pdf
P.s. правда на моих задачах справляется хуже чем текстовые эмбеддинги от gemini (потому что они топ). Но лучше, чем та же самая моделька чисто по тексту! Скорее всего на кейсах, где больше картинок, она будет обгонять текстовые gemini-embeddings
Ну и особенно полезно для чисто картиночного поиска.
Например, поиск по картинкам вместо текстового описания может лучше работать в продуктах типа пинтереста или озона
Ссылка
🔥22👍7
Как Эд Ширан связан с ЛЛМ промптами?
Читаю я перед сном статью Джулиана Шапиро – как генерировать идеи для текстов.
И вижу очень знакомый подход – дать себе выписать все идеи, которые есть, дав полную индульгенцию даже на очень плохие идеи.
Важно разрешить себе вытащить из головы весь мусор, потому что только смотря на него, наше сознание вычленяет, чего избегать, чтобы было хорошо.
И всем же знакома вот эта ситуация, когда просишь ЛЛМку нагенерить идей, а там прям ну очень плохо?
Это на самом деле очень хорошо! Потому что это крутой материал, чтобы точнее объяснить то, что не получилось сформулировать с нуля
Так еще и сразу с примерами. Такой отрицательный few-shot learning, получается
В креативных задачах меня только этот подход с первым "мусорным" ответом и спасает. Такое ощущение, что пока не выдаст всю банальщину и клише, она просто не может думать оригинально
Что в целом даже очевидно – ее учили выдавать наиболее вероятный текст, а наиболее вероятный – почти всегда банальный.
Короче, не отступаем после первого плохого ответа. Контринтуитивно, но часто это необходимый этап на пути к хорошему результату
———
Кстати, этот подход к креативности Джулиан почерпнул у Нила Геймана и Эда Ширана
Читаю я перед сном статью Джулиана Шапиро – как генерировать идеи для текстов.
И вижу очень знакомый подход – дать себе выписать все идеи, которые есть, дав полную индульгенцию даже на очень плохие идеи.
Важно разрешить себе вытащить из головы весь мусор, потому что только смотря на него, наше сознание вычленяет, чего избегать, чтобы было хорошо.
Посмотреть на плохое и понять что исправить – легче, чем сделать хорошее с нуля.
И всем же знакома вот эта ситуация, когда просишь ЛЛМку нагенерить идей, а там прям ну очень плохо?
Это на самом деле очень хорошо! Потому что это крутой материал, чтобы точнее объяснить то, что не получилось сформулировать с нуля
Так еще и сразу с примерами. Такой отрицательный few-shot learning, получается
В креативных задачах меня только этот подход с первым "мусорным" ответом и спасает. Такое ощущение, что пока не выдаст всю банальщину и клише, она просто не может думать оригинально
Что в целом даже очевидно – ее учили выдавать наиболее вероятный текст, а наиболее вероятный – почти всегда банальный.
Короче, не отступаем после первого плохого ответа. Контринтуитивно, но часто это необходимый этап на пути к хорошему результату
———
Кстати, этот подход к креативности Джулиан почерпнул у Нила Геймана и Эда Ширана
1❤26🔥11👍10🤔4🆒2⚡1😁1