Мой блог
Создание защищенной on-prem платформы для корпоративных AI-агентов
Развертывание искусственного интеллекта в корпоративной среде требует жестких мер безопасности, поскольку стандартные чат-боты могут случайно скомпрометировать конфиденциальные данные или получить избыточные привилегии. В рамках разработки корпоративной архитектуры создается безопасный on-prem-контур для AI-агентов, который включает в себя строгую проверку прав, изолированный доступ к внутренним корпоративным сервисам, разделение языкового и инфраструктурного слоев, а также детальный аудит всех выполненных операций.
Главная угроза при внедрении языковых моделей заключается не в стилистических ошибках, а в неконтролируемом доступе к внутренним информационным системам компании. Перед запуском любых сценариев автоматизации необходимо решить ряд архитектурных задач: определить способность агентов обращаться к сервисам вроде Jira или 1С, настроить разграничение между чтением информации и критическими действиями на запись, организовать фиксацию запросов и результатов, а также обеспечить прозрачность расследования потенциальных ошибок без дублирования разрозненных ботов.

Архитектура управляемого пути запроса
Построенный управляемый контур предполагает, что пользователь взаимодействует с агентом через привычный интерфейс, однако обращения во внутренние системы никогда не происходят напрямую. Каждый запрос последовательно проходит через проверки разрешений, защитные политики безопасности, шлюзы для работы с языковыми моделями и корпоративными инструментами, а также модули аудита.
В качестве входной точки используется корпоративный мессенджер Mattermost, подключенный через коннекторы к Codex App Server. На этапе тестирования различных обвязок разработчики отказались от сторонних решений в пользу чистого Codex в связке с Mattermost из-за высокой надежности и гибкости настройки. Это позволяет реализовать сквозную имперсонацию: бот в мессенджере фиксирует личность отправителя, благодаря чему агент действует не от лица общей сервисной учетки, а под конкретным сотрудником и с его персональными правами.
Прохождение запроса через защитные слои
Обезличенный сценарий взаимодействия демонстрирует четкое разделение ответственности между компонентами системы. Интерфейс Mattermost принимает сообщение и передает его вместе с идентификатором пользователя на уровень Codex App Server. Агент анализирует задачу и выбирает необходимый скилл, после чего все вызовы к корпоративным системам направляются через специальный шлюз MCP Gateway.
Данный шлюз сопоставляет запрос с ролями и разрешениями пользователя, выполняя операции в режиме имперсонации. Авторизованные учетные данные хранятся в защищенном хранилище Vault, доступ к которому осуществляется через корпоративный SSO. Шлюз динамически забирает токен нужной системы в момент вызова, исключая попадание секретов в контекст языковой модели. Запросы к самой LLM проходят через отдельный шлюз LLM Gateway, где система DLP проверяет информацию на наличие конфиденциальных данных до отправки модели. Все действия фиксируются в журнале аудита.
Корпоративный контекст и шлюзы интеграции
Для эффективной работы агенту требуется не просто массив разрозненных документов, а структурированная карта бизнес-процессов, ролей и источников данных, формирующая корпоративную онтологию. Такая база связывает запрос с конкретным шагом процесса и проверяемыми источниками, хотя она не заменяет существующие правила разграничения доступа.
Разделение функций LLM Gateway и MCP Gateway
Архитектура разделяет задачи маршрутизации запросов к языковым моделям и управления доступом к внутренним инструментам. Шлюз LLM Gateway отвечает за управление ключами, лимитами расхода токенов, централизованное логирование и применение DLP-политик. В свою очередь, MCP Gateway связывает идентификаторы пользователей с разрешениями, запрашивая временные токены из Vault через корпоративный SSO. Модель получает исключительно результат выполнения операции, не имея прямого доступа к секретам.
Инструменты DLP и деперсонализации данных
Системы DLP и механизмы деперсонализации выполняют разные функции. DLP определяет допустимость передачи содержимого за пределы контура, а деперсонализация маскирует чувствительные данные, такие как имена сотрудников или номера договоров, сохраняя смысловую нагрузку запроса. При этом маскирование не отменяет проверки прав доступа, которые отрабатывают на следующих этапах обработки.
Скиллы и принципы разделения кода и LLM
Корпоративный скилл представляет собой воспроизводимый сценарий, объединяющий бизнес-процесс, источники информации, требования безопасности и алгоритмы проверки. Взаимодействие построено на инженерном принципе: детерминированный код используется по умолчанию для выполнения пошаговых операций, циклов, API-запросов и проверок, а языковая модель подключается исключительно там, где требуется интерпретация естественного языка и широкого контекста.
Подобный подход применяется в финансовых операциях, маршрутизации обращений и корпоративном поиске. В финансовом контуре скилл формирует черновик документа и проверяет обязательные поля, но не получает прав на фиксацию записи. Карточка каждого скилла в обязательном порядке фиксирует владельца, улучшаемый шаг процесса, используемые источники, правила безопасности, критерии оценки качества и параметры аудита.
Интерфейсные решения, данные и аудит
В качестве интерфейса используется Mattermost, освобожденный от собственной бизнес-логики. Его задача сводится к приему сообщений, сохранению контекста диалога и передаче событий в платформу оркестрации. Разрозненные корпоративные данные из систем, почты и документов предварительно агрегируются фоновыми воркерами в общую базу данных с контекстом компании, поверх которой агенты выполняют SQL-запросы.
Для фоновых задач используется pipeline orchestrator, выполняющий рутинные операции алгоритмически и обращающийся к LLM через OpenAI Agents SDK или прямые API-вызовы лишь для сложных промежуточных решений. Вся система сопровождается обязательным журналом аудита, фиксирующим инициаторов запросов, использованные версии скиллов, срабатывания защитных политик и трассировку событий для обеспечения полной воспроизводимости результатов.
