← Справочные архитектуры / reference-architecture / diagrams / ai
Рабочее пространство AI-агента для Enterprise
Введение
Корпоративное рабочее пространство для ИИ-агентов предоставляет сотрудникам постоянную среду для выполнения работы с помощью ИИ. Это рабочее пространство сочетается с подобранной библиотекой организационного контекста и навыков, что позволяет сотрудникам работать с максимальной эффективностью, используя собственные знания организации и проверенные методики. Каждое рабочее пространство хранит собственное состояние диалога, файлы, корпоративные инструменты и работает в изолированной среде выполнения.
Сотрудники используют рабочее пространство для создания документов, презентаций, таблиц, исследований, рабочих процессов, исходного кода и приложений. Эти результаты работы сохраняются и после завершения диалога. Сотрудник может просмотреть, поделиться, экспортировать их или продолжить дорабатывать с помощью ИИ.
Архитектура использует Cloudflare Workers и Agents SDK для оркестрации, Durable Objects для состояния, AI Gateway для управления моделями и порталы MCP-сервера для корпоративных инструментов. Dynamic Workers, Sandbox SDK контейнеры, а также Browser Run выполняют задачи, требующие большего, чем просто инференс модели.
В отличие от корпоративная платформа vibe coding, результатом не всегда становится развёрнутое приложение. Исходный код и приложения - лишь два из типов результатов наряду с документами, данными, анализом и повторяемыми рабочими процессами.
Базовая архитектура
- Запуск работы: Сотрудник начинает или возобновляет работу в веб-приложении, корпоративном чате или почте. Webhooks и расписания также могут запускать работу без открытой сессии браузера. Cloudflare Access аутентифицирует сеансы браузера, а каждый асинхронный канал проверяет свою подпись, токен или отправителя, прежде чем запрос будет принят.
- Доступ к рабочей области агента: Workers направляют запрос агенту рабочего пространства. Агент восстанавливает из постоянного хранилища историю переписки, задачи, файлы, права доступа и отложенные события, опирается на курируемые знания организации, а затем при необходимости выполняет ограниченный код в Dynamic Workers или в контейнере Sandbox, если задаче требуется больше, чем инференс модели.
- Используйте контролируемые модели и инструменты: Агент обращается к одобренным моделям через AI Gateway, а к одобренным корпоративным инструментам через портал MCP сервера. Оба уровня выносят маршрутизацию к провайдерам, учётные данные, политики и логирование за пределы рабочего пространства.
- Сохраните вывод: Рабочее пространство сохраняет результат как постоянный рабочий продукт, который сотрудник может просмотреть, продолжить дорабатывать с помощью AI, передать другим или экспортировать.
Веб-приложение служит основным интерфейсом, но не средой выполнения агента. Все каналы отправляют события в одно и то же рабочее пространство с сохранением состояния, поэтому сотрудник может начать работу в чате, просмотреть ее в веб-приложении и позже продолжить, опираясь на единую историю агента.
Модель состояния и изоляции
Workers не хранят состояние (stateless): они обслуживают интерфейс и направляют каждый запрос к нужному Durable Object, используя identity и workspace, указанные в запросе.
Каждое рабочее пространство сопоставлено с одним Durable Object, на котором работает Agents SDK. Этот объект выступает единственным источником истины для рабочего пространства: он владеет диалогом, задачами, расписаниями, решениями о согласии (consent decisions) и очередью событий, а также координирует вызовы модели, инструменты, файлы и выполнение. Работа продолжается даже после отключения браузера или перезапуска изоляции Worker, а рабочие пространства масштабируются независимо друг от друга, а не делят один процесс агента.
Отдельный Durable Object для каждого пользователя хранит настройки профиля, реестр рабочих пространств, интеграции и разрешения. Одному пользователю может принадлежать множество независимых рабочих пространств с собственным состоянием.
Рабочее пространство координирует ресурсы, но не хранит все данные. Для каждой задачи оно выбирает среду выполнения: Dynamic Workers для ограниченных Code Mode, контейнеры Sandbox SDK для полноценной оболочки и среды сборки, а также Browser Run для изолированных сеансов браузера. Большие файлы и повторно используемые результаты хранятся в версионируемом файловом сервисе, а права доступа хранятся отдельно от самих байтов результата, поэтому доступ можно предоставлять или отзывать, не перемещая файл. Для резервных копий Sandbox и общего организационного контекста используется R2. События использования и жизненного цикла используют Workers Analytics Engine или внешнюю систему.
| Область действия | Примитив Cloudflare | Ответственность | Lifetime |
|---|---|---|---|
| Приложение | Workers | UI, API, аутентификация, маршрутизация и приём трафика по каналам | Обработка запросов без сохранения состояния |
| Пользователь | Durable Object | Профиль, реестр рабочих пространств, интеграции, разрешения и активность | Надёжный |
| Workspace | Agents SDK и Durable Object | Состояние агента, очередь событий и оркестрация ходов | Надёжный |
| Выполнение Code Mode | Dynamic Worker | Ограниченная композиция кода и инструментов | Временный |
| Активная среда разработки | Контейнер Sandbox SDK | Shell, сборки, предпросмотры и сессии написания кода | Создаётся по запросу |
| Сеанс браузера | Browser Run | Веб-навигация, взаимодействие, снимки экрана и рендеринг PDF | Ограничено сессией |
| Файлы пользователей | Сервис версионирования файлов | Файлы, сохранённые результаты и версии | Надёжный |
| Библиотека навыков и контекста | Объектное хранилище только для чтения (R2) | Тщательно подобранные навыки, справочный контекст и команды | Публикуется централизованно |
| Резервная копия | R2 | Резервное копирование Sandbox | Надёжный |
Контролируемый доступ к моделям и инструментам
Все запросы к моделям проходят через AI Gateway. Агент использует модели от разных провайдеров, при этом логика, специфичная для конкретного провайдера, не переносится в каждое рабочее пространство. AI Gateway выполняет маршрутизацию, отслеживает использование и расходы и сохраняет логи запросов.
Корпоративные инструменты подключаются через Портал MCP-сервера. Портал предоставляет одну конечную точку, применяет политики Access, отбирает доступные инструменты, направляет учетные данные каждого пользователя и регистрирует активность инструментов. Администраторы создают отдельные порталы для каждой команды, чтобы агент получал только нужные для работы инструменты, а не все инструменты организации.
Навыки и организационный контекст
Рабочее пространство использует отобранную библиотеку только для чтения, которая публикуется централизованно и доступна во всех рабочих пространствах. В библиотеке хранятся skills, то есть многоразовые сценарии выполнения задач, которые агент загружает по мере необходимости, и context, то есть справочные материалы, которые организация хочет предоставить агентам для использования.
Навыки выстраиваются по слоям в зависимости от источника: от предоставленных платформой до общих для организации и локальных для рабочего пространства, что позволяет команде расширять или переопределять настройки по умолчанию. Агент составляет список навыков, загружает нужный при совпадении с задачей и выгружает его после завершения. Благодаря этому инструкции не занимают контекст модели, пока не понадобятся.
Публикуйте библиотеку через версионированное хранилище с доступом только для чтения, чтобы изменения навыков и контекста оставались отслеживаемыми и проверяемыми. Библиотека доступна агенту только для чтения и управляется централизованно.
Модель безопасности
Считайте вывод модели, вывод инструментов и сгенерированный код ненадёжными. Применяйте меры контроля на границе платформы, а не в самом сгенерированном коде.
- Идентификация: Используйте Access для браузерных сессий и подключений через портал MCP. Проверяйте асинхронные каналы, прежде чем направлять их события в рабочее пространство.
- Авторизация: Проверяйте принадлежность пользователя, прежде чем открывать рабочую область, запускать терминал, читать вывод или предоставлять предпросмотр.
- Доступ к инструментам: Используйте политики портала MCP сервера, списки разрешённых инструментов, OAuth, права доступа и согласие пользователя для операций с чувствительными данными.
- Изоляция кода: Запускайте ограниченный код в Dynamic Workers и полноценные нагрузки для разработки в контейнерах Sandbox SDK.
- Изоляция учётных данных: Храните учетные данные моделей и инструментов в сервисах платформы. Никогда не передавайте их в сгенерированный код или контекст модели.
- Тщательно подобранные входные данные: Публикуйте навыки и контекст в хранилище с версионированием, доступное только для чтения. Рабочая область не может изменять общую библиотеку.
- Возможность аудита: Записывайте использование моделей, вызовы инструментов, решения о согласии, передачу результатов и события жизненного цикла выполнения.