ФТ и НФТ: с чего начинается оценка
(часть 2 серии про оценку ML-задач в банке, часть 1 — выше)
Прежде чем оценивать задачу, нужно понять, что мы вообще строим. И тут всё упирается в два типа требований.
• Функциональные требования (ФТ) — какие возможности система даёт пользователю. Пример для RAG-сервиса: «пользователь задаёт вопрос; если есть релевантный фрагмент — система возвращает ответ со ссылкой на источник, если нет — явный ответ "в базе ничего не найдено"».
• Нефункциональные требования (НФТ) — не что система делает, а как хорошо: производительность, надёжность, безопасность, масштабируемость. Пример: SLA, средний и пиковый RPS, требования к безопасности.
Звучит просто, но многое зависит от формулировок. Хорошее требование — это:
• Однозначное и объективное — описывает одну функциональность, без «и ещё хорошо бы». • Тестируемое — по нему можно написать тест-кейс с проверяемым результатом. Не «работает быстро», а «отвечает за N мс на пиковом RPS». • Измеримое (особенно для НФТ) — есть метрика или стандарт, на который опираемся.
Зачем такая строгость? На размытом «сделайте умный поиск» нельзя ни спроектировать решение, ни оценить ресурсы.
На старте детализированных требований почти никогда нет. А про процесс оценки — в следующих постах.