Блогпост
Веса доступны на HF с лицензией Apache 2.0, что супер для коммерческого использования.
Относительно компактная, 24B, можно поднять у себя локально.
На SWE-Bench Verfified (бенчмарк для оценки кодинговых агентов на GitHub issues) модель заметно обходит многих проприетарных конкурентов (haiku, gpt 4.1 mini), а так же модели большего размера (DeepSeek-R1, Qwen3). Но эти модели, к слову, и не были оптимизированы специаильно для coding-assitance.
Важное уточнение: Devstral показывает такие результаты через scaffolding OpenHands от компании All Hands AI 🙌.
Скаффолдинг в контексте кодинговых агентов - это среда, которая предоставляет утилиты, тулзы, другие полезные инструменты, которые упрощают жизнь агенту. Например, тул поиска по классам в проекте, доступ к grep команде, web search - короче говоря все, чтобы использует реальный разработчик, но только в удобном формате для AI агента. Eсли поднимаете у себя Devstral локально, то чтобы максимизировать пользу от агента, нужна еще и подобная среда.
Поэтому такие метрики могут быть в целом, из-за того что Devstral был натюнен под работу с OpenHands средой (скорее всего именно это), или потому что набор доступных инструментов в этой среде лучше, чем у других подобных сред.
А вообще All Hands AI 🙌 классные. Двигают опенсоурс, выкладывают своих агентов, опенсоурсят код скаффолд среды.
А кому интересно как работают такие агенты в приницпе, как их дизайнить, оценивать и куда двигается прогресс дальше - можете посмотерть лекцию тут.
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥10⚡5
Research Engineer в 🌐 DeepMind, London. Отзыв на Интервью.
Пополняем копилку свежей историей. Буду рад видеть новые от читателей, гугл форма тут.
➡️ Ник автора в тг - N/A
➡️ Название комании, можете указать ссылку или коротко описать что за место - DeepMind
➡️ Расскажите про свой бэкграунд - Amazon AWS, Senior ML SDE
➡️ Как подались на вакансию - рекрутер написал в LI
➡️ Субъективно Сложность процесса по 10 бальной шкале - 6
➡️ Когда начали процесс - начало марта
➡️ Когда закончили процесс - апрель
➡️ Позиция, на которую собеседовались - Research Engineer в Gemini research
➡️ Грейд на который собеседовались (если известно) N/A
➡️ Локация вакансии - Лондон
🔥 Расскажите про этапы собеседований
Подавался в DeepMind каждый год с 2020. Вообще ни разу никто не ответил. Абсолютный ноль. И тут вдруг, в марте, HR сам стучится — мол, привет, давай поболтаем, профиль крутой. Ну, думаю, понеслась.
На звонке рассказал про свой опыт. HR сонно кивает, все вопросы по скрипту на автопилоте. Может таких кадров как я просматривает каждый день десятки и уже утомился слышать +- одно и то же. Спрашивает: почему хочешь к нам? Говорю: блять, каждый год к вам подаю. Смотерл документалку AlphaGo как кино, хочу тоже делать крутые штуки.
Через пару дней прислал описание вакансии в Gemini research команду. Сейчас конкретно одной команде интересен мой опыт. Работают над проектом, который покажут на Google I/O. Сейчас это уже не секрет, так что могу сказать. Речь шла про работу над text diffusion. Ее представили недавно на гугловсокй конференции. Команде срочно нужно нанять несколько инженеров поэтому активно собеседуют. Времени на подготовку не давали, просили двигаться в плотном темпе по 1-2 раунда в неделю, чтобы закрыть весь процесс. Поставили первый собес через неделю.
Раунд 1. Две задачи на код. Одна — про two pointers, вторая — на hash set. Времени не было, пришлось срочно реанимировать скиллы: 7–10 задач в день, купил premium подписку. Интервью ок, обе решил.
Раунд 2. LeetCode. 2 задачи, но у каждой был еще follow-up на подумать. Попался душный интервьюер, доматывался до каждого момента. Одна задача про K ближайших точек к заданной точке (примечание автора: вероятно речь про следующую задачу c литкода). Я ему все объясняю, знаю, что решение самое эффективное, знаю что все верно говорю за сложность, за логику и за идею. Но нет, все спрашивает и спрашивает. Мне то ок, а время тикает, нужно еще вторую задачу решать, из-за этого нервничаю. Думал, могут не позовать дальше, хотя обе задачи решил. Проскочил.
Раунд 3. Тут у меня и времени не было и я еще болел, а переносить не хотелось. Пошел как есть. Все вопросы на математику или базовый МЛ. Меня сразу предупреждали, что будет такой формат, поэтому сам виноват. Первая часть — формула Байеса, задача на условные вероятности. С трудом довёл до конца, с подсказками. Потом еще серия вопросов. Можно ли преобразовать случайную величину из произвольного распределения в нормальное и как? Еще одна задачка на биномиальное распределение. Все время чувствовал, как моя жопа тонет в невнятных воспоминаниях из далекого прошлого в универе. Интервьюер, к слову, норм — не душнил, помогал. Но общее ощущение: тонем, капитан. Дальше пошли вопросы по МЛ — тут уже хоть чуть-чуть всплыл. Про активации, зачем регуляризация, что не так с сигмоидой — тут уже говорил увереннее. Мелькнула надежда, но слабая.
Через пару дней от рекрутера письмо про формат следующего раунда — надо будет рассказать про свой опыт и заодно поболтать на тему “а как ты вообще делаешь ресёрч”. Подумал, вот тут-то и отыграюсь. Но спустя ещё несколько дней фидбэк: не прошёл МЛ секцию, спасибо, удачи, до свидания.
Если по делу — процесс несложный. Литкодишь, освежаешь в памяти универские знания. При норм подготовке можно пройти. Я вот времени не нашёл на важный собес.
Написал напоследок рекрутеру — может, есть что-то поближе к SWE. Если появится, будут рады пособесить.
➡️ Итоги собеседования, например оффер или отказ, или что-то другое: Отказ
➡️ Информация про Total Compensation: N/A
#интервью
@max_dot_sh
Пополняем копилку свежей историей. Буду рад видеть новые от читателей, гугл форма тут.
Подавался в DeepMind каждый год с 2020. Вообще ни разу никто не ответил. Абсолютный ноль. И тут вдруг, в марте, HR сам стучится — мол, привет, давай поболтаем, профиль крутой. Ну, думаю, понеслась.
На звонке рассказал про свой опыт. HR сонно кивает, все вопросы по скрипту на автопилоте. Может таких кадров как я просматривает каждый день десятки и уже утомился слышать +- одно и то же. Спрашивает: почему хочешь к нам? Говорю: блять, каждый год к вам подаю. Смотерл документалку AlphaGo как кино, хочу тоже делать крутые штуки.
Через пару дней прислал описание вакансии в Gemini research команду. Сейчас конкретно одной команде интересен мой опыт. Работают над проектом, который покажут на Google I/O. Сейчас это уже не секрет, так что могу сказать. Речь шла про работу над text diffusion. Ее представили недавно на гугловсокй конференции. Команде срочно нужно нанять несколько инженеров поэтому активно собеседуют. Времени на подготовку не давали, просили двигаться в плотном темпе по 1-2 раунда в неделю, чтобы закрыть весь процесс. Поставили первый собес через неделю.
Раунд 1. Две задачи на код. Одна — про two pointers, вторая — на hash set. Времени не было, пришлось срочно реанимировать скиллы: 7–10 задач в день, купил premium подписку. Интервью ок, обе решил.
Раунд 2. LeetCode. 2 задачи, но у каждой был еще follow-up на подумать. Попался душный интервьюер, доматывался до каждого момента. Одна задача про K ближайших точек к заданной точке (примечание автора: вероятно речь про следующую задачу c литкода). Я ему все объясняю, знаю, что решение самое эффективное, знаю что все верно говорю за сложность, за логику и за идею. Но нет, все спрашивает и спрашивает. Мне то ок, а время тикает, нужно еще вторую задачу решать, из-за этого нервничаю. Думал, могут не позовать дальше, хотя обе задачи решил. Проскочил.
Раунд 3. Тут у меня и времени не было и я еще болел, а переносить не хотелось. Пошел как есть. Все вопросы на математику или базовый МЛ. Меня сразу предупреждали, что будет такой формат, поэтому сам виноват. Первая часть — формула Байеса, задача на условные вероятности. С трудом довёл до конца, с подсказками. Потом еще серия вопросов. Можно ли преобразовать случайную величину из произвольного распределения в нормальное и как? Еще одна задачка на биномиальное распределение. Все время чувствовал, как моя жопа тонет в невнятных воспоминаниях из далекого прошлого в универе. Интервьюер, к слову, норм — не душнил, помогал. Но общее ощущение: тонем, капитан. Дальше пошли вопросы по МЛ — тут уже хоть чуть-чуть всплыл. Про активации, зачем регуляризация, что не так с сигмоидой — тут уже говорил увереннее. Мелькнула надежда, но слабая.
Через пару дней от рекрутера письмо про формат следующего раунда — надо будет рассказать про свой опыт и заодно поболтать на тему “а как ты вообще делаешь ресёрч”. Подумал, вот тут-то и отыграюсь. Но спустя ещё несколько дней фидбэк: не прошёл МЛ секцию, спасибо, удачи, до свидания.
Если по делу — процесс несложный. Литкодишь, освежаешь в памяти универские знания. При норм подготовке можно пройти. Я вот времени не нашёл на важный собес.
Написал напоследок рекрутеру — может, есть что-то поближе к SWE. Если появится, будут рады пособесить.
#интервью
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
😢35❤12🔥11😁6👍2
This media is not supported in your browser
VIEW IN TELEGRAM
По горячим следам поста выше с отзывом на интервью в команду, которая занималась текстовой диффузией, короткий новостной обзор модели.
DeepMind как раз пару часов назад обновил лэндинг c анонсом модели. Ссылка
Можно объяснить такие метрики тем, что модель очень ранняя, экспериментальная и дальше будет точно лучше. Звучит очень правдоподобно. Сам факт того, что есть первый сопоставимый результат - это очень круто.
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤6🔥5🤩2👏1🐳1
Заголовок кликбейтный да и слово "вайбкодинг" не люблю, но все так и есть. Собрал лендинг для портфолио, написав 5-6 строк на TypeScript. В остальном наблюдал, что делает AI и корректировал.
Давно хотел попробовать lovable.dev, продукт шведского early stage стартапа. Команда делает платформу, где в пару кликов можно собрать web-приложение с фронтендом, бэкендом, интеграциями с бд (по крайней мере так команда продает себя) и все задеплоить. Подумал, что хорошая возможность сделать себе сайт-визитку и посмотреть, как их сервис работает на практике.
* I'm looking to create a portfolio website inspired by the logo of my personal blog (attached in the image)
* The site should have a visually appealing design.
* The "max.sh" panel should feature a 3D hover effect, allowing it to move interactively when hovered over.
...
Накидайте
И делитесь в комментариях своими поделками
#проекты
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥39❤13❤🔥5👍2🙏2👏1😁1
Сегодня в бразовательном карьерном посте поделюсь каналом faang_me.
Канал ведет Вика Бородина. Рекомендую, потому что сам давно слежу за ее контентом. У Вики довольно большой Ютуб Канал, где она берет интервью у разных интересных людей, работающих над интересными вещами в очень интересных местах. Здесь и истории стаффоф, и принципалов, и сеньоров, и мидлов, и их путь в разных зарубежных компаниях. Когда был студентом второго курса баклавриата, то рассказы ребят из Lyft, Нетфликса, Амазона и других мест хорошо мотивировали. Забавно, что недавно вышло интервью с одним из моих коллег про запуск Alexa+ (удалось поучаствовать в разработке лично, писал здесь)
Сейчас Вика запускает сообщество с общим чатом участников, вебинарами с экспертами, групповыми практиками, English speaking клубом и многими другими активностями, которые могут помочь вырасти в карьере, деньгах, опыте и нетворке IT-специалистам.
Поэтому если хочется покачать софт-скилы, побороть сииндром самозванца, посмотреть, какие есть стратегии при переговорах об офферах, найти ментора/рефера/ко-фаундера для будущего стартапа, то рекомендую.
#карьера #образование
Канал ведет Вика Бородина. Рекомендую, потому что сам давно слежу за ее контентом. У Вики довольно большой Ютуб Канал, где она берет интервью у разных интересных людей, работающих над интересными вещами в очень интересных местах. Здесь и истории стаффоф, и принципалов, и сеньоров, и мидлов, и их путь в разных зарубежных компаниях. Когда был студентом второго курса баклавриата, то рассказы ребят из Lyft, Нетфликса, Амазона и других мест хорошо мотивировали. Забавно, что недавно вышло интервью с одним из моих коллег про запуск Alexa+ (удалось поучаствовать в разработке лично, писал здесь)
Сейчас Вика запускает сообщество с общим чатом участников, вебинарами с экспертами, групповыми практиками, English speaking клубом и многими другими активностями, которые могут помочь вырасти в карьере, деньгах, опыте и нетворке IT-специалистам.
Поэтому если хочется покачать софт-скилы, побороть сииндром самозванца, посмотреть, какие есть стратегии при переговорах об офферах, найти ментора/рефера/ко-фаундера для будущего стартапа, то рекомендую.
#карьера #образование
👍9❤6👏2🔥1🤡1
Компания resemble.ai выложили в опенсоурс Chatterbox TTS. 0.5B модель на основе LLama3 backbone, обучена на 0.5M часов чистых данных. Данные высокого качества и разной природы. Модель поддерживает контроль экспрессивности синтеза через гипер-параметры (выкручивание exaggeration приводит к ускорению речи, понижение — к большей драме).
Репортят latency в 200ms, что делает модель довольно удобной для интерактивных голосовых приложений, real time ассистентов.
Наконец, пишут, что модель - SoTA. За бейзлайн берут решение от 11Labs и сообщают, что в side-by-side Chatterbox TTS strongly preffered. К слову, впервые вижу, что честно выкладывают все детали evaluation репорта и дают на него ссылку. A/B Тест слишком скромный (больше выглядит как черри пик честно), по 8 сэмплов на систему. В тесте просят асессоров оценить zero-shot сэмплы длиной от 7 до 20 секунд на предмет Naturalness и общего качества.
Попробовал в Gradio на HF. Нравится, что хорошо берет дыхание и паузы. Клонирование тембра с дефолтными настройками на моем голосе не очень. Скорее сказал бы, что это плохой voice clone. У Llasa-3B из опенсоурсных гораздо лучше. На реддите пишут, что при некоторых значениях параметров модель сходит с ума.
Cводка:
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - resemble-ai/chatterbox: SoTA open-source TTS
SoTA open-source TTS. Contribute to resemble-ai/chatterbox development by creating an account on GitHub.
🔥6✍5❤4👏1🤗1
Модель с контекстом 100M токенов от стартапа Magic 🔮
Сегодня новых историй от подписчиков про собесы нет (а форма есть здесь), поэтому рассказываю историю сам.
Речь ппойдет про стартап magic.dev. По описанию стартап занимается:
Cтартапов с таким описанием наберется куча. А вот то, что за вторую половину 2024 года, компания в двадцать с лишним человек подняла примерно полмиллиарда долларов инвестиций (цифры немного разнятся, но источники TechCrunch и блог самой компании) от разных инвесторов и фондов (среди них и Nvidia, и Google) — это интересно.
Наверное, ребята делают что-то большое и прорывное. И судя по блогу компании — это действительно так. В сентябре прошлого года анонсировали, что обучили первую модель с длиной контекста 100M токенов (почитать немного подробностей можно тут, но если коротко то используют reasoning над хэшами).
В демо делают упор на способность модели без дополнительных инструментов, RAG-ов и прочего агентного скаффолдинга (что это, разбираю тут), только за счет того, что в контекст подается весь исходный код GUI фрэймворка, написать интерфейс для... калькулятора.
Пример не сложный, но демонстрация, что модель "на лету" может выучить фреймворк на сотни тысяч строк и строго использовать знания о нем в существующей кодовой базе впечатляет.
И вот после этого анонса следует новость — magic.dev коллаборируется с Google Cloud, чтобы построить мегакластер на кучу тысяч H100 GPU, чтобы обучать вторую итерацию моделей.
Дальше новостей вроде как нет. Тишина.
Но на самом деле они очень активно нанимают. Недавно со мной связывался рекрутер. Предлагают разнообразные роли: от рисерчера до performance инженера на оптимизацию CUDA kernel-ов. Помогают с релокацией в Штаты (SF, New York). Так как мне сейчас географию менять не хочется, то я отказался. А вот мой хороший коллега, с огромным опытом в оптимизации моделей и 14 годами опыта с железом (участвовал в разработке чипов Inferentia 1 и 2 для AWS) решил, что это может быть новым вызовом. И начал процесс.
Ниже то, что я запомнил из его рассказа про интервью:
🔘 Нанимают на роль Software Engineer - Supercomputing Platform & Infrastructure - короче говоря скейлить и учить модели на огромных кластерах
🔘 Техчническое интервью с бывшим лидом из OpenAI. Весь разговор был построен вокруг темы параллелизации вычислений: почему FSDP плох, в чем tensor parallelism имеет недостатки, как реализовывать Pipeline Parallelism. По отзыву, довольно глубокая беседа о том, что важно на практике.
🔘 Home work assignment. Дали доступ к своей кодовой базе и кластеру на несколько GPU. В коде намеренно оставили разные несовершенства: от неэффективностей в использовании торча до выбора неэффективных кернелов. Так как пишут свои кастомные кернелы, то дали доступ еще и к своей библиотеке, где были спрятаны самые большие боттлнеки. Коллега говорит, что словил чистый кайф от домашки и не заметил, как потратил на ее решение 30 часов (то есть буквально решал всю неделю, бесплатно).
🔘 Виртуальный онсайт с разбором домашки. Так же к онсайту просили сделать разбор актуальных работ по теме long context и подготовить презентацию.
🔘 Дальше, судя по рассказу, вроде бы были готовы двинуться к офферу. Но как говорит коллега, предложили не очень убедительный total comp, и если бы он переезжал из Лондона в Сиэттл с Амазоном по внутреннему трансферу, то было бы выгоднее. Укажу, что в вакансии пишут, что вилка на такого инженера $100K - $550K и сверху equity.
Такая пятничная история. От меня следующие мысли:
1) Про параллелизм и скелйинг моделей можно хорошо послушать в свежем курсе по LLM от Стэнфорда в лекции тут
2) Компания мне кажется мутной. Cмотрю на фаундеров и не доверяю им. Но кто я такой, чтобы судить, если вливают столько денег, может что-то там и есть.
3) Очень нравится, как устроен найм в стартапы: глубокие технические разговоры, домашки, через которые можно прокачать свои навыки. Еще одна мотивация для меня дописать лонгрид про Детали интервью в стартапы и почему стоит идти в них поработать🔥
@max_dot_sh
Сегодня новых историй от подписчиков про собесы нет (а форма есть здесь), поэтому рассказываю историю сам.
Речь ппойдет про стартап magic.dev. По описанию стартап занимается:
frontier code models to automate software engineering and research
Cтартапов с таким описанием наберется куча. А вот то, что за вторую половину 2024 года, компания в двадцать с лишним человек подняла примерно полмиллиарда долларов инвестиций (цифры немного разнятся, но источники TechCrunch и блог самой компании) от разных инвесторов и фондов (среди них и Nvidia, и Google) — это интересно.
Наверное, ребята делают что-то большое и прорывное. И судя по блогу компании — это действительно так. В сентябре прошлого года анонсировали, что обучили первую модель с длиной контекста 100M токенов (почитать немного подробностей можно тут, но если коротко то используют reasoning над хэшами).
В демо делают упор на способность модели без дополнительных инструментов, RAG-ов и прочего агентного скаффолдинга (что это, разбираю тут), только за счет того, что в контекст подается весь исходный код GUI фрэймворка, написать интерфейс для... калькулятора.
Пример не сложный, но демонстрация, что модель "на лету" может выучить фреймворк на сотни тысяч строк и строго использовать знания о нем в существующей кодовой базе впечатляет.
И вот после этого анонса следует новость — magic.dev коллаборируется с Google Cloud, чтобы построить мегакластер на кучу тысяч H100 GPU, чтобы обучать вторую итерацию моделей.
Дальше новостей вроде как нет. Тишина.
Но на самом деле они очень активно нанимают. Недавно со мной связывался рекрутер. Предлагают разнообразные роли: от рисерчера до performance инженера на оптимизацию CUDA kernel-ов. Помогают с релокацией в Штаты (SF, New York). Так как мне сейчас географию менять не хочется, то я отказался. А вот мой хороший коллега, с огромным опытом в оптимизации моделей и 14 годами опыта с железом (участвовал в разработке чипов Inferentia 1 и 2 для AWS) решил, что это может быть новым вызовом. И начал процесс.
Ниже то, что я запомнил из его рассказа про интервью:
Такая пятничная история. От меня следующие мысли:
1) Про параллелизм и скелйинг моделей можно хорошо послушать в свежем курсе по LLM от Стэнфорда в лекции тут
2) Компания мне кажется мутной. Cмотрю на фаундеров и не доверяю им. Но кто я такой, чтобы судить, если вливают столько денег, может что-то там и есть.
3) Очень нравится, как устроен найм в стартапы: глубокие технические разговоры, домашки, через которые можно прокачать свои навыки. Еще одна мотивация для меня дописать лонгрид про Детали интервью в стартапы и почему стоит идти в них поработать
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16🔥12👍5✍1🐳1
Исследую Национальный парк Brecon Beacons — недалеко от Кардиффа, Уэльс.
Катаюсь на велосипеде по проселочным дорогам (а иногда еду сковзь лес) среди овечек, лошадей и тишины — в поисках запрятанных в горы водопадов
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤36👍11🤩7👏1🆒1
Блогпост
Пару недель назад Mistral выложили в опенсоурс модель Devstral адаптированную под кодинг агентов (писал тут), а сегодня анонсируют ассистента.
Выглядит это как расширение, которое можно добавить в VSCode или JetBrains IDE. Пока что private beta, поэтому самим потрогать нельзя.
Само расширение разработано на основе опен-соурсного проекта Continue и представляет собой UI, в котором можно общаться с AI агентом и просить его что-то закодить за вас. Поддерживается чат, поиск по коду, и много других полезных tools для агентов.
В общем-то ничего нового. Тот же Cursor или Windsurf.
Но. Выпуск Mistral Code является финальным кусочком в мозаике инструментов для coding ассисентов от Мистраля. Теперь у них есть вся линейка — и свой copilot для автокомплита Сodestral, и эмбеддинг модель для rag-ов и семантических поисков Codestral Embed, и модель для кодинга Devstral, ну и наконец UI, чтобы все это подружить и сделать самого ассистента — Mistral Code.
Все инструменты от одного провайдера, да еще и опенсуорсные, так, что можно развернуть у себя в облаке, оn-prem, полностью на своем железе, без риска утечки чувствительных данных третьим лицам — то, как Mistral продает и позиционирует свои инструменты на рынке AI помощников для кода. И это действительно веский аргумент для крупных компаний, потому что они могут развернуть у себя всю необходимую инфру.
Mistral в анонсе пишут, что уже договорились с одним из Испанских банков, что те развернут в своем облаке всю инфраструктуру и позволят применять решение на приватных репозиториях своим разрабам.
Выглядит сильно. Подождем официального релиза. И больше новостей про кастомеров.
___
Если хочется разобраться как именно работают такие кодинг-ассистенты, то советую глянуть бесплатный мини-курс тут. Он про Windsurf, но ребята делятся и тем, какие сложности решали, как учили свою эмбеддинг модель, как делали кастомный RAG. Познавательно.
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15👾3⚡1🔥1🐳1🎃1
Media is too big
VIEW IN TELEGRAM
Открываем видео и слушаем
Июнь — это время сессии для студентов в универе. Но для некоторых еще и время вступительных экзаменов в Школу Анализа Данных.
Я тут недавно посмотрел примеры задач с онлайн экзамена (для интересующихся — ссылка тут), выглядит, мягко говоря, жестко. Принцип ШАДа:
Будет сложно, вам понравится
реализуется, по полной. Я поступал в 2019 году и задачи были...ну кажется на порядок легче. Причина, конечно понятна — тогда не было всех этих чатов гпт.
Остается только пожелать всемь сдающим удачи и успехов!
Для мотивации прикерпляю AI Generated аудио трек для поступающих.
#проекты
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16❤7👍4⚡1👎1💯1🆒1
Как работает Cursor ?
В блоге Programmatic Engineer вышел классный технический разбор про начинку Курсора. Автора блога, вроде как, пообщался лично с техническим кофаундером стартапа Anysphere (оценка $10B) и расписал по частям интересные детали: от стека до скейла. Почитать тут.
В бесплатной версии доступна только половина статьи (а за фулл платить 10$ в месяц на подписку🥲 ), но и в таком варианте полно интересных моментов. Читается легко, как будто старая добрая книга Alex Xu по System Design. Самое то, если у вас вдруг собес в подобную компанию AI кодогенерации.
Работает примерно так.
1️⃣ Проект пользователя сначала индексируется. Это значит следующее.
🔘 Во-первых, каждый файл разбивается на кусочки (чанки) кода небольшого размера. Чанки улетают на сервер, где запускается эмбеддер модель компании. Модель эмбеддит чанки в вектора для последующего векторного поиска. Курсор говорит, что не хранит код на своих серверах, только эмбеддинги (но кто знает, что там происходит, код то вы свой все равно уже отправили 🙂 ). Извлечение эмбеддингов - довольно ресурснозатратный процесс, поэтому компания держит кластер GPU для инференса (думаю, что это капля в море по сравнению с стоимостью инференса LLM-ов).
Чтобы непросрать слить свои ключи и другую чувстивтельную инфу, обязательно заполняйте .gitignore и .cursorignore, чтобы исключить какие-то ресурсы из индексации
🔘 Во-вторых, курсор так же хранит структуру проекта пользователя в виде дерева. Конкретно используется Merkle Tree - дерево, где каждый лист - это хэш файла, а узлы - комбинация хэшей узлов-детей. Такое дерево хранится как локально, так и на серверах Курсора, и каждый раз, когда делается изменение в коде пользователя, локальные хэши сверяются с теми, что на сервере, и если есть различие, то они пересчитываются, а следовательно и обновляются некоторые эмбеддинги чанков.
2️⃣ Теперь, когда индекс построен, можно пользоваться всеми фичами. Например, становится доступным чат с Курсором, где вы можете попросить курсор объяснить, как работает какая-то функция в вашем коде или попросить Курсор что-нибудь реализовать. В этом случае Курсор просканирует индекс, найдет релевантные ID чанков кода с помощью векторного поиска, заберет исходнй код чанков с вашего проекта, и пойдет в LLM просить рассуждать и генерировать план действий. Ну а дальше все это интерактивно будет отображаться в IDE. Курсор может ваш код и не хранит, а вот LLM-провайдеры – может быть.
3️⃣ Автокомплит, или tab-подсказки (это когда вы пишите комментарий или сигнатуру функции, а Курсор предлагает ее реализацию), работает чуть проще из-за чувствительности к latency. Здесь просто локальный контекст уходит в LLM и та генерирует автокомплит.
4️⃣ По стеку используется Turbopuffer для векторного хранилища эмбеддингов чанков и дерева файловой системы. Rust для высоконагруженной части на сервере, TypeScript для клиента IDE.
Другие цифры и детали можно найти в самом блоге. У автора еще выходит регулярно подкаст с техническими людьми так же на тему систем дизайна – рекомендую.
Happy Learning!
@max_dot_sh
В блоге Programmatic Engineer вышел классный технический разбор про начинку Курсора. Автора блога, вроде как, пообщался лично с техническим кофаундером стартапа Anysphere (оценка $10B) и расписал по частям интересные детали: от стека до скейла. Почитать тут.
В бесплатной версии доступна только половина статьи (а за фулл платить 10$ в месяц на подписку
Работает примерно так.
Чтобы не
Другие цифры и детали можно найти в самом блоге. У автора еще выходит регулярно подкаст с техническими людьми так же на тему систем дизайна – рекомендую.
Happy Learning!
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
Pragmaticengineer
Real-world engineering challenges: building Cursor
Cursor has grown 100x in load in just a year, sees 1M+ QPS for its data layer, and serves billions of code completions, daily. A deepdive into how it’s built with cofounder, Sualeh Asif
❤27👍17⚡6🔥4😁1🆒1😎1
Senior ML Engineer в Waymo, Perception Team, California
Сегодня в отзывах на собесы опыт ML инженера в стартап Waymo – команда делает self-driving cars. Главное не спутать их с дургим стартапом про беспилотные автомобили Wayve.
Авторская орфография сохранена
➡️ Ник автора в тг - Анонимно
➡️ Название компании - Waymo, команда Perception
➡️ Расскажите про свой бэкграунд - МЛ инженер в стартапе, занимаюсь анализом и разметкой видео
➡️ Как подались на вакансию - рекрутер через LinkedIn
🔥 Субъективно Сложность процесса по 10 бальной шкале - 8
➡️ Когда начали процесс - 01/25
➡️ Когда закончили процесс - 03/25
➡️ Позиция, на которую собеседовались - Senior Machine Learning Engineer
➡️ Грейд на который собеседовались (если известно) -Senior
➡️ Локация вакансии - Mountain View, California (гибридный формат, я уже в штатах, можно работать в целом удаленно по Америке)
🔥 Расскажите про этапы собеседований
Процесс довольно стандартный, но с рядом своих фишек.
1) Recruiter screen (30 мин): типичный созвон с рекрутером. Обсудили мой бэкграунд, что делаю, какие направления интересны. Немного рассказали про Perception команду и чем она занимается (обработка данных с сенсоров, 3D object detection, motion forecasting). Также сразу обозначили, что важно уметь работать с продовыми пайплайнами, не только с ресерчем. Сразу обговорили зарплатные вилки (отписал ниже)
2) Technical Phone Screen (45 мин): дали довольно нетривиальную задачу на динамическое программирование. Нужно было шейрить экран и писать в своем блокноте / IDE. Я писал в колабе. Интервьюер никак не помогал, сложилось ощущение, что сам не знает как решить задачу.
3) Домашнее задание: дали задачу по object tracking видео и статью для реализаии. Нужно было:
- придумать baseline трекер (например, с использованием IoU)
- оценить качество (precision, recall, ID switches и т.д.)
- реализовать пейпер
- все это задокументировать и прислать jupyter ноутбук
Onsite (4 секции по 45 мин):
4) System Design: дизайн пайплайна для inference perception модели на автономной машине в реал-тайме. Вопросы про latency, batching, fault tolerance, A/B тестирование моделей. Местами уводили в детали вплоть до GRPC, protobufs и интеграции с hardware.
5) ML-focused coding: нужно было реализовать модуль для обработки lidar-точек и агрегации по временным фреймам. Часть кода была дана, часть — нужно писать с нуля. Плюс надо было оптимизировать память, потому что lidar-данные могут быть большими. Явный уклон в прототипирование, и это понравилось.
6) ML knowledge & debugging: дали лог модели, обученной на object detection. Нужно было по логам и распределениям метрик понять, что “пошло не так”. Также обсуждали выбор лосса, augmentations, data imbalance.
7) Behavioural: классическое интервью по фреймворку STAR. Много спрашивали про конфликты, работу с DS и PM, принятие решений в условиях неопределенности. Спрашивали кейсы, когда я был не согласен с командой.
Через пару дней после онсайта пришел отказ с объяснением, что команда ищет инженера с другим профилем. Что за профиль никто не объяснил. HR-ы после отказа слились с переписки.
⏺ Что понравилось:
- Команда, судя по вопросам, делает интересные вещи в области 3D perception.
⏺ Что не понравилось:
- Домашка слишком объемная
- В некоторых секциях было ощущение, что интервьюерам все равно
➡️ Итоги собеседования: отказ после онсайта
➡️ Информация про Total Compensation: base $200-220k + target bonus ~15% + $250k в RSU (vesting 4 года, по 25% в год).
#интервью
@max_dot_sh
Сегодня в отзывах на собесы опыт ML инженера в стартап Waymo – команда делает self-driving cars. Главное не спутать их с дургим стартапом про беспилотные автомобили Wayve.
Авторская орфография сохранена
Процесс довольно стандартный, но с рядом своих фишек.
1) Recruiter screen (30 мин): типичный созвон с рекрутером. Обсудили мой бэкграунд, что делаю, какие направления интересны. Немного рассказали про Perception команду и чем она занимается (обработка данных с сенсоров, 3D object detection, motion forecasting). Также сразу обозначили, что важно уметь работать с продовыми пайплайнами, не только с ресерчем. Сразу обговорили зарплатные вилки (отписал ниже)
2) Technical Phone Screen (45 мин): дали довольно нетривиальную задачу на динамическое программирование. Нужно было шейрить экран и писать в своем блокноте / IDE. Я писал в колабе. Интервьюер никак не помогал, сложилось ощущение, что сам не знает как решить задачу.
3) Домашнее задание: дали задачу по object tracking видео и статью для реализаии. Нужно было:
- придумать baseline трекер (например, с использованием IoU)
- оценить качество (precision, recall, ID switches и т.д.)
- реализовать пейпер
- все это задокументировать и прислать jupyter ноутбук
Onsite (4 секции по 45 мин):
4) System Design: дизайн пайплайна для inference perception модели на автономной машине в реал-тайме. Вопросы про latency, batching, fault tolerance, A/B тестирование моделей. Местами уводили в детали вплоть до GRPC, protobufs и интеграции с hardware.
5) ML-focused coding: нужно было реализовать модуль для обработки lidar-точек и агрегации по временным фреймам. Часть кода была дана, часть — нужно писать с нуля. Плюс надо было оптимизировать память, потому что lidar-данные могут быть большими. Явный уклон в прототипирование, и это понравилось.
6) ML knowledge & debugging: дали лог модели, обученной на object detection. Нужно было по логам и распределениям метрик понять, что “пошло не так”. Также обсуждали выбор лосса, augmentations, data imbalance.
7) Behavioural: классическое интервью по фреймворку STAR. Много спрашивали про конфликты, работу с DS и PM, принятие решений в условиях неопределенности. Спрашивали кейсы, когда я был не согласен с командой.
Через пару дней после онсайта пришел отказ с объяснением, что команда ищет инженера с другим профилем. Что за профиль никто не объяснил. HR-ы после отказа слились с переписки.
- Команда, судя по вопросам, делает интересные вещи в области 3D perception.
- Домашка слишком объемная
- В некоторых секциях было ощущение, что интервьюерам все равно
#интервью
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17❤12😢8👍4⚡2🤔1
Мульти-агентные системы от Антропика
Инженерный блог🖥 пополнился лонг-ридом про мульти-агентную (multi-agent) поисковую систему Антропика.
Полный текст тут. В этот раз без гулбоких технических подробностей, метрик или конкретных примеров.
TL;DR древний как горы – прототип завести легко, а вот довести до прода трудно. Большинство AI фреймворков / стартапов умирает на версии v0.9.9999, только единицы доходят до v1.0
Если по верхам, то так:
⚫️ Какую проблему решают? Вообще говоря самую общую – ответить на вопрос пользователя. Вопрос может подразумевать нетривиальный рисерч по большому количеству источников с последующим анализом, суммаризацией, графиками, написанием кода и тому подобное. Популярные кластера запросов – Assist with academic research, Develop software systems или Develop profitable investment systems 😉
⚫️ Зачем так много агентов? Сам по себе агент медленный: он выполняет действия последовательно. Так растет время ожидания. Мульти-агентное решение позволяет распаралелить задачу (где это возможно – про это ниже), что гораздо лучше скейлится на большом количестве запросов. Другая причина в том, что так можно эффективнее делать explore – анализировать параллельно много типов источников, ища решение в разных местах; потом это сливать все в одно место, делать общий вывод, и запускать новую итерацию поиска в ширину агентами.
⚫️ Архитектура. В центре такой мульти-агентной системы находится главный агент (Lead Agent). Он координиурет все решения и выбирает, как декомпозировать исходную задачу на части. А потом отдает подзадачи агентам-исполнителям (subagents). Те варятся в своей подзадаче и возвращаются с репортом к главному. Тот думает, что делать дальше. К агентам-исполнителям естественно в комплекте идут поисковые инструменты, доступ к MCP-серверам и возможность подумать над планом прежде чем что-то решать (interlevaed thinking). Так же есть глобальная память, контролируемая Lead-агентом. Картинка к посту.
⚫️ Best Prompting Practises. Большая секция посвящена советам про промпты. Из интересного:
(1) Добавляют эвристики, чтобы помочь Lead агенту оценить сложность задачи и сколько под-агентов нужно для ее решения. Например, для поиска фактов достаточно 1 агента и 3-10 tool calls, тогда как сравнение источников между собой может потребовать гораздо больше агентов и вызовов инструментов.
(2) Еще больше эвристик про формулирование задач для подагентов. а) формат данных б) четкие границы задачи с) отбор MCP-инструментов с качественным API.
(3) Параллеизация там, где только можно. Для этого используют две схемы: a) больше под-агентов b) каждый под-агент параллельно запускает по несколько тулзов. Говорят что бустит всю систему:
Из не интересного - возможность долго рассуждать (extended thinking) для Lead agent ведет к лучшим результатам. Ну еще бы они написали иначе – чем болше токенов сожжете, тем больше заработает антропик🤓 🤵
⚫️ Сложности.
(1) Накопительный эффект ошибок. Агенты stateful, поэтому неверные решения в начале могут сильно повлиять на дальнейшую ситуацию. Эта мысль идет через всю статью, поэтому явные механизмы валидации решений агента, мониторинг выполнения плана и корректировка - это ключ к стабильной системе.
(2) Сжигаемое количество токенов (следовательно и цена) – в 15x больше чем при обычном чате.
self-correction, когда агент пытается сам исправиться, экономит ресурсы, но все равно усложняет систему
(3) Параллелизация не везде легко достигается. Например в кодогенерации не обязательно помогает – редактирование кода в существующей кодовой базе более последовательный процесс, чем стандартный поиск.
➡️ В комментариях оставил кусочек про Evaluations
Happy Learning !
@max_dot_sh
Инженерный блог
Полный текст тут. В этот раз без гулбоких технических подробностей, метрик или конкретных примеров.
TL;DR древний как горы – прототип завести легко, а вот довести до прода трудно. Большинство AI фреймворков / стартапов умирает на версии v0.9.9999, только единицы доходят до v1.0
Если по верхам, то так:
(1) Добавляют эвристики, чтобы помочь Lead агенту оценить сложность задачи и сколько под-агентов нужно для ее решения. Например, для поиска фактов достаточно 1 агента и 3-10 tool calls, тогда как сравнение источников между собой может потребовать гораздо больше агентов и вызовов инструментов.
(2) Еще больше эвристик про формулирование задач для подагентов. а) формат данных б) четкие границы задачи с) отбор MCP-инструментов с качественным API.
(3) Параллеизация там, где только можно. Для этого используют две схемы: a) больше под-агентов b) каждый под-агент параллельно запускает по несколько тулзов. Говорят что бустит всю систему:
These changes cut research time by up to 90% for complex queries, allowing Research to do more work in minutes instead of hours while covering more information than other systems.
Из не интересного - возможность долго рассуждать (extended thinking) для Lead agent ведет к лучшим результатам. Ну еще бы они написали иначе – чем болше токенов сожжете, тем больше заработает антропик
(1) Накопительный эффект ошибок. Агенты stateful, поэтому неверные решения в начале могут сильно повлиять на дальнейшую ситуацию. Эта мысль идет через всю статью, поэтому явные механизмы валидации решений агента, мониторинг выполнения плана и корректировка - это ключ к стабильной системе.
(2) Сжигаемое количество токенов (следовательно и цена) – в 15x больше чем при обычном чате.
self-correction, когда агент пытается сам исправиться, экономит ресурсы, но все равно усложняет систему
(3) Параллелизация не везде легко достигается. Например в кодогенерации не обязательно помогает – редактирование кода в существующей кодовой базе более последовательный процесс, чем стандартный поиск.
Happy Learning !
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤8🔥7⚡3😭1
Компания All Hands AI релизунла CLI инструмент для кодинга - OpenHands CLI.
Твит с релизом.
Поставить можно через
pip install openhands-ai. Функционал аналогичен Claude Code – агент может редактировать код, запускать команды, делать навигацию по файловой системе, ходить в веб, делать API вызовы, взаимодействовать с MCP серверами, работать в автономном режиме.
При желании можно развернуть свою LLM и подключить ее, а не провайдера.
Лицензия MIT. Все есть на гитхабе. Можно расширить под свои нужды как хочется.
Еще добавили микро гайд про Prompting Best Practises для кодинг агентов. Читать тут
TL;DR Нужно быть как можно конкретным и локальным в запросах к агенту, чтобы он ничего не додумывал. Хотите пофиксить баг – локализуйте файл и строчку кода, где возникает проблема или дайте указатель на функцию и опишите ожидаемое поведение:
Fix the TypeError in frontend/src/components/UserProfile.tsx occurring on line 42. The error suggests we’re trying to access a property of undefined.
В анонсе пишут, что Has top accuracy (similar to Claude Code). Буду тестировать в ближайшее время.
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - OpenHands/OpenHands: 🙌 OpenHands: Code Less, Make More
🙌 OpenHands: Code Less, Make More. Contribute to OpenHands/OpenHands development by creating an account on GitHub.
👍15🔥5💯3⚡2
Совсем недавно вышел на новое место работы. Решил поискать что-то кардинально новое. И в плане содержания работы, и в плане размера компании. Отталкивался от того, что если сейчас не попробую, то еще 1-2 года в понятном биг техе и все – убедить себя выйти из зоны комфорта, как финансово, так и в плане культуры рабочих процессов будет очень сложно.
В стартапах я никогда прежде не работал. В целом в компаниях без четкого продуктового виденья (или как принятно говорить market fit-а) тоже. Поэтому было интересно "умеренно" рискнуть.
В итоге присоединился в качестве первого рисерчера к series A стартапу Tessl. Задумка компании в слогане на лэндинге:
You make the spec, AI codes & maintains
На данный момент компания хочет прийти к будущему, в котором больше не нужно писать код (как неожиданно). Вместо этого есть спецификация (spec), такой исчерпывающий дизайн док, в котором описаны все требования (архитектура, язык, стек, фреймворки, API) к продукту или сервису. И на основе этого документа AI Engine напишет весь код самостоятельно. Ну а дальше, когда появится необходимость в новой фиче, взаимодействие будет через тот же документ – AI сделает весь maintenance. spec писать самому с нуля не надо – LLM-ы будут помогать.
Концепция спецификации сейчас регулярно проскакивает у многих компаний как один из векторов развития AI кодогенерации. На недавнем саммите Open AI выступали c точно такой же мотивацией:
The new code: Specs, write once, run everywhere и несколько раз подчеркивали A written specification aligns humans.Интерес к генерации кода с помощью LLM сильно нагрелся в последние год-полтора. В целом все стартапы и крупные игроки так или иначе делают "spec driven development" в том или ином виде. А большие сделки по типу поглощения Windsurf-а, или огромному раунду инвестиций в Cursor только разгоняют ажиотаж (и одновременно повышают тревожность
Так что да, решил покрутить рулетку и поиграть в стартапы – посмотрим что выйдет.
Принимая решения руководствовался такими факторами:
0) хочу для себя понять, где комфортнее: в ранних компаниях или больших
1) сильный фаундер (вырастил два Юникрона),
2) очень хорошие инвесторы и вера в проект ($25М seed и $100M round A)
3) сильная инженерная и продуктовая команда (чуть ли не треть людей ex-Гуглеры, от Principal инженеров до директоров)
4) рисерч команда (пока что я один, но скоро выйдут ребята из других фаангов, включая Мету и Дипмайнд)
5) новый домен, новая роль
В отдельном посте подробнее расскажу, как выбирал новое место.
__
Пока работа над релизом первой версии продукта активно кипит, обязательно присоединяйтесь к waitlist-у, чтобы не пропустить.
Еще можете послушать подкаст. Да, у компании есть свой подкаст с разными AI фаундерами / интересными людьми! Слушать/смотреть тут. Я с удовольствием посмотрел выпуск с ко-фаундером 11Labs.
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
tessl.io
Tessl - AI Native Development Platform
Tessl introduces AI native development where specs drive everything. Build reliable AI-powered software with autonomous maintenance, cross-platform generation, and self-optimizing performance. Request early access.
🔥50👍15❤11🍾2⚡1
Сегодня в тему разборов научных статей рекомендую отличный пост из канала @datastorieslanguages про Visual Planning для LLM-ов.
Блог ведет Андрей, Senior ML Engineer в фаанге, работал в отечественных и зарубежных бигтехах, Kaggle Сompetition Master / Notebook Grandmaster.
В блоге много классных разборов, мыслей о карьере и просто интересных наблюдений – рекомендую)
Блог ведет Андрей, Senior ML Engineer в фаанге, работал в отечественных и зарубежных бигтехах, Kaggle Сompetition Master / Notebook Grandmaster.
В блоге много классных разборов, мыслей о карьере и просто интересных наблюдений – рекомендую)
❤6👍3🔥3⚡1✍1