AI-Driven Development. Родион Мостовой
1.6K subscribers
79 photos
3 videos
1 file
70 links
Увлекательно рассказываю про AI в разработке, про построение продуктов с LLM под капотом и иногда про .NET.
Чат: @ai_driven_chat
Download Telegram
А теперь, для любителей локальных моделей: Gemma 3 QAT

Что-то мы все про проприетарщину да и проприетарщину. А что насчет локальных моделей?
Надо сказать, что на этом поприще у маленькмх опенсорных моделей тоже наблюдается какой-то фантастический буст. Например, Gemma 3 27B в кодинге показывает результаты, сопоставимые с GPT-4o-mini.
А из ризонинг моделей, как упоминал ранее, QwQ 32B на уровне Claude 3.7 Sonnet Thinking, а DeepCoder 14B (это новая спец. моделька от создателей DeepSeek) на уровне o3-mini (low).
Ну, и опять эксклюзив - на агентских задачах по кодингу, неожиданно вырвалась вперед моделька OpenHands LM 32B от ребят из OpenHands, которые дотренировали ее из Qwen Coder 2.5 Instruct 32B на своем "тренажере для агентов" SWE-Gym, опередив в итоге в SWE-bench даже огромную Deepseek V3 0324. В общем, OpenHands молодцы! Кстати, недавно их Code-агент взял новую соту (SoTA - State of The Art) в SWE-bench Verified. Так что, могу всем смело рекомендовать их блог.

Ух, ну и перенасытил я вас всего лишь одним абзацем!

В общем, что сказать-то хотел - ребята из Google посмотрели, значит, на свою Gemma 3 и увидели, что, при всей своей красоте, она довольно тяжелая все равно оказалась для консьюмерских ПК/GPU, ну и разразились они какой-то крутой квантизацией, которая называется QAT (Quantization-Aware Training). Что это за QAT такой мы тут разбираться не будем - просто для нас важно знать, что эта хитрая техника квантизации уменьшает требования моделей к железу до 4-х раз, при этом почти не влияя на уровень "интеллекта" модели.
Действительно ли это так? Давайте проверим на примере Gemma 12B IT QAT (4bit). Кстати, специальные MLX-квант-веса, оптимизированные для маководов (я) доступны по ссылке.
Так вот, моделька эта запускается через LMStudio в две кнопки.
В итоге, ответы действительно у нее неплохие, какую-то несложную кодогенерацию она явно вытянет. На, и русский язык ее оказался безупречным (см. скрины). Более того, после моего замечания она, как будто, даже вывезла задачу с параллельной генерацией эмбеддингов (сама решила взять для этого SemaphoreSlim). С использованием Parallel уже не справилась, т. к. начала await юзать внутри Parallel.For (сорри за жаргон, если вы не дотнетчик). Но в целом, у меня впечатления отличные!

А как у вас себя ведут локальные модельки? С какими задачами справляются, а с какими нет? И какие модели вы используете локально? (если вообще используете)
👍17
This media is not supported in your browser
VIEW IN TELEGRAM
В Курсоре появилась генерация правил проекта

Запускается так: /Generate Cursor Rules

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

Так же для каждого из правил можно указать его способ его использования, если я правильно понял
👍6🔥5
Forwarded from Сиолошная
Gemini 2.5 Pro обновилась, по показываемым бенчмаркам самый большой прирост произошёл в веб-программировании (см. вторую картинку).

Google +уважение за то, что не побоялись сравниться с o3 (по многим бенчам проигрывает, см. первую картинку). Очень интересно, что оценка на SimpleQA — бенчмарке на знание очень редких и специфичных фактов — примерно одинаковая. Возможно это говорит о приблизительно равном размере моделей, но это (очень) неточно.

На арене две версии Gemini и одна o3 делят первое место. По моим ощущениям, я почти всегда закидываю запрос и в o3, и в 2.5, обе почти всегда одинаково решают проблемы — но стиль написания Python-кода o3 мне ближе (не засоряет всё комментариями). За прошлую неделю было 2 раза, что o3 не решила, а 2.5 решила, и один раз наоборот. This is a good model sir.

А ещё ждём preview Computer Use-версии (агент, контролирующий компьютер/браузер), который засветился на сайте. Будет ли он выпущен до Google I/O 20-21-го мая или же нам придётся ждать — не ясно.
👍3
Сиолошная
Gemini 2.5 Pro обновилась, по показываемым бенчмаркам самый большой прирост произошёл в веб-программировании (см. вторую картинку). Google +уважение за то, что не побоялись сравниться с o3 (по многим бенчам проигрывает, см. первую картинку). Очень интересно…
Ну вот Google и сместили постоянного лидера во фронтэнд разработке Sonnet 3.7 - так что, господа фронтэндщики, присмотритесь. Интересно, когда Gemini сравняется по своим способностям в агентских возможностях кодогенерации с Sonnet в Cursor'е? Или уже? Поделитесь своим опытом.
Попробовать можно в API и, возможно, уже в вебе (там точную версию не указывают, так что до конца не ясно).

Сам я в последнее время для кодогенерации использую как раз Gemini 2.5 Pro в основном - качество действительно превосходное; особенно удивляет то, как она сама продумывает и обрабатывает корнер кейсы (да да, под синьора косит :))

PS. Нас уже 1000+! Благодарю всех своих читателей, что находите время на чтение меня. Отличный повод для дайджеста по каналу и моим материалам - будет чуть позже.
👍11🔥6
Forwarded from Denis Sexy IT 🤖
Я обещал написать, как я готовился к интервью в JetBrains обвешавшись нейронками – я не забыл, делюсь

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

Я уже писал, что мне было интересно найти работу не как мини-инфлюенсеру через этот канал, а пройти собеседование на основе моего резюме – метил я в позиции где доступно принятие решений в продукте и робот Computer Use, как раз пошуршав на линкедине принес ссылку, что JetBrains ищет Group Product Manager в Амстердаме

Я решил попробовать откликнуться, и после того как назначили дату интервью, начал готовиться – попробую описать коротко шаги, вдруг кому-то поможет:

💬 1. Я поискал русскоязычные ТГ-каналы, которые ведут люди причастные к продакт менеджементу и наткнулся на канал @productdo; его ведут ребята из Booking, и много там рассказывали как проходит найм в Booking

💬 2. Искать посты или читать ВЕСЬ канал в 2025 уже не принято; поэтому я скачал весь их канал (сорри, чуваки!) через ТГ приложение Windows в формате JSON (Нужно нажать на в канале и выбрать скачать JSON)

💬 3. После этого, я пошел на AI Studio от Google и прописал там:
системный промпт эксперта-суммаризатора знаний для собеседований (сделал его тут, иконка с бейджиком), в User Message вставил текст в стиле:

Какая идеальная структура собеседования, для прохождение интервью в Booking, используй текст ниже:

<я тупо вставил JSON текст который скачал в пункте 3, никак его не обрабатывая>


💬 4. Выбрал модель Gemini Flash (берите последнюю доступную) и выставил температуру 0, чтобы модель не креативила ничего и запустил. Кстати, с тех пор вышла бесплатная Gemini Pro 2.5, можете ее брать.

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

💬 6. Естественно, первому ответу модели верить не стоит, поэтому в этом шаге тупо пишем ей:
Убедись, что ты не допустила ошибок, перепиши ответ если ошибки есть

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

💬 8. Дальше, создаем новый чат и выбираем в той же Google AI Studio модель Gemini Pro, в системный промпт прописываем «Эксперта по прохождению интервью» (опять же, тут генерируем системный промпт для этой роли)

💬 9. Дальше, вставляем в User Message:

Покажи как идеальный кандидат на позицию X, прошел бы интервью и ответил на эти вопросы:
<тут вставляем вопросы для интервью>

При учете что резюме кандидата выглядит так:
<тут вставляем свое резюме в виде текста>


💬 10. Выставляем температуру на 0.3, запускаем модель

💬 11. В итоге получаем ПРИМЕРНОЙ сценарий того, как могло бы выглядеть интервью, какие вопросы могли бы задавать, как ответы могли бы звучать – все это не совсем релевантно, но позволяет очень быстро начать готовиться к конретике правильно адаптируя свой спич под привычный для найма флоу

💬 12. Дальше, вы можете показать этот текст приложению ChatGPT (тупо включив режим с видео,  наведя на монитор камеру и скролля текст) и попросить вас пособеседовать, позадавать вопросы, оценить ответы

⚠️ Важно:
Этот способ не гарантирует успех прохождения интервью, но это самый лучший способ, что я пробовал – потому что после него я был уверен в себе, вопросах и тому как правильно презентовать весь этот зоопарк проектов к которым я был причастен

Успехов и меньше нервов – все проблемы всегда возникают от волнения, потому что у вас скорее всего тоже синдром самозванца, а этот метод позволяет его победить
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18🤔2
Denis Sexy IT 🤖
Я обещал написать, как я готовился к интервью в JetBrains обвешавшись нейронками – я не забыл, делюсь Прохождение интервью, немного другой скилл, нежели реальная работа – это про структурную презентацию прошлых достижений, в максимально сжатой форме и чем…
Вообще, описан классный флоу и юзкейс применения нейронок от Denis Sexy IT. Я тоже люблю собрать какой-нибудь датасет из знаний (в частности подборку из arxiv-статей), затем прогнать их все через Gemini 2.5 Pro и получить интересные инсайты или даже код на основе загруженных статей. Точно так можно скармливать ей документацию целиком или даже весь код какого-нибудь небольшого проекта, сджойненный через какой-нибудь Repomix/RepoPrompt/GitIngest/uithub.
И еще интересным лайфхаком дополню: не многие знают, но OpenAI DeepResearch так же на вход умеет принимать разные документы и пдфки и, поскольку там под капотом o3 (вероятно, самая "умная" и точно самая внимательная LLM на сегодня), результат может получится еще интереснее, чем в Gemini.

PS. Там появился конкурент Devin'у от OpenAI, который так и назвали Codex, а также автономный кодагент от Google - Jules. Я обязательно про них расскажу, когда соберу чуть больше практического опыта. А вы уже успели попробовать Codex/Jules? Если да, расскажите плиз о своем опыте в комментариях к посту.
👍8🔥3
Forwarded from Этихлид
Claude 4, обзор

Прошло несколько дней работы с Claude 4, так что можно сказать пару слов.

Если вкратце, то для меня теперь выбор моделей для разработки выглядит так:

Sonnet 4
● если нужно подёргать много тулов (полазить по проекту, вызвать MCP, просто задачи вида "запускай тесты и фикси баги до посинения, пока всё не исправишь")
● задачи, для которых отсутствует заранее подготовленный контекст или его просто лень собирать :)
● небольшие повседневные задачи, где не нужно много думать
● веб-разработка

Gemini 2.5 Pro
● все задачи, где нужен длинный контекст
● иии... почти все остальные задачи

o3
● случаи, когда нужен чистый ризонинг

Переход с других моделей на Claude 4
● с Sonnet 3.7 - однозначно переходить:
* изменения в коде стали точнее
* лучше следует инструкциям и держит контекст
* менее упорот - иногда всё-таки делает то, что не просят, но намного реже
* новый cutoff - конец января 2025

● с Gemini 2.5 Pro - как минимум, стоит попробовать на своих задачах:
* лучше использует тулы
* структурнее подходит к решению задач

По поводу Opus 4: хорошо кушает токены и, как следствие, деньги (у меня $1/мин уходило в нескольких тестах).

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

Далее в основном буду говорить про Sonnet.

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

Но на паре результаты всё-таки неплохие:
MultiChallenge - стабильность работы в многоходовых диалогах с людьми
Recall on Codebase Questions - метрика от Cursor, про которую ничего, кроме названия, неизвестно - будем считать, что это "доля правильных ответов на вопросы по кодовой базе при её исследовании в режиме агента"

И это подводит нас к следующему пункту:

В чём же хорош Claude 4?
Anthropic в анонсе много говорили именно про использование новых моделей в агентских сценариях и их интеграции в соответствующий инструментарий (например, в Claude Code & Claude Desktop).

И да, это у них вполне получилось - модели действительно очень хорошо работают с разными тулами и тащат длинные задачи (Opus у самих Anthropic работал до 7 часов, а на Reddit был результат в 40+ минут от пользователя).

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

Потенциал Claude 4 не раскрыть в окружении, где нет тулов - у неё просто не так много других способностей, по которым бы её не обходили модели конкурентов.

Особенности
● охотнее сама строит планы для задач и потом их придерживается

● чаще делает какие-то временные скрипты для тестирования, проверки своих гипотез и т.п. Если нет нужного инструмента - сделай его :)
Иногда она их удаляет по завершению задачи, но чаще оставляет в проекте, приходится вычищать.
Anthropic даже в своём Claude 4 prompt engineering best practices добавили секцию о том, как такое поведение ограничить

● помните, что модель стала делать меньше делать то, что не просят?
Так вот, можно наоборот попросить уйти в отрыв: Don't hold back. Give it your all. - это из того же гайда по промптингу Claude 4 :)

Проблемы
● доступность API - это уже стало особенностью Anthropic, что в моменты пиковой нагрузки отваливаются запросы, инференс тормозит и вообще работать невозможно

● всё ещё может ходить кругами при решении проблем, хоть и реже - почему-то именно линейка Sonnet этим выделяется

● смайлики проникли и в Sonnet - ощущение иногда, что с ChatGPT 4o общаешься :)

Заключение
Противоречивый релиз, конечно, вышел.

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

Посмотрим, к чему это их приведёт в перспективе, ну а пока что для Sonnet 4 у меня явно найдётся работа :)

#ai #model #review
👍141
Началась конференция
AI Engineer World's Fair 2025 - обещают кучу интересного про AI в разработке. Спикеры из Microsoft, OpenAI, Neo4j и еще из кучи топ компаний.
Онлайн трансляция тут: https://youtu.be/z4zXicOAF28
👍7
Тёмная сторона вайб-кодинга

Эта история не имеет ничего общего с реальностью. Весь рассказ является плодом воображения автора.

Сегодня хочу рассказать про один серьёзный случай.

Есть у нас один хороший клиент Джон, который заказывал у нас уже несколько проектов. И вот, он попросил помощи в очередном своём проекте. Надо уточнить, что с появлением AI, Джон стал активным пользователем этого всего и очень сильно пытается создавать продукты самостоятельно, хотя, в программировании он не разбирается совсем. Рефат уже как то рассказывал про то, как Джон создавал mvp из палок и продавал это клиентам. Так вот, насколько я знаю по легенде, у Джона был свой проект, но он был недостаточно хорош, и Джону захотелось переписать его с нуля, изменив даже бренд.
Я получил доступ к репозиторию на Github и Google Doc с названием "PRD" с целью изучения этого и оценки насколько сложно будет передать этот проект нам на доработку.

Далее, я расскажу про свои впечатления от знакомства с этим репозиторием.

За 3 недели он успел настрогать 465 коммитов в репу, 35к loc Typescript, но большинство коммитов состояли из "Deployed your application" или из двух изменений в tailwindcss в одном файле ❤️

Вот список инструментов, которые пробовал Джон, судя по репозиторию: Replit, Claude Code, Google Jules, Semgrep (какой-то AI AppSec Engineer)

Судя по истории коммитов, Джон делал скриншоты экрана (они сохранились в истории) и описывал где что не так прямо в окно чата. Причём, я думаю, что описывал он эти задачи именно голосом 😎

Джон красавчик, в своем возрасте (он довольно взрослый мужчина) он сумел разобраться в новомодных приблудах.
Но есть несколько но:
🔺 репозиторий представляет из себя монорепу с мешаниной файлов. Хорошо хоть разграничил client от server. Правда, в папке server скинуты в одну кучу сразу все файлы (на бэкенде express.js), а на фронте файлы разложены по папочкам components, hooks, lib и т. д. — видно, что гайдлайны nextjs повлияли
🔺 есть закоммиченный .env с кредами от облачной модной БД neon.tech. Закоммитил Replit
🔺 есть закоммиченный файлик с интересным названием private.key. Его закоммитил Replit
🔺 есть license key от одного пропиетарного софта, который захардкожен прямо на стороне клиента. Закоммитил Claude Code.
🔺 в этом коде его логин и пароль от ERP (хоть и тестовый контур, но всё же) встречается 12 раз в 12 разных файлах. Я проверил, эти креды закоммитил Claude Code

Вишенка на торте — репозиторий публично открыт 🤯😦

Вторая — сфера работы Джона, отнюдь не инфоцыганство, а серьёзная сфера, по регулирующим законам которой, могут произойти серьёзные последствия, если сикреты из этого репозитория утекут не в те руки.

Vibe coding in a nutshell 💪

Мы уже сообщили Джону, что он допустил ошибку. Он закрыл репозиторий и сбросил опубликованные креды.

Какие выводы можно сделать из этого случая?

Даже если вы офигенный эксперт в своей доменной зоне и AI даёт вам буст, то всему есть предел, об этом стоит помнить и понимать свои границы.

Из-за огромного хайпа в мире, AI может причинить большие убытки. Пожалуйста, доверьте работу с кодом профессионалам. Особенно, если в вашей сфере есть злые регуляторы. Да, мы тоже будем использовать AI coding tools, но мы понимаем как должен выглядеть результат.

Ну и монетка в копилку новомодных coding agents. Как бы создатели не старались, но пользователь всё ещё может выстрелить себе в ногу, даже в две:
- агенты почему-то не проверяют коммиты на наличие кредов в них
- агенты не проверяют, что репозиторий публично открыт и в нём находятся сикреты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥41😁1
The AI Architect | AI Coding
Тёмная сторона вайб-кодинга Эта история не имеет ничего общего с реальностью. Весь рассказ является плодом воображения автора. Сегодня хочу рассказать про один серьёзный случай. Есть у нас один хороший клиент Джон, который заказывал у нас уже несколько…
Весьма показательная история. Справедливости ради только отмечу, что для совсем не инженеров, которые очень хотят быстрый MVP, все-таки больше подходят такие решения, как lovable.dev и bolt.new - во всяком случае, они хоть как-то пытаются проблемы c секьюрити решать.
Ну, и, конечно, всегда стоит помнить о возможности хотя бы взять часовую консультацию у эксперта-разработчика на том же getmentor.dev (некоммерческий проект) - всяко дешевле выйдет, чем потенциальные потери от утечки ваших ключей.
👍5
Бесплатный Lovable: Самое время нагенерить MVP по своим идеям

В эти выходные (до воскресенья 23:59 CET) Lovable.dev дает неограниченный бесплатный доступ к своему сервису - это значит, что каждый может накодить PoC/MVP своих идей без ограничений на кол-во запросов. Убедитесь только, что вы выбрали OpenAI/Anthropic или Gemini в выпадающем списке (подозреваю, что лучше всего результаты будут у Anthropic и Gemini).

А делается это все в рамках батла AI Showndown. Следим за результатами)

Делитесь, кстати, ссылками на свои поделки и своим мнением о Lovable в комментариях.
9🔥6🤔1
2025-06-24_22-48-49.png
341.1 KB
Может ли AI находить сложные ошибки в коде целых проектов?

У меня в канале много дотнетчиков (спасибо Жене @epeshkblog, Саше @dotnetmore, Кириллу @csharp_gepard и Леше @itbeard) и многие из вас наверняка помнят популярный вопрос с собеседований про GetHashCode) Следующий кейс как об этом.

Есть расхожее заблуждение о том, что LLM все еще слишком глупы для того, чтобы находить ошибки в коде проектов. Особенно когда речь идет о больших и сложных кодовых базах.
В действительности же нейросети развиваются каждый день, и чтобы GenAI тулинг смог находить даже сложные ошибки в коде, в сущности, необходимы всего 2 составляющие:
1. Мощная LLM с возможностью размышлений (reasoning, thinking). Например, наши внутренние бенчмарки показывают, что самыми внимательными к багам являются модели Gemini 2.5 Pro и OpenAI o3.
2. Релевантный контекст. Важно находить золотую середину между избыточным контекстом и недостаточным контекстом. В случае если в LLM поступает лишний контекст, она просто с большей вероятностью в нем запутается и качество ревью упадет драматически. С другой стороны, если контекста недостаточно, то нейросеть просто не сможет "понять" как то или иное изменение кода повлияет на проект в целом, упустив таким образом важные потенциальные проблемы. Простой пример - код, предназначенный для однопоточного выполнения, в многопоточной среде, как правило, будет выполняться с ошибками.
Например, мы CodeAlive предварительно индексируем кодовую базу, выстраивая граф вызовов, иерархию типов и другие связи - именно этот шаг помогает максимально эффективно работать с контекстом нашему AI Code Review.
Поделюсь таким кейсом:
Недавно мы заметили баг, из-за которого в системе дублировались артефакты Identifier артефакта - это композиция из fileName, className, funcName). Но самое интересное то, что в коде мы уже обрабатывали дубликаты через HashSet и этой ошибки не должно было быть вовсе:
        HashSet<ArtifactAggregate> artifactsToSave = new();
void TryAddArtifact(ArtifactAggregate artifact)
{
if (artifactsToSave.Add(artifact) == false)
{
// log error
}
}

При этом, GetHashCode, на первый взгляд даже корректный, уже был реализован ранее (но я честно о нем даже и не вспомнил тогда).
И тут и возникла та самая ситуация, когда даже разработчику непонятно, в чем дело (ведь мы же уже защитились!).
Почесав репу, я подумал, почему бы не попросить CodeAlive поискать корень проблемы:
почему у нас дублируются Identifier артефактов в базе? мы же вроде защищены от этого в TryAddArtifact

Ответ прилагаю на скрине. Но он мне настолько понравился, что я продублировал его в текст. Здесь важно отменить, что весь контекст AI-агент собрал сам - все, что я дал ему на входе это вопрос выше.
Проблема действительно оказалась именно в некорректных св-вах в Equals и GetHashCode.
Кстати, многие хотят попробовать CodeAlive сразу на больших проектах, без регистрации и смс, теперь это стало возможным. Мы проиндексировали опенсорс проекты (ASP.NET Core, Java Spring, laravel, GORM, VSCode, etc.) и теперь каждый может задать по ним свои вопросы: https://www.codealive.ai/#public-chats

У меня есть еще отдельный флоу для решения сложных coding проблем через LLM, если такое интересно, то ваши реакции - лучшая мотивация для нового поста) И поделитесь своими кейсами и флоу, в которых LLM-ки применяются на гране своих возможностей, мы можем собрать потом все в один пост.
🔥34👍7👏51💯1