Зачем нужен RAG‑агент внутри компании
В крупных ИТ‑организациях объем внутренней документации растёт быстрее, чем возможности традиционных поисковых систем. Пользователи сталкиваются с длительным поиском нужных материалов, а часто полученные ответы оказываются неполными или устаревшими. Интеграция Retrieval‑Augmented Generation (RAG) позволяет соединить мощь больших языковых моделей (LLM) с актуальной корпоративной базой знаний, обеспечивая быстрый и достоверный доступ к информации. При этом система остаётся гибкой: новые документы автоматически попадают в векторный индекс без необходимости переобучения модели.
Архитектура RAG‑пайплайна
Локальный векторный поиск
В основе решения лежит векторный движок, построенный на открытом фреймворке FAISS. Для каждого документа формируется эмбеддинг при помощи небольшого трансформера (например, sentence‑transformers/all-MiniLM-L6-v2). Эмбеддинги сохраняются в локальном индексе, что обеспечивает низкую латентность и полную контроль над данными. При запросе пользовательского текста генерируется запрос‑эмбеддинг, который сравнивается с документами в индексе. Топ‑k совпадений (обычно 10‑20) отбираются для дальнейшей обработки.
Реренкинг и фильтрация
Первоначальный набор совпадений может включать релевантные, но не полностью соответствующие запросу документы. Для повышения точности применяется второй слой реренкинга, реализованный через кросс‑энкодер (cross‑encoder/ms‑marco-MiniLM-L-12-v2). Он оценивает парные взаимодействия запрос‑документ и переупорядочивает результаты, оставляя лишь наиболее релевантные 5‑7 элементов. Такой подход уменьшает нагрузку на последующий LLM и повышает качество генерируемого контекста.
Сборка контекста для облачной LLM
Отобранные документы конкатенируются в один текстовый блок, но их длина ограничена максимальной токенизацией модели (обычно 2 KB). При превышении лимита применяется стратегический отбор: сначала берутся абзацы с наивысшими оценками реренкинга, затем — части, содержащие ключевые термины из запроса. Итоговый контекст передаётся в облачную LLM (например, OpenAI GPT‑4) вместе с системным промптом, формирующим правила взаимодействия.
Почему отказ от дообучения
Традиционный подход к адаптации LLM — дообучение на корпоративных данных. Он требует значительных вычислительных ресурсов, длительного времени и, что критически важно, полного контроля над конфиденциальностью данных. В нашей реализации мы избежали этих рисков, оставив модель «чистой» и полагаясь исключительно на динамический контекст. Это дает несколько преимуществ:
- Скорость внедрения – новые документы становятся доступными сразу после индексации.
- Экономия ресурсов – нет необходимости в GPU‑кластерах для обучения.
- Гибкость – изменения в структуре знаний не требуют переобучения.
Очистка данных от чувствительной информации
Для соответствия требованиям информационной безопасности (ИБ) каждый документ проходит через этап предобработки. На вход подаётся набор правил на основе регулярных выражений и нейросетевого классификатора, идентифицирующего персональные данные, секретные коды и корпоративные метаданные. Обнаруженные элементы заменяются маркерами (<PII>, <SECRET>), а в случае сомнений документ отправляется в ручную проверку. Такой процесс гарантирует, что в векторном индексе и в контексте LLM не попадут конфиденциальные сведения.
Системный промпт как защита от галлюцинаций
LLM склонны генерировать «галлюцинации» — ответы, не подкреплённые реальными фактами. Чтобы минимизировать их влияние, в запрос включаем системный промпт, задающий строгие правила:
- Опирайся только на предоставленный контекст. Если требуемой информации нет – укажи об этом явно.
- Обязательно указывай источники – каждый факт должен сопровождаться ссылкой на документ и страницу/абзац.
- Избегай предположений – любые догадки должны быть помечены как гипотетические.
Эти ограничения заставляют модель использовать только проверенные данные, а не «выдумывать» ответы, что повышает доверие пользователей к системе.
Баланс качества, стоимости и требований ИБ
Построение RAG‑агента требует оценки трёх ключевых параметров:
- Качество – измеряется точностью ответов и наличием ссылок. Реренкинг и системный промпт обеспечивают высокий уровень достоверности.
- Стоимость – локальный векторный поиск и реренкинг минимизируют количество запросов к облачной LLM, что существенно снижает расходы на токены. При этом облачная модель используется только для финальной генерации.
- ИБ – предобработка данных и полное отсутствие дообучения избавляют от риска утечки конфиденциальных сведений. Все операции с данными происходят в изолированной среде, а доступ к облачной LLM контролируется через ограниченные токены.
Оптимальное сочетание этих факторов делает систему пригодной для масштабирования в любой крупной организации, где важна быстрая и безопасная работа с внутренними знаниями.
Практические результаты
Внедрение RAG‑агента позволило сократить среднее время поиска ответов с 3‑5 минут до 15‑30 секунд. Пользователи отметили рост точности найденных решений на 40 % и уменьшение количества запросов в службу поддержки. При этом ежемесячные расходы на облачную LLM составили менее 500 USD, что оказалось в 5‑10 раз дешевле традиционных решений на основе полнотекстового поиска с ручным отбором экспертов.
Эти цифры подтверждают, что построение корпоративного агента на базе RAG – это не только технологический эксперимент, но и экономически оправданное решение, способное трансформировать процесс работы с корпоративными знаниями.