Система работы с курсом
Как проходить курс, чтобы остался проверяемый результат
1. Проектировать состояния до компонентов
Сначала опишите idle, submitting, streaming, validating, completed, cancelled, retryable error и terminal error. Кнопки, spinner и текст ответа должны быть проекцией контролируемого состояния системы, а не скрытой логикой нескольких boolean-флагов.
2. Отделять preview от validated result
Partial stream улучшает ощущение скорости, но не является финальным domain result. Безопасно рендерьте недоверенный текст, а structured output, citations и предложенные actions показывайте как подтвержденные только после schema и application-side validation.
3. Проверять без мыши и магии
Пройдите каждый lab с keyboard-only navigation, screen-reader announcements, медленной сетью, cancellation, malformed payload, duplicate events и prompt-injected content. Проверяйте observable UI state и side effects, а не только красивый screenshot.
4. Фиксировать UX evidence
Сохраняйте state-transition traces, accessibility audit, error recovery, открытие citations, approval decisions, время до first useful feedback и task completion. Одна median latency не показывает, понял ли пользователь состояние системы и сохранил ли контроль.