Большинство продуктовых команд проектируют цитирование ИИ как аккуратные маленькие синие цифры, расположенные рядом с сгенерированным текстом. Они настраивают их один раз на быстром соединении, смотрят, как превью открывается за полсекунды, и идут дальше. В стейджинге это работает. Но в условиях открытого интернета такая схема редко выживает.
Источники устаревают. Компании удаляют посты в блогах. Государственные порталы меняют структуру URL без редиректов. Появляются пейволлы. Происходят сбои в CDN. Документ, который ИИ просканировал три месяца назад, мог быть переписан вчера. Если ваш компонент цитирования умеет выглядеть красиво только тогда, когда всё идет по плану, он будет лгать пользователям, когда что-то пойдет не так. Хуже того, он заставит их сомневаться, существовали ли доказательства вообще.
Надежной системе цитирования необходимо сообщать о своем состоянии. Не просто гиперссылкой. Не просто всплывающей подсказкой. Она должна в реальном времени сообщать читателю, что происходит с источником.
Проектируйте с учетом четырех реальных состояний
Представьте цитату как небольшую машину состояний. Каждый источник, который предоставляет ваш ИИ, может находиться в одном из четырех состояний, и ваш интерфейс должен честно обрабатывать каждое из них.
Загрузка. Пользователь нажимает на надстрочный номер, и система подгружает превью, фрагмент или оригинальную страницу. В этот промежуток времени покажите, что процесс идет. Скелетон (skeleton placeholder), пульсирующая рамка фрагмента или даже простой текст «Загрузка источника...» лучше, чем тишина. Тишина заставляет людей гадать, сработал ли клик. В потоковых интерфейсах, где источники появляются по мере работы модели, состояния загрузки также дают вам время на разрешение ссылок, не блокируя генерацию текста.
Доступен. Это то состояние, ради которого все и проектируют. Ссылка работает, текст по-прежнему соответствует тому, что видела модель, и пользователь получает четкий фрагмент вместе с прямой ссылкой. Но не ограничивайтесь просто «голой» ссылкой. Покажите заголовок, домен и соответствующий отрывок. Дайте читателю достаточно контекста, чтобы он мог решить, хочет ли он переходить на другую страницу. Просто href в скобках — это технически цитата, но это плохой пользовательский опыт.
Изменен. Это неприятный момент. Страница загружается, но контент больше не содержит цитаты или статистики, которую приписал ей ИИ. Возможно, издатель обновил статью. Возможно, в обучающую выборку ИИ попал заголовок, который позже изменился. Ваш компонент должен помечать это несоответствие, а не делать вид, что всё в порядке. Небольшая заметка вроде «Этот источник был обновлен с момента индексации» убережет пользователя от десятиминутных поисков предложения, которого больше нет. Это также сохраняет доверие. Если вы скроете несоответствие, пользователь в итоге решит, что ваш продукт выдумывает факты.
Отсутствует. Ошибка 404. Тайм-аут. Пейволл. Сервер, который возвращает статус 200, но выдает стандартную страницу «Контент удален». Не оставляйте ссылку висеть синим цветом, делая вид, что она работает. Замените её понятным текстом: «Страница удалена», «Ссылка больше недоступна» или «Источник не в сети». Если вы знаете причину сбоя, скажите об этом. Если существует копия в Internet Archive или кэшированная версия, предложите её. Цель — завершить цикл взаимодействия, а не оставить читателя в тупике.
Доступность не обсуждается
Компоненты цитирования находятся в высоконагруженных и критически важных частях интерфейса. Они заслуживают такой же тщательной проработки, как форма оплаты или процесс бронирования авиабилетов.
Используйте текст для отображения статуса. Люди с цветовой слепотой не могут полагаться только на зеленую точку или красную рамку. Сочетайте индикаторы со словами: «Доступен», «Изменен», «Недоступен». Эта крошечная подпись поможет и всем зрячим пользователям, так как цвета статусов редко имеют одинаковое значение в разных культурах или продуктах.
Пишите описательные названия для скринридеров. Размечайте ссылки так, чтобы человек, использующий программу чтения с экрана, слышал что-то полезное. Вместо общего «Ссылка» озвучивайте «Источник 3: Политика хранения журналов аудита». Это позволит слушателю точно понять, что он получит, прежде чем решит открыть ссылку.
Сохраняйте контекст. Клик по цитате не должен «испарять» ответ, сгенерированный ИИ. Используйте панель, модальное окно или встроенное развертывание (inline expansion). Читатель открыл источник, чтобы проверить конкретное утверждение. Если ваш интерфейс стирает утверждение, которое он только что читал, вы заставляете его удерживать текст в рабочей памяти, пока он ищет доказательства. Это создает ненужную когнитивную нагрузку.
Управляйте фокусом осознанно. Когда пользователь открывает цитату, перемещайте фокус клавиатуры в новую панель или всплывающее окно. Когда он закрывает его, возвращайте фокус на элемент, вызвавший действие. Не перехватывайте фокус, пока поток всё еще записывает источники на страницу. Позвольте пользователю сохранять контроль.
Относитесь к стримингу осторожно. Если ваш генеративный интерфейс добавляет цитаты по мере их поступления, не засыпайте пользователей программ экранного доступа объявлениями о каждом новом надстрочном индексе. Группируйте их. Когда накопится две или три ссылки, объявите вежливое резюме, например: «Добавлено два источника». Постоянные прерывания делают вывод нечитаемым для пользователей ассистивных технологий.
Помните, что именно доказывает цитата
Это утверждение нельзя повторять слишком часто. Цитата указывает на происхождение информации. Она не гарантирует истинность.
Когда ИИ ссылается на источник, он говорит: «Я нашел такую формулировку здесь». Он не говорит: «Этот эксперт прав». Он не говорит: «Это исследование было проведено качественно». Он даже не говорит: «Я правильно понял контекст». Цитата — это карта, ведущая к первоначальным доказательствам. Читатель всё равно должен пройти по этому пути и решить, насколько убедительны эти доказательства.
Ваш дизайн должен четко проводить это различие. Используйте выдержки, которые позволяют пользователю быстро просмотреть нужные строки. Показывайте дату публикации, чтобы читатель понимал, насколько актуальны данные. Если источником является форум, пресс-релиз или первичное исследование, выводите этот контекст, чтобы читатель мог оценить его надлежащим образом. Создавайте интерфейс так, чтобы он поддерживал человеческое суждение, а не заменял его.
Проверяйте на соответствие реальности
Компонент цитирования, прошедший визуальную проверку, готов лишь наполовину. Вам нужно
