Список ссылок не равен доказательству
Пользователь должен понимать, какой источник подтверждает конкретную фразу. Привязывайте citation к claim или предложению, а не собирайте все документы в конце.
Provenance начинается при ingestion
Chunk хранит document ID, version, page, section path и character offsets. После OCR полезны bounding boxes. Без этих данных генератор не сможет построить стабильную ссылку на исходный фрагмент.
Стабильные anchors
URL на временный signed object истечёт, а номер страницы изменится после новой версии. Citation ID должен разрешаться через ваш сервис в конкретную версию документа с повторной проверкой прав.
Claim-source matrix
После генерации выделите проверяемые claims и сопоставьте их evidence spans. Если supporting passage отсутствует или лишь косвенно связан, удалите утверждение, ослабьте формулировку или сообщите неопределённость.
Не доверяйте сгенерированным URL
Модель выбирает только IDs из разрешённого контекста. Renderer формирует URL и подпись сервером. Это предотвращает выдуманные ссылки и подмену query parameters.
Обновления и конфликты
Показывайте дату и версию источника. Если документы противоречат друг другу, цитируйте обе стороны и объясняйте область действия, а не выбирайте удобную без правила.
Метрики
Считайте citation precision, citation recall, entailment и source coverage. Human review проверяет, действительно ли открытый фрагмент подтверждает фразу и доступен этому пользователю.