ii-agent-soglasovanie-otpusk/passport.md

133 lines
19 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ПАСПОРТ ИИ-АГЕНТА (черновик)
| Поле | Значение |
|---|---|
| Наименование | ИИ-агент «Согласование отпусков» |
| Категория | Средняя (кадровые данные без ПДн/ИИН, цена ошибки — конфликт графика и срыв работы отдела) |
| Сложность | Средняя (интеграция с KTWorks через MCP, запись в сетевой Excel, логика валидации правил) |
| Исполнитель | Департамент AI (ДЦБ) АО «Казахтелеком» |
| Заказчик / Владелец | Ержан, руководитель отдела (полное ФИО, департамент и дивизион – уточнит владелец при финальном согласовании заявки) |
| Дата внедрения | – |
| Пользователь | Руководитель отдела, сотрудники отдела, HR-специалист |
## 1. Предпосылки
- Руководитель отдела вручную проверяет остатки отпусков в KTWorks и вносит данные в Excel на сетевом диске.
- Процесс занимает 4–12 часов в месяц (5–15 запросов в неделю по 10–15 минут), что отвлекает от управленческих задач.
- Реализованный риск в августе: из-за забывчивости при ручном внесении возник конфликт графиков и отсутствие дежурного старшего.
- Ошибки планирования приводят к срыву клиентских запросов (ожидание 2 дня) и задержке приказов HR.
- Текущий способ работы не гарантирует актуальность графика в реальном времени и соблюдение правил покрытия (лимит 2 человека).
## 2. Входные данные и источники
- **KTWorks (кадровый профиль).**
- Точка входа: корпоративный логин (веб-интерфейс или приложение KTWorks).
- Данные: остаток дней отпуска, ФИО сотрудника.
- Владелец данных: HR-департамент.
- Доступ: чтение через MCP/API (требуется согласование с ДЦБ и HR).
- **Excel-файл `График отпусков 2026.xlsx`.**
- Точка входа: сетевая папка `\\fs-dept\otdel\Отпуска\`.
- Формат: таблица Excel (.xlsx).
- Структура колонок: ФИО, дата начала, дата окончания, тип (ежегодный/без содержания/учебный), статус (согласовано/в приказе), примечание.
- Владелец файла: руководитель отдела.
- Доступ: запись через MCP-коннектор или сервис-аккаунт (требуется заявка в ИТ-поддержку).
- **Telegram.**
- Канал входящих запросов от сотрудников и уведомлений для руководителя.
- Формат: текстовые сообщения и inline-кнопки подтверждения.
## 3. Процессы / функции для внедрения ИИ
- Автоматический мониторинг входящих запросов на отпуск в Telegram-чате отдела.
- Валидация запроса: проверка достаточности остатка дней в KTWorks.
- Анализ графика: проверка правила «максимум 2 человека одновременно» и наличия дежурного из тройки старших.
- Формирование черновика решения для руководителя с данными о остатке и конфликтах.
- Обработка подтверждения от руководителя (нажатие кнопки «Согласовать»).
- Автоматическая запись утверждённой строки в Excel-файл на сетевом диске.
- Еженедельная генерация и отправка сводного списка согласованных отпусков на почту HR.
- Уведомление сотрудника о финальном статусе (согласовано/отклонено/ошибка).
## 4. Шаги процесса
- **Триггер:** Сотрудник отправляет сообщение в Telegram с запросом дат отпуска.
- Агент извлекает ФИО и даты, отправляет запрос к API KTWorks для получения остатка дней.
- Если данных в KTWorks нет или ошибка доступа — агент эскалирует ошибку руководителю.
- Агент считывает текущие записи из Excel-файла `\\fs-dept\otdel\Отпуска\График отпусков 2026.xlsx`.
- Агент применяет правила валидации:
- Если на запрошенные даты уже запланировано отсутствие 2 человек — фиксация конфликта.
- Если среди отсутствующих оказывается единственный доступный старший (из списка «тройки») — фиксация нарушения правила дежурства.
- При выявлении нарушений агент формирует ответ с причиной отказа и рекомендацией сдвинуть даты.
- При отсутствии нарушений агент отправляет руководителю черновик: «Сотрудник X, даты Y–Z, остаток N дней. Конфликтов нет» с кнопкой «Согласовать».
- **Решение человека:** Руководитель нажимает кнопку «Согласовать» или «Отклонить» в Telegram.
- Если «Отклонить» — агент отправляет уведомление сотруднику, запись в файл не производится.
- Если «Согласовать» — агент добавляет новую строку в Excel-файл с полями: ФИО, даты, тип, статус «согласовано».
- Если запись в файл не удалась (файл заблокирован/сеть недоступна) — агент повторяет попытку и уведомляет руководителя об ошибке.
- После успешной записи агент отправляет подтверждение сотруднику и добавляет запись в еженедельный реестр для HR.
- По таймеру (раз в неделю) агент формирует письмо со списком всех согласованных отпусков и отправляет его контакту HR.
## 5. Результат работы агента
- Обновлённая строка в файле `\\fs-dept\otdel\Отпуска\График отпусков 2026.xlsx` с актуальным статусом.
- Уведомление руководителю и сотруднику в Telegram о финальном решении.
- Еженедельный отчёт для HR (список согласованных приказов) на корпоративную почту.
- Журнал аудита действий (кто, когда, какие даты согласовал) для разбора спорных ситуаций.
- **Критерии качества:**
- Точность валидации правил: 100% (нулевая терпимость к нарушению лимита 2 человек или отсутствию дежурного).
- Время реакции на запрос: менее 1 минуты (с момента сообщения до черновика для руководителя).
- Отсутствие ручного ввода данных руководителем (только нажатие кнопки).
## 6. Ожидаемый эффект
- **Снижение трудозатрат:** Экономия ~4 часов в месяц в штатном режиме и до 12 часов в месяц в летний период (расчёт: 5–15 запросов/неделю × 10–15 мин).
- **Было → станет:**
- *Было:* Руководитель тратит 10–15 минут на запрос (проверка KTWorks + мысленный расчёт графика + внесение в Excel).
- *Станет:* Руководитель тратит ~1 минуту на проверку уведомления и нажатие кнопки; агент выполняет всю работу.
- *Экономия:* Консервативно ~3–4 часа в месяц чистого времени руководителя.
- **Снижение рисков:** Полное устранение конфликтов графиков («человеческий фактор» забыл внести данные исключён автоматической записью).
- **Ускорение процесса:** Мгновенная реакция сотруднику (вместо ожидания «до вечера»), своевременная передача данных HR (исключение задержек приказов).
## 7. Экономический эффект
- Оценка в тенге не рассчитана напрямую, так как процесс не генерирует прямой доход, но предотвращает убытки от простоя (срыв клиентского запроса на 2 дня) и штрафов за нарушение трудового законодательства (отсутствие дежурного/нарушение графика).
- Эффект выражается в высвобождении ~48–144 часов в год рабочего времени руководителя для управленческих задач.
- Предотвращение репутационных потерь от срыва обслуживания клиентов из-за нехватки персонала.
## 8. Контроль и риски
- **Риск качества данных:** Неактуальный остаток дней в KTWorks может привести к ошибочному согласованию (сотрудник уйдёт в долг).
- **Риск целостности файла:** Одновременная запись в Excel несколькими агентами или пользователем может повредить файл или привести к потере строк.
- **Риск недоступности ресурсов:** Сбой сетевого доступа к папке `\\fs-dept\otdel\Отпуска\` заблокирует процесс согласования.
- **Риск галлюцинаций:** Агент может неверно интерпретировать правило «дежурного» при сложном графике смен, если список старших не чётко формализован.
- **Запрет автономности:** Агенту категорически запрещено согласовывать отпуск без явного нажатия кнопки руководителем (human-in-the-loop).
## 9. Меры по снижению рисков
- **Валидация перед записью:** Жёсткая программная проверка правил (лимит 2 чел., дежурный) перед формированием черновика для человека.
- **Обработка исключений:** При ошибке записи в Excel агент не молчит, а немедленно уведомляет руководителя с текстом ошибки и повторяет попытку через интервал.
- **Разграничение доступа:** Агент работает от имени сервис-аккаунта с правами только на чтение KTWorks и запись в конкретный файл Excel (принцип минимальных привилегий).
- **Регулярный аудит:** Еженедельный отчёт HR служит двойным контролем: HR сверяет список с файлом на диске раз в неделю.
- **Чёткая база знаний:** Загрузка актуального списка «тройки старших» в базу знаний агента для исключения двоякого толкования правила дежурства.
## 10. Рекомендуемый формат реализации
- **Маршрут:** `Alem-only (канал: чат/API)`.
- **Почему подходит:** Владелец явно выбрал Telegram как единственное рабочее место («отдельный экран не нужен»). Логика задачи (проверка данных, правило, кнопка подтверждения) полностью закрывается возможностями платформы Alem (Workflow + MCP) без разработки отдельного веб-интерфейса.
- **Рассмотренные варианты:**
- `Alem + веб-панель` – отклонён: владелец прямо заявил «отдельный экран не нужен», а поток заявок (5–15 в неделю) не требует построчной сверки в таблице.
- `Отдельный продукт` – отклонён: логика агента укладывается в возможности Alem (MCP, workflow), нет требований к real-time или спец-обработке, недоступной платформе.
- **Что делает Alem:**
- Тип агента: `Workflow-агент` с узлом «Одобрение пользователя».
- Базы знаний: Список «тройки старших», регламент отпусков.
- Инструменты: MCP-коннекторы к KTWorks (чтение) и сетевой папке (запись Excel).
- Сценарий: Получение сообщения → Проверка правил → Отправка черновика в Telegram → Ожидание кнопки → Запись в файл.
- **Что вне Alem / требует подтверждения:**
- Реализация бота-оркестратора для интеграции Telegram с Published API Alem (так как нативный интерфейс Alem работает внутри платформы, а процесс идёт в Telegram).
- Техническая возможность записи в сетевую папку `\\fs-dept\otdel\Отпуска\` через MCP (требуется тестирование коннектора).
- Предоставление доступов к API KTWorks для сервис-аккаунта агента (согласование с HR и ДЦБ).
- **Не обещать запуск:** Маршрут – рекомендация; до production подтвердить доступы, ИБ и бюджет; финальное решение – Департамент AI (ДЦБ).
### Карточка агента Alem (черновик)
- **Название:** ИИ-агент «Согласование отпусков».
- **Тип агента:** `agent_with_approval` (Workflow с ручной подтверждением).
- **Суть системного промпта:** «Ты — ассистент руководителя. Проверяй запросы на отпуск по правилам: остаток в KTWorks, лимит 2 человека одновременно, наличие дежурного старшего. Никогда не согласовывай сам. Формируй черновик для руководителя с кнопкой. После нажатия кнопки записывай данные в Excel на сетевом диске.»
- **Базы знаний:** Список сотрудников с ролью «старший» (тройка дежурных), таблица праздничных дней.
- **Инструменты/MCP:** `ktworks_reader` (GET /profile/{id}), `excel_writer` (UNC path `\\fs-dept\otdel\Отпуска\`).
- **Примеры диалога:**
- *Вход:* «Прошу отпуск с 10 по 24 августа».
- *Действие:* Проверка KTWorks (остаток 20 дней), проверка графика (конфликтов нет).
- *Выход (руководителю):* «Иванов А., 10–24 авг. Остаток: 20 дн. Конфликтов нет. [Согласовать] [Отклонить]».
- **Правила draft-подтверждения:** Любое действие по записи в файл или отправке финального ответа сотруднику блокируется до нажатия кнопки руководителем.
- **Как протестировать:**
1. Кейс «Норма»: Запрос при свободном графике → Агент предлагает согласовать → Запись в Excel успешна.
2. Кейс «Лимит»: Запрос при уже 2 отсутствующих → Агент сразу пишет отказ с причиной.
3. Кейс «Дежурный»: Запрос старшего, когда другие старшие в отпуске → Агент блокирует и предупреждает об отсутствии дежурного.
Пакет документов сформирован и готов к подтверждению владельцем перед передачей в Департамент AI (ДЦБ).