Cloudflare OS: 에이전트, 애플리케이션, 업무를 위한 개방형 플랫폼

Phillip Jones 및 Dan Carter

15분 읽기

이 포스트는 다음 언어로도 제공됩니다 English, Deutsch, Español, Español (Latinoamérica), Italiano, 日本語, 繁體中文, 简体中文 및 Nederlands.

모든 조직에는 존재 이유이자 궁극적인 목표인 미션이 있습니다. 조직은 이러한 미션과 함께 고유한 용어, 업무 절차, 시스템, 표준, 업무 방식을 구성원들에게 전달합니다. 구성원들은 이러한 맥락을 자신의 경험과 결합하여 조직의 미션을 달성하기 위해 업무를 수행합니다.

업무의 형태는 매우 다양합니다. 코드를 작성하는 일도 있고, 문서와 프레젠테이션을 만드는 일도 있으며, 관계를 구축하거나 현실 세계에서 실제 성과를 만들어내는 일도 있습니다.

이 가운데 일부는 비교적 단순합니다. 예를 들어 코드는 실행되거나 실행되지 않거나 둘 중 하나입니다. 지난 몇 년 동안 에이전트는 이러한 피드백 루프를 활용해 개발자가 실제로 사용할 수 있는 코드를 생성해 왔습니다. 하지만 개발자가 아닌 나머지 사람들은 어떨까요?

이와 같은 생산성 향상을 조직 전체로 확장하는 것은 훨씬 더 어려운 과제입니다. 에이전트는 기업의 업무 맥락을 이해하고, 직원들이 사용하는 시스템에 액세스할 수 있어야 합니다. 또한 이러한 맥락과 액세스를 실제 업무로 연결하여 조직이 미션에 더 가까워질 수 있도록 해야 합니다.

이러한 이유로 Cloudflare는 Cloudflare OS를 만들었습니다. Cloudflare OS는 회사의 업무 방식, 보유한 지식, 사용하는 시스템을 기반으로 모든 직원에게 전용 에이전트와 워크스페이스를 제공합니다.

올해 5월, Cloudflare는 모든 직원에게 Cloudflare OS의 첫 번째 버전을 제공했습니다. 엔지니어링 조직뿐 아니라 다양한 부서의 수천 명의 직원이 매일 이를 사용해 문서와 프레젠테이션을 만들고, 반복 업무를 자동화하며, 데이터를 시각화하거나 업무를 지원하는 소규모 애플리케이션을 개발하고 있습니다.

Cloudflare OS는 또한 Cloudflare 각 팀이 구축한 공통의 지식과 기능 라이브러리도 제공합니다. 이 라이브러리에는 Cloudflare의 용어, 업무 절차, 반복 업무를 수행하는 가장 효과적인 방법이 에이전트가 실행할 수 있는 지침 형태로 저장됩니다. 한 사람이 더 나은 업무 방식을 찾아내면, 다른 모든 구성원도 이를 즉시 활용할 수 있습니다.

오늘 Cloudflare는 새로운 버전의 Cloudflare OS를 오픈 소스로 공개합니다. 이제 어떤 조직이든 이를 배포하고, 내부 시스템과 연결하여, 자사 환경에 맞게 활용할 수 있습니다.

첫 번째 버전에서 얻은 교훈

오늘 오픈 소스로 공개하는 Cloudflare OS는 첫 번째 버전을 사내에서 운영하며 얻은 경험을 바탕으로 만들어졌습니다. 이 과정에 대한 자세한 내용은 Cloudflare의 CIO인 Sam Rhea가 작성한 블로그에서 확인할 수 있습니다.

첫 번째 버전은 개인이 비공개 워크스페이스에서 에이전트와 함께 작업하는 방식에 중점을 두었습니다. 애플리케이션은 내부 시스템과 연결된 동적인 소프트웨어가 아니라 정적인 형태였으며, 대부분의 결정론적 작업도 에이전트 스킬을 다시 실행하고 추가 모델 토큰을 소비해야 했습니다.

협업이 시작되면서 더 근본적인 문제가 드러났습니다. MCP 서버에 대한 액세스 권한만으로는 에이전트가 호출할 수 있는 도구는 알 수 있었지만, 에이전트가 실제로 어떤 기본 리소스를 확인했는지는 알 수 없었습니다. 사람들이 워크스페이스, 애플리케이션, 결과물을 서로 공유하기 시작하면서, 협업 과정에서 사용자가 접근 권한이 없는 정보가 노출되지 않도록 보장할 필요가 있었습니다.

Cloudflare는 이러한 문제를 해결하기 위해 새로운 기반 위에서 Cloudflare OS를 다시 설계했습니다. 보안은 플랫폼에 기본적으로 내장되어야 하며, 애플리케이션을 만드는 사람이나 에이전트를 사용하는 사람이 각각 올바르게 구현해야 하는 기능이어서는 안 된다고 판단했습니다.

그 결과, Cloudflare OS는 이를 운영하는 조직 자체의 플랫폼이 될 수 있도록 설계되었습니다. 조직은 인터페이스를 원하는 대로 맞춤 설정하고, 자체 도구를 연결하며, 조직의 업무 방식을 반영하는 스킬과 업무 맥락을 추가할 수 있습니다.

Cloudflare OS 소개

Cloudflare OS는 다른 많은 AI 도구와 마찬가지로 브라우저에서 시작하는 대화형 인터페이스를 제공합니다. 하지만 가장 큰 차이점은 모든 대화가 조직이 직접 구축한 업무 맥락과 스킬을 기반으로 이루어진다는 것입니다. 워크스페이스에 목표를 제시하면, Cloudflare OS는 이러한 지식과 조직에서 이미 사용 중인 도구 및 데이터를 활용해 목표를 달성합니다.

BLOG-3379 2.png

Cloudflare OS는 다음 세 가지 요소로 구성됩니다.

  • 조직의 업무 맥락과 스킬을 기반으로 하는 에이전트 워크스페이스와 에이전트가 코드를 작성하고 실행할 수 있는 격리된 런타임
  • 내부 데이터와 서비스에 안전하게 액세스할 수 있도록 지원하는 새로운 보안 및 거버넌스 프레임워크
  • 사용자가 직접 구축하고, 공유하며, 지속적으로 수정할 수 있는 개인 맞춤형 애플리케이션 플랫폼

대화로 시작한 작업은 문서가 될 수도 있고, 애플리케이션이 될 수도 있으며, 계속해서 작업을 수행하는 워크플로가 될 수도 있습니다.

회사의 모든 구성원을 위한 에이전트 워크스페이스

에이전트 워크스페이스는 조직의 모든 구성원이 사용할 수 있도록 설계되었습니다. 브라우저에서 바로 사용할 수 있으므로 개발자일 필요도, 터미널 사용법을 알 필요도 없습니다. 

하나의 워크스페이스에는 에이전트 세션, 지속적으로 유지되는 상태, 결과물과 파일, 리소스에 대한 액세스, 그리고 에이전트가 코드를 작성하고 실행할 수 있는 격리된 런타임이 함께 제공됩니다.

또한 워크스페이스에는 팀이나 조직이 미리 구축해 둔 업무 맥락과 스킬이 기본으로 포함되어 있습니다. 더 이상 작업을 시작할 때마다 같은 내용을 처음부터 만들 필요가 없습니다. 팀의 누군가가 특정 업무를 수행하는 가장 좋은 방법을 찾아냈다면, 모든 구성원이 그 결과를 활용할 수 있습니다. 이제 작업을 시작할 때마다 동일한 업무 절차, 용어, 모범 사례를 모델에 반복해서 설명할 필요가 없습니다.

Cloudflare OS로 할 수 있는 몇 가지 작업은 다음과 같습니다.

조사 및 질의

워크스페이스에 회사의 업무 맥락과 연결된 리소스를 바탕으로 특정 주제를 조사하거나 질문에 답하도록 요청할 수 있습니다. 에이전트는 전체 데이터셋을 모델의 컨텍스트 창에 넣는 대신, 코드를 작성해 정보를 검색하고, 필터링하고, 결합하고, 분석할 수 있습니다.

문서, 프레젠테이션, 스프레드시트 작성

워크스페이스는 조사 결과를 문서, 프레젠테이션 또는 스프레드시트로 만들어 사용자가 계속 편집할 수 있도록 합니다. 이러한 결과물은 단순한 정적 파일에 머물지 않습니다. 실시간 데이터와 연결된 상태를 유지하고, 원본 데이터가 변경되면 자동으로 업데이트되며, 필요하면 Google Drive와 같은 익숙한 서비스나 일반적인 파일 형식으로 내보낼 수도 있습니다.

팀을 위한 협업형 애플리케이션 구축

문서나 스프레드시트만으로 부족한 경우에는 에이전트가 자체 인터페이스, 로직, 상태를 갖춘 애플리케이션을 만들 수 있습니다. 이 애플리케이션은 회사의 연결된 리소스를 활용할 수 있으며, 여러 사람이 함께 협업할 수 있도록 지원합니다.

결정론적 워크플로 실행 

모든 작업에 완전한 에이전트 세션이 필요한 것은 아닙니다. 많은 작업은 정해진 절차를 따르며, 일부 단계에서만 판단이 필요합니다. 워크스페이스는 이러한 작업을 대부분 결정론적 워크플로로 전환할 수 있습니다. 예측 가능한 단계는 코드로 처리하고, 모델이 필요한 부분에서만 AI를 활용합니다. 워크플로는 필요할 때마다 실행하거나, 일정에 따라 실행하거나, 연결된 시스템에서 특정 이벤트가 발생했을 때 자동으로 실행할 수 있습니다.

Cloudflare OS는 Gatekeepers를 통해 에이전트와 애플리케이션이 레코드 시스템에 대해 관리된 방식으로 액세스할 수 있도록 지원합니다(자세한 내용은 아래 보안 섹션에서 설명합니다). 또한 조직에서 이미 사용 중인 Model Context Protocol(MCP) 서버도 MCP 서버 포털을 통해 지원합니다.

내부 데이터와 서비스에 안전하게 액세스할 수 있도록 지원하는 새로운 보안 및 거버넌스 프레임워크

직장에서 AI를 활용하기 시작하면 가장 먼저 나오는 요청 중 하나는 회사 내부 시스템에 액세스하기 위한 API 키입니다. 이는 자연스러운 일입니다. 직원들이 업무에 사용하는 시스템에 액세스할 수 없다면 AI는 업무에 큰 도움이 되지 않기 때문입니다.

하지만 사람이나 에이전트에게 API 키를 직접 제공하는 것은 위험하며, 확장성도 떨어집니다. API 키는 일반적으로 광범위하고 장기간 유효한 액세스 권한을 부여하기 때문에, 권한을 제한하거나 안전하게 공유하고 감사하는 것이 쉽지 않습니다.

MCP는 에이전트가 이러한 시스템을 더 안전하게 사용할 수 있는 방법을 제공합니다. MCP 서버는 API 키를 직접 에이전트에 전달하는 대신 자격 증명을 보관하고, 미리 정의된 도구 집합만 제공합니다. 하지만 에이전트가 어떤 도구를 호출할 수 있는지만 제어하는 것은 첫 단계에 불과합니다. MCP만으로는 에이전트가 실제로 어떤 기본 리소스에 액세스했는지는 알 수 없습니다. 에이전트는 여러 시스템의 정보를 결합하거나, 보안 수준이 더 낮은 곳으로 전송하거나, 애플리케이션이나 결과물을 통해 원래 리소스에 대한 액세스 권한이 없는 사람에게 정보를 노출할 수도 있습니다. 따라서 권한 관리는 데이터가 이후 어디로 이동할 수 있는지까지 고려해야 합니다.

에이전트는 기본적으로 아무런 액세스 권한도 갖지 않습니다

Cloudflare Access는 누가 Cloudflare OS에 액세스할 수 있는지를 제어합니다. Cloudflare OS 내부에서는 모든 에이전트와 애플리케이션이 기본적으로 어떤 리소스에도 액세스할 수 없는 상태에서 시작합니다. 에이전트는 특정 리소스에 대한 액세스를 요청할 수 있으며, 사용자는 이를 허용하거나 거부할 수 있습니다. 권한이 부여되면 생성된 코드는 해당 리소스를 타입이 지정된 바인딩 형태로 전달받습니다.

const issues = await env.PROJECT.listIssues({
  teamId: "ENG",
  state: "open",
});

env.PROJECT는 특정 정책에 따라 특정 리소스를 사용할 수 있는 권한을 나타냅니다. 자격 증명은 에이전트와 생성된 코드로부터 완전히 분리된 상태로 유지됩니다.

서버 코드는 Dynamic Worker에서 실행되며, 전역 아웃바운드 네트워킹은 비활성화되어 있습니다. 클라이언트 코드는 브라우저의 샌드박스 프레임에서 실행됩니다. 두 환경 모두 사용자가 명시적으로 제공한 capability를 통해서만 인터넷에 액세스할 수 있습니다.

Gatekeepers가 리소스와 작업을 제어합니다

Gatekeeper는 Cloudflare OS와 외부 서비스 사이에서 동작하는 서비스별 Worker입니다. Gatekeeper는 해당 서비스의 API와 리소스는 물론, 그 리소스에서 수행할 수 있는 작업까지 이해합니다.

예를 들어 에이전트에 GitHub 계정 전체에 대한 액세스 권한을 부여하는 것은 지나치게 광범위할 수 있습니다. Gatekeeper를 사용하면 에이전트에 특정 리포지토리 하나에만 액세스 권한을 부여하거나, 소스 코드는 보지 못한 채 이슈만 읽도록 제한할 수 있습니다. 또한 특정 필드를 마스킹하고, 레이트 리미팅을 적용하며, Pull 요청을 병합하기 전에 승인을 받도록 요구할 수도 있습니다.

에이전트와 에이전트가 만든 애플리케이션은 간단한 TypeScript API만 사용하면 됩니다. Gatekeeper는 OAuth를 처리하고, 자격 증명을 안전하게 보관하며, 정책을 적용하고, 어떤 데이터를 읽었는지 기록하며, 외부에 영향을 미치는 모든 작업을 중재합니다.

BLOG-3379 3.png

정책은 에이전트가 확인한 데이터를 따라갑니다

처음 데이터를 읽을 때만 액세스를 제어하는 것으로는 충분하지 않습니다. 예를 들어 에이전트가 데이터 웨어하우스의 민감한 테이블을 읽고 이를 기반으로 실시간 대시보드를 생성했다고 가정해 보겠습니다. 이 경우 대시보드를 공유하는 것이 해당 테이블에 직접 액세스할 권한이 없는 사람과 테이블의 내용을 공유하는 수단이 되어서는 안 됩니다.

Cloudflare OS는 에이전트가 확인한 모든 리소스를 기록합니다. 이러한 기록은 에이전트와 그 결과물에 계속 연결된 상태로 유지됩니다. 다른 사용자가 해당 워크스페이스를 열거나, 에이전트와 상호작용하거나, 에이전트가 생성한 결과물을 보려고 하면 Gatekeepers가 그 사용자가 에이전트가 확인한 리소스에 대한 액세스 권한을 가지고 있는지 검증합니다.

BLOG-3379 4.png

에이전트가 확인한 리소스 기록은 에이전트가 외부 요청을 보낼 수 있는 시점을 결정하는 정책에도 활용됩니다. 예를 들어 에이전트가 민감한 데이터를 읽은 경우, 해당 데이터를 특정 대상에 기록하거나, 새로운 협업자를 초대하거나, 다른 에이전트에 작업을 넘기거나, 외부로 요청을 보내는 것을 정책에 따라 제한할 수 있습니다.

에이전트를 사용하거나 애플리케이션을 개발하는 사람은 이러한 실수를 직접 신경 쓸 필요가 없습니다. 이제 이러한 보호 조치는 플랫폼이 자동으로 처리합니다.

개인 맞춤형 애플리케이션을 구축하고 공유할 수 있는 플랫폼

대부분의 생산성 도구는 문서, 스프레드시트, 프레젠테이션처럼 정해진 애플리케이션만 제공합니다. 하지만 Cloudflare OS에서는 각각의 "파일"이 하나의 애플리케이션이 될 수 있습니다. 에이전트가 특정 개인, 프로젝트 또는 팀을 위해 직접 작성한 애플리케이션입니다.

이러한 애플리케이션은 다른 곳으로 내보내 배포해야 하는 프로토타입이 아닙니다. 각각이 클라이언트 코드, 서버 코드, API, 영구 상태를 갖춘 완전한 풀스택 애플리케이션입니다. 기본적으로 비공개로 생성되지만, 문서를 공유하듯 다른 사람과 공유할 수 있습니다.

모든 애플리케이션은 Worker입니다

워크스페이스에 애플리케이션을 만들어 달라고 요청하면 에이전트는 다음 두 가지를 작성합니다.

  • 브라우저에서 애플리케이션 UI를 렌더링하는 클라이언트 코드
  • 상태를 저장하고 애플리케이션의 동작을 구현하는 서버 코드

서버 코드는 필요할 때 Dynamic Worker로 로드되어 Durable Object Facet으로 인스턴스화됩니다(두 기능 모두 Cloudflare가 이 프로젝트를 위해 개발). Facet은 애플리케이션마다 자체 SQLite 데이터베이스를 제공하며, 이를 관리하는 Cloudflare OS 런타임과는 분리되어 있습니다. Dynamic Workers는 경량 V8 isolate를 사용하므로, 전용 서버나 컨테이너를 항상 실행해 둘 필요 없이 모든 애플리케이션이 독립적인 런타임에서 실행될 수 있습니다.

BLOG-3379 5.png

브라우저 클라이언트는 Cloudflare의 오픈 소스 객체 기능 기반 원격 프로시저 호출(RPC) 시스템인  Cap’n Web을 사용해 서버와 통신합니다. 클라이언트에서는 일반적인 JavaScript 함수를 호출하듯 서버 메서드를 호출할 수 있습니다.

const issues = await app.listIssues({
 status: "done",
});

특별한 점은 에이전트도 동일한 메서드를 호출할 수 있다는 것입니다.

직접 작업을 수행하는 도구를 만들 수 있다면, 사용자가 자리를 비운 동안에는 에이전트가 그 도구를 사용해 동일한 작업을 수행할 수도 있습니다.

애플리케이션 자체를 공유하거나, 만드는 방법을 공유하세요

Cloudflare OS에서 애플리케이션을 만들면 두 가지 방식으로 공유할 수 있습니다.

  • 애플리케이션 자체를 공유하면 다른 사용자가 동일한 상태를 공유하며 실시간으로 함께 작업할 수 있습니다.
  • 애플리케이션의 블루프린트를 공유하면 다른 사용자가 해당 애플리케이션의 사본을 직접 생성할 수 있습니다.
BLOG-3379 6.png

블루프린트에서 생성된 애플리케이션에는 원본 애플리케이션의 코드가 포함됩니다. 하지만 SQLite 데이터, 대화 기록, 자격 증명, 연결된 리소스는 포함되지 않습니다. 새로 생성되는 모든 애플리케이션은 독립적인 상태와 리소스를 갖고 시작합니다.

즉, 팀원과 애플리케이션을 공유하면, 팀원들은 기능 추가를 요청하고 개발을 맡기는 대신 AI를 활용해 애플리케이션을 직접 수정할 수 있습니다.

원하는 AI 모델을 사용하고, 비용도 직접 관리하세요

Cloudflare OS는 모든 AI 모델과 함께 사용할 수 있습니다. 모든 추론 요청은 Cloudflare AI Gateway를 거치므로, 조직은 하나의 중앙 관리 지점에서 어떤 모델을 사용할지, 그리고 각 작업을 어떤 모델이 처리할지를 결정할 수 있습니다.

BLOG-3379 7.png

모든 작업에 가장 비싼 모델이 필요한 것은 아닙니다. 예를 들어 매일 아침 읽지 않은 이메일을 요약하는 작업에 최고 성능의 프런티어 모델을 사용할 필요는 없을 수 있습니다. AI Gateway를 사용하면 비용이 많이 드는 모델은 정말 어려운 작업에만 사용되도록 제어할 수 있습니다.

또한 모든 요청은 이를 실행한 사용자, 팀 또는 워크스페이스에 귀속됩니다. 관리자는 AI 추론 비용이 어디에 사용되고 있는지 확인하고, 예산과 레이트 리미팅을 설정하며, 한도에 도달했을 때 어떤 조치를 취할지 결정할 수 있습니다. 

오픈 소스로 제공되므로 원하는 방식으로 활용할 수 있습니다

Cloudflare OS는 오늘부터 오픈 소스로 제공됩니다. cloudflare-os GitHub 저장소에서 소스 코드를 확인해 보세요. Cloudflare OS를 자체 Cloudflare 계정에 배포하고, 조직의 Access 정책, AI Gateway 구성, 데이터, 통합 환경을 그대로 사용할 수 있습니다.

Cloudflare의 내부 배포 환경은 Cloudflare의 시스템, 용어, 정책, 업무 방식을 반영합니다. 귀사 배포 환경은 귀사 조직의 업무 방식을 반영해야 합니다.

Cloudflare OS는 핵심 제품을 수정하지 않고도 인터페이스를 맞춤 구성하고, 내부 Gatekeeper를 추가하며, 조직에 특화된 기능을 개발할 수 있도록 설계되었습니다.

Cloudflare는 두 개의 저장소를 공개합니다. 하나는 Cloudflare OS 핵심 저장소이고, 다른 하나는 Cloudflare 내부 운영 방식을 기반으로 한 예제 배포 저장소입니다. 예제 배포 저장소는 핵심 코드를 수정하지 않고 그대로 사용하면서, 구성 설정, 맞춤형 UI, 내부 시스템 연동, 분석 기능, 배포 파이프라인을 구현할 수 있는 공간을 제공합니다.

파트너와 함께 제공합니다

소스 코드는 시작에 불과합니다. Cloudflare OS를 통해 조직에 진정한 가치를 제공하는 것은 업무 맥락, 스킬, 워크플로, 내부 시스템, 정책입니다.

Cloudflare의 전략적 파트너인 Presidio와 Happy Cog는 조직의 업무 방식에 맞게 Cloudflare OS를 맞춤 구성하고, 전사적으로 도입할 수 있도록 지원합니다.

파트너는 공통 스킬과 조직의 업무 지식을 체계화하고, 맞춤형 인터페이스를 구축하며, Gatekeepers와 MCP 서버 포털을 통해 내부 시스템을 연결하고, 보안 정책과 AI 모델, 비용 제어를 구성하는 작업을 지원합니다.

그 결과 조직은 자체 브랜드를 적용하고, 내부 시스템과 연결되며, Cloudflare에서 실행되고, 실제 업무 방식에 맞춰 구성된 Cloudflare OS를 사용할 수 있습니다.

시작하기

Cloudflare OS는 오늘부터 GitHub에서 사용할 수 있습니다. 소스 코드를 살펴보고, 데모를 실행하거나, 스타터 저장소를 이용해 몇 분 만에 자체 Cloudflare 계정에 배포할 수 있습니다.

Cloudflare는 이제 시작 단계에 있습니다. 앞으로 Cloudflare OS를 Cloudflare 대시보드에서 사용할 수 있는 완전관리형 제품으로 제공하고, 개발 워크플로를 위한 컨테이너를 추가하며, 워크스페이스를 Slack과 기타 채팅 도구로 확장할 계획입니다.

Cloudflare 팀과 이야기를 나누고 싶다면 언제든지 환영합니다. 아래 양식을 통해 문의해 주세요.