📢 Load & Performance
929 subscribers
92 photos
4 videos
3 files
123 links
Избранные материалы о тестировании производительности.
Чат и источник тем: @qa_load
Download Telegram
Привет любители производительности! Участвую во взаимном продвижении IT-чатов и каналов — "IT в деле" В сборке есть разные тематики

Что внутри:

🧑‍💻 Каналы о программировании и разработке: Python, CSS, HTML, Java и Swift

👨‍💻 GameDev и каналы о QA тестироварии, создание игр и тестирование (мы туть)

🤖 Авторские каналы и вайбкодинг: IT & AI, простые заметки с проектов, работа с нейросетями

🤩 Информационная безопасность: многое узнаете о работе хакеров

Много интересного! Выберите интересные вам каналы или подпишитесь на всю сборку
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Привет performance lovers!

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

🔴 Видно что все потоки красные и заблокированы
🟡 Но на Flame Graphs и в стрек-трейсах ничего нет — как будто базовый метод-обертка взял и затормозил

Как такое возможно?

А возможно — профайлер не показывает в данных профилирования сам себя и накладные расходы на профилирование

Я включил все probes и загрузка всех probes замедлила все потоки — без дополнительных инструментов такое не увидеть, но можно было предположить, что так будет

Удачного профилирования!
👍63
This media is not supported in your browser
VIEW IN TELEGRAM
Привет performance lovers!

Снова выходной, снова принёс вам водицы. Это река Изар, слышно как шумят пороги на ней. Неделя была интересной, теперь здорово и отдохнуть

Несколько уроков этой недели

Порядок инструкции в NGinx конфиге важен, каждая следующая дополняет или переопределяет предыдущие. И например нельзя задать размер map-ов уже после определения любой map-ы

Правила NGinx location с регулярными выражениями имеют более высокий приоритет, чем правила location с точным совпадением. Это не было очевидно. В результате, все location правила переписал на регулярки

Если размер JVM MetaSpace недостаточно большой, то при выполнении GC для MetaSpace, эта область памяти очищается, и JVM начинает по новой компилировать код (это пока не 100% истина, но основная рабочая гипотеза отладки одного случая с очень активной компиляцией кода)

Отличных вам выходных! 🤗
👍4🔥1
Привет performance lovers!

Представьте, что вы применили оптимизацию, но через минуту стало только хуже, и через пять минут — тоже, и через десять...

🫣 Что это, почему так?

🤓 Все хорошо. Это кеши, и первое время они прогреваются и наполняются. Вот видно, что через 17-20 минут они заработали

☺️ Но первые 10 минут я хотел их выключить. Решил, что уже вечер и надо перекусить перед таким откатом, и пошёл за чаем. А когда вернулся — всё уже работало как надо

🤗 Пейте чай!
😁6🔥1
Привет, performance lovers!

Новая загадка с перцентилями

Было применено кеширование, в этом случае кеширование ответов на входящие HTTP запросы, и часть ответов теперь будут кешироваться в браузере, даже не на сервере. И после применения — числа на графиках с перцентилями серверных ответов пошли вверх

Это хорошо. Так и должно быть

Как вы думаете почему это на графике времени отклика есть такой эффект? И какой еще график стоит посмотреть для получения полной картины?
🔥1
Привет performance lovers!

Это моя мастерская по настройке переключателей скоростей. Состоит из стульев и метелки 🤦‍♂️

Начинал настройку я на балконе, но там холодно 🥶 и света нет. Поэтому постепенно мастерская переехала в комнату

Переключатели настраиваются так, что сначала задний, а потом передний. Но чтобы настроить задний, передний тоже нужен — на среднюю звезду надо как-то поставить все. Разных зависимостей масса

При настройке переднего есть гайды 👨‍💻 с 10-ю шагами, но без описания того а какое состояние вообще исходное — когда все работает, но что-то не так или оно какое-то конкретное — в таких гайдах не хватает еще шагов 0, 1.5, 2.5, ... и их должно быть 21 а не 10

А к чему это я тут ворчу?

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

Я теперь просто не представляю, как людям удается давать годные ответы только по неполному текстовому описанию? И мои ожидания от детальности гайдов по настройке чего-то теперь поднялись на новый уровень. Надо будет сделать что-то по нагрузке

А как я настроил эти перeключатели?

1️⃣ Посмотрел несколько видео, раз 10 посмотрел (часы)
2️⃣ Покрутил, собрал, разобрал, собрал, разобрал (десятки раз)
3️⃣ Снова посмотрел руководства
4️⃣ Вот начало что-то получаться, но все равно не уверен, что правильно
5️⃣ Надо будет поездить и потом перенастроить
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51
Привет performance lovers!

Сегодня погода хорошая, но дома сижу. Решил проверить пределы LinkedIn и отправил приглашений коллегам, получилось 442. Мне понравилось тем, что все ждал как меня забанят в 📱, а оно не случилось

Возможно, при работе с мобильным приложением штрафы не так сильно начисляются, как при работе из браузера

Возможно, дело в том, что меня уже банили раза три, а я потом возвращался или подтверждал, что я живой человек

Возможно, дело в том, что приглашения коллегам, а не совсем случайным людям, и я их знаю, или хотя бы видел, в чате, где-то

Еще поменял описание на
🔮 Most performance issues are predictable
давно уже поменял, но в поиске все еще пишется
💻 Performance engineer at JetBrains
а иногда
💻 Performance engineer at YouTrack
это использовал после JetBrains

Кеши в LinkedIn на столько суровы, что пока не прогрелись. И видимо, для комментариев, реакций и профиля разные кеши — по разному отображается потому что

💡 Возможно, и нам стоит быть смелее в кешировании

И раз уж мы про линк, то добавляйтесь, всем добра!

📱 https://www.linkedin.com/in/v8v

Чтобы это было вам полезно — напишите о себе в комментариях и оставьте ссылку на linkedin для взаимоконнектов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Привет performance lovers! Перефразируя классику:
Performance review близко

(ближе к зиме), но так далеко

И, часто, только на Performance Review мы получим объективную обратную связь о себе. Это как запускать тесты раз в год или пару раз

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

И применил вот эти руководства 📱 https://github.com/DenisSergeevitch/agents-best-practices от 📱 @denissexy для создания агентов, которые будут делать критическое ревью моих performance issues (пока только этого)

Получилось очень хорошо. Я прямо очень доволен. На вход агенту подал описание грейдов и мои текущие цели, о которых есть явная договоренность с менеджером. И теперь мои дела оцениваются агентом на соответствие этим целям

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

Я заметил, что появились коллеги, которые читают дефекты и ставят лайки. Лайки от коллег это отлично 🤗, а теперь будет и критика от Junie, описание задачи передаю просто ссылкой на задачу, а агент через MCP к 💻 YouTrack получает детали

Рекомендую эти скилы
📱 https://github.com/DenisSergeevitch/agents-best-practices
для создания агентов

Просто по инструкции сделал. Получилось хорошо. А потом повторно написал — а теперь обнови агента и критически оцени его — и получилось еще лучше
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🔥1
Media is too big
VIEW IN TELEGRAM
Привет performance lovers!

Сегодня снова выходной, а значит можно перезагрузиться. Если у вас хорошая погода — это может быть вода, река, бассейн. А может быть и вкусный чай. Видео выше не передает ароматы, желаю вам найти такое же ароматное место рядом с домом ☕️

Я продолжаю упрощать свою работу до нажатия кнопки или строчки кода/промта. Почти всю неделю занимался инструкциями и пайплайнами. Еще посмотрел про ИИ в разработке aidevconf.org — понравилось, люди делают сложное простым с помощью новых технологий

💡Интересные мысли умных людей

Простая мысль была в рассказе от Андрея Бреслава (автор Kotlin, …, CodeSpeak) про то, что, когда инженерия программного обеспечения станет обычной вещью, то и зарплаты в разработке станут, как у многих других инженеров — это время близится. И за простую программу-таймер для iPhone он уже не готов платить, он ее сгенерирует

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

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

В этом что-то есть, звучит, как план
Please open Telegram to view this post
VIEW IN TELEGRAM
6😭1
Привет performance lovers!

Как-то начал давать короткие советы-истории-опросы в общем чате @qa_load и один из таких был про проведение регулярных демо. В пятницу делал демо, надо было рассказать коротко, поэтому выбрал тему которая рассказывается за 50-60 секунд

Показал, что добавил архив с профилированием и вкладку в TeamCity для быстрого доступа к отчету

За две недели много чего интересного было, но на демо интересно смотреть что-то простое и применимое всей командой. Поэтому выбрал на то, что показать легко и быстро

Рассказ на 50-60 секунд был такой:
• Hook
• Action
• Result
• Next / Question
по всем правилам презентаций

Говорил примерно так:
Hello performance lovers! Analyzing YouTrack performance tests in TeamCity was quite difficult. We didn't have a fast way to see profiling and test results.

I added new profiling formats for better analysis of different performance cases. I also created a separate, convenient archive for all YourKit snapshots. Finally, I implemented a dedicated report tab in TeamCity that shows all test results in one place.

As a result, troubleshooting performance regressions is now much faster. It takes only one click to find a YourKit snapshot instead of several minutes of searching. This saves our team an hour every week.

I want to add new tabs with flame graphs and log based reports. Do you have any suggestions for the new report tab? Fell free to ping me

Вступление
Hello performance lovers!

использую. Мне нравится. Команде тоже
6
Привет performance lovers!

Покажи свои скиллы


На прошлой неделе коллега из другой команды пришел с вопросом про автоматизацию тестирования в нашей команде. Я ему рассказал разное, и в том числе что поменялся подход к оформлению дефектов

Ранее, в 2025-м году:
🤩 дефект должен был быть кратким, содержать только суть и чек боксы, коллегам было неудобно читать про узкие места в дефекте, информация про дату, связанные метрики, версии, … была лишней — они просили суть и ссылку на профилирование

Сейчас в 2026-м году:
💰 дефект должен быть детальным, структурированным, содержать профилирование в текстовом формате (collapsed-формат), содержать стек-трейсы и весь нужный контекст — дефект пишется для агентов коллег, и агентам нужна вся эта структура и история, предыстория, … в машиночитаемом формате, где каждая строка выверена

😂 Если в 2025-м, я получал обратную связь — пиши сокращай, то сейчас получаю обратную связь — Круто, а как это оформляется? Покажи свои скиллы!

Уже успел и сжать контекст и разжать его назад. Но готовых скилов и сабагентов для разного типа задач у меня не было. Вот теперь описал, как оформлять дефект, и как его другой агент будет читать

Оказалось непросто, хотя казалось бы, ерунда и что-то очевидное, как дышать. А вот нет. Как отлажу их, то поделюсь
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥1
Привет performance lovers!

Я испытываю стресс во время планирования

История такая, что сплю нерегулярно, и стал измерять свой сон часами (устройством). Чтобы улучшить сон. Замеры показывают, что сон короткий, но отличный 🤩. Продолжаю мониторинг.

Но устройство также замеряет стресс. И вот он у меня не отличный. Особенно в начале дня. И это интересно

День у меня обычно такой, что я еду на велосипеде в офис, и там записываю на стикер 2-3 задачи на день. А потом делаю их. За день еще случится разное, но вот их надо сделать

🟠 А если одна из задач сложная, то начинаю ее планировать. И судя по метрикам, это самая стрессовая часть дня

🔵 Для сравнения. С 11 до 12 встреча/звонок. Где я что-то говорю и слушаю. Уровень стресса ниже 25. А я думал что тут будет высокий стресс, встреча на английском. Кажется мне легко на встречах на другом языке, а я думал, что наоборот

🟠 В 12, на обеде, коллеги обсуждали важные новости. Я там почти ничего не говорю, просто ем. Видимо, внимательно слушал, в шумном зале, и это некоторое напряжение

🟠 А потом я продолжил планирование. Это задача по разделению и сжатию трафика, ее надо спланировать хорошо заранее. И это снова было непросто — почти как утром

🔵 Где-то с 16:00 до 21:00 чинил и разбирал инциденты на проде, довольно такие сложные. Про вложения, workflow, новый проект, с обращениями пользователей. И я предполагал, что это стрессово для меня. А оказывается, это очень даже спокойная работа. Но с редкими всплесками, там надо было описать пользователю статус и обсудить с разработчиком

💡 Примерно такой же паттерн наблюдается по другим дням в том числе. Чтобы как-то понять что могу сделать с этими графиками стал пробовать разное.

🟠 Например, попробовал планировать на балконе/терассе. В офисе есть балкон и там есть хорошие Wi-Fi и уличный стол — метрики пошли вверх, стресс стал выше. Может потому что там непривычно или холоднее или ветер или солнце

🔵 Попробовал парное программирование. У меня есть интерн. И мы просто сели рядом. Я делал что делаю, но рассказывал при этом, метрики получились более синими, с всплесками

Продолжаю мониторинг. Пока выводы делать рано. Но, кажется, что профилирование, разбор инцидентов и общение с людьми могут продлить жизнь
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Привет performance lovers!

Любите ли вы GDPR, "Data Protection Impact Assessment" (DPIA) и согласования с командой безопасности?

Середина года, время проходить и сдавать тесты по безопасности. И вот, в который раз, начал проходить и сдавать. Но только изучил вопрос чуть глубже, чем требовалось для прохождения теста. А все потому, что я подготовил CSV-файл с именами и фамилиями тестовых пользователей для целей тестирования производительности

Сначала я думал использовать Gatling Pikantiny / Faker — но там очень мало данных, а мне надо 10 000 пользователей

Потом думал взять Users.xml из дампа StackOverflow, но там такая лицензия, что мне надо будет опубликовать производный продукт (CSV-файл) и указать его лицензию

Потом думал взять "Liste de prénoms et patronymes" (INSEE, France), доступный через data.europa.eu под лицензией Etalab Open Licence 2.0, это разрешительная лицензия

А потом я прошел обучение и прочитал внутренние документы хорошо.

🌸 Даже если я возьму данные, которые доступны, но буду их хранить где-то в закрытом хранилище компании, и есть шанс что какая-то комбинация этих данных может совпадать с данными реального человека, то надо будет предпринять все действия по защите этих данных, и так далее — GDPR, "Data Protection Impact Assessment" (DPIA)

Согласно курсам — надо прочитать документы и все отправить на согласование коллегам

А что можно сделать заранее

1️⃣ Выбрать небольшой набор данных — 10 000 считается небольшим набором по меркам общего положения по хранению данных (это не 1 миллион), но это может быть большим списком по меркам компании. А какой у нас в компании лимит можно узнать у коллег

2️⃣ Можно и нужно применить Data Minimization practices — выбрать мало данных, извлечь только необходимые для работы данные (только Имя а Фамилию), перемешать данные (отдельно взять имена, отдельно фамилии и смешать их случайно)

3️⃣ Применить к данным мутации:
— пропустить некоторые гласные буквы
— продублировать некоторые согласные буквы
— добавить опечатки
— применить статистические замены

4️⃣ Ограничить доступ (только для использования скриптами тестов) и не хранить файл вечно (удалить после использования), но можно оставить код генерации для более долгого хранения и инструкции к нему

Интересная часть тут третья про мутации

1️⃣ Во первых можно взять изначально более синтические данные через библиотеку

https://github.com/joke2k/faker

2️⃣ Во вторых применить разные варианты опечаток, пропусков символов и обрезок:

https://github.com/makcedward/nlpaug/blob/master/example/textual_augmenter.ipynb

И когда все это применяется, то уже нет большого риска, что когда-то человек по имени Vaskramd (вместо Viacheslav) Dmitnob (вместо Smirnov) что-то как-то себя обнаружит в тестовых данных на тестовом стенде или кто-то его обнаружит и расстроится по этому поводу

Проходите тесты по безопасности, это интересно
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Привет Performance lovers!

Знаете ли вы что в мире есть 100 млрд типов людей:
1️⃣ Хранят тесты в отдельном репозитории
2️⃣ Хранят тесты вместе с сервисом

Я был человеком типа 1️⃣, а стал 2️⃣. Все круто, но если сделать правку в самой свежей версии, например, поправить параметры приложения на тестовом стенде, то автоматически эти изменения в предыдущие ветки (релизы) не добавятся

И вот тесты в ветке develop (все последние изменения и продукта и тестов) проходят отлично, а в ветке release-2026.2 (релизный проект и чуть более старые тесты) изменения не дошли ❗️ нужно еще сделать 🍒 cherry-pick

🎚 Убедиться, что версии актуальны
git fetch origin


🎚 Сделать ветку на базе стабильной ветки (release-2026.2):
git checkout -b fix-perf-tests-2026.2 --no-track origin/release-2026.2

Тут может быть скрытая угроза, когда внешней веткой для локальной fix-perf-tests-2026.2 станет не origin/fix-perf-tests-2026.2, а origin/release-2026.2. И вы очень не хотели бы случайно разломать релиз. Чтобы такой привязки не происходило добавлен флаг --no-track. В целом он не особо нужен для создания веток, но тут он для перестраховки


🍒 Перенести нужный коммит
git cherry-pick -x 89006ee2


Тут могут возникнуть конфликты, например, вы там меняли .gitignore и этот файл .gitignore также был изменен кем-то кто обновлял релизную ветку. У меня получилось, что конфликты в моих же файлах — я их правил

Без 💻 IDEA бы с трудом разбирался в консоли, как верно сделать git cherry-pick --continue — а тут есть удобный диалог. IDEA очень помогает

Можно нажимать Accept Yours (первую кнопку) почти всегда, но бывает интересно нажать Merge ... и посмотреть на изменения еще раз

🎚 Проверить, что все прошло хорошо
git log -n 1
git diff HEAD~1 HEAD --name-only

Что только тесты были перенесены, а не что-то лишнее.

🎚 А потом опубликовать ветку и сделать мерж:
git push -u origin fix-perf-tests-2026.2

Тут для перестраховки явно добавлен флаг -u чтобы в origin точно создалась ветка origin/fix-perf-tests-2026.2, при настройках git по умолчанию такое не требуется, но при некоторых настройках просто git push origin мог бы попробовать залить все сразу в release-2026.2 (смотри предыдущий ), это почти никогда не возможно — но тут у нас двойная перестраховка от такого случая

Много плюсов от размещения тестов вместе с проектом, но есть вот такие 🎚 5-7 шагов. В которых есть нюансы еще.

Может быть вы из тех счастливых людей, что не хранят тесты в репозитории или не пишите их совсем. Но раз вы дочитали до этой строки, то буду надеяться на полезность этой заметки 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Привет Performance lovers!

Сделал раскраску таблицы access logs по принципу — хорошие адреса 💙 синие, 💚 зеленые, 💛 желтые

А вот адреса разных DDoS-еров 💔 красные. Сделал за счет regexp в таблице в Grafana

Сначала вставил в таблицу 2900 правил, получил таблицу весом в 2.4 МБацт — и такая большая доска/таблица отказалась сохраняться в базу данных Grafana

Вы знали что есть лимит на максимальный размер доски — а вот он есть 🤦‍♂️

Поэтому сжал правила — использовал больше правил вида

13.37.*.*


вместо списка правил под каждый диапазон:

13.37.1.*
13.37.2.*
13.37.3.*


Так таблица сжалась в 3 раза, доска сжалась тоже и все стало работать быстрее и лучше

Теперь когда смотришь на список источников запросов, то быстро считывается откуда готовилось нападение и было ли оно вообще

Хостеры Web2Objects, UAB code200, Servers.com, … — основные источники проблем производительности. Можно их сразу заблокировать в правилах доступа ваших публичных проектов. Вряд ли ваши клиенты используют эти площадки для работы с вашим API, а вот проблем они создать могут
Please open Telegram to view this post
VIEW IN TELEGRAM
Смотрите что нашел. Это был вечер среды, не было совещаний, я сел рефакторить тесты и выполнил около пяти задач подряд

И у меня вырос уровень энергии, не упал, а вырос

Писал код вместе с Junie, ставил галочки в задачке и amend-ил коммит, который озеленял тесты

Делайте рефакторинг — это заряжает
5🤣1
Заметил, что старую сине-фиолетовую рубашку я оставил дома и лет пять уже не носил, да и в Омске давно не был, да и бороду постриг 😊 — в общем много причин было сменить фото

Теперь в другой рубашке, когда встретимся — не перепутаете уже 🤗
🔥18🤝1
Привет Performance lovers!

Есть ли у вас Performance Review? Как часто это проходит?

Скорее всего есть, да. Скорее всего 1-2 раза в год

Сделал для себя еженедельное ревью и использую начиная с февраля этого года

На фото выше основные блоки такой системы

1️⃣ Как Perf-инженер занимаюсь очень разным, а по роли я SDET-инженер. Поэтому при составлении профиля компетенций взял за основу компетенции для самых разных ролей. В основе SDET, но добавил и SRE и Developer

2️⃣ Чтобы мои компетенции и навыки были актуальными добавил много требований из текстов вакансий. На сайте JetBrains Career коллеги описали уже много всего того что ожидают видеть в своих командах, технологии, приоритеты, решения

3️⃣ Полученные расширенные описания разделил на грейды, мой текущий это Senior 1, а следующий Senior 2 — поэтому им уделил максимальный приоритет

4️⃣ А потом сделал очень простого агента который по очень простому MCP получает тексты задач которые сделал за последнюю неделю и оценивает их на соответствие целям — цели согласованы с руководителем команды в начале года, то что в целях указано, то важно. А что не указано — не важно и стоит обсуждать, если оно появляется в задачах. Целей всего пять. Они написаны в коротком md-файле. Задач за неделю делаю тоже 5-6. Тоже немного текста

5️⃣ Каждую цель-задачу можно выполнять просто выполнив или же хорошо выполнив или же принеся пользу еще и другим командам — если кратко, так примерно и очень в общем разделяются грейды. И есть второй механизм оценки, который берет подробные описания каждого грейда для моей роли и сравнивает результат выполнения задачи с такими критериями. Чтобы это можно было оценить автоматически я стал при выполнении задач писать не просто — Done, а указывать результат, например, процент ускорения, экономию, ... разные метрики которые ранее пропускал — если не постараться и не описать их, то и у других людей не найдется времени этот результат увидеть

💡 Цель такая — делать 80% задач стабильно на текущий грейд и не ниже, а 20% задач делать на следующий грейд, принося пользу другим командам

6️⃣ Есть также очень простой слой-механизм который говорит — что эта задача кажется сделана на уровень Junior/Middle, а вот если бы были в ней вот такие признаки/результаты/... — то она бы была задачей следующего уровня. Получаются рекомендации. Я их читаю и стараюсь применять в задачах которые буду делать на следующей неделе. Выполненные уже не переделываю — что было то было

7️⃣ Все такие микро performance review делаются чтобы в конце года получилось хорошее performance review — получится ли оно хорошим посчитаю по осени, как говорится. А как промежуточный результат — стал гораздо лучше вести задачи, закрывать их быстрее, описывать результаты в них, а не просто выполнять

🔮 Использую для этого модель Google Gemini, она хорошо работает с вызовами MCP и получением моих задач, хорошо сравнивает тексты, выдает результат по шаблону. Стоит это недорого. Для меня ни сколько (у меня есть лимит на токены на месяц, ни разу за него не вышел) — писать код куда затратнее. А возможный экономический эффект от такого может окупить затраты

Тут используется три очень простых агента, у каждого своя роль — цели, оценка результатов по грейдам, оценка результатов оценки и выдача нескольких рекомендаций на следующую неделю. На вход они получают MD-файлы и мои задачи, а на выходе дают другой MD-файл в котором есть таблица а в ней колонка или с галочками — OK/не-OK или примерный Грейд или приоритет того, что стоит улучшить

Если все получится (пожелайте мне удачи 🤗) расскажу подробнее. Но вы такое повторить сможете за вечер. Чтобы организовать три агента/скила в pipeline можете использовать вот такой шаблон — https://github.com/DenisSergeevitch/agents-best-practices — очень удачный шаблон для создания pipeline-ов и согласования работы агентов/скилов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63