21 KiB
Сверка документов при назначении руководителей
Собери СТАТИЧНЫЙ макет всего процесса: кликабельные экраны без серверной логики, наполненные правдоподобными примерами. Без пометок «макет», «демо» и «демонстрационная версия» на экране. Это ИНТЕРФЕЙС решения, а не паспорт в виде сайта: первым открывается главный рабочий экран сотрудника (то, с чем он работает каждый день), дальше — экраны остальных шагов процесса. Таблицы, списки и графики сразу заполнены примерами (8–15 строк), пустых состояний «ничего не найдено» при открытии быть не должно. Сведения паспорта (предпосылки, эффект, риски) — одной последней вкладкой «О решении», не первой.
ТЗ НА ИНТЕРФЕЙС
Что собираем
Ускорить подготовку заключения о соответствии кандидата требованиям путем автоматизации сверки документов и поиска противоречий.
Кто пользуется
- Эксперт: загружает документы, проверяет выводы ИИ, формирует и отправляет заключение
- Руководитель: просматривает итоговое заключение и согласовывает его
Экраны (первым открывается первый)
1. Загрузка пакета документов
Инициация процесса сверки для конкретного кандидата На экране:
- Форма ввода: ФИО кандидата, должность
- Поля загрузки: Должностная инструкция, Пояснительная записка, Анкета кандидата
- Статус: Ожидание загрузки
- Список загруженных файлов Действия:
- Загрузить файлы
- Запустить анализ ИИ
- Отменить
2. Анализ ИИ и проверка выводов
Просмотр результатов сверки с нормативами и поиск противоречий, верификация данных На экране:
- Таблица нарушений: Документ, Пункт, Описание несоответствия, Ссылка на норматив
- Статус анализа: Завершено / Ошибка
- Фильтр по типу нарушения Действия:
- Подтвердить нарушение
- Отклонить (ложное срабатывание)
- Перейти к составлению заключения
3. Составление заключения
Формирование итогового документа со списком нарушений и ссылками На экране:
- Редактор текста заключения
- Автозаполненный список подтвержденных нарушений
- Список ссылок на пункты нормативов
- Статус: Черновик Действия:
- Редактировать текст
- Сохранить черновик
- Отправить на согласование
4. Согласование руководителем
Финальное утверждение заключения На экране:
- Текст заключения
- Список нарушений
- Статус: На согласовании
- Дата и время отправки Действия:
- Согласовать
- Вернуть на доработку
Данные
- Кандидат: ФИО, Должность, Дата подачи пакета
- Документ: Название, Тип (ДИ, ПЗ, Анкета), Дата загрузки, Статус обработки
- Нарушение: Описание, Тип (Несоответствие нормативу, Противоречие), Ссылка на норматив, Статус проверки (Подтверждено, Отклонено)
- Заключение: Текст, Статус (Черновик, На согласовании, Согласовано), Дата создания
Путь сотрудника
- Эксперт загружает пакет документов на экране 'Загрузка пакета документов'
- Эксперт проверяет выводы ИИ, подтверждает или отклоняет нарушения
- Эксперт формирует текст заключения на экране 'Составление заключения' и отправляет его
- Руководитель просматривает и согласовывает заключение на экране 'Согласование руководителем'
Что делает ИИ
- Сверка документов с квалификационными требованиями и нормативами (виден на экране 'Анализ ИИ и проверка выводов')
- Поиск противоречий в документах (виден на экране 'Анализ ИИ и проверка выводов')
Что проверяет и решает человек
- Эксперт проверяет выводы ИИ (подтверждение/отклонение нарушений)
- Эксперт пишет заключение со списком нарушений и ссылками
- Руководитель согласовывает заключение
КОНТЕКСТ (для понимания процесса; на экраны целиком не выносить)
ПАСПОРТ ИИ-РЕШЕНИЯ
| Поле | Значение |
|---|---|
| Наименование | Сверка документов при назначении руководителей |
| Исполнитель | владелец процесса – сборка на платформе Vibe AI |
| Пользователь | эксперт, руководитель, кадровая служба |
| Дата внедрения | – |
1. Предпосылки
- Проверка документов на назначение руководителей
- Сверка пояснительной записки и квалификации кандидата с ТК, законом об АО и внутренними правилами фонда
- Проблема: большой объём чтения
2. Входные данные и источники
- Должностная инструкция, пояснительная записка, анкета кандидата (письмо от кадровой службы)
- Нормативы (папка на общем диске)
3. Процессы для внедрения ИИ
- Сверка документов с квалификационными требованиями и нормативами
- Поиск противоречий в документах
4. Шаги процесса
- Эксперт получает пакет документов от кадровой службы
- Эксперт читает пояснительную записку
- ИИ сверяет документы с квалификационными требованиями и нормативами
- ИИ ищет противоречия в документах
- Эксперт проверяет выводы ИИ
- Эксперт пишет заключение со списком нарушений и ссылками
- Руководитель согласовывает заключение
5. Результат
- Заключение со списком нарушений и ссылками на пункты нормативов
- Получатель: руководитель (в тот же день), копия — кадровая служба
- Срок подготовки: 3 рабочих дня
6. Ожидаемый эффект
- Ускорение процесса
- Исключение пропусков при сверке
7. Экономический эффект
- ≈ 50 ч в месяц (20 случаев × 150 мин) — оценка Төре
8. Контроль и риски
- Ошибка ИИ при противоречиях в документах
9. Меры по снижению
- Эксперт проверяет выводы ИИ
10. Формат реализации
- Веб-интерфейс на Vibe AI: сначала статичный макет всего процесса, после согласования — рабочее решение
-
- ИИ-агент на платформе Alem для работы с документами
Схема процесса (mermaid): flowchart TD S0["Эксперт получает пакет документов от кадровой службы"] S1["Эксперт читает пояснительную записку"] S0 --> S1 S2["ИИ сверяет документы с квалификационными требованиями и нормативами · ИИ"] S1 --> S2 S3["ИИ ищет противоречия в документах · ИИ"] S2 --> S3 S4["Эксперт проверяет выводы ИИ"] S3 --> S4 S5["Эксперт пишет заключение со списком нарушений и ссылками"] S4 --> S5 S6["Руководитель согласовывает заключение"] S5 --> S6
Объём работы
Собирай ровно то, что написано в задании. Не добавляй лишние разделы, журналы и настройки. Для статичной страницы достаточно index.html. Если запрошен статичный макет, не добавляй серверную часть на этом этапе. Если задача требует общего хранения, настоящей регистрации или рабочего приложения, реализуй серверную часть и базу данных средствами Vibe AI. Создай необходимые файлы, таблицы и обработчики, даже если владелец не перечислил их отдельно. Не подменяй общее хранение localStorage или демонстрационным списком. Собственная база приложения не требует интеграции с системами КТ и отдельного утверждения дизайна в экспрессе. При доработке существующего проекта это правило заменяет прежнее ограничение одним HTML-файлом. Проверь сохранение записи, чтение из другой сессии, обработку ошибок и ограничения доступа. Личные данные доступны только уполномоченному пользователю, секреты не попадают в браузерный код. Не придумывай доступы или готовые интеграции. Если публикация серверной части недоступна, укажи конкретную причину и не объявляй функцию работающей. Закончив, опубликуй приложение и сообщи фактический адрес и результаты проверки; сохраняй прежний адрес, если платформа это позволяет.
Имена файлов
Если серверная часть не нужна, скрипт интерфейса называй script.js, стили — style.css. Не создавай в корне проекта файлы app.js, main.js, index.js, server.js, bot.js, app.py, main.py, server.py и package.json со scripts.start: платформа примет проект за серверное приложение и не опубликует статичный сайт. Эти имена — только для настоящего сервера.
Дизайн — дизайн-система 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 уходит в тёмную по системной теме). lang — язык интерфейса из задания: казахский — kk, английский — en, иначе ru. Переключатель темы можно оставить, но открываться страница должна светлой.
Цвета, отступы и размеры — только токенами 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-цвета — только внутри логотипа. Иначе это не дизайн-система, а перекраска.
Фильтры и пустое состояние тоже из ДС (.kt-ai-select, .kt-ai-filter-chip, .kt-ai-empty): каждый выведенный фильтр обязан менять все представления, которые задевает — таблицу, показатели, график и текст объяснения.
Таблицы, списки, журналы, дашборды и формы собирай из готовых классов ДС (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 там нет.
Шапка страницы: слева логотип Казахтелекома — <img src="https://code.vibe42.kz/tore/aitu/kt-logo.svg" alt="Казахтелеком" height="28">, рядом название приложения.
Свой стиль не выдумывай, Bootstrap/Tailwind/Material/Google Fonts не подключай, сырые hex-цвета не пиши.
Папку design-system/ закоммить вместе с проектом — иначе опубликованная страница останется без стилей.
Телефон — основной экран
Сотрудники открывают приложение в мессенджере на телефоне. Всё рабочее — поиск, фильтры, кнопки действий, формы, переключатели — должно быть видно и работать при ширине 375px, без горизонтальной прокрутки страницы. Дизайн-система на экранах уже 640px скрывает поиск верхней панели (классы .kt-ai-search и .kt-ai-search-field): рабочий поиск по данным ставь в области контента над списком или таблицей обычным полем .kt-ai-input, а не этими классами.
Без пометок «демо»
Не пиши на экране «Демо-данные», «демонстрационная версия», «тестовые данные», «макет» и похожие пометки. Если настоящих данных нет — наполни приложение правдоподобными примерами. Не утверждай, откуда взяты данные.
Ничего не додумывай
НИЧЕГО НЕ ДОДУМЫВАЙ (правило продукта): источник — задание (в нём — слова сотрудника). Сведений о работе, которых там нет, не добавляй и не «уточняй» за сотрудника: компании и бренды, системы и интеграции, отделы и роли, адреса, числа, цены, сроки, показатели, источники данных. Чего нет — того не пиши. Предлагать своё можно, только если сотрудник сам просит предложить, придумать, подобрать, найти или изучить. Примеры в таблицах и на графиках — обычные и нейтральные, они только показывают устройство экрана. Чего-то не хватает — оставь поле пустым или добавь пустое состояние, а не выдуманный факт.
Большие файлы — частями, скрипт — простой
Файл длиннее ~250 строк не пиши одной записью: создай его с первой частью и дописывай следующими правками (по экрану или блоку за раз). Запись слишком большого файла одним сообщением обрывается. Скрипт пиши просто: обычные функции и циклы, без хитрых однострочников; методы строк (padStart, toFixed, slice) вызывай у значений нужного типа, к элементу обращайся после проверки, что он найден. После сборки перечитай скрипт: парные скобки, каждый экран рисуется без исключений, первый экран при открытии сразу показывает наполненные таблицы. Интерпретатора JavaScript в песочнице нет. Не ищи его и НЕ ПИШИ никаких проверяльщиков синтаксиса (python-скрипты, токенайзеры, счётчики скобок) — это только тратит время: синтаксис и запуск опубликованной страницы проверит Tõre и вернёт, что исправить. Записал файлы — перечитай глазами и сразу закоммить и опубликуй.