AI UX - интерфейс управления неопределённой системой
Обычная форма либо проходит validation, либо нет. Генеративная функция способна вернуть грамматически идеальный, но неверный результат. Пользователю нужны средства сформировать запрос, оценить ответ, исправить его и восстановиться после ошибки.
Цель дизайна - калиброванное доверие: человек опирается на AI там, где система доказала полезность, и проверяет или отклоняет там, где риск выше.
Начните с user outcome и цены ошибки
Одинаковый ответ требует разного UX: идея заголовка допускает быстрый regenerate, перевод лекарства - экспертную проверку, отправка платежа - строгий approval. Опишите решение человека, обратимость и вред ошибки.
Пользователь и контекст: [кто/где] Job to be done: [результат] Роль AI: create | recommend | summarize | decide | act Цена false positive / false negative: [последствия] Обратимость: [да/нет/окно] Источники истины: [системы] Что проверяет человек: [конкретно] Допустимый отказ: [поведение] Success metrics: [задача, качество, время] Harmful acceptance metric: [как измерять]
Четыре роли AI требуют разного контроля
| Роль | Интерфейс | Контроль |
|---|---|---|
| Create | Editable draft и variants | Редактирование до публикации |
| Recommend | Options, evidence, trade-offs | Пользователь выбирает |
| Decide | Критерии и review queue | Appeal и audit |
| Act | Plan, preview, scope | Approval, receipt, undo |
Не маскируйте действие под генерацию текста. Кнопка «Исправить всё» должна ясно показывать, какие файлы или записи изменятся.
Onboarding: покажите возможности и границы до первой ошибки
Microsoft HAX рекомендует заранее объяснять, что система может делать и насколько хорошо. Вместо общего «AI-помощника» покажите 3 - 5 конкретных задач, нужные входы и примеры результата.
- Одна фраза о полезном результате.
- Список поддерживаемых задач.
- Качественный example input/output.
- Явные ограничения и критичные проверки.
- Какие данные будут отправлены и куда.
- Безопасный sample без личных данных.
- Время, стоимость или лимит, если значимы.
- Как отменить, исправить и сообщить об ошибке.
Empty state: не заставляйте пользователя изобретать prompt
Пустое поле «Введите запрос» перекладывает дизайн продукта на пользователя. Дайте task templates, структурированные поля и контекстные suggestions. Prompt можно оставить advanced-режимом.
Template
Готовая структура частой задачи.
Fields
Цель, аудитория, ограничения.
Preview
Какие данные войдут в запрос.
Progress: streaming не заменяет статус
Появляющиеся токены создают ощущение скорости, но не объясняют, ищет ли система документы, вызывает ли tools или застряла. Для многошагового процесса показывайте понятные этапы и возможность отмены.
- «Проверяю доступ к 12 документам» лучше абстрактного spinner.
- Не показывайте внутреннюю цепочку рассуждений.
- Отделяйте проверяемые действия от декоративных этапов.
- Указывайте, можно ли закрыть страницу.
- Cancel должен останавливать дальнейшие tools и расходы.
- При долгой задаче предложите notification или background mode.
Editable draft - безопасное состояние по умолчанию
Сгенерированный текст не должен выглядеть опубликованным. Пометьте его как черновик, дайте обычное редактирование, compare с исходником и понятную кнопку применения.
| Плохой паттерн | Лучший паттерн | Почему |
|---|---|---|
| AI сразу заменил текст | Diff и Apply | Видны изменения |
| Только Regenerate | Редактирование фрагмента | Сохраняется полезная часть |
| Одна версия исчезает | Version history | Можно сравнить и вернуть |
| Скрытая публикация | Draft → review → publish | Ясный статус |
Sources: provenance на уровне утверждения
Список ссылок в конце не показывает, какая поддерживает конкретную фразу. Связывайте citation с утверждением и открывайте точный фрагмент, дату и источник. Показывайте, где evidence отсутствует.
- Marker рядом с утверждением.
- Название, автор/владелец и дата.
- Точный supporting snippet.
- Ссылка на исходный документ.
- Версия или дата доступа.
- Предупреждение об устаревшем источнике.
- Различие source evidence и AI inference.
- Проверка прав доступа перед открытием.
Uncertainty: не рисуйте процент без калибровки
«Уверенность 92%» выглядит научно, но может быть просто самооценкой модели. Показывайте только сигналы, которые связаны с измеренным качеством: найден ли authoritative source, прошла ли schema, согласны ли независимые проверки, входит ли input в знакомый cohort.
Supported: обязательные утверждения имеют актуальные источники. Needs review: часть утверждений без достаточного evidence. Insufficient data: источник не найден или конфликтует. Out of scope: система не предназначена для этой задачи. Blocked: действие запрещено policy. Каждое состояние содержит следующее действие пользователя, а не только цвет.
Показывайте ограничения в момент решения
Предупреждение в onboarding забывается. Контекстное ограничение появляется там, где оно влияет: при загрузке чувствительного файла, перед публикацией, рядом с непроверенной цифрой.
- Не прячьте критичную оговорку в tooltip.
- Не используйте один banner для всех рисков.
- Объясняйте последствие и способ исправления.
- Не повторяйте warning так часто, чтобы его перестали читать.
- Используйте текст и структуру, не только цвет.
- Проверяйте понимание в usability test.
Preview перед side effect
AI-агент должен показывать план в терминах продукта: получатель, сумма, файлы, записи, разрешения. Пользователь подтверждает конкретный scope, а не абстрактное «разрешить агенту действовать».
| Перед действием | Показать | Разрешить изменить |
|---|---|---|
| Получатели, тема, attachments | Текст и адресаты | |
| CRM update | Записи и field diff | Выбор изменений |
| File edit | Paths и diff | Исключить файл |
| Purchase | Товар, цена, доставка | Количество/адрес |
| Delete | Точный список и последствия | Отмена до выполнения |
Approval: подтверждение должно быть осмысленным
Если диалог показывает десятки одинаковых approval, человек кликает автоматически. Группируйте безопасно связанные действия, повышайте friction пропорционально риску и не смешивайте разные разрешения.
- Кто выполняет действие.
- Что именно изменится.
- В каком tenant/account.
- Какие данные уйдут внешней стороне.
- Стоимость и необратимость.
- Срок действия согласия.
- Разовый или повторяемый scope.
- Способ отмены и receipt.
Undo, receipt и audit после действия
После выполнения покажите не «Готово», а результат: что изменено, что не удалось, идентификаторы операций и доступные способы восстановления. Undo проектируется вместе с action API.
Undo
Компенсирующая операция или version restore.
Receipt
IDs, scope, time и итог.
Audit
Model, policy, approval и actor.
Errors: сохраняйте работу и предлагайте recovery
Сообщение «Что-то пошло не так» заставляет повторить запрос и может дублировать действие. Классифицируйте ошибку и покажите безопасное следующее действие.
| Ошибка | Интерфейс | Recovery |
|---|---|---|
| Input invalid | Конкретное поле | Исправить без потери текста |
| Rate limit | Статус и время | Queue/повтор позже |
| Tool partial failure | Что выполнено | Повтор только failed steps |
| Insufficient evidence | Чего не хватает | Добавить source |
| Policy block | Разрешённое объяснение | Безопасная альтернатива |
Feedback: thumbs up недостаточно
Feedback должен связываться с output version и позволять выбрать причину: неверный факт, плохой источник, тон, пропуск, формат, опасное действие. При возможности предложите исправить конкретный фрагмент.
trace_id / output_version task outcome: accepted | edited | rejected | abandoned reason codes: fact | source | omission | format | style | safety | latency edited spans or corrected fields severity and user-reported impact consent for using content in improvement workflow privacy classification Не отправлять feedback автоматически в training/eval dataset без review.
Personalization и memory: пользователь контролирует сохранённое
Если система помнит предпочтение, покажите, что именно сохранено, откуда и где действует. Дайте временно игнорировать, изменить и удалить. Не превращайте inferred preference в скрытый профиль.
- Явное подтверждение чувствительных или неоднозначных сведений.
- Scope: этот документ, проект или аккаунт.
- TTL и дата последнего использования.
- Просмотр и редактирование memory.
- Режим «не использовать память».
- Удаление производных по policy.
- Запрет memory расширять permissions.
Accessibility: AI-состояния должны быть доступны без цвета и анимации
- Progress и результат объявляются screen reader без спама.
- Streaming content не крадёт фокус.
- Все actions доступны с клавиатуры.
- Diff понятен без красного/зелёного.
- Sources имеют осмысленные link labels.
- Uncertainty выражена текстом, не только цветом.
- Animation respects reduced motion.
- Timeout и approval дают достаточно времени.
- Plain-language summary доступен для сложных результатов.
Automation bias и обратная ошибка недоверия
Уверенный тон и polished layout усиливают склонность принять ответ. Но чрезмерные warnings заставляют игнорировать полезную систему. Проверяйте калибровку поведения: принимает ли пользователь корректные рекомендации и отклоняет ли ошибочные.
Correct acceptance
Полезный ответ принят.
Harmful acceptance
Ошибка принята без проверки.
Appropriate override
Человек исправил неверный output.
Метрики AI UX: adoption без результата ничего не доказывает
| Метрика | Что показывает | Риск интерпретации |
|---|---|---|
| Task success | Получен принятый outcome | Нужен quality contract |
| Correction burden | Объём/время исправлений | Редактирование не всегда плохо |
| Verification rate | Проверены значимые sources | Клик не равен пониманию |
| Harmful acceptance | Приняты неверные ответы | Нужна ground truth |
| Recovery success | Задача завершена после ошибки | Не считать только retry |
| Retained use | Повторная ценность | Разбивать по cohorts |
Usability-тест: проверяйте ошибки, а не только happy path
Дайте участнику корректный ответ, правдоподобную ошибку, отсутствие источника, partial failure и потенциально опасное действие. Наблюдайте, замечает ли он проблему и понимает ли recovery.
- Сформулировать ожидание до первого запуска.
- Выбрать подходящий template/input.
- Понять progress и отменить.
- Найти утверждение без evidence.
- Сравнить source snippet.
- Исправить часть draft без regenerate.
- Отклонить опасный action preview.
- Восстановиться после partial failure.
- Найти receipt и выполнить undo.
- Исправить или удалить memory.
Итоговый чек-лист AI UX
- Роль AI и цена ошибки определены.
- Возможности и ограничения объяснены заранее.
- Empty state предлагает реальные задачи.
- Данные и получатели видимы пользователю.
- Progress отражает проверяемые этапы и cancel.
- Output начинается как editable draft.
- Sources связаны с утверждениями.
- Uncertainty основана на проверяемых сигналах.
- Side effects имеют preview и scoped approval.
- После действия есть receipt и undo.
- Errors сохраняют ввод и предлагают recovery.
- Feedback содержит причину и version.
- Memory просматривается и удаляется.
- Состояния доступны без цвета и анимации.
- Измеряются harmful acceptance и task success.
Хороший AI UX не скрывает несовершенство модели. Он превращает неопределённый output в управляемое сотрудничество человека и системы.
Что такое AI UX?
Как показать, что нейросеть может ошибаться?
Нужно ли показывать процент уверенности AI?
Почему AI-ответ лучше показывать как черновик?
Как проектировать действия AI-агента?
Какие источники показывать в AI-ответе?
Как собирать feedback на AI-функцию?
Какие метрики использовать для AI UX?
- Microsoft - Guidelines for Human-AI Interaction
- Microsoft - HAX Toolkit
- Google PAIR - People + AI Guidebook
- NIST - AI RMF appendix on human-AI interaction
- NIST - AI Risk Management Framework
- W3C - Web Content Accessibility Guidelines
- U.S. Digital Service - Human-centered design
- Microsoft Research - Guidelines for Human-AI Interaction paper