Мой блог
ProvenanceGuard: верификация источников для агентов на базе MCP
Подробности изложены в материале первоисточника. Современные языковые модели в роли автономных агентов задействуют Model Context Protocol (MCP) для одновременного обращения к базам данных, поисковым системам и структурированным записям. Сергей Багров изучил новую методику ProvenanceGuard, которая решает проблему перекрестного смешения источников при проверке фактов.
Традиционные подходы к оценке достоверности объединяют всю собранную информацию в общий массив данных, из-за чего теряется привязка конкретного утверждения к исходному инструменту. Новая система верификации сохраняет идентичность каждого источника на всех этапах обработки ответа.
Проблема кросс-источникового смешения в современных агентах
Служба технической поддержки или медицинский ассистент могут выдать абсолютно правдивое утверждение, однако приписать его не к тому документу. Например, фраза о льготном периоде возврата средств может содержаться в общей политике компании, но агент сошлется на персональный аккаунт пользователя. В условиях строгой конфиденциальности подобная подмена атрибуции не менее опасна, чем фактическая ошибка.
Обычные метрики верности и стандартные чекеры оперируют объединенным контекстом. Они видят, что факт где-то подтвержден, и пропускают ответ. Метод ProvenanceGuard устроен иначе: он проверяет, действительно ли поддерживающий документ совпадает с источником, который агент прямо указал или подразумевал в тексте.
Как работает архитектура ProvenanceGuard
Этот инструмент представляет собой независимый модуль постобработки, который функционирует поверх агентов с закрытым исходным кодом. Архитектура анализирует уже готовый ответ и лог выполнения MCP-запросов, избегая необходимости переобучать базовую модель.

Конвейер проверки последовательно выполняет пять ключевых этапов:

- декомпозиция ответа на отдельные атомарные утверждения;
- поиск наиболее релевантного источника для каждого тезиса;
- проверка фактической поддержки утверждения выбранным документом;
- сопоставление реального источника с тем, на который ссылается агент;
- генерация вердикта по каждому утверждению и принятие глобального решения о блокировке или разрешении ответа.
В рамках базовых экспериментов разработчики применяли локальную связку моделей: MiniLM для поиска подходящего контекста, DeBERTa NLI для проверки логического следования и локальную LLM для разбиения текста. Такой коннект позволяет тщательно контролировать цифровые значения, даты и идентификаторы, не пропуская галлюцинации.

Результаты тестирования и точность фильтрации
Эффективность метода оценивалась на выборке из 281 реального сценария медицинского агента, оперирующего картами пациентов и научными статьями. Экспертная комиссия выделила 139 утверждений, которые должны были быть заблокированы, и система успешно отсекла 138 из них, пропустив лишь один спорный момент.

Сравнение с четырьмя альтернативными чекерами показало превосходство нового алгоритма по метрике баланса блокировок. В отличие от аналогов, проверяемых слепым методом, данное решение фиксирует четкую связь между тезисом и конкретным tool-выводом.
Сложные кейсы и исправление заблокированных ответов
В условиях стресс-тестирования со множеством схожих документов точность определения конкретного источника снижалась, однако при искусственной подмене названий источников в 50 кейсах алгоритм безошибочно зафиксировал все подлоги.
Механизм блокировки дополнен циклом исправления в стиле RARR. Система способна либо переписать ответ с опорой на надежные данные, либо применить безопасный шаблон текстового отката, избегая генерации недостоверной информации.
