What it does
AI-агент на базі AI-моделі підключається до вашого репозиторію GitHub та/або інстансу Jira і обробляє кожен новий тікет в момент його створення.
Система витягує смисл із неструктурованого тексту заголовка та опису, класифікує тикет за внутрішньою таксономією команди та виконує стандартні дії тріажу без участі інженера.
Що робить автоматизація на практиці:
- Забирає новий тікет через вебхук (GitHub Issues API або Jira Webhooks) одразу після створення.
- Витягує ключові сутності з опису: тип (bug/feature/question), задіяний компонент або модуль, згадані версії, оточення, стек-трейс.
- Визначає пріоритет за правилами команди: рівень критичності, кількість постраждалих користувачів, вплив на бізнес.
- Проставляє мітки та компоненти відповідно до затвердженої таксономії.
- Шукає дублікати — семантичний пошук за вже відкритими тікетами за останні 6-12 місяців.
- Призначає власника: за компонентом, за картою відповідальності за модулями, по черзі всередині команди.
- Залишає коментар із коротким структурованим резюме для інженера — що зламалось, де, як відтворити, схожі тикети.
- Ескалює в Slack канал команди, якщо тікет позначено як критичний або схожий на інцидент у продакшні.
Ефект із практики впровадження: старший інженер витрачав 3 години на тиждень на ручний тріаж — стало 20 хвилин швидкої перевірки граничних кейсів. Час до встановлення міток скоротився з 18 годин до 2 годин. Дублікати ловляться автоматично — раніше йшло до 1-2 днів до того, як хтось помічав повтор.
Що автоматизація НЕ робить
Чесні межі відповідальності AI-агента:
- Не приймає інженерних рішень. Тріаж проставляє розмітку та призначає власника, але не вирішує «фіксити зараз чи ні» і «в який спринт» — це залишається за техлідом.
- Не закриває тікети. Навіть явні дублікати агент позначає та лінкує, але фінальне закриття робить людина — це страховка від хибних збігів.
- Не працює з приватною архітектурою без контексту. Агенту потрібна заповнена таксономія міток, карта відповідальності за модулями та приклади коректно розмічених тикетів.
How it works
Архітектурно автоматизація будується як легковісний сервіс між трекером задач і LLM: webhook ловить подію, збирається контекст (текст тікету, схожі відкриті тикети, карта відповідальності за модулями, раніше розмічені приклади), LLM повертає структурований JSON із класифікацією, відповідь застосовується до тікету через API платформи. Все загорнуто в логіку повторних спроб та участь людини для спірних кейсів.
Технічна послідовність
- Вебхук від GitHub або Jira надходить на сервіс тріажу (FastAPI або Node) при подіях
issues.openedіissues.edited. - Сервіс збирає контекст: заголовок, опис, автор, наявні мітки, список потенційних дублікатів (топ-5 за семантичною схожістю з векторного індексу).
- Сервіс формує промпт для AI-моделі: передається таксономія міток, карта відповідальності за модулями, приклади-зразки раніше коректно розмічених тікетів та сам текст нового тикету.
- Claude повертає JSON:
{ labels, priority, component, owner, duplicate_candidates, summary, confidence }. - Сервіс валідує JSON за схемою: якщо рівень впевненості нижче порогу (наприклад, 0.75) — позначає тікет тегом
needs-human-triageі не призначає власника. - Для впевнених кейсів сервіс проставляє мітки й призначає відповідального через GitHub або Jira API, залишає коментар із резюме та посиланнями на схожі тикети.
- Критичні тікети ескалуються у Slack-канал команди через вхідний вебхук.
- Кожна дія записується в журнал аудиту — простежується, що і чому агент змінив.
Компоненти рішення
Компонент | Роль |
|---|---|
Приймач вебхуків | Прийом подій від GitHub Issues та Jira Webhooks |
Збирач контексту | Збір опису, схожих тикетів, карта відповідальності |
Векторний індекс | Зберігання векторних вкладень відкритих тікетів для пошуку дублікатів |
LLM-клієнт (AI-модель) | Класифікація та витягування сутностей |
Валідатор схеми | Валідація JSON-відповіді та рівня впевненості |
Виконавець дій | Запис міток, відповідального, коментаря через API |
Сповіщувач Slack | Ескалація критичних тикетів |
Журнал аудиту | Повна історія рішень агента |
Чому custom-code, а не готовий no-code
Для тріажу тікетів важливі три речі, які слабко покриваються готовими конструкторами: точний контроль над промптом та few-shot прикладами (ваша таксономія специфічна), векторний індекс дублікатів зі сталим сховищем векторних вкладень та прозорий журнал аудиту. Все це вирішується на ~500-800 рядків Python або TypeScript з LLM-клієнтом, векторною БД (pgvector, Qdrant) та двома API-інтеграціями. Типовий стек: FastAPI + PostgreSQL з pgvector + AI-модель через Anthropic SDK + Octokit або Jira REST.
Участь людини як стандарт
Агент не працює на повній довірі. Два механізми забезпечують безпеку:
- Поріг впевненості — при рівні нижче порогу рішення позначається
needs-human-triage, мітки не проставляються. - Щотижневий перегляд — раз на тиждень техлід звіряє 20 випадкових рішень агента з реальністю, приклади-зразки оновлюються, якість не деградує.
Підсумок: більша частина тікетів розмічається без участі інженера, спірні кейси йдуть на ручний тріаж — але вже з підготовленим агентом резюме та кандидатами в дублікати, що все одно прискорює роботу.
Prerequisites
Для запуску тріажу команді потрібні готові дані, доступи та мінімальна організаційна підготовка.
Дані та доступи:
- GitHub Personal Access Token (область доступу
repo) або Jira API token з правами на запис міток, відповідального виконавця і коментарів. - Затверджена таксономія міток — список типів (bug/feature/task), пріоритетів і компонентів. Зазвичай 15-40 категорій.
- Карта відповідальності за модулями: яка людина або команда відповідає за який компонент або модуль.
- 100-200 коректно розмічених тікетів за останні 6-12 місяців — для прикладів-зразків і побудови векторного індексу дублікатів.
- API ключ Anthropic для AI-моделі.
Інфраструктура:
- Сервер або хмарна платформа для сервісу тріажу (VPS, Render, Railway, AWS Lambda — підійде будь-який варіант).
- PostgreSQL з pgvector або Qdrant/Weaviate для векторного індексу.
- Slack workspace і вхідний вебхук, якщо потрібна ескалація критичних тікетів.
Готовність команди:
- Техлід або старший інженер як відповідальний за автоматизацію — узгоджує таксономію і перевіряє якість перші 2-3 тижні.
- 30-40 хвилин на тиждень у відповідального на щотижневий перегляд рішень агента у перший місяць, далі 15 хвилин.
- Команда приймає правила: дублікати лінкуються автоматично, але закриває їх людина.
Таймлайн впровадження:
Для складності «тиждень» очікуваний строк — 2-4 тижні. Тиждень 1 — узгодження таксономії і підготовка набору прикладів-зразків. Тиждень 2 — реалізація сервісу і підключення вебхуків. Тиждень 3 — режим спостереження (агент записує рішення в журнал, але не застосовує), калібрування порогу впевненості. Тиждень 4 — перехід у продакшн з ручним переглядом.
Pain points
- Errors in Manual Operations
- Repetitive Routine Tasks
- Constant context switching
FAQ
Скільки займає впровадження від старту до продакшну?
Для команди з підготовленою таксономією labels і готовими API-доступами — 2-4 тижні. Тиждень 1 іде на узгодження категорій і збір few-shot датасету, тиждень 2 — на реалізацію сервісу і вебхуки, тиждень 3 — тіньовий режим для калібрування, тиждень 4 — запуск із перевіркою людиною. Якщо таксономії ще немає — додайте 1-2 тижні на її формалізацію з tech lead.
Що робити, якщо у нас немає чіткої таксономії labels?
Це нормальна ситуація для команд, що виросли органічно. Перед запуском автоматизації проводиться короткий воркшоп з розмітки — 2-3 зустрічі по годині з tech lead і senior-інженерами, де формалізується список типів, пріоритетів і компонентів. На основі останніх 200-300 issues перевіряється покриття. Без цього кроку AI-агент не зможе давати стабільні результати розмітки.
Які ризики і що ламається при неправильному налаштуванні?
Три основні ризики: неправильна класифікація при слабкій таксономії (лікується few-shot прикладами та щотижневим оглядом), хибні спрацювання по дублікатах (вирішується порогом впевненості і тим, що закриття завжди робить людина), перевантаження Slack при надто агресивній ескалації. Всі три пом'якшуються тіньовим режимом у перший тиждень — агент записує рішення в log, але не застосовує, поки tech lead не підтвердить якість.
Чи підходить автоматизація не-SaaS командам — агентствам, внутрішньому IT, продуктовим командам у корпораціях?
Так. Тріаж працює там, де є issue tracker з активним потоком тікетів — GitHub Issues, Jira, Linear, GitLab. SaaS- і продуктові команди отримують максимум ефекту через обсяг вхідних, але агентства з кількома клієнтськими проєктами та внутрішні IT-департаменти впроваджують схожий підхід — таксономія просто стає дворівневою (клієнт + категорія).
Чи можна використовувати з Linear або GitLab замість GitHub/Jira?
Так, архітектура, незалежна від трекера. Linear і GitLab надають схожі вебхуки і REST/GraphQL API для запису labels, assignee і коментарів. Потрібна адаптація обробника вебхуків і виконавця дій — 1-2 дні додаткової роботи. Семантика порогу впевненості, шаблон промпту і векторний індекс дублікатів перевикористовуються без змін.
Що з приватними даними в issues — чи може інформація вийти назовні?
Дані передаються в AI-модель через Anthropic API згідно з їхньою політикою використання даних для комерційного API. Для суворих вимог відповідності додається крок редагування: сервіс видаляє чутливі поля (emails, токени, стек-трейс з PII) перед відправкою в LLM. Повний журнал аудиту дій агента пишеться локально у вашій інфраструктурі та доступний для аудиту.
Want this in your business?
Book a free audit — we'll show how this automation will work for you.