AI-Driven Development. Родион Мостовой


Kanal geosi va tili: Rossiya, Ruscha


Увлекательно рассказываю про AI в разработке, про построение продуктов с LLM под капотом и иногда про .NET.
Связь: @rodion_m_tg
Чат: @ai_driven_chat

Связанные каналы

Kanal geosi va tili
Rossiya, Ruscha
Statistika
Postlar filtri


Вайб-релиз Bun на Rust

На моей памяти это первый настоящий вайб релиз такого масштаба. Помните тот PR команды bun на миллион строк, который им Claude Code сгенерил. Так вот, прошло чуть более 3 месяцев и они зарелизили апдейт для всех. И результаты впечатляют - мало того, что по множеству метрикам ощутимый прирост, так ещё и +1.5к новых тестов с node.js теперь проходят и на bun (это 80.5% всех тестов node.js).
Для меня лично наиболее интересный выигрыш в возможности ускорить тесты в наших проектах на node runtime, ибо с приходом агентной разработки, количество тестов выросло кратко, а выполняться они стали неприлично долго. Попробую обязательно. А если вдруг кто-то уже успел попробовать новый bun - поделитесь в комментариях своим опытом, интересно почитать.

Браво команде bun и Антропикам, их купившим.

https://bun.com/blog/bun-v1.4

@ai_driven


Борьба со сложностью

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

Code That Fits in Your Head

Скилл-дестиллят одноименной книги Марка Симмана, название которой говорит само за себя. Цель скилла: прежде всего, выбор понятных и сопровождаемых решений и их реализации. Начинка довольно сильно адаптирована мною под агентную разработку. Этот скилл я особенно люблю применять когда нужно реализовать какую-то хитрую штуку, которая априори сложная (из моей практики сразу в голову безопасный парсер псевдо-SQL кода, который приходит от агента и преобразуется в безопасный MongoDB query). А более бытовой пример с задачей по ускорению обхода файловой системы на скринах.



Ubiquitous Language

Скилл занимается обслуживанием всего, что связано с языком в проекте:

1. Генерирует и поддерживает в актуальном состоянии т. н. тезаурус (docs/THESAURUS. md) - это расширенный словарь понятий с разъяснением неоднозначностей и фиксацией чем понятие является, а с чем его не стоит путать и с какими понятиями оно связано.
Кстати, помимо того, что агенты начинают лучше понимать проект, приятный бонус от тезауруса - это более точные результаты от grep'a.

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

Этот скилл тоже делался на плечах гигантов: в основу был взят блок про Ubiquitous Language из отличной книжки Влада Хононова "Изучаем DDD — предметно-ориентированное проектирование", а также блоки про язык из FPF + ISO 25964 про создание тезаурусов (все сорсы тут).

Оба скилла тем ценнее, чем больше и сложнее проекты с которыми вы работаете.

А еще, к планированию архитектуры и вообще к тому, как наиболее элегантно встроить тот или иной функционал я люблю привлекать Fable (обычно на low или medium reasoning).

И, конечно, никакой скилл не заменит понимание системы и продукта инженером. Собственно, третий этап после скиллов и Fable ревью - это фильтр через человека-инженера (на скринах как раз пример такой пирамиды из 3-х этапов как мы с агентами ищем оптимальный способ ускорить обход файловой системы: 1: анализ плана скиллами, 2: Fable, 3: инженер - это мой-вопрос финальная корректировка: заметьте, что я ее задаю в виде вопроса, давая агенту пространство для несогласия). Выбор наиболее оптимального решения из огромного пространства траекторий - это все еще сложнейшая задача для LLM. Да и для экспертов часто непростая. Почему это важно, вроде, очевидно - сложное и неоптимальное решение обычно более хрупкое - на него будет сожжено больше токенов, а в проде оно с большей вероятностью будет ломаться в разных местах (или эффектом бабочки ломать что-то смежное). Опять же, все это становится острее на масштабе: пока вайб кодишь проект на полтора пользователя, может казаться, что все и без этого прекрасно.

@ai_driven




Друзья нашего канала в компании с Андреем Бреславом сейчас будут обсуждать как писать код с агентами - такое смотрим с удовольствием


"Делай хорошо" или антипромптинг Sol

Накипело.
Помните мы раньше просили модели делать хорошо, учитывать корнер кейсы и тд?
Так вот, как минимум с GPT 5.6 Sol настало время наоборот просить агента не делать лишнего и не переусложнять. Это модель, которая по дефолту будет учитывать и обрабатывать маргинальные корнер кейсы, вероятность которых примерно отрицательная. Она делает кучу бекапов, проб и тд, даже когда это вообще не нужно - ее тупо приходится бить по рукам (пример на скрине).
Если раньше мы промптили "делай хорошо, до конца и тд", то теперь актуальнее "не переусложняй, найди элегантное решение, сейчас нам хватит MVP и тд". Промптинг в обратную сторону получается.
Еще раз нам всем урок важности передачи высокоуровневого контекста агенту - что за проект, какова его ценность для пользователей, кто пользователи, сколько их вообще планируется, профиль нагрузки и тд. Дефолты Sol оказались слишком "энтепрайзными", именно поэтому она тратить условно 10 часов на то, что другие современные модели сделают за час. Зато в ревью критически важного кода, в котором действительно необходимо учесть все все все корнер кейсы она чертовски хороша (и Opus 5, кстати, тоже).

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

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

PS Перфекционизм страшная штука, от него я сам лечусь, а теперь еще и модели приходится лечить.

@ai_driven


/btw на максималках или Codex side chat

Продолжаем рубрику подборка лучших UX решений.

Когда кодишь с агентом довольно часто возникает ситуация, когда из одного чата нужно быстро форкнуться в новый чат, чтобы исправить что-то, возникшее по пути, не прерывая работы в старом чате. Раньше мы использовали fork для этих целей, но форк довольно тяжеловесный + не из всех состояний он доступен. В общем, если выделить текст в прямо чате Codex App'а, то сверху можно увидеть всплывающее меню с разными действмия, в т. ч. Ask in side chat. Наверное, видели. Можно подумать, что это старый добрый /btw а-ля клод код. Но нет, на деле у этого сайд чата тоже есть полноценный write доступ и из него действительно можно делать небольшие правки (например, в скиллах, как на скрине) прямо по ходу основной задачи, вообще никак в нее не вмешиваясь. Не знаю как вам, но мне не хватало такой возможности - настолько, что решил и вам рассказать.

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

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

И да, в Claude Code Desktop тоже есть подобный side chat, но он readonly, что не так интересно, хоть и удобно иногда что-то доспросить.

@ai_driven


Luna - потрясающая модель для Code Review

Собственно, похоже, что GPT 5.6 Luna max сейчас лучшая моделька для код ревью по соотношению цена-качество, да и в принципе одна из лучших моделей для ревью.

Это подтверждают как наши внутренние бенчи на Code Review, так и новый бенчмарк от Vercel DeepsecBench (да да, бенч на секьюрити в принципе можно смело экстраполировать на код ревью).
С учетом ее предельной дешевизны, крайне рекомендую включать ее в свои пайплайны - как для ревью, так и для исследований контекста.

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

А еще, там DeepSWE bench обновили изрядно модельный ряд и новая дипсик 4 флеш там уж очень хороша - практически на уровне grok 4.5/sonnet 5 (53% vs 54%) при цене более, чем в 20 раз дешевле и в 264 раза дешевле sonnet 5. Китайцы снова жгут. Если вы у себя в компании крутите локально модельки - точно стоит присмотреться.

Upd: в комментариях подписчик подсказывает способ ускорения Luna в качестве субагента

@ai_driven


Не все мне нравится в UX десктопной версии Claude Code, но надо отдать им должное - фича просмотра прототипов прямо в диалоге Claude Code просто бомбическая.
Раньше для этого требовалось просить сгенерить HTML, и отдельно открывать ее в браузере - не очень удобно.
Напомню, что прототип - это супер крутой и быстрый способ еще до того, как агент написал хоть строку кода, посмотреть как будет выглядит результат и направить . С точки зрения UI/UX важнейшая штука.
Там же можно по нажатию на три точки скопировать прототип сразу в виде картинки.
Еще можно прямо в вариантах прототипа просить агента оценивать объем работы, потенциальный blast radius и риски по каждому варианту.

На скрине CC очень быстро воспроизвел UI чата CodeAlive и отобразил его в виде виджета прямо в диалоге с агентом.

Upd: В комментариях подписчик подсказал, что Codex теперь тоже такое умеет - тригерится через скилл visualize. Будем юзать. Из интересного: можно прототип сразу в виде live сайта опубликовать или скопировать в виде изображения.

@ai_driven


Важность исследования контекста

Тема заезженная, но я сейчас кодю с Opus 5 и, конечно, провожу новую фичу через research стадию и интервью. Собственно, хоть фича и совсем небольшая, даже после того, когда кажется, что все готово, я все равно прошу опуса доисследовать контекст и проработать корнер кейсы и он действительно находит что-то новое и мы учитываем дополнительные инварианты, т. е. не зря просили доисследовать. Вообще, может показаться, что с появлением новых сильных моделей и харнессов проблема исследования контекста (research фазы) решена. Тем более, я даже явно попросил агента о дополнительном исследовании. Но что в действительности? Вы помните, что у меня Grok Heavy подписка с практически бесконечными лимитами, поэтому я смело попросил опуса запустить 5 сфокусированных грок агентов поисследовать глубже все ли мы с ним учли в спеке. Результат: гроки нашли 9 релевантных пробелов, которые мы не учли в спеке. Ну, всё, куда уж дальше-то копать? Ан нет, грок-то бесконечный у нас, давайте еще один проход 5-ти субагентов запустим. Результат: еще +4 находки.
Ну, теперь-то уж точно всё, сколько можно? в 2025-й что ли вернулись? Почти. Мы тут недавно CodeAlive агента перевели на GPT 5.6 Luna (кстати, невероятно цепкая и крутая в исследовании и в code review модель), хороший повод проверить новый режим глубокого анализа нашего агента (он специально запромптчен, чтобы предельно глубоко копать)... Отправил. 2 минуты поисков и вуаля, еще +6 находок и пробелов в спеке, которые Опус потом подтвердила и исправила. Ну, и финально фейблом тоже прошлись, которая дала еще 3 полезных замечания по спеке и несколько мелочей. И только теперь спека готова к реализации.

Почему так сложно? Две главные причины:
1. Да, фича хоть и небольшая, но нетривиальная и идет в некоторый конфликт с существующей механикой.
2. Кодовая база уже довольная большая и непростая - за 2+ года набралось более полу миллиона строк кода в сумме, это тоже усложняет задачу агенту.
Количество ручной работы при этом можно сократить, завернув всю церемонию в скилл (вы тогда на вопросы будете отвечать где-то ближе к началу и в конце, т. к. каждый новый ваш ответ может поменять траекторию и потребовать доп. проверку контекста).

В целом, чем более легаси проект, тем актуальнее будут все эти долгие и упорные перепроверки и тем сложнее будет стадия планирования. Особенно если вы, как и я, хотите за one-shot получить около prod-ready результат. Теперь когда вы услышите, что агенты не работают в enterprise, вы знаете каким постом ответить.

Кстати, почему не Haiku 4.5? Хайку очень слабая модель на фоне Грока и Luna, она просто видит сильно меньше и уже подводила меня, поэтому теперь не советую ее (в крайнем случае Sonnet 4.6 хотя бы если у вас только клод подписка).

Расскажите как у вас теперь выглядит стадия планирования? Вот теперь думаю раз CodeAlive так здорово спеки умеет ревьюить и граундить, может, есть смысл упаковать это в отдельный MCP/skill метод и отдать агентам в пользование? Актуально это?

@ai_driven


Какой-то баг с реациями в ТГ случился (навайбкодили опять) и были доступны только дизлайки и сомнения, поэтому мы с дядей Бобом собрали рекордное кол-во дизайков под постом, я еще начал думать, что никто уже не читает такие "длинные" посты до конца. Короче, если вы хотели отреагировать как-то иначе - теперь можно. А еще лучше - подключайтесь к дискусси, тк дебаты разгорелись нехилые в комментариях...


Агентам не нужен TDD

Дядя Боб говорит, что TDD вообще-то для людей и агентам совсем не обязателен, ведь у агента дела с краткосрочной памятью обстоят куда лучше, чем у людей.
А что нужно агентам по его мнению? Юнит тест, CRAP метрика и мутационное тестирование... Кто-то считает CRAP и делает мутационные тесты? Если первое ещё иногда интересно, то второе довольно спорная техника - если практикуете расскажите.

TDD != тесты
А по поводу TDD (его щас прям любят вайб кодеры тиражировать), то давно понятно, что классический TDD цикл (красный тест > код > зелёный тест > рефакторинг, причем мелкими итерациями) с агентами больше похож на прожигание токенов, чем на что-то полезное. Смысл имеет скорее разнообразные тест кейсы перед реализацией продумывать с агентом (включая интересные техники типа pairwise testing), сохранить их в маркдаун или (по BDD или нет - не принципиально).
Ну и, конечно, одних лишь юнитов недостаточно совсем, они в принципе часто мало чего хорошего дадут проверить просто by design - идеально использовать умную связку из разных видов тестов - по пирамиде тестирования или лучше даже по трофею (статические проверки), ну или на худой конец хотя бы e2e или browser use/computer use.
А когда вайб кодеры говорят про важность TDD часто просто имеют в виду, что нужно тестировать и верифицировать результат - что, конечно, бесспорно. Но Кент Бэк TDD это же не про это, это именно про красный тест > код > зелёный тест. Вот так начинают путаться классические термины с этими нашими вайб кодингами... В общем, если вы ещё используете TDD с агентами - скорее всего, он вам им не нужен.

@ai_driven


Мой тест на AGI




Kimi K3 и ревью моделями разных семейств

Ну как вам новая Kimi K3? Медленно? Если использовать ее не как основную модель, а как еще одно мнение - вполне норм, тем более, что она действительно находит интересное в дополнение к Опусу. Сейчас как раз работаю над очень сложной задачкой по улучшению комплексного и длительного воркфлоу, он должен быть устойчивым к разным сбоям, там всякие outbox'ы, умные фолбеки и другие нетривиальные штуки, в которых нейронки часто ошибаются. Предыдущие агенты полноценно не могли осисить эту задачу - постоянно что-то где-то вылетало. План делали уже по традиции Sol, Fable, Opus и даже Kimi K3 - в комплексных (или исследовательских) задачах, когда много unknown unknowns чем больше хороших и разнообразных моделей - тем лучше. Но даже самый сильный план не всегда гарантия идеального кода, поэтому в таких случаях есть смысл еще и итоговую реализацию дополнительно ревьюить (тем более, что исполнителям иногда свойственно срезать углы). Так вот, конкретно в этом кейсе ревью я прогнал через Opus 5 (medium) и Kimi K3 (max) (на DeepSWE, кстати, у обоих 69%). Результаты на скрине.
Собсна, чье ревью сильнее даже не так важно в данном случае, важнее - кол-во уникальных (не пересекающихся) находок, а их 4 у Kimi и 5 у Opus - т. е. кими дополнила ревью опуса аж 4-мя находками и главное все они оказались релевантны. Однозначно беру в коллекцию ревьюеров. Будем наблюдать дальше.

Кстати, в самых тяжелых случаях все еще можно отправить архив релевантных файлов на ревью в GPT 5.6 Pro. Но тут сразу важный нюанс - если у вас такая задача, что самые мощные модели 2+ раза подряд находят реальные проблемы, то это хороший повод задуматься о том, что, скорее всего, все-таки есть переусложнение, и, вероятно, на нее уже есть готовое и хорошо протестированное решение - возможно, будет дешевле поискать их получше. Ну, либо задача слишком большая и стоило бить ее на меньшие сабтаски.

Про Опус 5: хоть ее все равно все еще приходится направлять и подсказывать (а вы что хотели?), мне моделька нравится - весьма понимающая и не соглашается на все в подряд. А слог ее так вообще шикарен. GPT семейство по традиции общается довольно сухо, у Opus'а же наоборот частенько проскакивают нотки гуманитария, речь богаче и живее - это приятно.

Что касается практической части, то напомню, что ревью я запускаю через скилл agents-consilium - он теперь наблюдаемый и умеет стримить прогресс вызывающей стороне - стало сильно удобнее. А еще, там появилось два совершенно новых режима explore и delegate, про которые я расскажу отдельно.

Итого, текущий джентельменский набор вайб-кодера agentic инженера: Опус/Фейбл/Sol/Kimi K3 - план и интервью, Grok 4.5 (ну или Terra/Luna) - исследование контекста и реализация, и все те же Опус, Фейбл, Sol, K3 код-ревью. Стадию плана лучше дополнять парочкой очень важных скиллов для борьбы со сложностью (FPF, code-that-fits-in-your-head).

Kimi K3 я использую внутри OpenCode через подписку OpenCode Go за 10$/мес (моя рефка с бонусом) и еще держу резерв на Synthetic за 30$ (моя рефка тоже с бонусом).

@ai_driven


Аномалии Opus 5 и оптимальный reasoning effort

Если вы используете агентов так активно, что даже 200$ лимитов вам не хватает, ну или просто хотите получать адекватный результат быстрее (иногда в разы), то надо озаботиться выбором оптимального уровня размышления модели. Так вот, из официального анонса это неочевидно, а вот из системной карточки вполне.

И там видно, что в Opus 5 medium effort часто оказывается даже эффективнее, чем Fable high. При цене почти в 3 раза меньше. Видимо, теперь medium будет дефолтным выбором для пятого опуса. А во Frontier Code Opus 5 medium и вовсе показывает результаты существенно лучше, чем xhigh версия (что, конечно, подозрительно, но ОК).

Еще, в системной карточки появились мультиагентные бенчи, и один из них ProgramBench - так вот, там команда из 5-ти агентов достигает того же результат в 2.2 раза быстрее, чем одиночный агент. Привет всем любителям мультиагентных систем.
Похоже, что секцию 8.11 Multi-Agent в принципе есть смысл прочитать вдумчиво.

И любопытный факт - новенький FrontierBench v0.1 (уже третий "фронтир" све бенчмарк) они прогоняли не в родном харнессе, а в mini-SWE-agent. Результатов прогона medium effort нам почему-то в отчете не дают, только xhigh и high.

@ai_driven


Opus 5

Похоже, все-таки придется снова брать Claude 200$...

Для гурманов: Opus 5 System Card. (193 страницы paper!)


Все лимиты и ресеты для Codex 200$ закончились. Рекорд - расход 2 недельных подписки за сутки (работа над RepoContextBench v2 ведется полным ходом). А Claude медленный, да еще и с лимитированным фейблом. В итоге, взял Грока за 300$ 100$ - говорят, там лимиты почти бесконечные и все очень быстро. Грок за 30$ мне понравился как по качеству, так и по скорости.
Грока я использую в качестве исполнителя внутри OpenCode (возможно, перееду теперь на его нативный харнесс Grok Build) через свой скилл agents-consilium, его вызывает Codex App или Claude как субагента, поэтому получается очень удобно.

Итого, сетап теперь такой:
Планирует Fable или GPT-5.6 Sol high/xhigh, а что вместе. Иногда GPT 5.6 Sol Pro.
Выполняет Grok 4.5 high
Ревьят: Opus 4.8, GPT 5.6 Sol, GLM 5.2 и по итогу Fable. Позже добавлю Kimi K3 в ревьюеры и посмотрим еще на возможности релизной DeepSeek V4 Pro и Qwen 3.8.
Итого 4 подписки: Codex 200$, Claude 100$ (для Fable и ревью), OpenCode 10$ для ревью через китайцев (для работы практически бессмысленная, только нечастые ревью разве что).

Есть еще темная лошадка SWE 1.7 от ребят из Devin - супер быстрый (на Cerebras чипах) и, судя по Frontier Code, с классными результатами. Если кто пробовал - отпишитесь.

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

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

@ai_driven


Вырубал комментарии временно, защищаясь от наплыва ботов. Сейчас вернул - пишите!


Ну, это так для сравнения (DeepSWE 1.1).
Юзает ли кто-нибудь Gemini нынче? Кажется, совсем у них дела плохи. Раньше хоть дешевые мелкие модели были (мы в CodeAlive вовсю их гоняли при индексации), а сейчас вообще юзкейсы непонятны.
Я, кстати, в добавку к Codex и Claude взял еще на Grok подписку и использую в кач-ве ревьюера - действительно находит много интересного, я доволен.
А Fable использую как эксперта-консультанта, вызываю просто из Codex через свой скилл agents-consilium.
Еще молва пошла, что квен 3.8 якобы дюже силен. Но бенчмарков нету вообще, что подозрительно. Успел уже попробовать кто-нибудь новый квен? У меня уже хобби команду ревьюеров из сильных моделей собирать: обычно 5.6 Sol medium/high делает, затем зовет Grok 4.5/GLM 5.2/Opus 4.8 ревьюить, затем когда у простых работяг вопросов не остается, передает работу Fable на ревью. Видимо, команда моя скоро пополнится новой кими и квеном.

@ai_driven



20 ta oxirgi post ko‘rsatilgan.