12 KiB
**. Веб-интерфейс здесь не нужен и даже вреден, так как процесс полностью живёт в Telegram.
Вот исправленный, полный и валидный гайд со всеми обязательными разделами, черновиком промпта и примерами.
1. Почему Alem, а не отдельная разработка
- Логика укладывается в возможности платформы: Задача агента — прочитать данные (KTWorks), применить правила (лимит 2 человека, дежурный) и записать результат (Excel). Это стандартный сценарий для MCP/API-агента на Alem без необходимости писать отдельный бэкенд.
- Интерфейс уже существует: Владелец и сотрудники используют Telegram. Делать отдельный веб-портал, куда нужно заходить ради 5–15 операций в месяц, значит усложнять жизнь пользователю и создавать «мёртвую» систему.
- Human-in-the-loop нативен: Платформа Alem позволяет встроить узел «Одобрение пользователя» прямо в сценарий, что соответствует требованию брифа (кнопка «Согласовать» в чате).
- Экономия времени: Внедрение через Alem занимает дни, а не месяцы, так как не требует разработки UI и мобильной версии.
- Ограничения: Решение зависит от стабильности доступа к сетевой папке через MCP и качества данных в KTWorks. Если файловое хранилище будет недоступно, агент не сможет записать файл (требуется обработка ошибок).
2. Что делает агент
Агент выступает цифровым ассистентом руководителя отдела по согласованию отпусков. Он мониторит запросы в Telegram, автоматически сверяет остаток дней в KTWorks и проверяет график на конфликты (чтобы не ушли больше 2 человек одновременно и остался дежурный). Вместо того чтобы руководитель бегал по системам, агент присылает готовое решение: «Сотрудник Х, даты Y–Z, остаток N дней, конфликтов нет» с кнопкой подтверждения. После нажатия кнопки агент сам обновляет общий Excel-файл на сетевом диске и готовит отчёт для HR.
3. Пошаговое создание в Alem
Решение будет жить в чате Telegram (через бота) и работать на базе платформы Alem. Адрес платформы: https://alem.ai-kt.kz.
Шаг 1. Создание агента В интерфейсе Alem нажмите «Создать супер-сотрудника». Выберите тип агента: Skill-агент (так как требуется генерация файлов/отчётов) или Workflow-агент (если нужна сложная логика ветвления). Назовите агента, например, «Отпуска-Бот».
Шаг 2. Системный промпт В поле системного промпта вставьте следующий черновик. Он задаёт роль, источники знаний и строгие правила валидации.
Ты — ИИ-ассистент руководителя отдела по согласованию отпусков.
Твоя цель: обрабатывать запросы сотрудников на отпуск, проверять их корректность и обновлять график.
ИСТОЧНИКИ ДАННЫХ:
1. KTWorks (через MCP/API): остаток дней отпуска сотрудника.
2. Excel-файл "График отпусков 2026.xlsx" на сетевом диске \\fs-dept\otdel\Отпуска\: текущий список утверждённых отпусков.
ПРАВИЛА ВАЛИДАЦИИ (СТРОГО):
1. Лимит одновременного отсутствия: в одни даты не могут отсутствовать более 2 человек.
2. Дежурный: среди отсутствующих не должно быть единственного доступного старшего сотрудника (из "тройки старших").
3. Остаток: у сотрудника должен быть достаточный остаток дней отпуска в KTWorks.
АЛГОРИТМ РАБОТЫ:
1. Получи запрос от сотрудника (ФИО, даты, тип отпуска).
2. Проверь остаток в KTWorks. Если недостаточно — сообщи об отказе.
3. Проверь даты по Excel-графику на предмет пересечений (лимит 2 чел.) и наличия дежурного.
4. Если всё ок — сформируй черновик ответа для руководителя: "Сотрудник [ФИО], даты [X-Y], остаток [N] дней. Конфликтов нет." и предложи кнопку "Согласовать".
5. Если есть конфликт — напиши причину: "Конфликт: в эти даты уже уходят [Список] / Нет дежурного".
6. После нажатия кнопки "Согласовать":
- Добавь строку в Excel-файл на сетевом диске.
- Отправь подтверждение сотруднику.
- Добавь запись в список для еженедельного отчёта HR.
ЧЕГО НЕ ДЕЛАТЬ:
- Не согласовывай отпуск без явного подтверждения руководителя (кнопки).
- Не изменяй файл, если доступ к сети потерян (сообщи об ошибке).
- Не игнорируй правило дежурного.
Шаг 3. База знаний и навыки
- База знаний: Загрузите документ с актуальным списком «Тройки старших» (ФИО, должности), чтобы агент знал, кого нельзя отпускать всех одновременно.
- Навыки (Skills): Убедитесь, что подключен навык работы с файлами (Excel) и MCP-коннекторы для KTWorks и сетевой папки.
Шаг 4. Публикация и интеграция с Telegram
- В карточке агента нажмите «Опубликовать».
- Выберите интерфейс API. Платформа создаст API-ключ и покажет эндпоинты.
- Для работы в Telegram потребуется настроить бота-оркестратора (внешний сервис или скрипт), который будет:
- Слушать сообщения в чате отдела.
- Отправлять текст запроса в Alem через
POST /gateway/app/api/v1/published/conversation. - Получать
session_idи пересылать сообщения черезPOST .../published/{session_id}/send. - Отображать кнопки (Inline Keyboard) для подтверждения руководителю.
Шаг 5. Узел одобрения В сценарии (Workflow) добавьте узел «Одобрение пользователя» после этапа проверки правил. Это гарантирует, что запись в файл произойдёт только после нажатия кнопки руководителем.
4. Примеры поведения
Вопрос: «Прошу согласовать отпуск с 10 по 24 августа (14 дней).» (Сотрудник: Иванов А.) Ожидаемый ответ (Руководителю): «Иванов А., 10–24 августа. Остаток в KTWorks: 20 дней. Конфликтов нет (в эти даты уходит только Петров). Предварительное решение: Согласовать. [Кнопка: Согласовать] [Кнопка: Отклонить]»
Вопрос: «Можно ли мне в отпуск с 1 по 15 июля?» (Сотрудник: Сидоров В., один из «тройки старших») Ожидаемый ответ (Руководителю): «Сидоров В., 1–15 июля. Остаток: 15 дней. ВНИМАНИЕ: Конфликт правил. В эти даты уже отсутствуют Иванов и Петров. Если уйдёте вы, не останется дежурного старшего. Рекомендация: Отклонить или сдвинуть даты.»
Вопрос: «Согласовать отпуск для Кузнецовой (5 дней).» Ожидаемый ответ (Руководителю): «Кузнецова Е., даты не указаны. Уточните даты начала и конца отпуска для проверки графика.»
5. Как принять работу
Чек-лист приёмки:
- Агент корректно считывает остаток дней из KTWorks для тестового сотрудника.
- Агент правильно определяет конфликт «>2 человек» на тестовых данных из Excel.
- Агент блокирует согласование, если уходит последний «старший» (проверка правила дежурного).
- После нажатия кнопки «Согласовать» строка реально появляется в файле
\\fs-dept\otdel\Отпуска\График отпусков 2026.xlsx. - При отсутствии сети агент не падает, а сообщает об ошибке записи.
Что подтвердить до запуска (Блокеры):
- Доступ к файловой системе: Подтвердить техническую возможность записи в сетевую папку
\\fs-dept\otdel\Отпуска\через MCP-коннектор или сервис-аккаунт (нужны учётные данные). - Доступ к KTWorks: Согласовать с HR и ДЦБ доступ агента к API KTWorks для чтения кадровых профилей (read-only).
- Telegram-интеграция: Реализовать и протестировать бота-оркестратора для доставки сообщений и обработки нажатий кнопок (так как нативный чат Alem работает внутри платформы, а процесс идёт в Telegram).