From 6416a72f2996c04a4720d8ad69d8b785a4a6e465 Mon Sep 17 00:00:00 2001 From: Aleksey Razorvin <> Date: Thu, 23 Apr 2026 19:02:12 +0500 Subject: [PATCH] =?UTF-8?q?docs:=20update=20=D0=A2=D0=97=20to=20v1.3=20?= =?UTF-8?q?=E2=80=94=20=D0=B4=D0=B5=D1=82=D0=B0=D0=BB=D0=B8=D0=B7=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20=D0=B2=D0=B5=D1=80=D1=81?= =?UTF-8?q?=D0=B8=D0=BE=D0=BD=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=B8=20AI-?= =?UTF-8?q?=D0=BF=D0=BE=D0=BC=D0=BE=D1=89=D0=BD=D0=B8=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - §4.2: развернуто описание поведения версионности (правка in-place до первой попытки, создание новой версии после, переключение активной, привязка попыток к версии) - §4.7: AI-функции разделены на два уровня — над всем тестом (сгенерировать / проверить / предложить вариант) и над отдельным вопросом (улучшить / дистракторы); описана механика постатейного сравнения с чекбоксами Co-Authored-By: Claude Opus 4.7 (1M context) --- DOC/ТЗ.md | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/DOC/ТЗ.md b/DOC/ТЗ.md index 7084550..b97e660 100644 --- a/DOC/ТЗ.md +++ b/DOC/ТЗ.md @@ -1,8 +1,8 @@ # Техническое задание ## Система тестирования сотрудников клиники -**Версия:** 1.2 -**Дата:** 2026-03-21 +**Версия:** 1.3 +**Дата:** 2026-04-23 **Статус:** Согласовано --- @@ -58,12 +58,14 @@ **Настройки теста (задаются автором при создании):** - Разрешить возврат к предыдущему вопросу: да / нет -**Правила работы с тестом:** -- Автор может редактировать тест пока никто его не проходил -- Если тест уже проходили — создаётся новая версия (`version + 1`), старая сохраняется -- Все версии теста хранятся; результаты привязаны к конкретной версии -- Активная версия — та, которую видят сотрудники; автор может вручную переключить активную версию -- Тест можно деактивировать (скрыть из списка, не удалять) +**Правила работы с тестом (версионность):** + +- Пока по тесту не было ни одной попытки, автор редактирует тест **на месте** — номер версии не меняется. +- Как только появилась хотя бы одна попытка, любое сохранение изменений создаёт **новую версию** теста (`version + 1`, связь со старой версией через `parent_id`). Старая версия становится неактивной, но сохраняется в истории. +- Все версии теста хранятся в виде связанной цепочки. Каждая попытка прохождения привязана к конкретной версии, по которой сотрудник проходил тест, — разбор ошибок по старым результатам остаётся корректным. +- В списке тестов сотрудникам и авторам показывается только **одна активная версия** каждой цепочки. +- Автор может открыть страницу истории версий теста и вручную переключить активную версию на любую из цепочки — остальные версии при этом автоматически становятся неактивными. +- Тест можно деактивировать целиком (скрыть цепочку из списка, данные не удаляются). ### 4.3. Назначение теста @@ -113,21 +115,28 @@ HR-менеджер видит трекер по всей клинике. ### 4.7. AI-помощник при создании и редактировании тестов -Интеграция с LLM (DeepSeek) доступна авторам тестов в форме создания и редактирования. +Интеграция с LLM (DeepSeek) доступна авторам тестов в форме создания и редактирования. AI работает на двух уровнях: **над всем тестом целиком** и **над отдельным вопросом с блоком его вариантов ответов**. + +**Функции уровня всего теста:** + +| Функция | Описание | +|---------|----------| +| Сгенерировать тест | На основе названия теста AI генерирует готовый набор вопросов с вариантами ответов. Кнопка доступна только когда название теста заполнено; отдельный ввод темы не требуется. Результат показывается превью, автор применяет его целиком кнопкой «Применить все вопросы». | +| Проверить тест | AI анализирует весь тест и выдаёт структурированные рекомендации по улучшению (чёткость формулировок, качество дистракторов, охват темы). Показывается в модальном окне. | +| Предложить вариант (улучшить весь тест) | AI предлагает улучшенные формулировки всех вопросов и всех вариантов ответов. Результат отображается как **постатейное сравнение** (старая версия → новая) с чекбоксами — автор выбирает, какие изменения применить. | -**Функции AI-помощника:** +**Функции уровня одного вопроса:** | Функция | Описание | |---------|----------| -| Генерация теста | Автор вводит тему — AI генерирует готовый набор вопросов с вариантами ответов | -| Улучшение формулировки | AI переформулирует выбранный вопрос более чётко и однозначно | -| Добавление дистракторов | AI генерирует правдоподобные неправильные варианты ответов к вопросу | -| Проверка качества | AI анализирует весь тест и выдаёт рекомендации по улучшению | +| Улучшить вопрос | AI переформулирует выбранный вопрос и его варианты ответов более чётко и однозначно. Результат показывается в модале **с постатейным сравнением и чекбоксами** (вопрос + каждый вариант ответа отдельно), прямой замены без подтверждения не происходит. | +| Дистракторы | AI генерирует 3 новых правдоподобных неправильных варианта ответа к вопросу; они добавляются к существующим, а не заменяют их. | **Настройки:** -- API-ключ DeepSeek вводится на странице `/settings` и хранится в базе данных -- Страница настроек содержит кнопку «Проверить подключение» — выполняет тестовый запрос к API -- Ключ хранится только на бэкенде и не передаётся на фронтенд +- API-ключ DeepSeek вводится на странице `/settings` и хранится в базе данных. +- Страница настроек содержит кнопку «Проверить подключение» — выполняет тестовый запрос к API. +- Ключ хранится только на бэкенде, на фронтенд не передаётся. +- Все AI-функции требуют настроенного ключа: при его отсутствии возвращается понятная ошибка с предложением перейти в «Настройки». ---