AI-Driven Development. Родион Мостовой
5.19K subscribers
106 photos
3 videos
1 file
131 links
Увлекательно рассказываю про AI в разработке, про построение продуктов с LLM под капотом и иногда про .NET.
Связь: @rodion_m_tg
Чат: @ai_driven_chat
Download Telegram
"Исходи из того, что пьяный пользователь использует наш продукт"

Вы же знаете как я люблю UX (понятность и удобство продукта)? В общем, небольшой, но очень мощный пет-проект сейчас пилю для безопасного хранения API ключей и прочих секретов, там немало GUI/CUI и в очередной раз сталкиваюсь с тем, что агент делает плохой UX, его постоянно приходится поправлять. Добавил вот такую строчку в AGENTS.md, чтобы поправлять его не так часто:

For every product-facing change, think through the "drunk user" path: a tired, distracted, impatient user should still understand what just happened, what is safe to click next, and whether the system is waiting, broken, or done. Avoid ambiguous labels, hidden toggles, silent waits, stale loading states, and choices that require remembering implementation details. Prefer one explicit next best action.


Т. е. "При каждом изменении продукта, продумывай флоу с точки зрения пьяного пользователя". Понятно, что не панацея, но точно сильно лучше, чем ничего. Увы, так получается, что программисты сами часто не понимают как сделать хороший UX/DX. И вообще, мало кто понимает. А лучшим UX-чекапом будет наблюдение за вашим целевым пользователем-человеком за тем, как он использует ваш продукт с нуля без всяких объяснений.
И повторюсь, что я искренне верю, что будь в приложениях продуманный UX, люди в мире был бы немного счастливее :)

P.S. Много о чем есть рассказать на тему безопасности в эпоху агентной разработки - напишите в комментариях какие конкретно сабтопики для вас наиболее актуальны. И напомню про свои хуки безопасности для агентов, которыми делился недавно.

@ai_driven
👍17😁6
Похоже, что последнее обновление Codex App врубило какую-то дико назойливую песочницу, которая задает кучу лишних вопросов когда не надо, да еще и с ходу не отключается.
В общем, нашел как отключить полностью.
В файле ~/.codex/config.toml нужно указать:
default_permissions = ":danger-full-access"
approval_policy = "never"


Как обычно, используем осторожно. Обязательно в связке с собственными хуками типа моих.

@ai_driven
13
Голосовой ввод + параллельная работа агентов

Вы же уже используете голосовой ввод? И агентами параллельными наверняка работаете над одним проектом. Там есть тонкая грань между worktrees и no worktrees - я обычно использую ворктри при параллельной работе над большими фичами, а если же ведется точечная работа не очень большими ченжсетами, то часто достаточно правильно проинструктировать агентов.
В общем, вот неплохой сетап для вашего AGENTS.md / CLAUDE.md при AI-Native разработке, который должен упростить жизнь вам и вашим агентам:

## Workflow

- Parallel agent sessions may work on this project at the same time. Treat unexpected file changes as legitimate work by another correctly running agent unless there is clear evidence otherwise. Do not clean, revert, overwrite, reformat, or "fix" changes you did not make. If your work conflicts with concurrent changes, pause briefly, re-read the affected files and `git status`, then retry with a smaller, targeted change that preserves the other agent's work. If the conflict still cannot be resolved safely, stop and explain the conflict instead of forcing your version.
- Tasks in this project are often dictated by voice and transcribed through ASR, so task text may contain recognition errors, especially in technical terminology, names, commands, and product terms. When the intended meaning is clear from repository and club-agent context, infer the likely intended term and proceed. When the ambiguity materially affects the implementation or safety of the work, ask the user for a concise clarification before continuing.
- At the end of every agent session, commit completed work to the local Git repository.
- Do not push commits unless the user explicitly asks for or approves a push.


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

Upd: Для ASR использую Codex. Он с недавних пор умеет на уровне ОС тоже работать, а задачи на русском языке надиктовываю.

@ai_driven
👍106
Если вы по каким-то причинам еще не вайбкодите, но зачем-то читаете меня, то объявляю last call на третий поток курса по вкатыванию в вайб-кодинг.

Стартуем 22 июня, уже в этот понедельник. Инструменты развиваются стремительно, поэтому собрал офигенную обновленную программу под современные реалии.

Расскажу и покажу, как делать ботов, сайты, мобильные приложения.
Помогу с настройкий и покупкой необходимых инструментов.
Рассказываю не просто «что и как», но еще и «почему», короче, до кучи это экспресс-курс по вкатыванию в архитектуру современного IT

Курс веду лично, так что вы все узнаете непосредственно от меня, а не в десятом перессказе 🙂

Отзывы и подробную программу смотрите тут: https://glebkudr.com/courses/vibecoding

Скидка 10% по промокоду GLEB3 💵
👍6👎3
Тут друг нашего канала Глеб Кудрявцев запускает новый поток по вайбкодингу. Я отправил на него своего брата (он у меня композитор, на секундочку!), расскажу вам потом про результаты по итогу. Может, даже стрим с ним сделаем про его путь (надеюсь не забросит).

https://t.me/gleb_pro_ai/625
11👎4
Вижу Сергея Теплякова - ставлю лайк. Сергей - один из самых хардкорных чуваков из мира .NET (один только его доклад про отладку асинхронного кода чего стоит) и довольно известный деятель в индустрии. Он автор книги "Шаблоны проектирования на C#", которая в до ИИ эпоху у меня была настольной. А ещё, Сергей всегда очень интересно рассказывает. В общем, не могу с вами не поделиться. За ИИшку и всякие солиды ребята тоже поговорили.
Спасибо Кириллу за такого крутого гостя: https://t.me/orgprog/489

По теме выпуска поделюсь сразу своими мыслями. Я раньше с большим интересом следил за обновлениями своего, можно сказать, родного языка C# - кайфовал когда появился NRT (nullable ссылочные типы, нынче это база во многих современных ЯП), радовался всяким switch expression, pattern matching и тд и очень ждал появления поддержки discriminated union, (которого, кстати, так до сих пор и нет). Так вот, для меня лично, с появлением и развитием агентной разработки, практически все вопросы фич языка потеряли смысл по очевидной причине - 99% я теперь пишу на русском или на английском языке. Больше того, я убежден, что, как минимум, для условных MVP уже можно в принципе выбирать тот ЯП, который лучше подходит под решение конкретной задачи - я сам уже успешно пишу программы на Python, TypeScript, Go и даже на Swift когда это нужно. Мне, кстати, представляется, что в большинстве случаев, когда мы говорим о бытовом софте с веб интерфейсом: full stack TypeScript + какой-нибудь ultracite может быть лучшим выбором по умолчанию. Вот такие мысли у меня.
А что вы думаете про новые фичи в ЯП и про возможность выбрать ЯП под задачу?

@ai_driven
5
AI-Driven Development. Родион Мостовой
OS Deep Cleaner + Health Checker: новый кейс с кодагентами С чего бы это в канале про AI кодинг я рассказываю об очистке мака и поддержании его в здоровом состоянии? Да все дело в том, что ваш покорный слуга в последнее время весьма активно начал работать…
OS Deep Cleaner теперь доступен для Windows.

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

Версия для Windows: https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/maintaining-windows-health

Версия для macOS: https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/maintaining-macos-health
👍125
А кто очередь сообщений юзает в Codex App? Я прям активно использую и считаю эту фичу большим UX-преимуществом в сравнении с консольными агентами. Ну Cmd+Enter для моментальной отправки команды и, фактически, корректировки/уточнения движения агента мне тоже очень нравится, в Claude Desktop этого прям не хватает.
Так вот, оказывается, очередь сообщений в Codex App можно реранжировать - то есть, меня последовательность, в которой сообщения будут докидываться агенту надо просто за квадратик слева от сообщения перетащить его выше или ниже. Не знаю как давно так стало можно, но я нашел только сейчас - очень удобно. И быстрая навигация по сообщениям (на втором скрине) тоже тема.

А вам какие UX фичи в Codex/Claude Desktop нравятся больше всего? Особенно неочевидные.

@ai_driven
1👍188
1М контекстное окно - прорыв или фикция?

Context Arena забенчмаркали стойкость контекста для GLM 5.2 и Opus 4.8 - значит, это хороший повод нам вспомнить про контекстную инженерию.
На бенчмарке отчетливо видна существенная просадка внимательности моделей на 512к контексте: в среднем, почти в 2 раза в сравнении с 64к контекстом и примерно в 1.5 раз в сравнении с 128к контекстом - грубо говоря, для нас с вами это означает то, что на 512к контексте агент будет терять в полтора раза больше деталей, чем на при 128к заполненности. Для открытых моделей проблема потери контекста особенно актуальна, поэтому практический вывод такой, что по-хорошему, с ними стоит держать заполненность контекстного окна не выше 128к, а лучше даже меньше - ни о каком 1М, конечно, и речи не идет, там просадка будет колоссальной. Кстати, у моделей Kimi K2.6 и, тем более, Minimax M3 дела обстоят еще хуже.
Что еще? Открыв закрытых моделей на большом контексте от открытых все еще впечатляет, хоть уже и не такой драматичный - спасибо DeepSeek за DeepSeek Sparse Attention, которую в GLM-5.2 развили через IndexShare. Кстати, о GLM 5.2 - как видно, моделька действительно на удивление успешная в т. ч. на больших контекстах. Opus 4.8 идет рядышком с GPT 5.5, но последняя все равно сильнее, особенно на совсем больших контекстах. На этом месте вспоминаем интересную деталь - в Codex App по дефолту контекстное окно для GPT 5.5 все еще 256к - то есть, по сути, точность всегда остается где-то на уровне 75%+- (по MRCRv2), а благодаря превосходному алгоритму компактизации, команде Codex удается сохранить все действительно важное так, что эти компактизации обычно и не заметны вовсе - то есть, конкретно в случае с Codex проблему контекстной инженерии ребята здорово решили на уровне модели и на уровне Harness (обвязки), в то время, как Claude Code в этом аспекте требует чуть больше ручной работы - модель на 1M контекста там включается прямо в выпадающем списке (велик соблазн ее включить), но кажется, что простой обыватель зачастую не очень понимает, что переключение на эту модель потребует от него ручного управления контекстом - как только контекст переваливает за условные 200к, начинается зона риска, в которой нужно либо переходить в новый чат, либо, хотя бы, вызывать компактизацию - что и приходилось делать. Что уж говорить, что пользователям открытых моделей за загрузкой контекста все еще стоит следить куда пристальнее. Короче, в 2026-м контекстную инженерию (в которую входит контроль % заполнения контекстного окна) пока никто не отменял - чем больше забит контекст, тем сильнее приходится надеятся на удачу.
И, конечно, не забываем про контроль AGENTS.md, скиллов, MCP, progressive disclosure и т. д. - тоже все составляющие context engineering, с открытыми моделями все это становится еще важнее.

Кстати, современная версия Context Arena прогоняет бенчмарк MRCRv2 от Google DeepMind (GDM-MRCRv2).

Paper про MRCRv2 (Michelangelo)
Датасет MRCRv2

А как вы менеджите контекст? Обращаете ли внимание на % заполнения? Наблюдаете ли просадки в качестве output модели на больших контекстах?

@ai_driven
👍219
Sonnet 5 и косты

Тема костов становится все более актуальной не только для компаний, но и для индивидуалов.

Как только появилась Соннет 5, многие стали говорить о том, что это лучшая модель по соотношению цена/качество - люди смотрят на результаты модели, на raw стоимость токенов и делают выводы. Но что стоит модели достичь таких результатов? Сколько шагов ей нужно сделать и сколько токенов сжечь? Помните тот анекдот про музыканта виртуоза?
На улице недалеко друг от друга подрабатывают два гитариста - молодой и старый. Молодой музыкант показывает суперскоростную технику, "пилит" по всему грифу, сногсшибательно импровизирует, а старый скромно стоит в сторонке и извлекает вдумчиво пару-другую нот. Около молодого гитариста - никого, около старого - толпа народу.
Один слушатель не выдержал, подошел к старому музыканту и спрашивает: "Как так получается, что тот молодой музыкант быстро играет, показывает фантастическую технику, и его никто не слушает, а вы спокойно играете несколько нот и вас слушает толпа народу?" Старый музыкант подумал и ответил: "Он только еще ищет свою ноту, а я уже нашел..."

Забавно, но для LLM этот принцип часто тоже работает - более мощные и умные модели (GPT 5.5, Fable) за меньшее количество шагов достигают той же цели, сжигая в разы меньше токенов на пути. И новая Sonnet 5 как раз отличный пример такого поведения - она на столько много "ищет", что в итоге на многих задачах по цене выходит дороже Opus 4.8 и прям ощутимо дороже GPT 5.5. Не мудрая, в общем модель)

Например, из CursorBench можно увидеть, что Sonnet 5 high с результатом (57%) vs GPT 5.5 medium (59.2%) получается. То есть, даже с учетом скидки Sonnet 5 может оказаться дороже GPT 5.5. Любопытно, что ни по FrontierCode ни по CursorBench результаты не опубликовали в анонсе, они есть только в system card.
Понятно, что по API сейчас соннет дают с небольшой скидкой, что все-таки делает ее слегка дешевле, чем Opus 4.8, но каким образом Sonnet 5 будут чарджить по подписке - пока загадка.

Ждем другие бенчмарки для объективности, но по костам картина уже вырисовывается довольно объективная. И конечно, ждем новое семейство GPT 5.6 - там как раз наоборот по соотношению цена-качество ожидают куда более интересное соотношение, особенно у средней модели Terra.

Что касается меня, то я уже недели три как почти полностью пересел на GPT-5.5 (сразу после отключение Fable), и при оптимальном выборе reasoning - medium / high, в целом, лимитов на 200$ подписке стало хватать на всё. Fable, видимо, буду использовать точечно, как и писал выше в своем обзоре - и смысла теперь в Claude подписке без Fable не вижу, разве что для ревью когда нужен "независимый взгляд".

Ну и напомню, что если цель - сокращение костов и у вас большая кодовая база (1М+ строк), то хороший контекстный движок (например, CodeAlive) - это один из наиболее выгодных способов снижения костов (и существенного ускорения стадии ресерча кодовой базы заодного). Конкретно на exploration даже на небольшой кодовой базе сокращение потребления токенов получается -45% в среднем в нашем RepoQA бенчмарке.

Источники:
Твит от Artificial Analysis на эту тему.
Sonnet 5 System Card (для тех, кто любит копать глубже - похоже, что они прогоняют Main набор FrontierCode на 100 задач).

Расскажите про свои впечатления от Sonnet 5 и актуальна ли для вас вообще проблема костов/экономии токенов.

@ai_driven
8👍7
/goal или вайб-кодинг по ключ

Тут наш друг Костя Доронин хороший кейс с /goal описал про, фактически, создание приложений "под ключ", когда агент по подробному плану может работать сутки и более: https://t.me/kdoronin_blog/1312

Но там есть пара важнейших нюансов, которые я не смог не прокоментировать, продублирую:
При всей моей любви к GPT 5.5 Pro - это вообще не панацея. Я довольно часто использую эту модель для разных задач, в т. ч. для V0 примерно как Костя описал и хочу сказать, что GPT 5.5 Pro это все еще совсем не магия. В кейсах "приложение под ключ с нуля" именно этап интервью критически важен - чем оно подробнее тем лучше результат на выходе. И в целом, такой подход довольно рискованный. Даже Pro модель часто такую дичь может напланировать, что можно вообще приложение свое не узнать после этих 26-ти часов. И, конечно, бизнесовый контекст в этом случае очень важно давать - для кого приложение, нефункциональные требования (профиль нагрузки, например), иначе может как переусложнить (часто) так и упростить не там, где надо.
Ну и UX лучше отдельно прорабатывать - а то, вроде, все красиво делает и функционально, но дико неудобно и совершенно непонятно для пользователя, который видит приложение в первый раз. Поэтому по UX прям отдельно интервью лучше провести, а по-хорошему, сначала макеты посмотреть.

Кстати, раз уж про инженерию с нуля заговорили, расскажу про свой мини-проектик новый, вайб стек называется. Короч, помимо бизнесовых требований, чтобы разработка и сопровождение шли как гладко, довольно важно еще и с технологиями оптимальными определиться - собсна, вайб стэк эту проблему и решает, давая очень оптимальные opinionated дефолты: https://github.com/CodeAlive-AI/vibe-stack/
На днях подробнее расскажу подробнее про эту штуку.

@ai_driven
👍145