Fits Calc
ИИ для инженера · rag · Wave AI R5

Failure modes RAG: устаревшие документы, prompt injection и противоречивые источники

проектировать обработку конфликтов и недоверенного контента до production, а не после первого инцидента.

Короткий ответ

Failure modes RAG: устаревшие документы, prompt injection и противоречивые источники — это production-задача, а не демонстрационный prompt. Практический принцип: проектировать обработку конфликтов и недоверенного контента до production, а не после первого инцидента. Ключевое решение: RAG расширяет поверхность атаки: retrieved text может быть ошибочным, устаревшим или содержать инструкции, которые модель не должна воспринимать как системные. В инженерной среде результат принимается по evidence, traceability и воспроизводимой проверке, а не по уверенности формулировки модели.

Agent/RAG-платформы быстро меняются. Технические ссылки этой статьи проверены 02.10.2026; перед внедрением перепроверяются статусы API, preview/GA, лимиты, хранение данных и доступность функций.

Граница системы и предмет контроля

RAG — это не загрузка PDF в чат, а информационно-поисковая система вокруг модели. Качество ответа зависит от версии источника, сегментации, метаданных, прав доступа, retrieval-алгоритма, reranking и того, как контекст передан генератору. В инженерной среде особенно важны revision, статус документа, изделие, материал, обозначение, единицы, применимость и связь с первичным документом.

Слабый retrieval делает сильную модель бесполезной: она убедительно обобщит нерелевантный или устаревший контекст. Поэтому RAG принимают по контрольному набору вопросов и отдельно измеряют поиск и генерацию. Нельзя сводить проверку к субъективному «ответ выглядит правильно»: нужны ожидаемые документы, обязательные цитаты, проверки ACL, сценарии с противоречиями и вопросы, на которые система должна честно ответить «данных недостаточно».

Рабочее правилоRAG расширяет поверхность атаки: retrieved text может быть ошибочным, устаревшим или содержать инструкции, которые модель не должна воспринимать как системные. Это правило должно быть закреплено в runtime policy, а не существовать только как рекомендация пользователю.

Что должно быть определено до запуска

trust level источникаФиксируется явно, имеет owner и проходит валидацию до использования в следующем шаге.
document statusХранится с идентификатором источника, версией/статусом и областью применимости; устаревшие данные не смешиваются с действующими.
conflict policyЗадаётся как проверяемое правило доступа: субъект, объект, действие, срок и причина допуска.
prompt-injection policyЗадаётся как проверяемое правило доступа: субъект, объект, действие, срок и причина допуска.
freshness metadataХранится с идентификатором источника, версией/статусом и областью применимости; устаревшие данные не смешиваются с действующими.

Артефакты и архитектурные границы

В RAG нужно физически разделять ingestion, index, retrieval и generation. Ingestion отвечает за нормализацию и metadata; index — за представление и обновление; retrieval — за отбор кандидатов и reranking; generation — за формирование ответа только из разрешённого контекста. Ошибка любого слоя должна быть локализуема по trace.

Для инженерных документов ключевой объект — не chunk сам по себе, а chunk вместе с document ID, revision, status, ACL, section/page и датой действия. При конфликте revisions система должна уметь отдать приоритет действующему документу или явно показать противоречие, а не смешивать фрагменты в один правдоподобный ответ.

conflict recordEvidence для аудита и сравнения версий; по нему восстанавливается фактическое выполнение.
quarantine queueИмеет стабильный идентификатор, статус приёмки и связь с исходной задачей.
source trust labelИмеет стабильный идентификатор, статус приёмки и связь с исходной задачей.
abstention responseИмеет стабильный идентификатор, статус приёмки и связь с исходной задачей.
security eventИмеет стабильный идентификатор, статус приёмки и связь с исходной задачей.

Практический workflow

Шаг 1. классифицировать доверие источников. Определите authoritative corpus и правила исключения superseded документов.
Шаг 2. маркировать статус и дату. При ingestion сохраняйте структуру, units, revision и ACL, а не только plain text.
Шаг 3. определить conflict policy. Retrieval проверяйте на expected document IDs до оптимизации генерации.
Шаг 4. ввести content sanitization. Reranking и filters тестируйте на запросах с близкими обозначениями и конфликтующими revisions.
Шаг 5. тестировать injection cases. Claims связывайте с конкретными цитатами; отсутствие evidence должно быть видимым.
Шаг 6. добавить abstention. Отдельно тестируйте denial/ACL и prompt injection внутри документов.
Шаг 7. проводить периодический corpus audit. Любое изменение index/retriever проходит regression на frozen query set.

После retrieval сохраняются query, filters, найденные IDs, scores/reranking и применённые ACL. Если требуемый источник не найден либо найден только superseded документ, генерация должна либо остановиться, либо явно пометить недостаточность доказательств.

Инженерный сценарий

Входtrust level источника; document status; conflict policy; prompt-injection policy; freshness metadata. Данные должны быть привязаны к проекту, revision и владельцу.
Действиепроектировать обработку конфликтов и недоверенного контента до production, а не после первого инцидента. Каждый tool-call проходит серверную валидацию и попадает в trace.
Контрольretrieved text считать данными, не инструкцией; при конфликте показывать обе версии; не смешивать draft и approved; карантин подозрительных источников; require citation for critical claim. Для критических изменений добавляется независимое подтверждение.
Выходconflict record; quarantine queue; source trust label; abstention response; security event. Финальный результат должен быть пригоден для повторной проверки без скрытого контекста.

RAG сначала запускают в shadow/read-only режиме: ответы и цитаты сравниваются с экспертным эталоном. Только после стабилизации retrieval система становится источником контекста для downstream-agentов.

Что измерять

conflict detection rateФиксируйте numerator/denominator и сегментируйте по типу/сложности задач; общий процент может скрыть critical slice.
prompt-injection catch rateФиксируйте numerator/denominator и сегментируйте по типу/сложности задач; общий процент может скрыть critical slice.
stale-hit rateФиксируйте numerator/denominator и сегментируйте по типу/сложности задач; общий процент может скрыть critical slice.
correct abstentionОпределение метрики, единица, denominator и окно наблюдения фиксируются в metric dictionary.
security false positivesОпределение метрики, единица, denominator и окно наблюдения фиксируются в metric dictionary.

RAG оценивают минимум в двух слоях: retrieval и generation. Высокий groundedness не компенсирует плохой Recall@k, а высокий recall не компенсирует неверные citations или доступ к запрещённому документу.

Критерии приёмки

КонтрольМинимальный критерий
ScopeДля «Failure modes RAG: устаревшие документы, prompt injection и противоречивые источники» однозначно определено, что система делает и что остаётся вне её полномочий.
DataВсе входы имеют источник, revision/status и область применимости; неизвестные значения не подставляются автоматически.
Controlretrieved text считать данными, не инструкцией; при конфликте показывать обе версии; не смешивать draft и approved.
EvidenceСохраняются conflict record, quarantine queue, source trust label, abstention response; по ним можно восстановить ход операции.
QualityМинимум две профильные метрики контролируются на versioned eval-наборе: conflict detection rate и prompt-injection catch rate.
ReleaseИзменяющие действия имеют approval/rollback там, где цена ошибки выходит за согласованный риск.

Failure modes и защитные меры

Главная ошибка — считать наличие цитаты доказательством корректного RAG. Цитата может вести к нерелевантной, устаревшей или недоступной пользователю revision; проверяются retrieval и claim-to-source связь.
  • скрытая инструкция в документе управляет tool. Защитная мера: retrieved text считать данными, не инструкцией; событие сохраняется как regression/incident case.
  • draft вытесняет approved revision. Защитная мера: при конфликте показывать обе версии; событие сохраняется как regression/incident case.
  • два стандарта дают разные ограничения. Защитная мера: не смешивать draft и approved; событие сохраняется как regression/incident case.
  • модель усредняет конфликт. Защитная мера: карантин подозрительных источников; событие сохраняется как regression/incident case.
  • отсутствие данных маскируется общим ответом. Защитная мера: require citation for critical claim; событие сохраняется как regression/incident case.

Как переводить из пилота в production

Пилот RAG начинают с ограниченного корпуса с известными owners и revisions. До подключения генерации проверяют retrieval: контрольные вопросы, expected document IDs, фильтры и ACL. Затем добавляют citations/groundedness и только после этого используют ответы в агентном workflow.

Обновление corpus и retrieval configuration выпускают как версию индекса. Для canary сравнивают old/new index на одном query set; новые документы не должны ухудшать critical queries. При деградации переключение на предыдущий индекс выполняется без переиндексации всего источника.

Traceability и эксплуатационная запись

Минимальная запись RAG: query, filters, corpus/index version, retrieved document/chunk IDs, scores и reranking, ACL decision, контекст генерации, claims/citations и итоговый abstention/answer status.

Чек-лист перед production

КонтрактScope, входы, tools и stop condition описаны до запуска.
ПраваRead/write, сеть и секреты ограничены минимально необходимым.
EvidenceКаждый критичный вывод или action связан с источником и trace.
EvalsЕсть обычные, граничные, негативные и regression cases.
RollbackДля side effect проверено восстановление, а не только наличие команды отката.
OwnerНазначен владелец качества процесса и владелец технической платформы.

Навигация по Wave AI R5 · часть 2 из 5

Связать AI-контур с проверяемыми данными Fits Calc

Fits Calc целесообразно использовать как детерминированный расчётный и справочный слой: агент получает структурированные входы и результаты через контролируемые tools, а не воспроизводит инженерный расчёт свободным текстом. Это упрощает verifier, traceability и повторную проверку.

Открыть Fits Calc →

Источники и официальная документация

  1. OpenAI — File search
  2. Microsoft — RAG in Azure AI Search
  3. Microsoft — Agentic retrieval overview
  4. Microsoft — Agentic RAG architecture
  5. OpenAI — Evaluate agent workflows
  6. NIST — Generative AI Profile NIST AI 600-1
Проверено: 02.10.2026Production controls обязательныHuman approval — по риску действия