20 KiB
Бриф инициативы: ИИ-агент согласования отпусков
Суть: Руководитель отдела (Ержан) вручную проверяет остатки отпусков в KTWorks, согласовывает даты в Telegram и обновляет график в Excel на сетевом диске; процесс занимает 4–12 часов в месяц и несёт риск конфликтов графиков из-за человеческого фактора, который предлагается устранить агентом с авто-валидацией правил и подтверждением в чате.
1. Контакты владельца процесса
- ФИО:
- Ержан (фамилия не подтверждена – уточнит владелец).
- Контакт:
- Telegram ID: не подтверждено – уточнит владелец (разговор ведётся в Telegram).
- Телефон: не подтверждено – уточнит владелец.
- Департамент / дивизион:
- не подтверждено – уточнит владелец (руководитель отдела).
2. Процесс и владелец
- Название процесса и роль владельца.
- Согласование и учёт ежегодных отпусков сотрудников отдела.
- Владелец – руководитель отдела (Ержан).
- Что входит в объём задачи и что явно вне объёма (out of scope).
- В объём входит проверка остатков дней отпуска в KTWorks.
- В объём входит проверка правил покрытия (макс. 2 человека одновременно, наличие дежурного).
- В объём входит ответ сотруднику в Telegram.
- В объём входит внесение данных в Excel-файл на сетевом диске.
- В объём входит еженедельная отправка списка HR.
- Вне объёма – издание приказов (это делает HR), расчёт зарплаты отпусков.
3. Процесс AS-IS
- Триггер:
- Запрос сотрудника в Telegram на согласование дат отпуска.
- Участники:
- Сотрудник (инициатор).
- Руководитель отдела (Ержан) – проверяет, согласовывает, вносит данные.
- HR – получает итоговый список, издаёт приказы.
- Системы:
- Telegram – канал коммуникации с сотрудниками.
- KTWorks (кадровый профиль) – источник данных об остатках дней отпуска.
- Сетевая папка (
\\fs-dept\otdel\Отпуска\) – хранение графика (График отпусков 2026.xlsx).
- Что происходит сейчас:
- Сотрудник пишет запрос в Telegram.
- Руководитель вручную заходит в KTWorks, проверяет остаток дней.
- Руководитель мысленно проверяет график на наличие конфликтов (дежурный, лимит 2 человек).
- Руководитель отвечает в чате.
- Руководитель вечером вручную вносит строку в Excel на сетевом диске.
- Раз в неделю руководитель формирует список для HR.
4. Боль и потери
- Основная боль – риск забыть внести данные в Excel после согласования (реализовался в августе).
- Последствия ошибок – конфликт графиков (одновременно ушли >2 человек), отсутствие дежурного старшего.
- Бизнес-ущерб – срыв клиентских запросов (ожидание 2 дня), задержка приказов HR из-за позднего предоставления данных.
- Потери времени – рутинная проверка остатков и перенос данных (4–12 часов в месяц).
5. Объёмы и baseline
- Частота запросов: около 5 в неделю (в летний период до 15).
- Время на одну обработку: 10–15 минут (проверка KTWorks + ответ + внесение в Excel).
- Суммарная нагрузка: ~4–5 часов в месяц (летом до 12 часов).
- Тройка «сейчас / нужно / цель» не применяется (процесс обязательный для всех запросов).
6. Данные и источники
- KTWorks (кадровый профиль).
- Точка входа: корпоративный логин (веб-интерфейс или приложение).
- Данные: остаток дней отпуска, ФИО сотрудника.
- Владелец данных: HR-департамент.
- Excel-файл
График отпусков 2026.xlsx.- Точка входа: сетевая папка
\\fs-dept\otdel\Отпуска\. - Формат: таблица Excel.
- Колонки: ФИО, дата начала, дата окончания, тип (ежегодный/без содержания/учебный), статус (согласовано/в приказе), примечание.
- Владелец файла: руководитель отдела.
- Точка входа: сетевая папка
- Telegram.
- Канал входящих запросов и уведомлений.
7. Рекомендуемое решение TO-BE
- Ядро решения.
- ИИ-агент мониторит запросы в Telegram.
- Агент автоматически проверяет остатки в KTWorks (через API/MCP).
- Агент валидирует даты по правилам: макс. 2 человека одновременно, наличие дежурного из 3 старших.
- Агент готовит строку для Excel и отправляет руководителю уведомление в Telegram с кнопкой «Согласовать».
- После нажатия кнопки агент самостоятельно обновляет файл на сетевом диске и фиксирует статус.
- Главный выходной артефакт.
- Обновлённая строка в Excel-файле
График отпусков 2026.xlsx. - Уведомление в Telegram с итогом согласования.
- Еженедельный список для HR (автоматическая рассылка).
- Обновлённая строка в Excel-файле
- Система-приёмник.
- Excel-файл на сетевом диске (
\\fs-dept\otdel\Отпуска\).
- Excel-файл на сетевом диске (
- Уровень автономности.
- Черновик с подтверждением (human-in-the-loop): агент всё готовит, человек нажимает кнопку.
- Порог уверенности/точности.
- 100% соблюдение жёстких правил (дежурный, лимит людей); при конфликте – блокировка и эскалация.
- Рекомендуемый формат реализации.
Alem-only (чат/API)– агент работает внутри Telegram через API Alem, используя MCP для доступа к KTWorks и файловой системе.
- Рассмотренные варианты.
Alem + веб-панель– отклонён: владелец прямо заявил «отдельный экран не нужен», поток не требует табличной сверки.Отдельный продукт– отклонён: логика укладывается в возможности Alem, нет требований к сложной обработке вне платформы.
8. Пользователи и действия после результата
- Руководитель отдела (Ержан).
- Действие: получает уведомление в Telegram, нажимает кнопку «Согласовать».
- Дальнейшее действие: ничего не делает, агент сам обновляет файл.
- HR-специалист.
- Действие: получает готовый еженедельный список письмом.
- Дальнейшее действие: издаёт приказы без задержек.
- Сотрудник.
- Действие: получает быстрый ответ о статусе отпуска.
9. Граница проверки человеком
- Что проверяет человек.
- Финальное подтверждение корректности предложенных дат (кнопка в Telegram).
- Сигнал для проверки.
- Уведомление от агента: «Сотрудник X, даты Y–Z, остаток N дней, конфликтов нет».
- Что может сделать человек.
- Подтвердить (нажать кнопку) – агент вносит данные.
- Отклонить – агент отменяет операцию и сообщает сотруднику.
10. Критерии приёмки
- Как руководитель отдела, когда приходит запрос в Telegram, я хочу видеть проверку остатка и правил в одном сообщении, чтобы нажать кнопку и не переключаться в другие системы.
- Вход: сообщение «Прошу отпуск с...».
- Ожидаемый выход: сообщение агента с данными из KTWorks, проверкой правил и кнопкой.
- Ошибка: если правила нарушены – агент пишет причину отказа сразу.
- Как руководитель, когда я нажимаю «Согласовать», я хочу, чтобы строка появилась в Excel на сетевом диске автоматически.
- Вход: нажатие кнопки.
- Ожидаемый выход: файл
\\fs-dept\otdel\Отпуска\График отпусков 2026.xlsxобновлён. - Ошибка: если файл заблокирован – агент уведомляет руководителя.
- Как HR, раз в неделю я хочу получать полный список согласованных отпусков письмом.
- Вход: таймер (раз в неделю).
- Ожидаемый выход: письмо со списком.
- Числовой порог качества.
- 0 конфликтов графиков (нарушение правила «2 человека» или «дежурный» недопустимо).
- Время реакции агента < 1 минуты.
11. Метрики успешности проекта и ожидаемый эффект
- Сокращение времени обработки запроса с 10–15 минут до 1 минуты (время владельца на нажатие кнопки).
- Экономия рабочего времени руководителя: ~4 часа в месяц (летом до 12 часов).
- Устранение конфликтов графиков: 0 случаев нарушения правил покрытия благодаря автоматической валидации.
- Ускорение процесса для HR: приказы издаются вовремя, без задержек из-за «забытого» графика.
- Снижение риска человеческой ошибки (забывчивость при ручном внесении) до нуля.
12. Риски, SLA и ограничения
- Риск недоступности сетевой папки (
\\fs-dept\otdel\Отпуска\) в момент записи – агент должен уметь повторить попытку и уведомить. - Риск изменения структуры Excel-файла (переименование колонок) – агент перестанет вносить данные, требуется мониторинг формата.
- Риск неверных данных в KTWorks (остаток не обновлён) – агент передаст ошибку на проверку руководителю.
- SLA процесса: ответ сотруднику должен быть дан в день запроса (сейчас иногда срывается).
- Оценка аналитика: нулевой вариант (можно ли проще, без ИИ).
- Проще нельзя: риск ошибок (конфликты графиков) вызван человеческим фактором (забывчивость при ручном внесении), который нельзя устранить изменением регламента без автоматизации записи и проверки правил.
13. Передача в работу
- Access contacts:
- Владелец: Ержан (руководитель отдела).
- ИТ-поддержка: заявка на доступ агента к сетевой папке от имени руководителя.
- HR и ДЦБ: согласование доступа агента к данным KTWorks.
- Previous automation attempts:
- Не было, процесс полностью ручной.
- Рабочие артефакты:
- Файл
\\fs-dept\otdel\Отпуска\График отпусков 2026.xlsx.
- Файл
14. Что осталось уточнить
- Фамилия и отчество владельца – уточнит владелец.
- Точный Telegram ID владельца – уточнит владелец (для настройки бота).
- Название отдела и дивизиона – уточнит владелец (для паспорта).
- Конкретное имя контакта в HR, который получает списки – уточнит владелец.
- Детали правил ротации дежурных (кто именно входит в «тройку старших») – уточнит владелец (для загрузки в базу знаний агента).
Пожалуйста, проверьте бриф: если всё верно, я перейду к схеме процесса; если есть правки – напишите их кратко.
Объём работы
Собирай ровно то, что написано в задании, и ничего сверх: без дополнительных разделов, журналов, историй, настроек и «на всякий случай» — их не просили. Свои файлы — только index.html (стили и скрипт внутри него) плюс то, что задание просит создать явно; без сборщиков и фреймворков, без комментариев в коде. Демо-данные короткие и реалистичные. Вопросов не задавай: чего в задании нет — реши сам разумно и коротко. Закончив, опубликуй сайт.
Дизайн — дизайн-система KT AI
Весь интерфейс собирай на дизайн-системе KT AI, которая уже лежит в папке проекта design-system/.
Перед первой строкой вёрстки прочитай design.md и design-system/AGENTS.md и следуй им.
Подключай файлы ДС относительными путями и в этом порядке: ./design-system/kt-ai-fonts.css,
./design-system/kt-ai-tokens.css, ./design-system/kt-ai-components.css, ./design-system/kt-ai-page.css.
Тема по умолчанию — светлая: <html lang="ru" data-theme="light">; не ставь dark и не ставь auto
(auto уходит в тёмную по системной теме). Переключатель темы можно оставить, но открываться страница должна светлой.
Цвета, отступы и размеры — только токенами var(--kt-ai-…), иконки — из design-system/icons/kt-ai-lucide-sprite.svg.
Плашки показателей — .kt-ai-kpi (.value, .label, .hint) в полосе .kt-ai-kpi-strip; таблицы — по правилам ДС (frameless, .kt-ai-table-wrap, числа вправо, tabular-nums);
графики — чистый SVG/div высотой 190–220px, столбцы 20–28px с радиусом 2px, цвета только var(--kt-ai-chart-blue|green|orange|pink|red|salmon), подсказки значений — data-kt-tip + ./design-system/kt-ai-chart-tip.js.
Имена токенов не выдумывай — только существующие в design-system/kt-ai-tokens.css: --kt-ai-fg / -fg-muted / -fg-faint, --kt-ai-bg / -bg-soft, --kt-ai-card-bg / -card-border, --kt-ai-border / -border-strong, --kt-ai-primary, --kt-ai-radius-xl / -3xl, --kt-ai-font-sans / -mono, --kt-ai-chart-blue / -green / -orange / -pink / -red / -salmon, --kt-ai-status-ok-fg / -warn-fg / -risk-fg.
Несуществующий токен (--kt-ai-text-primary, --kt-ai-bg-surface, --kt-ai-font-family) молча не применится — страница выйдет в Times New Roman без рамок.
Классы ДС (.kt-ai-kpi, .kt-ai-card, .kt-ai-table, .kt-ai-btn, .kt-ai-chip, .kt-ai-input) в своём <style> не переопределяй — ДС рисует их сама; свой <style> — только сетка и отступы. <body class="kt-ai-app">.
Перед публикацией проверь сам: в HTML не меньше десятка классов kt-ai-*, каждый var(--kt-ai-…) есть в tokens.css, свои hex-цвета — только внутри логотипа. Иначе это не дизайн-система, а перекраска.
Таблицы, списки, журналы, дашборды и формы собирай из готовых классов ДС (design-system/COMPONENTS.md),
архетип экрана выбирай по design-system/docs/ARCHETYPES.md. Каркас страницы — из design.md, с обычными <link>.
Шаблон design-system/templates/kt-ai-app-shell.html целиком не копируй: его скрипты-загрузчики (data-kt-ai-base-resolver,
data-kt-ai-boot) тянут CSS с корня сайта по абсолютному пути /design-system/…, а сайт публикуется в подпапке — стили не загрузятся.
Подключай только файлы, которые реально лежат в design-system/ (проверь ls design-system): файла kt-ai-components.js там нет.
Свой стиль не выдумывай, Bootstrap/Tailwind/Material/Google Fonts не подключай, сырые hex-цвета не пиши.
Папку design-system/ закоммить вместе с проектом — иначе опубликованная страница останется без стилей.