AI Project Manager Assistant: Как я сделал из собрата джуна-копипастера крепкого мидла

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

AI Project Manager Assistant: Как я сделал из собрата джуна-копипастера крепкого мидла

Первая проблема, которая сразу зацепила глаз -_- структура. Нейронка создавала задачи, но все описание было словно простыня нечитаемого текста. Еще до эпохи нейросетей мы с командой выстрадали свой Definition of Ready (DoR). Мы сделали шаблон задачи, в котором есть всё: и для бизнеса (зачем делаем), и для QA (как тестировать), и для разрабов (что кодить). Выглядит он так:

  • "summary": "Краткое название задачи"
  • "description": "Описание задачи"
  • "implementing": "Что конкретно реализуем"
  • "not_implementing": "Что НЕ реализуем"
  • "risks": "Потенциальные технические риски"
  • "release_order": "Порядок релиза"
  • "rollback_plan": "План отката"
  • "teams": "Вовлеченные команды"
  • "testing": "QA рекомендации"
  • "monitoring": "План мониторинга"
  • "background": "Предыстория и почему это важно"
  • "business_goal": "Бизнес-цель"
  • "translations": "Копирайт и переводы"
  • "figma_link": "Ссылка на Figma (если есть)",

Решение пришло сразу же само -_- я научил его раскидывать сгенерированный текст строго по этому JSON-шаблону.

ИИ начал выдавать визуально эстетичные задачи. Но... они всё еще были лишены точности. Форма появилась, а глубокого содержания -_- нет.

Чтобы дать ему это содержание, я пошел трясти коллег: с бэкендеров стряс актуальные Swagger-файлы, с аналитиков -_- структуру БД, а сам сел описывать бизнес-логику продукта. И вот пока коллеги неспешно собирали эту базу знаний, я решил не терять время.

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

Как я дал ИИ зрение и научил читать Figma

Благо, API Gemini 2.5 Flash умеет переваривать файлы. Осталось понять, как прокинуть их из Slack в мозг AI.

Мы с Gemini сели проектировать архитектуру в Make.com. Пришлось выкинуть старый модуль Slack App и перейти на прослушку приватных каналов (Watch private channel messages) -_- только так можно было вытягивать вложения.

Дальше началась классическая боль сборки пайплайнов. Нельзя просто взять и кинуть файл в нейронку. Пришлось строить роутер:

  • Если сообщение без картинки -_- идем по старому пути.
  • Если с файлом -_- запускаем мясорубку. Сначала Iterator расщепляет сообщение (вдруг там 5 скринов), затем Slack: Get a File скачивает каждый из них, потом Google Gemini AI: Upload a file грузит их на сервера Google, и в конце Array aggregator склеивает всё это обратно в единый пакет и отправляет в основной промпт.
AI Project Manager Assistant: Как я сделал из собрата джуна-копипастера крепкого мидла

Звучит сложно, но результат -_- лютый кайф.

Теперь я просто кидаю ему в Slack два скриншота дизайна из Figma (До и После) и пишу: "Опиши визуальные изменения и выпиши новые тексты для 5 локалей". И он это делает! Он распознает UI, понимает, где поменялась кнопка, и сам собирает таблицу переводов для разработчиков. Графики, логи, куски кода в txt -_- ему все равно, он сожрет всё.

Тут вылез баг логики. Возник проблемный кейс: как нейронка поймет, когда я обращаюсь к нему (прошу проанализировать скриншот), а когда этот текст должен уйти в саму задачу для исполнителя? Решилось всё элегантным костылем в промпте: я ввел правило. Если предложение начинается с тега "Для ИИ:" -_- агент воспринимает это как системную команду для себя, переваривает файл, но не тащит эту фразу в итоговый тикет в Jira.

Слияние данных

К этому моменту коллеги донесли мне всю документацию. Я отгрузил всё это великолепие в промпт Gemini. Мы сообразили жесткий системный запрос, который намертво связывал наш бизнес-контекст, техническое окружение и ту самую структуру полей из начала статьи.

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

Но, как оказалось, и этого мало. Мой агент всё еще был "золотой рыбкой", забывающей контекст прошлых сообщений.

AI Project Manager Assistant: Как я сделал из собрата джуна-копипастера крепкого мидла

В следующей статье я расскажу, как мы распилили логику на Backend/Frontend компоненты и, самое главное, как я прикрутил ИИ-агенту долговременную память! Не теряемся и услышимся тут же на следующей неделе!

12