Нотатки до релізу готуються за хвилини замість 1-2 годин на кожен реліз.
Que hace
Автоматизація замінює ручний ритуал «сісти в п'ятницю та виписати все, що зробили за спринт» на відтворюваний пайплайн.
AI-агент читає історію репозиторію, відділяє значуще від технічного шуму і видає структуровану чернетку, який інженер або продакт вичитує за 5-10 хвилин замість того, щоб писати його з нуля.
Процес по кроках
- Збір даних. Агент підключається до репозиторію (GitHub, GitLab або інший Git-хостинг) і вивантажує коміти та злиті пул-реквести з моменту останнього релізу — за тегом, датою або номером гілки.
- Нормалізація. PR-описи, заголовки, мітки, посилання на задачі та імена авторів збираються в єдину структуру. Технічні коміти (
chore,refactor,test) позначаються, але не видаляються. - Класифікація. мовна модель розкладає зміни по категоріях: нові функції, виправлення, зламні зміни, внутрішні покращення. Логіка класифікації будується на conventional commits, мітках або семантиці PR-заголовків.
- Сумаризація для аудиторій. Агент генерує три варіанти: технічний (для розробників, з PR-посиланнями), короткий (для менеджменту — що змінилося для бізнесу) та клієнтський (без внутрішніх термінів, з фокусом на користь).
- Чорновик для рев'ю. Результат надходить у Slack, Notion або пул-реквест із шаблоном CHANGELOG.md — інженер редагує та публікує.
- Публікація. Опціональний крок: автоматичний пост у реліз-канал, оновлення вбудованого журналу змін у застосунку, відправка email-розсилки клієнтам.
Що автоматизація НЕ робить
- Не замінює техліда. Рішення про те, що вважати breaking change або major-релізом, залишається за людиною. Агент лише пропонує класифікацію.
- Не пише маркетингові тексти з нуля. Клієнтський варіант — це структурований чорновик, а не готовий пост-анонс із позиціонуванням та CTA.
- Не аналізує якість коду. Метрики на кшталт покриття тестами, зауваження щодо безпеки або архітектурні рішення не потрапляють до нотаток до релізу.
Como funciona
Пайплайн побудований на викликах Git-хостингу та одній LLM-обробці. Рішення на власному коді розгортається як cron-джоб, CI-крок або ручний тригер — все залежить від ритму релізів команди.
Технічний процес
Агент працює у три стадії: видобування історії, LLM-обробка, доставка чернетки. Між стадіями дані передаються у структурованому JSON, що спрощує налагодження та дозволяє додати ручні правила без переписування промпту.
Кроки імплементації
- Визначення діапазону релізу. Скрипт отримує два якорі — попередній та поточний. Варіанти: останній тег (
git describe --tags), дата, назва гілки або ID деплою з CI. Для команд без тегів використовується «все, що змержилося в main за N днів». - Запит до Git-хостингу. Через REST або GraphQL API (GitHub, GitLab, Bitbucket) вивантажуються коміти та пул-реквести у діапазоні. Для кожного PR збираються: заголовок, опис, мітки, автор, пов'язані задачі, позначка часу злиття.
- Попередня обробка. Коміти-дублікати (один і той самий PR squashed) стискаються. Conventional commits розбираються — якщо команда використовує формат
feat:,fix:,chore:, агент успадковує класифікацію. Без conventional commits LLM орієнтується за контекстом. - LLM-виклик. LLM отримує структурований список PR та промпт з інструкціями: які категорії, які аудиторії, тон, обсяг. Відповідь — JSON з масивами
features,fixes,breaking,internal. - Рендеринг. Шаблонізатор (Mustache, Jinja або той самий LLM другим проходом) перетворює JSON на markdown-чернетку під формат команди — CHANGELOG.md, Notion-сторінка, Slack-message, внутрішньододатковий модальний вікно.
- Доставка. Чернетка надсилається через вебхук у канал рев'ю — стандартний варіант: пул-реквест зі зміною CHANGELOG.md, щоб інженер бачив diff і коментував. Альтернатива — чернетки у Notion або Linear release.
Компоненти рішення
Компонент | Призначення |
|---|---|
Git-хостинг API | Джерело комітів та PR |
AI-модель | Класифікація та суммаризація |
Cron / CI-тригер | Запуск на релізі або за розкладом |
Шаблони для аудиторій | Окремі промпти: tech, mgmt, customer |
Канал доставки | Slack, Notion, PR, email |
Тонкощі та особливості
- Обробка довгих діапазонів. Для релізів зі сотнями PR дані розбиваються на пакети — LLM обробляє частини, потім агрегатор зводить результат. Інакше контекст переповнюється і якість класифікації падає.
- Стабільність формату. Промпт вимагає JSON з жорсткою схемою, а не вільний markdown. Це дає передбачуваний результат для автоматичного рендерингу та парсингу.
- Пам'ять про стиль. Якщо команда веде CHANGELOG.md, агент отримує попередні записи як приклади для орієнтування — нові нотатки до релізу пишуться в тому самому тоні.
- Кастомні правила. Список PR-міток, які треба ігнорувати (наприклад,
internal,dependabot), задається у конфігу. LLM не вирішує це самостійно.
Requisitos previos
Базова версія автоматизації розгортається за 2-5 робочих днів одним інженером — звідси й позначення складності «вихідні». Далі ускладнення залежить від вимог команди.
Дані та доступи
- Git-хостинг з API-доступом. GitHub, GitLab, Bitbucket або власний хостинг — потрібен токен з правами читання історії та PR у потрібних репозиторіях.
- Політика релізів. Команда використовує теги, семантичне версіонування або хоча б регулярне злиття у main. Без стабільної точки відліку діапазон доводиться задавати вручну щоразу.
- Доступ до каналу доставки. Вебхук Slack, Notion API-токен, право на створення PR у репозиторій — залежить від обраного формату публікації.
- API-ключ мовної моделі через Anthropic або платформу-обгортку.
Готовність команди
- Один інженер, який підтримує скрипт і має доступи — техлід або DevOps.
- Домовленість про категорії нотаток до релізу: що вважається нова функція, що виправлення, які PR-мітки ігнорувати. Без цього LLM-класифікація попадатиме, але не завжди в очікування.
- Шаблон CHANGELOG.md або еквівалентний формат у Notion/Linear — навіть чорновий.
Терміни
- Версія «вихідні» (2-5 днів): один репозиторій, одна аудиторія (технічна), публікація у Slack або CHANGELOG.md через PR. Мінімум промптів, стандартний формат.
- Розширення (до 2 тижнів): кілька репозиторіїв у монорепо або мультисервісній архітектурі, три варіанти тексту (tech/mgmt/customer), інтеграція з Notion та вбудованим у застосунок віджетом журналу змін.
Для команд із нестандартним робочим процесом (функціональні прапорці, хвилі релізів, кілька продуктів в одному репозиторії) варто закласти додатковий час на визначення логіки діапазону.
Problemas
- Actualizaciones constantes para la dirección
- Tiempo en informes manuales
FAQ
Скільки часу займає впровадження?
2-5 робочих днів для базової версії: один репозиторій, технічна чернетка в Slack або CHANGELOG.md. До двох тижнів — якщо потрібно кілька аудиторій, мультирепозиторна збірка та інтеграція з Notion або вбудованим у застосунок віджетом. Строки включають налаштування промптів, тестування на 2-3 релізах і підгонку під стиль наявного changelog команди.
Що робити, якщо у нас немає conventional commits і жодних PR-міток?
Автоматизація все одно працює — LLM класифікує зміни за заголовками та описами PR. Точність буде нижчою, ніж у команди з чистим feat:/fix:/chore:, але на рівні «підготувати чернетку, яку інженер вичитає за 5 хвилин» цього достатньо. Після кількох ітерацій можна додати few-shot приклади з вже опублікованих release notes, і якість стабілізується.
Що може зламатися?
Три типові сценарії: (1) великий реліз із сотнями PR перевищує контекст LLM — вирішується батчингом; (2) екзотичні PR-заголовки без опису агент класифікує як «internal» і пропускає в клієнтському варіанті — фіксується ручною міткою або правкою чернетки; (3) при зміні формату CHANGELOG.md шаблон потребує оновлення промпта. Усі три випадки — операційні, не архітектурні.
Чи працює у нашій індустрії?
Рішення спочатку заточене під SaaS і технічні продукти з регулярними релізами. Підходить і горизонтально — будь-якій команді з активним Git-репозиторієм і ритмом релізів частіше ніж раз на місяць. Для компаній з одним-двома релізами на рік економія часу невелика і ROI сумнівний — ручний changelog раз на півроку обходиться дешевше підтримки пайплайна.
Чи можна залишити ручний контроль над підсумковим текстом?
Так — це базовий режим. Агент формує чернетку, інженер або продакт вичитує і публікує. Повна автопублікація без людини не рекомендується: навіть з хорошою класифікацією залишаються PR з неочевидним формулюванням для клієнтів, і ручна вичитка за 5-10 хвилин знімає більшу частину помилок тону та термінології.
Як це співвідноситься з постійними апдейтами керівництву?
Release notes у трьох варіантах закривають два різних потоки: технічний changelog для інженерів і коротке резюме «що змінилося для бізнесу» для CEO/COO. Другий варіант іде в щотижневий дайджест або Slack-канал менеджменту — той самий звіт, який раніше збирався вручну з комітів, Jira і голови техліда.
Quieres esto en tu negocio?
Reserva una auditoria gratuita — te mostraremos como funcionara esta automatizacion para ti.