← Справочные архитектуры / reference-architecture / diagrams / ai
Enterprise AI Vibe Coding Platform
Введение
Вайб-кодинг ↗ это практика разработки программного обеспечения, при которой большие языковые модели (LLM) используются для создания приложений на основе описаний на естественном языке. Корпоративная платформа AI vibe coding представляет собой внутренний инструмент, в котором сотрудники описывают желаемый результат на естественном языке, а платформа генерирует рабочий код, показывает предварительный просмотр в реальном времени и публикует его, причем все это происходит в среде, контролируемой организацией.
Это позволяет всем сотрудникам создавать внутренние инструменты, панели мониторинга и бизнес-приложения независимо от предыдущего опыта разработки ПО. Без должного контроля каждое приложение, созданное с помощью ИИ, рискует привести к неконтролируемому раскрытию данных, использованию неодобренных поставщиков LLM и появлению кода с неизвестным уровнем безопасности.
Эта эталонная архитектура расширяет AI Vibe Coding Platform с корпоративными механизмами управления идентификацией, защитой данных, распределением затрат, возможностью обнаружения сервисов и журналированием аудита. Базовая архитектура строится на платформе Cloudflare Developer Platform: AI Gateway для управления LLM и защитных ограничений, Sandbox для выполнения кода и Workers for Platforms для развёртывания и хостинга. Этот документ посвящён корпоративному уровню, построенному поверх этих примитивов.
Модель безопасности
Корпоративные платформы vibe coding должны исходить из того, что код, сгенерированный ИИ, является недоверенным. Модель безопасности обеспечивает защиту на уровне платформы, а не на уровне кода.
- Выполнение недоверенного кода: Код, созданный ИИ, может содержать ошибки, уязвимости или непредвиденное поведение. Песочницы и контейнеры изолируют его от производственных систем.
- Эксфильтрация данных через промпты: Сотрудники могут случайно включить конфиденциальные данные в запросы (промпты). AI Gateway и DLP проверяют и блокируют их до того, как запросы попадут к провайдерам LLM.
- Промпт-инъекция: Вредоносные запросы могут пытаться заставить ИИ сгенерировать опасный код. Все взаимодействия журналируются и доступны для аудита.
- Утечка учётных данных: Код, созданный ИИ, никогда не работает с реальными секретами. Учетные данные внедряются на уровне платформы через outbound handlers или outbound workers.
- Повышение привилегий: Неверно настроенные строки подключения или сетевой доступ могут открыть несанкционированный доступ к ресурсам более высокого уровня. Модель привязок (binding) обеспечивает подключение только по списку разрешенных адресов (allowlist).
- Несанкционированный доступ: Без контроля идентичности к развёрнутым приложениям мог бы получить доступ любой сотрудник организации. Cloudflare Access применяет ролевые политики как на уровне платформы, так и на уровне развёрнутых приложений.
Базовая архитектура
Корпоративная платформа vibe coding состоит из трёх систем, в которых существующие корпоративные средства контроля можно дополнять или расширять по мере необходимости:
- Уровень разработки: Место, где сотрудники создают и итеративно дорабатывают приложения с помощью AI, имея контролируемый доступ к LLM и корпоративным данным.
- Конвейер развёртывания: Процесс утверждения и проверки, который переводит приложение из среды разработки в продуктив, включая проверки безопасности, сканирование зависимостей и, при необходимости, ручную проверку человеком.
- Продуктивная плоскость: Место, где одобренные приложения выполняются в изолированных многопользовательских средах с полной наблюдаемостью, контролем исходящего трафика и политиками доступа.
Наблюдаемость, обнаруживаемость и контроль затрат должны быть встроены во все три компонента. Маркировка ресурсов применяемый на всех этапах жизненного цикла обеспечивает прозрачность и позволяет администраторам платформы отслеживать все приложения, пользователей и ресурсы, а также управлять ими из единого места.
Уровень разработки
Cloudflare Access защищает точку входа в платформу, будь то веб интерфейс или аутентифицированный доступ к среде разработки через CLI. Access интегрируется с существующими поставщиками идентификации (Okta, Azure AD, Google Workspace) через SAML и OIDC, что позволяет организациям использовать уже имеющийся SSO.
Платформа хранит метаданные, такие как профили пользователей, сессии, теги затрат, права подразделений и команд, в хранилище данных, например D1 для структурированных запросов, KV для быстрого поиска по ключу и значению, либо R2 для объектного хранилища. Frontend или агентский поток обращается к этим метаданным, чтобы определить права доступа и отследить использование.
Процесс разработки поддерживает два сценария. В браузерной среде сотрудники работают через веб-интерфейс, который управляет агентами на стороне сервера. Код, сгенерированный ИИ, выполняется в одной из двух моделей изоляции в зависимости от рабочей нагрузки. Контейнеры Sandbox предоставляют полноценную среду разработки с предварительными URL адресами, подходящую для приложений, которым требуется полная среда выполнения с зависимостями. Dynamic Workers обеспечивают лёгкое, мгновенное выполнение кода без накладных расходов на контейнеры, что подходит для быстрой итеративной работы с небольшими скриптами и функциями. Служба разработки может использовать любой из вариантов отдельно или сочетать их, применяя Dynamic Workers для быстрой проверки кода и контейнеры для полноценного предпросмотра приложения.
При локальном агентном окружении разработчики используют CLI-инструменты вроде Cursor, Windsurf или OpenCode, встроенные в привычную среду IDE и терминала. Код дорабатывается локально, на машине разработчика. Когда он готов, разработчик отправляет его в Cloudflare, где он запускается в изолированном контейнере или Dynamic Worker для предпросмотра и staging. порталы MCP-сервера и AI Gateway можно интегрировать в локальные процессы разработки, чтобы обеспечить прозрачность использования инструментов, логирования запросов и учёта затрат ещё до того, как код попадёт на платформу.
Все взаимодействия с LLM отслеживаются и управляются через AI Gateway, который обеспечивает маршрутизацию между провайдерами, контроль расходов, логирование промптов и Проверка DLP. Отслеживание затрат распределяет использование по проектам, командам, отделам и отдельным пользователям.
Весь исходящий трафик из среды разработки контролируется на уровне платформы. Для контейнеров исходящий обработчик перехватывает HTTP-трафик. Для Dynamic Workers контроль исходящего трафика обеспечивает аналогичные возможности. Секреты, необходимые для последующего подключения, хранятся в Secrets Store и внедряются обработчиком исходящих запросов на уровне платформы. Изолированная среда никогда не имеет прямого доступа к учётным данным. С помощью этого обработчика исходящих запросов администраторы платформы могут разрешать или запрещать обращения к конкретным целевым адресам, перенаправлять трафик, применять пользовательские политики к исходящему трафику или подключаться к другим ресурсам Cloudflare через привязки. Для доступа к локальным или внутренним системам, Workers VPC устанавливает приватное соединение, не открывая эти системы для интернета.
Дополнительные меры безопасности можно встроить в контейнер разработки с помощью фиксации версий пакетов и организационных ограничений, встроенных в образ контейнера. Если harness использует серверы MCP, порталы MCP обеспечивают аудит вызовов инструментов, управление разрешениями на доступ к инструментам и видимость того, какие инструменты используют агенты и к каким данным они обращаются.
Конвейер развёртывания
Ресурсы, созданные в плоскости разработки, можно хранить в существующих корпоративных репозиториях кода или в Артефакты, git-совместимое хранилище Cloudflare, созданное для агентов. Команды могут встраивать код, сгенерированный в режиме vibe coding, в существующие процессы код-ревью, чтобы перед выводом приложения в продуктив применялись лучшие практики и меры контроля разработки.
Платформа интегрируется с существующими корпоративными процессами разработки программного обеспечения. Репозитории Git, хранилища секретов и конвейеры CI/CD можно использовать наряду со встроенными сервисами Cloudflare.
Продуктивная плоскость
Развёрнутые приложения размещаются на Workers for Platforms. Cloudflare Access проверяет и защищает доступ сотрудников или третьих сторон ко всему пользовательскому домену, контролируя доступ к развернутым приложениям через dispatch worker. Детализированные элементы управления доступом можно применять на уровне dispatch worker, чтобы доступ пользователей соответствовал ролевой модели доступа и назначенным правам.
Workers for Platforms размещают приложение, написанное в стиле vibe coding, с исходящий Worker контролирующий весь исходящий трафик. Секреты хранятся в Secrets Store и внедряются исходящим worker'ом, благодаря чему пользовательские worker'ы никогда не работают с учётными данными напрямую. Исходящий worker также контролирует доступ на нижестоящем уровне: привязки, внешние API, Hyperdrive для существующих баз данных, либо Workers VPC с Cloudflare Tunnel чтобы установить подключение к локальной инфраструктуре или существующим внутренним системам.
Каждый пользовательский Worker имеет доступ к набору привязки чтобы предоставлять хранилище и сервисы каждому приложению, созданному в стиле vibe-coding. Для полной изоляции между арендаторами платформа создает и подключает для каждого приложения уникальную базу данных D1, пространство имен KV или бакет R2. Каждый User Worker может обращаться только к тем привязкам (bindings), которые явно подключены к нему.
Worker динамической диспетчеризации может задавать пользовательские лимиты за один вызов, ограничивая максимальное время обработки и количество подзапросов, чтобы предотвратить чрезмерное потребление ресурсов из за злоупотреблений или непреднамеренных циклов. Платформа может назначать разные лимиты в зависимости от уровня пользователя, команды или класса приложения. При превышении лимита пользовательский worker выбрасывает исключение, которое диспетчерский worker может обработать и зарегистрировать в журнале.
Наблюдаемость работает на двух уровнях. На уровне платформы Workers Trace Events Logpush при включении на dispatch worker распространяется на все user workers в пространстве имён. GraphQL Analytics API запросы по dispatchNamespaceName для сводных метрик по всей платформе. На уровне приложения Tail Workers можно привязать к отдельным пользовательским Worker для детального логирования. Workers Analytics Engine позволяет платформе записывать события и выполнять запросы к ним по тегу скрипта, предоставляя отдельным пользователям метрики использования по каждому приложению.
По мере роста числа приложений, разработанных в стиле vibe coding, хранилище метаданных платформы выполняет роль реестра приложений, предоставляя сведения о владельце, команде, описание, подключённые источники данных и метрики использования для каждого развёртывания. Как и в плоскости разработки, эти метаданные можно хранить в любом удобном хранилище данных, например D1, KV, или R2. Это позволяет сотрудникам находить уже существующие инструменты, не дублируя усилия. Маркировка ресурсов применяемый к базовым ресурсам Cloudflare, связывает каждый пользовательский Worker с его владельцем и статьёй затрат.