ЛИСТ СПЕЦИФИКАЦИИ И ПРИЁМКИ МОДЕЛИ
Тема по программе: [Например: 4.1.400 Защита информации от утечки по акустическим каналам]
Название модели: [Например: Акустический щит]
Автор: [Фамилия Имя, группа]
Использованный ИИ-инструмент: [Например: ChatGPT-4o / YandexGPT / Claude 3.5]
Ветка разработки: feature/название_модели
Ссылка на Pull Request: [Ссылка на PR в Gogs]
1. Физическая (аналитическая) основа
Заполняется ДО генерации кода. Здесь мы фиксируем законы и формулы, которым должна подчиняться модель.
1.1. Моделируемые физические величины и их единицы:
- Уровень речи: дБ (децибелы)
- Уровень шума: дБ
- Расстояние: метры (м)
- Разборчивость: проценты (%)
1.2. Базовые формулы и законы:
- Закон обратных квадратов для звука: падение уровня звука на 6 дБ при каждом удвоении расстояния от источника.
- Отношение сигнал/шум (SNR) = Уровень речи - Уровень шума.
- Формула Шеннона для разборчивости (или эмпирическая кривая артикуляции). [Студент должен привести конкретную формулу, которую он закладывает в основу]
1.3. Параметры по умолчанию:
- Уровень речи в источнике: 60 дБ
- Фоновый шум в помещении: 30 дБ
- Диапазон изменения расстояния в модели: от 1 м до 10 м.
2. Граничные условия (Крайние случаи)
Модель обязана вести себя предсказуемо и физично на границах диапазонов.
- Расстояние = 0: Модель не должна выдавать ошибку «деление на ноль» или бесконечность. Уровень сигнала ограничивается максимальным физическим пределом (например, 100 дБ у самого источника).
- Шум = 0: Разборчивость должна быть 100% (или максимально возможной для данной модели).
- Шум > Уровень речи: Отношение сигнал/шум отрицательное. Разборчивость должна падать до 0% и не уходить в отрицательные значения.
- Маскирующий генератор включен: Уровень шума прибавляется к фоновому.
3. Упрощения модели (Что мы НЕ учитываем)
Заполняется студентом. Это показывает честность модели и понимание ее ограничений.
- Мы не учитываем реверберацию (эхо) помещения.
- Мы считаем, что источник звука ненаправленный (излучает во все стороны равномерно).
- Мы не учитываем частотные характеристики (моделируем только интегральный уровень в дБ).
4. Сценарий
Заполняется студентом. Описывает экраны и логику переходов между ними. Минимум 4 сцены.
Сцена 1: Вводная.
- Элементы: Текст вводной, кнопка «Включить питание».
- Действия: Инициализация аудио-контекста, переход на Сцену 2.
- Переход: Нажатие кнопки.
Сцена 2: Пульт управления.
- Элементы: Ползунок расстояния, индикатор сигнала, тумблер генератора шума, ползунок уровня шума, индикатор SNR.
- Действия: Движение ползунков, включение генератора.
- Переход: Кнопка «Перейти к оценке».
Сцена 3: Оценка разборчивости.
- Элементы: Шкала разборчивости, анимация.
- Действия: Студент видит, как падает разборчивость.
- Переход: Кнопка «Завершить».
Сцена 4: Итоговое тестирование.
- Элементы: Тест из 5 вопросов.
- Действия: Ответы на вопросы.
- Переход: Вывод результата.
5. Методика проверки и тестирования
Заполняется студентом ДО сдачи работы. Описывает, как именно проверялась работоспособность.
5.1. Проверка формул (tester.html):
- Сетка параметров: Расстояние от 1 до 10 с шагом 3; Шум от 0 до 100 с шагом 20.
- Результат: Модель прошла 100% комбинаций (см. приложенный CSV).
5.2. Проверка звука и интерфейса:
- Действие: Включить речь, включить генератор шума, выкрутить шум на 100 дБ.
- Ожидаемый результат: Речь директора полностью заглушается шумом. Шкала разборчивости падает до 0%.
5.3. Проверка крайних случаев:
- Действие: Установить расстояние 10 м, шум 0 дБ.
- Ожидаемый результат: Уровень сигнала падает до 40 дБ, разборчивость около 95%.
- Действие: Установить расстояние 10 м, шум 100 дБ.
- Ожидаемый результат: Разборчивость 0%, нет отрицательных значений.
6. Стратегия работы с Git (Правила версионирования)
Заполняется студентом. Доказывает, что процесс разработки был осмысленным.
*Отдельные файлы версий (001.html, 002.html) создавать запрещено. Используем возможности системы контроля версий.*
- Ветка: Вся работа ведется в ветке
feature/... (указана в шапке).
- Теги (Tags): Студент обязан поставить теги на ключевые вехи разработки.
v0.1-spec — код впервые сгенерирован ИИ.
v0.2-tested — прогнан tester.html, найдены ошибки (приложен CSV с FAIL).
v1.0-ready — ошибки исправлены, тест пройден на 100%, дизайн готов.
- Слияние (PR): В основную ветку работа попадает только через Pull Request. При слиянии используется Squash (вся история промежуточных коммитов сворачивается в один чистый коммит в мастере).
7. Журнал верификации и отладки (Борьба с галлюцинациями ИИ)
Заполняется ПОСЛЕ генерации кода. Это «навигационная карта» для преподавателя. Вам не нужно проверять все коммиты подряд — только те, что указаны в этой таблице.
| № |
Что попросили у ИИ |
Что сгенерировал ИИ |
Ошибка (галлюцинация) |
Как исправили |
Имя коммита (Git hash / сообщение) |
| 1 |
Сгенерируй шкалу затухания звука от расстояния |
Сделал линейную шкалу: чем дальше, тем тише |
Звук затухает не линейно, а логарифмически (закон обратных квадратов). |
Заставили ИИ переписать формулу расчета дБ через логарифм. |
a1b2c3d — fix: correct attenuation formula to log scale |
| 2 |
Добавь ползунок шума |
При значении шума 100 дБ разборчивость стала -20% |
Разборчивость не может быть отрицательной. |
Добавили условие Math.max(0, razborchivost) в код. |
e4f5g6h — fix: clamp intelligibility to 0-100% |
| 3 |
... |
... |
... |
... |
... |
8. Критерии приёмки (Чек-лист преподавателя)
Работа не принимается, если хотя бы один пункт не выполнен.
Подпись студента: _______________
Оценка: _______________