⚪️ Пост-анализ эвала на ревью по Priority классификации
#ddeval #feb2026eval
Решил еще немного помучать агента статистикой. На сей раз посмотреть сколько проблем категорий P0-P4 обнаружили агенты.
🟢 Все знают что такое P0-P4? Это стандартная классификация выявленных проблем по критичности (P- как раз от Proprity). Все модели знаю про эту классификацию и неплохо ею пользуются. Вот вам пучок теории:
0️⃣ P0 (Critical/Blocker): Критическая ошибка. Блокирует выкладку (релиз). Код нельзя мержить ни в коем случае, так как он сломает билд, нарушит безопасность или уронит систему.
1️⃣ P1 (High): Важная правка. Ошибка в логике, отсутствие тестов для важного функционала или серьезное нарушение архитектуры. Исправить нужно обязательно перед мержем.
2️⃣ P2 (Medium/Normal): Стандартное замечание. Мелкие баги, нарушение стайлгайда или неоптимальный (но рабочий) код. Обычно ожидается исправление, но в экстренных случаях можно обсудить перенос в техдолг.
3️⃣ P3 (Low): Пожелание (Nitpick). Незначительные опечатки в комментариях или предложения по микро-оптимизации. Исправление на усмотрение автора, мержить можно и без них.
4️⃣ P4 (Trivial/Inquiry): Вопрос или долгосрочное предложение. «А почему здесь так?», «В будущем стоит это переписать». Не требует немедленных действий.
👉 Простая, но удобная классификация. Посмотрите на табличку в картинке! напомню:
• G=GLM
• K=Kimi
• M=Minimax
• O=Opus
• GM=Gemini
• C=Codex (gpt 5.2)
любопытные результаты:
• блокеры находят ВСЕ модели, не только фронтир
• киты по совокупности нашли больше важных косяков, чем фронтир
• напомню, что не все находки были верифицированы, и у фронитра процент верификации значительно выше
ИТОГО: все модели нам нужны, все модели нам важны!
@deksden_notes
#ddeval #feb2026eval
Решил еще немного помучать агента статистикой. На сей раз посмотреть сколько проблем категорий P0-P4 обнаружили агенты.
🟢 Все знают что такое P0-P4? Это стандартная классификация выявленных проблем по критичности (P- как раз от Proprity). Все модели знаю про эту классификацию и неплохо ею пользуются. Вот вам пучок теории:
0️⃣ P0 (Critical/Blocker): Критическая ошибка. Блокирует выкладку (релиз). Код нельзя мержить ни в коем случае, так как он сломает билд, нарушит безопасность или уронит систему.
1️⃣ P1 (High): Важная правка. Ошибка в логике, отсутствие тестов для важного функционала или серьезное нарушение архитектуры. Исправить нужно обязательно перед мержем.
2️⃣ P2 (Medium/Normal): Стандартное замечание. Мелкие баги, нарушение стайлгайда или неоптимальный (но рабочий) код. Обычно ожидается исправление, но в экстренных случаях можно обсудить перенос в техдолг.
3️⃣ P3 (Low): Пожелание (Nitpick). Незначительные опечатки в комментариях или предложения по микро-оптимизации. Исправление на усмотрение автора, мержить можно и без них.
4️⃣ P4 (Trivial/Inquiry): Вопрос или долгосрочное предложение. «А почему здесь так?», «В будущем стоит это переписать». Не требует немедленных действий.
👉 Простая, но удобная классификация. Посмотрите на табличку в картинке! напомню:
• G=GLM
• K=Kimi
• M=Minimax
• O=Opus
• GM=Gemini
• C=Codex (gpt 5.2)
любопытные результаты:
• блокеры находят ВСЕ модели, не только фронтир
• киты по совокупности нашли больше важных косяков, чем фронтир
• напомню, что не все находки были верифицированы, и у фронитра процент верификации значительно выше
ИТОГО: все модели нам нужны, все модели нам важны!
@deksden_notes
❤10🔥3❤🔥1
⚪️ Мультисемплинг для агентов в ревью
При обсуждении последнего эвала #ddeval #feb2026eval родилась интересная идея - а что если затестить как влияет мультисемплинг на результаты моделей?
Я мультисемплинг весьма уважаю, но теоретически. А сейчас бы посомтреть на влияние на результат для конкретных моделей.
▶️ Пока идея следующая. Берем состояние проекта как для эвала использовалось - то есть делаем все на той же самой базе. Запускаем 10 экземпляров агентов:
• kimi k2.5
• glm-5
• gemini 3 pro
Почему их? Два кита с топовыми результатами и одну фронтирную модель (самую нефронтирную из фронтирных, зато с огромным контекстом, быструю и с крупными лимитами)
И делаем тот же самый эвал, только @10 семплингом. И смотрим - как оно с общим количеством найденных проблем соотносится, как с @3 результатом агента на эвале соотносится - в общем, там подумаем как проанализировать
🟢 Идея мне показалось интересной, попробую сделать! Пока зацените как выглядит @10 агентов в ассортименте три штуки.
👉 Из интересного: gemini без проблем сделал 10 сессий и запраймерился. А вот glm втупил в какие то лимиты. На сайте написано конкурентность - 5 запросов! Еле еле пока сделал 8 сессий, последняя праймерилась 12 минут. При том что несколько сессий отработало а 40 секунд. Вот вам и компьют! Kimi не стал рисковать паралелльностью - одну за другой делал, легко и быстро сделал все 10 сессий.
Вот так наглядно видно что у GLM нынче реально нехватает компьюта! Надеюсь починят
Продолжение следует ...
@deksden_notes
При обсуждении последнего эвала #ddeval #feb2026eval родилась интересная идея - а что если затестить как влияет мультисемплинг на результаты моделей?
Я мультисемплинг весьма уважаю, но теоретически. А сейчас бы посомтреть на влияние на результат для конкретных моделей.
▶️ Пока идея следующая. Берем состояние проекта как для эвала использовалось - то есть делаем все на той же самой базе. Запускаем 10 экземпляров агентов:
• kimi k2.5
• glm-5
• gemini 3 pro
Почему их? Два кита с топовыми результатами и одну фронтирную модель (самую нефронтирную из фронтирных, зато с огромным контекстом, быструю и с крупными лимитами)
И делаем тот же самый эвал, только @10 семплингом. И смотрим - как оно с общим количеством найденных проблем соотносится, как с @3 результатом агента на эвале соотносится - в общем, там подумаем как проанализировать
🟢 Идея мне показалось интересной, попробую сделать! Пока зацените как выглядит @10 агентов в ассортименте три штуки.
👉 Из интересного: gemini без проблем сделал 10 сессий и запраймерился. А вот glm втупил в какие то лимиты. На сайте написано конкурентность - 5 запросов! Еле еле пока сделал 8 сессий, последняя праймерилась 12 минут. При том что несколько сессий отработало а 40 секунд. Вот вам и компьют! Kimi не стал рисковать паралелльностью - одну за другой делал, легко и быстро сделал все 10 сессий.
Вот так наглядно видно что у GLM нынче реально нехватает компьюта! Надеюсь починят
Продолжение следует ...
@deksden_notes
🔥8❤3❤🔥1
Forwarded from Тимур Хахалев про AI Coding
Проблема кодинга с AI в том, что оно, внезапно, требует подготовки и с наскока не получится добиться надёжного результата.
Мои подписчики об этом точно знают
За 2025-й год я перепробовал много различных практик написания кода с AI. Примерно, начиная с лета, эти практики уже устаканились, к концу года скорректировались и вот, мы уже можем говорить о best practices, которые точно работают в AI coding.
Об этих best practices говорят и в OpenAI, и в Anthropic, в Spotify и других гигантах, но с опозданием на несколько месяцев.
Автор канала DEKSDEN Notes подготовил best practices по AI coding, а я упаковал это в статью.
Кстати, про автора Deksden
Вы могли видеть его черно-белую аватарку в различных чатах по AI, но возможно не все знают, что его зовут Денис Киселев и он AI SOLO предприниматель, AI-SWE эксперт, профессиональный поклонник моделей OpenAI, создатель своего собственного флоу разработки (он даже пилит свой собственный оркестратор!) и вообще крутой чувак!)
У него необоснованно мало подписчиков на канале, так что советую зайти к нему и подписаться!
◾️ DEKSDEN notes пишет про AI разработку и технологии
Статья о Best practices по AI coding
◾️Читать на Хабр
У кого есть возможность, пожалуйста, поддержите статью на Хабре
#ai_coding@the_ai_architect
Лайк, репост,
✔️ Тимур Хахалев про AI Coding, подписывайтесь!
Мои подписчики об этом точно знают
За 2025-й год я перепробовал много различных практик написания кода с AI. Примерно, начиная с лета, эти практики уже устаканились, к концу года скорректировались и вот, мы уже можем говорить о best practices, которые точно работают в AI coding.
Об этих best practices говорят и в OpenAI, и в Anthropic, в Spotify и других гигантах, но с опозданием на несколько месяцев.
Автор канала DEKSDEN Notes подготовил best practices по AI coding, а я упаковал это в статью.
Кстати, про автора Deksden
Вы могли видеть его черно-белую аватарку в различных чатах по AI, но возможно не все знают, что его зовут Денис Киселев и он AI SOLO предприниматель, AI-SWE эксперт, профессиональный поклонник моделей OpenAI, создатель своего собственного флоу разработки (он даже пилит свой собственный оркестратор!) и вообще крутой чувак!)
У него необоснованно мало подписчиков на канале, так что советую зайти к нему и подписаться!
◾️ DEKSDEN notes пишет про AI разработку и технологии
Статья о Best practices по AI coding
◾️Читать на Хабр
У кого есть возможность, пожалуйста, поддержите статью на Хабре
#ai_coding@the_ai_architect
Лайк, репост,
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤4👏1
⚪️ Droid
Текущий ассортимент моделей в дроиде весьма интересный, особенно тот факт, что у меня через Lenny на него подписка на год с мелким тарифом. Тестить все - самое оно!
Даже свежих китов завели с хорошими коэффициентами. И скоростного опуса за оверпрайс (6x)
Upd 1️⃣ : кто не в курсе, Droid - это семейство агентов от Factory.ai
Есть web/cli
Живут на https://factory.ai/. Тарифы за $20/$200.
@deksden_notes
Текущий ассортимент моделей в дроиде весьма интересный, особенно тот факт, что у меня через Lenny на него подписка на год с мелким тарифом. Тестить все - самое оно!
Даже свежих китов завели с хорошими коэффициентами. И скоростного опуса за оверпрайс (6x)
Upd 1️⃣ : кто не в курсе, Droid - это семейство агентов от Factory.ai
Есть web/cli
Живут на https://factory.ai/. Тарифы за $20/$200.
@deksden_notes
👍8
⚪️ Qwen 3.5
Новость о выходе свежего квена все видели?
🔗 https://qwen.ai/blog?id=qwen3.5
Так вот - он уже в CLI!
Где же время найти вас всех потестить?
Кстати, укаан qwen3.5 Plus, а у него вроде 1m контекста...
Во всяком случае так думает OpenRouter: https://openrouter.ai/qwen/qwen3.5-plus-02-15
Интересно - какой в CLI завезли и будет ли там 1m?
Free tier очень щедрый, кто не знает: Sign in with Qwen OAuth to get 1,000 free requests per day.
🔗 Читать тут: https://qwenlm.github.io/qwen-code-docs/
@deksden_notes
Новость о выходе свежего квена все видели?
🔗 https://qwen.ai/blog?id=qwen3.5
Так вот - он уже в CLI!
Где же время найти вас всех потестить?
Кстати, укаан qwen3.5 Plus, а у него вроде 1m контекста...
Во всяком случае так думает OpenRouter: https://openrouter.ai/qwen/qwen3.5-plus-02-15
Интересно - какой в CLI завезли и будет ли там 1m?
Free tier очень щедрый, кто не знает: Sign in with Qwen OAuth to get 1,000 free requests per day.
🔗 Читать тут: https://qwenlm.github.io/qwen-code-docs/
@deksden_notes
❤9🔥4❤🔥1👍1
⚪️ Проблемы фронтирного AI SWE
Петя тут делится:
🔗 https://x.com/steipete/status/2023057089346580828?s=20
популярность - это такое: PR прут с "нереальной" скоростью - разобрал и сделал 600 коммитов за полный день, было 2700 PR, cnfkj 3100 )))
Инструментов, которые дедуплицируют PR, и оценивают насколько PR близок к "видению" продукта нету. Думаю, никто и не осознавал что такие проблемы бывают! Что вам может понадобиться разобрать 3100 PRs.
Ближайший инструмент оказался Approvability в beta тесте, но он не умеет в дедупликацию.
https://macroscope.com/blog/introducing-approvability
Инструмент представлен 13.02 )))
В общем, интересно смотреть за фронтирными темами
@deksden_notes
Петя тут делится:
🔗 https://x.com/steipete/status/2023057089346580828?s=20
популярность - это такое: PR прут с "нереальной" скоростью - разобрал и сделал 600 коммитов за полный день, было 2700 PR, cnfkj 3100 )))
Инструментов, которые дедуплицируют PR, и оценивают насколько PR близок к "видению" продукта нету. Думаю, никто и не осознавал что такие проблемы бывают! Что вам может понадобиться разобрать 3100 PRs.
Ближайший инструмент оказался Approvability в beta тесте, но он не умеет в дедупликацию.
https://macroscope.com/blog/introducing-approvability
Инструмент представлен 13.02 )))
В общем, интересно смотреть за фронтирными темами
@deksden_notes
X (formerly Twitter)
Peter Steinberger 🦞 (@steipete) on X
PRs on OpenClaw are growing at an *impossible* rate.
Worked all day yesterday and got like 600 commits in.
It was 2700; now it's over 3100.
I need AI that scans every PR and Issue and de-dupes.
It should also detect which PR is the based based on various…
Worked all day yesterday and got like 600 commits in.
It was 2700; now it's over 3100.
I need AI that scans every PR and Issue and de-dupes.
It should also detect which PR is the based based on various…
❤7
⚪️ SKILL suggest
Скиллы на подьеме! Как вы знаете, помимо библиотечки от Vercel (https://skills.sh/) на сцене еще и Context7 с разделом скиллов (https://context7.com/skills)
И вот как раз Context7 придумали такое:
`ctx7 skills suggest`
Что делает:
• сканирует ваш проект, зависимости (package.json, requirements.txt)
• определяет стек
• предлагает релевантные скиллы
🔗 Подробнее? Дока тут : https://context7.com/docs/skills#suggest-skills
Интересные темы заходят!
Upd 1️⃣ : попробовал на паре проектов. Местами рекомендации релевантные, местами - чушь!
Направление крайне интересное, надеюсь будут развивать. Уверен, что изобрели интересную штуку. Vercel, ваш ход!
@deksden_notes
Скиллы на подьеме! Как вы знаете, помимо библиотечки от Vercel (https://skills.sh/) на сцене еще и Context7 с разделом скиллов (https://context7.com/skills)
И вот как раз Context7 придумали такое:
`ctx7 skills suggest`
Что делает:
• сканирует ваш проект, зависимости (package.json, requirements.txt)
• определяет стек
• предлагает релевантные скиллы
🔗 Подробнее? Дока тут : https://context7.com/docs/skills#suggest-skills
Интересные темы заходят!
Upd 1️⃣ : попробовал на паре проектов. Местами рекомендации релевантные, местами - чушь!
Направление крайне интересное, надеюсь будут развивать. Уверен, что изобрели интересную штуку. Vercel, ваш ход!
@deksden_notes
Skills
The Agent Skills Directory
Discover and install skills for AI agents.
1👍13❤3❤🔥1🔥1
⚪️ Orchids.app через подписку!
Не видел ранее такого - к веб билдеру Orchids (что то типа Lovable. и тоже с уклоном в UI) можно прикрутить CharGPT подписку (и другие, но насчет Клода я не уверен) и пользовать без оплаты самого Orchids!
Приольный способ предметно пощупать эту штуку. В других инструментах такое пока не особо распространено, но, может, такая тема разовьется! Было бы здорово - подписок уже и так немало набрано
Кому было интересно - налетайте!
@deksden_notes
Не видел ранее такого - к веб билдеру Orchids (что то типа Lovable. и тоже с уклоном в UI) можно прикрутить CharGPT подписку (и другие, но насчет Клода я не уверен) и пользовать без оплаты самого Orchids!
Приольный способ предметно пощупать эту штуку. В других инструментах такое пока не особо распространено, но, может, такая тема разовьется! Было бы здорово - подписок уже и так немало набрано
Кому было интересно - налетайте!
@deksden_notes
👍10🔥2
⚪️ WireText.app
❓ Кто то пользует подобные приложения? Вроде бы они для того, чтобы быстро "набросать" эскизик.
Или "на салфетке" от руки удобнее?
@deksden_notes
❓ Кто то пользует подобные приложения? Вроде бы они для того, чтобы быстро "набросать" эскизик.
Или "на салфетке" от руки удобнее?
@deksden_notes
👀4
⚪️ Sonnet 4.6 и Grok 4.20
Про них вам уже расскаали их каждого утюга
У меня вот только один вопрос - это теперь мода такая релизить топовые модели одновременно, чтобы ... что? Не расслаблялись? Синулярность ощутить? ))
Интересное время. Glm c Минимаксом за ручку выходили.. Кодекс с Опусом. И вот Соннет с Гроком
@deksden_notes
Про них вам уже расскаали их каждого утюга
У меня вот только один вопрос - это теперь мода такая релизить топовые модели одновременно, чтобы ... что? Не расслаблялись? Синулярность ощутить? ))
Интересное время. Glm c Минимаксом за ручку выходили.. Кодекс с Опусом. И вот Соннет с Гроком
@deksden_notes
😁6👍3❤1
⚪️ Релиз 0.102 Кодекса ...
... качать не нужно, он закосячился - на Венде не стартует. Не удивляйтесь! Обновление не пройдет автоматом тоже, потому как его депрекейтнули в npm, и он не ставится. Чтобы уведомлялка не надоедала, скипайте этот релиз. Думаю, скоро фикс запостят
@deksden_notes
... качать не нужно, он закосячился - на Венде не стартует. Не удивляйтесь! Обновление не пройдет автоматом тоже, потому как его депрекейтнули в npm, и он не ставится. Чтобы уведомлялка не надоедала, скипайте этот релиз. Думаю, скоро фикс запостят
@deksden_notes
😁8👍6❤3👌3
⚪️ Флоу инжиниринг: планирование
#flow
❓ Вопрос аудитории - кто как планирует? Для эвала на силу кодинга моделей задумал улучшить планирование в своем флоу. Хочу составить очень подробный крутой план. Кто как к этому вопросу подходит?
▶️ Я сейчас делаю так: стадии процесса:
• подготовка контекста,
• обсуждение,
• планирование
▶️ Стадия подготовки контекста: сначала делаю прайминг свежего контекста индексом меморибанка. Потом прошу агента подготовится по вопросам подсистем, с которыми собираюсь работать. Например "изучи работу cli в системе, сформируй контекст, подготовься. Возвращайся как будешь готов"
▶️ После этого начинаю обсуждать доработки/задачу, в свободной форме. Прошу составлять план работы. По план спрашиваю: что осталось неясным? Что можешь доработать? что не учли/забыли? Какие смежные вопросы не проработаны? Какие gaps остались?
прошу регулярно сформулировать полный план на текущую итерацию обсуждения, вычитываю его. Проивольно прошу пояснить - как он понял какие то аспекты задачи, какие то отдельные вопросы.
Этап финалится, когда мне кажется, что мы с агентом пришли к устраивающему меня пониманию вопроса.
Очень проясняет ситуацию, если агенту описывать сценарий использования системы, как вы его видите - лучше не с ходу, а в процессе обсуждения.
▶️ После этого зависит от процесса: если через оркестратор - то там системный промпт на планирвоание. Если "руками" - то прорабатываем план:
• разбиваем работу на шаги оптимального размера для одной итерации
• если по кодовой базе остаются неопределенности - планируем как подадачи проведение исследований на темы, требующие прояснения или доп исследований
• без оверинжиниринга, задачи решаем максимально простым способом из имеющихся но с полной требуемой функциональностью
• не вводим новых сущностей, абстранций, слоев без крайней на то необходимости
• максимально переиспользуем имеющиеся общие модули, хелперы, классы, другие сущности системы
• тестовое покрытие: важно сделать реализацию сценария использования системы с обсуждавшейся доработкой в формате теста, который может прогнать агент, все остальные тестовые штуки - вспомогательные
• гейты качества: typecheck / lint / build / test:unit / test:integration / test:e2e
В оркестраторе примерно так же, но чуть сложнее: там для каждого шага еще и исследования прописаны, со ссылками на артефакты исследования, прописан контекст, релевантные файлы и прочие всякие штуки. можно и вручную попросить это сделать до реализации!
Вот такой подход в целом. Наверняка что то забыл прояснить, обсудим в чате - всплывёт.
👉ИТАК: а ваш флоу какой? Какой видите идеальный процесс планирования?
@deksden_notes
#flow
❓ Вопрос аудитории - кто как планирует? Для эвала на силу кодинга моделей задумал улучшить планирование в своем флоу. Хочу составить очень подробный крутой план. Кто как к этому вопросу подходит?
▶️ Я сейчас делаю так: стадии процесса:
• подготовка контекста,
• обсуждение,
• планирование
▶️ Стадия подготовки контекста: сначала делаю прайминг свежего контекста индексом меморибанка. Потом прошу агента подготовится по вопросам подсистем, с которыми собираюсь работать. Например "изучи работу cli в системе, сформируй контекст, подготовься. Возвращайся как будешь готов"
▶️ После этого начинаю обсуждать доработки/задачу, в свободной форме. Прошу составлять план работы. По план спрашиваю: что осталось неясным? Что можешь доработать? что не учли/забыли? Какие смежные вопросы не проработаны? Какие gaps остались?
прошу регулярно сформулировать полный план на текущую итерацию обсуждения, вычитываю его. Проивольно прошу пояснить - как он понял какие то аспекты задачи, какие то отдельные вопросы.
Этап финалится, когда мне кажется, что мы с агентом пришли к устраивающему меня пониманию вопроса.
Очень проясняет ситуацию, если агенту описывать сценарий использования системы, как вы его видите - лучше не с ходу, а в процессе обсуждения.
▶️ После этого зависит от процесса: если через оркестратор - то там системный промпт на планирвоание. Если "руками" - то прорабатываем план:
• разбиваем работу на шаги оптимального размера для одной итерации
• если по кодовой базе остаются неопределенности - планируем как подадачи проведение исследований на темы, требующие прояснения или доп исследований
• без оверинжиниринга, задачи решаем максимально простым способом из имеющихся но с полной требуемой функциональностью
• не вводим новых сущностей, абстранций, слоев без крайней на то необходимости
• максимально переиспользуем имеющиеся общие модули, хелперы, классы, другие сущности системы
• тестовое покрытие: важно сделать реализацию сценария использования системы с обсуждавшейся доработкой в формате теста, который может прогнать агент, все остальные тестовые штуки - вспомогательные
• гейты качества: typecheck / lint / build / test:unit / test:integration / test:e2e
В оркестраторе примерно так же, но чуть сложнее: там для каждого шага еще и исследования прописаны, со ссылками на артефакты исследования, прописан контекст, релевантные файлы и прочие всякие штуки. можно и вручную попросить это сделать до реализации!
Вот такой подход в целом. Наверняка что то забыл прояснить, обсудим в чате - всплывёт.
👉ИТАК: а ваш флоу какой? Какой видите идеальный процесс планирования?
@deksden_notes
👍4❤🔥1😱1
⚪️ Теория заговора про Антропик
▶️ Такую штуку в тви вычитал, забавное:
• антропики тренили 5й соннет; он получился немного умнее опуса 4.5, но сильно меньше (значит, дешевле в инференсе);
• для экономии решили выпустить его как опус 4.6;
• а соннет 4.6 это дистилл соннета 5 (который стал опусом 4.6) в еще более мелкую модель;
• освободившийся компьют продали по х6 цене как fast opus
• ...
• PROFIT!
Люди конечно умеют иногда выдать!)
Сомневаюсь, что правда - но дыма без огня ... К тому же sonnet 5 куда то пропал
@deksden_notes
▶️ Такую штуку в тви вычитал, забавное:
• антропики тренили 5й соннет; он получился немного умнее опуса 4.5, но сильно меньше (значит, дешевле в инференсе);
• для экономии решили выпустить его как опус 4.6;
• а соннет 4.6 это дистилл соннета 5 (который стал опусом 4.6) в еще более мелкую модель;
• освободившийся компьют продали по х6 цене как fast opus
• ...
• PROFIT!
Люди конечно умеют иногда выдать!)
Сомневаюсь, что правда - но дыма без огня ... К тому же sonnet 5 куда то пропал
@deksden_notes
❤1👍1🤬1
⚪️ Подход к проектированию
#flow
Думаю, это достаточно очевидно, но на всякий случай поделюсь своим подходом к созданию софта.
Можно условно назвать его "layered" - как лук, ибо великаны - они как лук ("Вонючие? Нет! Многослойные" (ц) Шрек).
👉 Идея в следующем.
▶️ Допустим, делаем некую софтину, которая работает через любой UI (GUI, TUI). Очевидно, что у нее есть некая логика и фейс.
▶️ Я всегда в таком случае выношу логику во внешний слой. Можно сразу делать сервер, потому что даже для локальной утилиты пригодится. Хорошая граница системы получается, к слову. Сервер в утилите может быть in-process, это когда он линкуется внутрь процесса клиента и вызывается не через сокет/порт а прямо в коде. Но логика сервера - полноценная, его одной строчкой можно запустить на отдельном порту, и получить "бесплатно" уже 2 клиента к одной и той же логике.
▶️ Следом я делаю стандартную обвязку сервера: фиксируем контракт серверных роутов/ручек/маршрутов (кто как зовет), можно в open API стандарте. Делаем типизированный client для этого api, чтобы все валидировалось и типизировалось "из коробки".
▶️ Удобно все раложить в мультирепо - client, server отдельными пакетами.
▶️ Самое важное: следом делаем CLI клиента, который имеет доступ ко всем нужным нам функциям через client пакет.
И ВОТ ЭТОТ CLI УПРАВЛЯЕТСЯ АГЕНТОМ на этапе разработки. Вы именно через него будете тестирвоать сценарий работы и основную логику вашей системы.
▶️ Дальше все реализовывается до состояния, когда все работает, под управлением агента. Можно реальные зависимости даже дергать (типа, БД там у вашего сервера реальная, миграцию затестить, экспорты/импорты). В общем, суть в том, что ВСЕ сценарии использования системы гоняются на CLI чере агента.
▶️ По итогу отработки логики с агентом, мы фиксируем успешную работу логики в ВИДЕ ТЕСТОВ e2e типа, я их называю сценариями/business processes. Это тот же сценарий, что исполнял агент, только в виде детерминирвоанного теста. На cli тест сильно проще пишется, не надо чего то тяжелого типа playwright/CDP.
▶️ Поверх живой логики в любой момент можно прикрутить ваш GUI/TUI или Desktop UI / Swift / Electron / Electrobun / Tauri и прочую хрень. Если это сделать "параллеьно", то можно будет смотреть в UI как агент ваш сценарий "проегает" по системе.
❓ В чем профит? Через cli агенту проще и ГОРАЗДО быстрее добраться до отладки именно логики системы, чтобы все работало ок. Не будет мешать GUI обвязка со своими багами
❓ Проще отладить GUI/TUI зная что логика "внизу" уже работает
❓ Проще предусмотреть все в апи чего надо, если вся логика через это апи реализуется. Доделки для GUI скорее в виде вспомогательных ручек, которые удобно для UI отдают инфу.
❓ Так сильно быстрее и надежнее. Вы получаете детерминирвоанные и достаточно быстрые тесты, которые на GUI не завяаны, значит можно исключить chrome binary / playwright и тп.
❓Playwright используем по назначению: для тестирвоания самого ГУЯ.
Как то так. Тоже так делаете?
@deksden_notes
#flow
Думаю, это достаточно очевидно, но на всякий случай поделюсь своим подходом к созданию софта.
Можно условно назвать его "layered" - как лук, ибо великаны - они как лук ("Вонючие? Нет! Многослойные" (ц) Шрек).
👉 Идея в следующем.
▶️ Допустим, делаем некую софтину, которая работает через любой UI (GUI, TUI). Очевидно, что у нее есть некая логика и фейс.
▶️ Я всегда в таком случае выношу логику во внешний слой. Можно сразу делать сервер, потому что даже для локальной утилиты пригодится. Хорошая граница системы получается, к слову. Сервер в утилите может быть in-process, это когда он линкуется внутрь процесса клиента и вызывается не через сокет/порт а прямо в коде. Но логика сервера - полноценная, его одной строчкой можно запустить на отдельном порту, и получить "бесплатно" уже 2 клиента к одной и той же логике.
▶️ Следом я делаю стандартную обвязку сервера: фиксируем контракт серверных роутов/ручек/маршрутов (кто как зовет), можно в open API стандарте. Делаем типизированный client для этого api, чтобы все валидировалось и типизировалось "из коробки".
▶️ Удобно все раложить в мультирепо - client, server отдельными пакетами.
▶️ Самое важное: следом делаем CLI клиента, который имеет доступ ко всем нужным нам функциям через client пакет.
И ВОТ ЭТОТ CLI УПРАВЛЯЕТСЯ АГЕНТОМ на этапе разработки. Вы именно через него будете тестирвоать сценарий работы и основную логику вашей системы.
▶️ Дальше все реализовывается до состояния, когда все работает, под управлением агента. Можно реальные зависимости даже дергать (типа, БД там у вашего сервера реальная, миграцию затестить, экспорты/импорты). В общем, суть в том, что ВСЕ сценарии использования системы гоняются на CLI чере агента.
▶️ По итогу отработки логики с агентом, мы фиксируем успешную работу логики в ВИДЕ ТЕСТОВ e2e типа, я их называю сценариями/business processes. Это тот же сценарий, что исполнял агент, только в виде детерминирвоанного теста. На cli тест сильно проще пишется, не надо чего то тяжелого типа playwright/CDP.
▶️ Поверх живой логики в любой момент можно прикрутить ваш GUI/TUI или Desktop UI / Swift / Electron / Electrobun / Tauri и прочую хрень. Если это сделать "параллеьно", то можно будет смотреть в UI как агент ваш сценарий "проегает" по системе.
❓ В чем профит? Через cli агенту проще и ГОРАЗДО быстрее добраться до отладки именно логики системы, чтобы все работало ок. Не будет мешать GUI обвязка со своими багами
❓ Проще отладить GUI/TUI зная что логика "внизу" уже работает
❓ Проще предусмотреть все в апи чего надо, если вся логика через это апи реализуется. Доделки для GUI скорее в виде вспомогательных ручек, которые удобно для UI отдают инфу.
❓ Так сильно быстрее и надежнее. Вы получаете детерминирвоанные и достаточно быстрые тесты, которые на GUI не завяаны, значит можно исключить chrome binary / playwright и тп.
❓Playwright используем по назначению: для тестирвоания самого ГУЯ.
Как то так. Тоже так делаете?
@deksden_notes
🔥6