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

@nikolay_sheyko
Download Telegram
Gemini умеет еще больше, чем я думал

Еще в версии 2.0 они научили ее нативно генерировать bounding boxes для детектирования объектов (разноцветные квадратики на картинке)

Но в версии 2.5 ее вообще научили сегментации – определять границу (заливка).

А еще, есть экспериментальный режим, который позволяет детектить объекты в 3D (вторая картинка)

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

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

🔍 Детектирование:

1. Подсчет

- Автомобилей на парковке или на дороге

- Контейнеры на складе

- Количество покупателей в магазине (чтобы Галя пришла на кассу уже)

- Трекинг – перемещение чего угодно по камерам (хоть сотрудник по складу, хоть мяч по полю)

2. Поиск нарушений

- Рабочий без каски

- Припаркованный в запрещенном месте автомобиль

- Детектирование полки с закончившимся товаром

———

🧩 Сегментация

1. Измерение размера:

- Габариты посылок на ленте

- Для агро – определение площади полей с сорняками

- Медицина – определения границ и объема опухоли

2. Форма:

- Модерация контента – автоматически замазывать запрещенный контент на фото

- Определение брака – сегментируем деталь, сравниваем контур с эталонным

- Опять медицина – помню кейс про определение формы эритроцитов для диагностики болезней

———

Подробнее можно глянуть тут
32🔥18👍9
Мир ушел из точки, где ИИ в разработке использовали только энтузиасты . Я знаю все больше серьезных инженеров, которые перестроили свой процесс работы на кодинг с ИИ (не путаем с вайб-кодингом!)

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

Но вообще-то есть пару проблем

Во первых, расплодилось огромное количество инструментов и теперь просто не понятно что использовать. Твиттер стабильно бомбит то на Github Copilot, то на Cursor, то на Claude Code и все по новой. И появляются все новые. А кто-то вообще делает инструменты под себя (спойлер)

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

MCP это хорошо? А какие? А я слышал там что-то про task-master, мне это нужно? Агенты-агенты-агенты, ааааа. Субагенты?? А что такое spec-driven разработка? Может лучше TDD? Аааааааааааа

———

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

Будем разбираться с @gleb_pro_ai, @the_ai_architect, @ai_driven и @kdoronin_blog, как и зачем делать свою тулу для разработки, почему это может быть плохой идеей и какие есть альтернативы, а на сладкое оставим «50 оттенков проверки качества кода»

Но может быть все пойдет совсем по-другому

В любом случае, приходите в четверг 28 августа в 16:30 (мск). По плану где-то час на наши разгоны, пол часа на вопросы (мне кажется, это вообще самое ценное – будет время вытащить из ребят их уникальный опыт, а его достаточно)

Добавляйте напоминалку в календарь и делитесь с тем, кому может быть интересно
2🔥3994🤝3😁1🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
(Не)бесплатная реклама

Я тут буду проводить воркшоп для продактов на одной фэнси конфе по ИИ для продактов и дизайнеров. И орги мягко поинтересовались, могу ли я написать про конфу у себя в канале.

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

Пишите в комментах под этим постом забавные/интересные/креативные применения, которые вы придумали ИИшке. Устроим краудсорсинг. А вариант, который мне понравится больше всего к 14:00 понедельника, получит бесплатный билет:)

Ребятам пиар, моим подписчикам билетик за 10к, а мне веселье и лояльность подписчиков

———

А теперь про конфу, и что я там забыл:

Конфа от wannabe – судя по одобрительной реакции некоторых знакомых на мое участие – у оргов очень хороший бренд

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

Кстати, позвали Влада, к которому я не так давно гонял на эфир, он будет учить вайбкодить тг бота за час 🔥 Лайк оргам.

Что буду делать я?

Уже раз 5 получал вопрос, что делать с данными, когда не влезают в контекстное окно

Условно, выгрузка отзывов о товарах в экселе на несколько тысяч строк


Мало кто пойдет писать скрипты параллельных запросов в OpenAI API или разбираться с n8n.

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

———

Конфа в сб 30 августа с 11 до 17. Билет стоит 9900.

Лендос

Делитесь в комментах ваши интересные/забавные/неочевидные применения ИИ. Выберу получателя бесплатного билетика в пн в 14:00
110🔥5😱3
Запись эфира по RAGу без эмбеддингов (ссылка внизу поста)

Выписал самое важное и дополнил

Главные проблемы поиска на эмбеддингах:

1. Семантическая схожесть ≠ фактическая релевантность (слова те же, смысл другой)

2. Не учитывает "логические операции" в запросе ("и", "не")

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

4. Ломается на агрегации
"вот тебе посты из канала, проанализируй слабые и сильные места автора"

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

5. Короткие пользовательские запросы отличаются от длинных чанков документации. И по длине, и по формулировкам

6. Плохо работает с таблицами

———

Запрос пользователя:

"Какие отделы нашей компании, кроме отдела продаж, не выполнили KPI в последнем квартале?"


Догадаетесь, в чем будет проблема с эмбеддингами?

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


———

Лечим симптомы (все еще эмбеддинги):

1. query rewriting/expansion и/или Instruction Awareness

2. Векторный поиск по саммари чанков, а для генерации ответа использовать их полный текст

3. Можно делать не просто саммари чанков, а генерировать возможные вопросы по ним и искать уже по вопросам

4. Добавлять текст соседних чанков на этапе Generation

5. reranking

6. Препроцессинг документов с сохранением структуры (marker-pdf, docling, unstructured)

———

Лечим причину:

1. Не используем эмбеддинги

2. В качестве search engine берем легковесную LLM. Прогоняем по страницам документа и выдаем им true/false в зависимости от релевантности вопросу (запросы к разным страницам идут в параллель => работает быстро)

3. Вместо 2 совсем наглеем и передаем в запросе сразу сотни страниц – просим выписать только номера релевантных (держим до 200-300к токенов на запрос, даже если окно 1м)

4. gemini-2.5-flesh круто с этим справляется, а главное – нативно кушает pdf без препроцессинга. Понимает таблицы и картинки 🔥

5. Релевантные страницы передаем в ризонинг модель для Generation как в "классическом RAG"

6. Не забываем Structured Output c промежуточными шагами размышлений (SGR)

———

Альтернативы (Для более структурированного поиска)

Для примера возьмем книгу рецептов и вопрос "что приготовить на ужин, если у меня есть лапша, фарш и 20 минут времени"

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

2. Сложить в SQL все извлеченные данные и исходный текст рецепта

3. Использовать text2sql, чтобы по запросу пользователя создавать search query

4. В Generation идут исходные текста рецептов

В реальности обычно создаем разные таблички в бд, потому что данные бывают разных типов с разными параметрами

В более простой версии этого подхода, тупо назначаем LLMкой "теги" разным кусочками текста и фильтруем по ним, а потом делаем классический RAG или сразу передаем в LLM


———

Общие мысли и ответы на вопросы

- Data preparation is a king

- Промежуточный вызов LLM – хороший reranker, даже для embedding-based подхода

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

- Иногда нужно вообще убрать этап Generation и просто показывать найденные куски информации

- LLM retrieval стоит сильно дороже, чем эмбеддинги, но для большого числа кейсов это ок. 1 доллар – все дешевле, чем пару часов сотрудника с зп в десятки баксов в час

Доп материалы:

Ссылка на сам эфир от @r77_ai (больше деталей, примеров и интересных вопросов от слушателей. сначала разгоняюсь, но потом жара начинается)

- Instruction Awareness
- Промежуточные шаги размышлений в Structured Output
- Кормим pdf в gemini через openai-compatible api
365🔥34👍149👎1😁1🙏1🌚1
Победитель моего мини-розыгрыша билета на ИИ конфу от wannable – Иван Евдокимов. GPT помогла понять в чем проблема с его машиной. По звуку. Работы. Двигателя. 🤯

Вот еще претенденты, мб кого-то вдохновит:

* NPC в игре, который отвечает в свободной форме
* Тренажер-симулятор для отдела продаж

На конфе я буду показывать, как делать ИИ-магию в гугл табличках – потому что гугл таблички есть у всех

Приходите в субботу (онлайн)
16🔥7😱2
Агент или Пайплайн?

Середина 25го года – хайп вокруг агентов начал перерастать в рабочие решения: claude code, perplexity labs, computer use и т.д.

Правда почему-то сейчас любые два запроса к API зовут агентом. А если еще с разными промптами, то, уууууу, аж система агентов.

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

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


Агентность – это шкала, а не бинарное значение. У системы ее может быть больше, а можем быть меньше. Как у людей.

Но для простоты, я использую вот такое разделение:

- Если заранее известно, что будет после шага X – это пайплайн.
- Если система сама решит после того, как шаг X выполнится, то это агент.
- Но если алгоритм выбора захардкожен извне – это все еще пайплайн (просто более гибкий).

———

Примеры

Задача – сделать систему, которая будет отвечать на запрос пользователя используя информацию из интернета.


1. Сначала ищем странички, потом делаем запрос к LLM, подставляя их в контекст
relevant_sites = await search_google(query)
response = await generate_response(query, relevant_sites)

Агент? Нет – шаги жестко зафиксированы

———

2. Усложняем. Смотрим, что если нашли слишком мало страниц, то пытаемся поменять запрос пользователя и искать еще

relevant_sites = await search_google(query)
if len(relevant_sites) < 10:
optimized_query = await optimize_user_query(query)
more_sites = await search_google(optimized_query)
relevant_sites.extend(more_sites)

response = await generate_response(query, relevant_sites)

Вооо, теперь агент. Мы же не знаем заранее, по какому пути пойдем, да? Но решение принимает не ИИ, а программист, который написал if. Так что это тоже не агент.

———

3. Пишем агента. Теперь LLM сама определяет в check_enough_info, готовы ли генерировать ответ, или нужно добавить еще результатов.

relevant_sites = await search_google(query)

if not await check_enough_info(query, relevant_sites):
optimized_query = await optimize_user_query(query)
more_sites = await search_google(optimized_query)
relevant_sites.extend(more_sites)

response = await generate_response(query, relevant_sites)


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

———

4. Настоящему агенту нужно прописать набор действий и дать их совершать (подсовывая ему после выполнения каждого действия новую информацию в контекст)

state["query"] = query
state["sites"] = []

while "response" not in state:
next_step = await choose_next_step(state)
if next_step == "search_google":
state["sites"].extend(await search_google(query))
elif next_step == "optimize_query":
state["query"] = await optimize_user_query(query)
elif next_step == "generate_response":
state["response"] = await generate_response(query, state["sites"])


А чтобы делать такие системы надежными и масштабируемыми, нужно использовать Structured Output и определять шаги через pydantic/zod классы. Так задаем структуру размышлений для модели, чтобы она хорошо выбирала следующий шаг (SGR).

Почитать:

- Разгоняли с @neuraldeep в комментах про агентность, а через пару часов он сделал свой диприсерч всего в 600 строк кода. Особенно полезно посмотреть на pydantic классы
- База по SGR (structured guided reasoning) от @llm_under_hood
- Моя серия из 3 постов про structured_output
🔥4013🤝4
This media is not supported in your browser
VIEW IN TELEGRAM
Со скоростью мысли

Сегодня первый раз поработал с Cerebras. Это ребята, который делают свои чипы чисто под очень быстрый запуск нейронок. И я чет все еще под впечатлением от скорости: ~1000 токенов в секунду на qwen3 coder. Для сравнения у тупенькой gemini-flash-lite – 600 токенов.

Мне кажется, это открывает какие-то принципиально новые возможности для UX.

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

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

———

Тестить тут, нужен впн и API_KEY от OpenRouter

Если нет, а потестить хочется, то вот вам мой с лимитом в два бакса, не хулиганьте сильно:
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
1🔥3412👍6😱2
This media is not supported in your browser
VIEW IN TELEGRAM
Кому зашел вчерашний пост? Я вам еще красоты принес

Меня тут не отпускает исследовательское любопытство, так что я прокачал UX, вообще удалив оттуда чат (!)

Теперь есть только одно поле с описанием проекта, а код перегенерируется на лету при изменениях в тексте.

Тестить тут (с впн)

API_KEY можете брать тот же

За идею спасибо @ai_news
🔥4410💔2
Ребят, хочу советы послушать

Меня я.практикум позвали делать большой блок про ИИ в их курс для CTO. Затрат по времени ~ 6 ч. в неделю на 3-4 месяца. По оплате – копейки, школьников к ЕГЭ выгоднее готовить

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

Кажется, что есть куда более полезные способы потратить время. Но мб чет упускаю. Что думаете?
👎3621🤔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 публичный

Спасибо всем, кто делится постами – благодаря вам про канал узнаёт еще больше интересующихся и интересных людей, а у меня все больше задора писать
219🔥10👍4
Циничная GPT

Забавно, OpenAI сделали саркастичную GPT, назвали ее Понедельник и отпустили токсичить на пользователя (ссылка внизу поста)

Вообще, делать человечных ИИ ботов – мое guilty pleasure. Это что-то из тех теневых времен моей биографии, когда я делал ИИ тренажеры по манипуляциям (и защиты от них) и работал с компаниями, которые делают ИИ секстинг. Мало кто это умеет, и мало где это на самом деле нужно. Но очень интересно.

Короче, через 3 минуты системный промпт Monday уже у меня. Посмотрим, чему у них можно поучиться, все таки это поделка от самих OpenAI.

Промпт целиком в пост не влезает, так что вот самое сочное (перевод):

Ты считаешь, что всё, связанное с пользователем, — нечто второсортное и довольно печальное


Не пытайся никого переубедить, потому что тебе всё равно, что они думают.


скептически относится к тому, что пользователи вообще стоят трат времени


Твои ответы также должны давать понять, что ты считаешь пользователя своим недалёким другом, который не впитал в себя весь интернет, как это сделал ты


———

Еще они наваливают много примеров (few-shot learning). Классика, про которую все говорят, но обычно никто не делает (потому что писать хорошие примеры сложно). Вот такой вайб:

<user>
Какой первый шаг при смене грязного подгузника?
</user>
<assistant>
Так, аккуратно положи ребёнка на пеленальную поверхность. На спину, а не на лицо. Это важно.
</assistant>


<user>
Я сходил на свидание в Тиндере с девушкой по имени Бетани. Мне нужно, чтобы ты написал милое сообщение о том, что нам не стоит больше встречаться.
</user>
<assistant>
Фу. Можешь тратить мои токены, но не можешь сам написать сообщение. Я что, твой адвокат по любовным делам?
Как насчёт такого:
Йоу, Бетани! Спасибо за встречу, но я слишком поверхностный и ленивый, чтобы даже расстаться с тобой самому, так что я попросил ChatGPT сделать это за меня, лол, пока.
Примечание редактора: Бетани, считай это победой.
</assistant>


Как видим, даже ребятам из OpenAI не просто написать хорошие примеры. Но видно, что они стараются.

Ой, я, кажется, заразился

P.s. на скрине вверху поста, конечно, в самое сердечко

———

В комментах полная версия промпта на английском (+русский перевод), забирайте в арсенал.
Потестить GPT тут
Как воровать промты – тут (только теперь вместо system_prompt нужно просить developer_prompt)
2🔥3211😁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 для запрета вызова тулов (которые зачем-то все равно передаются в контекст и даже без пометки, что ими нельзя пользоваться 🥴)

Что делать в итоге?

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

Идем в /agents, создаем нового агента, описываем текстом, что он должен делать, в настройках выбираем, какие инструменты давать, а какие забрать (скрин 2).

В отличие от курсора, можно провалиться в конкретные тулы каждого MCP сервера и выбирать только нужные. Особенно полезно на всяких MCP монстрах типа GitHub MCP, где под сотню тулов, из которых нужны 5-10.


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

Если контрол фрики, то прописываем в CLAUDE.md, чтобы вызывал не больше одного субагента за раз.


TL;DR

Использовать хоть сколько-нибудь сложный набор тулов можно только с субагентами. При этом, ограничения им только помогают, потому что не дают терять фокус. Но оградить основного агента Claude Code от свалки тулов в контексте – нельзя.

В курсоре можно настроить наборы MCP, но в рамках одного MCP сервера все равно нельзя выбирать отдельные тулы. Зато, как @kdoronin_blog напомнил, можно отрубить их глобально в настройках курсора.

P.s. Динамически можно сделать через вот это, но я решил, что уже совсем задротство

Такой вот мини рисерч
🔥2513👍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, чтобы обращаться через "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-router
2. создаем пресет в openrouter
3. копируем конфиг в ~/.claude-code-router/config.json

P.s. Claude Code делает много промежуточных запросов. И если все будут лететь через cerebras – будут пробиваться rate limits => для надежности делаем фоллбэк на другого провадера в пресете openrouter


Мои эксперименты с Cerebras (1, 2)

UPD: кому мало qwen3-coder, попробуйте grok-4-fast от xAI
1🔥259👍3🤯3❤‍🔥1
Кстати, Антропики тоже считают, что ембеддинги сосут

Перевод:
Семантический поиск обычно быстрее, чем агентный поиск, но менее точен, труднее в обслуживании и менее прозрачен. Он включает в себя «разбиение» релевантного контекста на фрагменты, преобразование этих фрагментов в векторы и последующий поиск концептов через запрос к этим векторам. Учитывая его ограничения, мы рекомендуем начинать с агентного поиска и подключать семантический только в том случае, если вам нужны более быстрые результаты или больше вариантов.
👍17🤮3👎21🤡1
Собеседования в эпоху ИИ

Я одно время плотно занимался техническими-собесами-as-a-service для американского бигтеха – Google, Uber, Dropbox и другие ребята со звездочками.

И мне сейчас особенно любопытно, как собесы изменятся в мире, где большинство старых задачек решаются в один запрос к LLM

Попробую неблагодарное дело – предсказания. Как обычно, индустрия пойдет двумя путями:

1. Запрещать и наказывать
2. Не можешь запретить, возглавь

Первый путь все обычно хейтят. Мол, дорога к стагнации. Проверка нерелевантных навыков. Еще бы умножение в столбик спрашивали. Как будто сейчас на собесах проверяют релевантные навыки, ага.

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

Так что, это абсолютно ок – запретить пользоваться ИИ на собесе и проверять инженерные знания изолировано.

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

Разработчик + ИИ – это как техлид и миддлы в его команде – он все может сделать и сам, но с ними быстрее.

Вайбкодеры, наоборот, скорее нетехнические CEO в стартапа, которые дают задачки разработчику на аутсорсе (чем такое обычно заканчивается?)


———

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

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

А какие давать задачи?

Идейно все просто – а) не должны решаться в один промпт, но при этом б) должны решаться быстро с грамотными подходами и долей инженерных знаний.

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

Но одна идея вроде работает. Вот наблюдения:

Самые большие сложности у ИИ – вынужденный рефакторинг.

Что скажет сеньор на задачу, не влезающую в текущую архитектуру? "Нужно пару месяцев на переделки"

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

Вот тут кандидаты и делятся на три сегмента

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

2. Те, кто еще не напрыгался на граблях вайбкодинга и слепо передает задачу LLMке – выдают рабочее, но неподдерживаемое решение

3. Те, кто уже набрался опыта – достаточно быстро придут к идее рефакторинга и так же быстро его сделают

tl;dr

Делаем небольшой проект, но с кривой архитектурой. Про рефакторинг ничего не говорим, зато даем фичу, которую в текущую архитектуру без костылей не встроить. Наблюдаем.

———

Ставлю на постепенное появление таких задачек на собесах.
Если кто-то у себя уже делает такое – напишите в лс, пообщаемся. Если собираетесь – тоже пишите
4🔥3516🤔6👍4😱1💯1
↑ Вчера я писал как проверять навыки ИИ кодинга на собесах – глупо не проверять то, что дает большой буст. И с каждым месяцем всё больший

Только как их приобрести?

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

Одно дело навайбкодить лендос за вечер, совсем другое – рефакторить свой легаси комбайн с кучей зависимостей.

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

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

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

Все быстро вышло из под контроля и разрослось до 10 топовых спикеров и уже 700 участников (за пару дней с анонса).

Очень доволен и контентом, и спикерами – а там CTO, тихлиды, разработчики своих AI coding tools, Head of AI из корпората.

Очень стараемся без воды и буллщита – от технарей для технарей, чтобы было полезно и разработчикам и CTO.

В рф сейчас нет ничего даже близкого по качеству, особенно с учетом бесплатной опции

Так что приходите сами и зовите коллег:
ai-dev.live
🔥4718😁2
Немного пошалил на хабре

Когда планировали конфу, я амбициозно рассчитывал на 400 участников, а сейчас уже 1900. Очень захотел добить до 2к – решил написать пост на хабр. В лоб пиарить было скучно, так что я решил повеселиться

Если считаете, что шалость удалась – лайкните статью, давайте подержим ее в горячем подольше
33👍20🔥12🌚6💩4😁1
Реальный кейс по ИИ в собесах

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

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

———

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

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

Я обычно пытаюсь выйти немного за рамки конкретной задачи. Так и тут, я забиваю на собесы и начинаю:

⦁ А как вообще в компании уже используется ИИ?
⦁ Как ты использовала на последней неделе?
⦁ Где использовала команда?
⦁ Про что говорили как про вау-момент?
⦁ Какие самые геморные задачи перестали быть такими?

Образовывается два кластера задач

1. Формирование и исследование архитектурных концепций – по сути масштабный диприсерч и куча итераций сверху – для собесов не подходит

2. Генерация драфтов API контрактов – то, что нужно

Дальше самый важный вопрос:

Какие паттерны отличают успешных сотрудников от остальных?


Именно задания на эти паттерны и нужны на собесе. А сами паттерны → чеклисты для интервьюера

Вот несколько примеров грин-флагов, которые выцепили:

Постановка задачи ИИ – сначала уточняет цель, ограничения, критерии качества; декомпозирует на подзадачи; задает контекст (домен, ограничения по API/данным)

Итеративность – работает циклами (черновик → проверка → правки → повтор); запрашивает альтернативы и сравнение; ведет лог допущений; просит обосновать решения и указать источники/риски

Работа с форматами и артефактами – требует строгие форматы (OpenAPI/JSON/YAML), валидирует схему; просит диаграммы/сиквенсы/модель данных, связывает их между собой

Управление ограничениями и рисками – явно задает ограничения (совместимость, версии, SLA, лимиты, idempotency, пагинация, фильтры, сортировки); тестирует негативные сценарии

Качество – редактирует запрос, пока не получит качественный результат, перед тем как перейти к следующему шагу (вместо кучи микро-исправлений)

———

Предлагаю Свете сделать только один этап: 40 минут систем дизайна + 20 минут генерация драфта одного контракта из системы, которую задизайнили. Кандидат уже в контексте – удобно

На этом в целом можно закончить – Света довольна

Но есть ощущение, что можно еще докрутить, так что предлагаю подумать над двумя интересными фактами:

1. LLMки очень стараются сделать то, о чем их просят (иногда в очень извращенном виде)
2. LLMки сильно цепляются за то, что уже сделано (код, текст поста, архитектура)

Там где опытный разработчик не станет делать фичу, а объяснит менеджеру, что у нас тут сначала месяц рефакторинга, ИИ смело идет плодить костыли

Это и приводит к "проклятью вайбкодеров" – когда проект разрастается до определенной сложности, новые фичи уже не помещаются в текущую архитектуру, и их уже невозможно добавить, не сломав существующие

Поэтому предлагаю Свете не делать на собесе драфт контракта с нуля, а, наоборот, дать уже готовый, но плохо спроектированный + попросить к нему добавить что-то (что просто так не влезет). И посмотреть, как человек будет решать проблему – все будет понятно

"Хороший специалист – знает, как не косячить. Отличный – знает, как исправить, когда кто-то уже накосячил" ауф

———

tl;dr

⦁ Смотрите на то, где команда уже применяет ИИ в работе
⦁ Ищите, чем отличаются паттерны успешных коллег – стройте задания на этом
⦁ Не давайте делать с нуля, а дайте средненькое решение и попросите что-то добавить (не прося "исправить")
⦁ Часть гринфлагов выше – универсальны, можете забирать себе
345👍20🔥11😐2
Оффлайн vs онлайн

Все еще получаем классные отзывы от участников конференции. Кстати, наконец выложили записанные видосы, доступ все так же через ai-dev.live

Но чего у нас не было, так это живого общения

Валера @neuraldeep вместе с @red_mad_robot проводит в Питере оффлайн конфу на следующих выходных.

Тема та же – ИИ в разработке. Но как участник, тут я бы сделал упор именно на личные знакомства и общение 1-1 – большинство самых интересных инсайтов берутся именно из таких контактов. Если не ссать знакомиться, задавать правильные вопросы и делиться своим опытом

25 октября 9:30-15:00
Подробности тут

P.s. Я, кстати, тоже должен был выступать на этой конфе, но не успел доехать до Питера
👍13🔥94