Cloudflare OS
요약
Cloudflare OS는 기업 내부의 생산성 향상을 위해 설계된 AI 기반 운영 체제입니다. 이는 기존 컴퓨팅 워크로드를 관리하는 것처럼, AI 워크로드에 대한 새로운 접근 방식을 제공합니다. 사용자는 에이전트 채팅 UI를 통해 작업을 요청하고, 샌드박스 환경에서 '가젯'이라는 개인용 앱을 안전하게 구축 및 공유할 수 있습니다.
핵심 포인트
- AI 워크로드를 관리하는 차세대 운영 체제 개념 제시
- 에이전트에게 작업 요청 및 슬라이드/앱 생성 가능
- 게이트키퍼 보안 프레임워크로 비기술적 사용자도 안심하고 사용 가능
- 오픈 소스로 공개되어 기업 맞춤형 커스터마이징 유도
Cloudflare OS는 원래 Cloudflare 내부 사용을 위해 개발된 AI 생산성용 "운영 체제"입니다. 엔지니어링부터 영업까지 Cloudflare의 많은 직원들이 업무를 수행하는 데 도움을 받기 위해 매일 Cloudflare OS를 사용합니다.
이것은 전통적인 컴퓨터 운영 체제가 아닙니다. 저희는 '운영 체제'라는 용어를 두 가지 의미로 사용합니다:
- 회사가 AI를 사용하여 생산성을 높이는 운영 체제, 즉 보안팀이 안심하고 잠들 수 있도록 안전한 방식입니다. - 기존 운영 체제가 컴퓨팅 워크로드를 관리하는 것과 유사하게, AI 워크로드에 대한 운영 체제입니다.
Cloudflare OS는 특히 세 가지를 제공합니다:
- 회사 운영 방식에 대한 지식을 미리 로드할 수 있는 에이전트 채팅 UI(agent chat UI)에서 에이전트에게 작업을 요청할 수 있습니다.
- 샌드박스형 애플리케이션 개발을 통해, 에이전트가 "가젯(gadgets)"(작은 개인용 앱)을 구축하도록 요청하고 자신이 만든 것을 다른 사람과 안전하게 공유할 수 있습니다.
- 게이트키퍼(Gatekeepers)라는 보안 프레임워크를 적용하여 에이전트와 앱 모두에 가드레일(guardrails)을 적용함으로써, 비기술적 사용자도 안심하고 자유롭게 사용해도 아무 문제가 발생하지 않도록 합니다.
저희는 다른 사람들이 이를 복사하여 자신들의 회사에 맞게 커스터마이징할 수 있도록 Cloudflare OS를 오픈 소스로 공개합니다. 이 아이디어는 귀하의 회사가 Cloudflare OS를 사용하는 것이 아니라, 귀하가 그것을 "귀사의 회사 OS"로 만드는 것입니다.
Cloudflare OS를 로컬에서 빠르게 실행하려면 pnpm을 설치한 다음 다음 명령어를 실행하세요:
pnpm run-local
그런 다음 http://localhost:8787에 접속하세요.
이것은 전체 스택(stack)을 wrangler와 workerd 위에서 로컬로 실행하는 것입니다. 프로덕션 사용을 위한 것은 아니지만, 제품이 무엇을 하는지 빠르게 확인할 수 있는 방법입니다.
대안으로 Cloudflare 계정에 배포할 수도 있습니다.
(더 많은 옵션은 이 readme의 끝부분을 참고하세요.)
다음과 같은 프롬프트를 시도해 보세요:
- "다음 고객과의 회의를 위한 슬라이드를 만들어줘." (이 경우 내장된 슬라이드 블루프린트를 사용합니다.)
- "협업 화이트보드 앱을 만들어줘." (이 경우 처음부터 새로운 앱을 생성합니다.)
- "틱택토 게임을 만들어줘." 다음에 "내가 X를 맡고 네가 O를 맡을게. 내가 먼저 움직였어. 이제 네 차례야."라고 입력합니다.
- "이 GitHub 레포지토리용 이슈 대시보드를 만들어줘." (레포지토리를 첨부해야 하며, GitHub 통합 설정이 필요합니다.)
- "이 Google Doc의 오타를 수정해줘." (문서를 첨부해야 하며, Google 통합 설정이 필요합니다.)
Cloudflare OS는 현재 활발하게 개발 중인 상태입니다. 이 저장소는 사실 버전 2이며, 이전 버전 1에서 배운 점들을 바탕으로 완전히 재작성되어 새로운 기반 위에 놓여 있습니다.
2026년 8월 출시 기준으로 Cloudflare OS v2는 매우 강력하지만 여전히 많은 미흡한 부분이 있습니다. 저희도 알고 있으며 개선하고 있습니다. 지금은 이것을 '얼리 액세스' 버전으로 간주해 주십시오.
Cloudflare OS는 단순히 커넥터가 달린 또 다른 채팅 상자 그 이상입니다. 이 시스템은 모든 사용자가 자신이 사용하는 생산성 앱의 사본을 직접 실행하는 새로운 소프트웨어 접근 방식을 중심으로 돌아갑니다.
Cloudflare OS에서 슬라이드 덱을 생성할 때, 클라우드에서 실행되는 어떤 SaaS(Software as a Service) 소프트웨어를 호출하는 것이 아닙니다. 이 시스템은 사용자만을 위한 개인 인스턴스의 슬라이드 덱 소프트웨어를 생성합니다. 저희는 이를 '가젯(gadget)'이라고 부릅니다. 이 인스턴스는 다른 사람들의 슬라이드 덱과는 별도의 샌드박스에서 실행됩니다.
이는 두 가지 중요한 효과를 가져옵니다:
- 슬라이드 덱 앱이 보안 버그를 가지고 있어 사용자의 슬라이드가 공격자에게 유출되는 것은 불가능합니다. Cloudflare OS의 샌드박스가 사용자 개인 인스턴스의 모든 접근을 제어하기 때문입니다.
- 원한다면 코드를 자유롭게 수정할 수 있습니다. 만약 슬라이드 덱 앱에 필요한 기능이 빠져 있다면, 에이전트에게 추가해 달라고 요청하기만 하면 됩니다. 그리고 첫 번째 이유 때문에, 이는 완전히 안전합니다.
이는 지난 25년간의 클라우드 아키텍처와 '서비스형 소프트웨어(SaaS)'에서 큰 변화이지만, 저희는 AI가 이 방정식을 바꿨다고 생각합니다. 사용자가 필요한 기능을 에이전트에게 프롬프트로 추가할 수 있게 되면서, 중앙 집중식 소프트웨어 모델은 더 이상 의미를 갖지 못합니다.
게이트키퍼(Gatekeeper)는 마치 초강력 MCP 서버와 같습니다.
에이전트나 가젯(Gadget)을 외부 리소스에 도입하면, 해당 접근을 관리하기 위해 게이트키퍼가 생성됩니다. 게이트키퍼는 각 외부 서비스에 특화된 소프트웨어 조각으로, 가젯의 해당 서비스 연결을 중재합니다. 게이트키퍼는 다음 기능을 수행합니다:
- 서비스에 깨끗한 Cap'n Web API를 제공합니다 (서비스가 네이티브로 제공하는 모든 API를 래핑).
- 권한 부여(예: OAuth)를 처리합니다.
- 사용자가 의도한 특정 리소스에만 접근을 강제합니다.
- 가젯(또는 에이전트)이 수행하는 모든 작업을 기록하여 검토할 수 있게 합니다.
- 부작용이 있는 모든 작업에 대해 인간 사용자에게 해당 작업을 승인하거나 거부할 기회를 제공합니다("휴먼 인 더 루프").
마지막 지점에서, 게이트키퍼는 최첨단 기술의 중요한 발전을 구현합니다. 전통적으로 휴먼 인 더 루프 설정은 인간이 작업을 *동기적(synchronously)*으로 승인해야 합니다. 에이전트가 무언가를 하려고 할 때, 그것은 계속 진행하기 전에 멈춰서 해당 승인을 기다려야 합니다. 이는 매우 짜증나는 일입니다: 에이전트에게 작업을 부여하고 자리를 비워 커피를 마시러 갔는데, 돌아와 보니 에이전트가 첫 단계의 승인에서 막혀 아무 진전도 이루지 못한 상태인 경우입니다. 그 결과, 사람들은 종종 포기하고 에이전트를 "자동 승인(auto-approve)"하거나, --dangerously-skip-permissions를 설정하는데, 이는 명백히 안전하지 않습니다.
게이트키퍼(Gatekeepers)가 더 나은 방법을 제공합니다. 에이전트(agent) 또는 가젯(Gadget)이 승인이 필요한 작업을 수행할 때, 게이트키퍼는 그 결과를 로컬에서 시뮬레이션하여 에이전트가 진행하고 더 많은 작업을 대기열에 넣을 수 있도록 합니다. 게이트키퍼는 작업이 완료되었다고 에이전트에게 알려주고, 만약 에이전트가 결과 값을 읽으려고 시도하면, 게이트키퍼는 시뮬레이션된 결과를 제공합니다. 에이전트가 모든 작업을 마친 후, 사용자는 여러 작업을 한 번에 승인하거나 거부할 수 있고, 또는 하나씩 처리할 수도 있습니다. 어느 쪽이든 나중에 편리할 때 할 수 있습니다.
물리적으로 볼 때, 각 게이트키퍼는 별도의 워커(Worker)로 구현됩니다. 미래에는 게이트키퍼 서비스가 OS 인스턴스와 독립적으로 배포 및 유지 관리될 것으로 구상하고 있지만, 세부 사항은 아직 확정되지 않았습니다. 현재로서는 이 저장소에 몇 가지 흥미로운 게이트키퍼를 제공해 드렸으니, 이를 사용자의 OS 인스턴스와 함께 배포할 수 있습니다.
Cloudflare OS의 기본적인 사용자 경험은 Google Docs나 MS Office 같은 온라인 오피스 스위트와 유사합니다. 하지만 고정된 파일 유형(문서, 스프레드시트, 슬라이드 덱) 대신, 각 파일 또는 '가젯'이 사용자의 필요에 정확히 맞게 AI에 의해 작성된 자체적인 커스텀 애플리케이션일 수 있다고 상상해 보세요.
오피스 문서와 마찬가지로, 각 가젯은 기본적으로 비공개(private)이지만, 팀원이나 친구들과 협업하기 위해 안전하게 공유할 수 있습니다.
오피스 문서처럼 수천 개의 가젯을 가질 수 있습니다. 필요할 때마다 만들 수 있습니다.
오피스 문서처럼 '템플릿'에서 시작할 수도 있는데, 이는 '블루프린트(Blueprints)'라고 불립니다. 오피스 템플릿이 단순히 내용물에 불과한 반면, 블루프린트는 전체 애플리케이션을 명시합니다.
오피스 문서처럼 자신만의 문서(가젯)에서 새로운 템플릿(블루프린트)을 만들고 다른 사람들과 공유할 수 있습니다. 하지만 그렇게 할 때, 당신이 공유하는 것은 전체 앱의 코드를 의미합니다.
OS 용어들이 전부 마케팅용은 아닙니다. Cloudflare OS는 기술적인 수준에서 실제로 운영 체제(operating system)와 유사합니다.
| 일반 OS (Normal OS) | Cloudflare OS |
|---|---|
| 커널 (kernel) | packages/workshop-backend |
| ... |
저희의 "커널"은 workshop-backend 패키지에 있습니다. 이 백엔드는 실제로 실제 OS 커널과 유사한 많은 작업을 수행합니다. 즉, 사용자들을 프로그램 및 장치(저희가 부르는 Gadgets와 Gatekeepers)에 연결하는 동시에 애플리케이션을 샌드박싱(sandboxing)하고 접근 제어(access control)를 강제함으로써 보안을 구현합니다.
이 비유에서 게이트키퍼(Gatekeepers)는 사용자 및 에이전트를 외부 서비스에 연결하는 역할을 하며, 이는 마치 사용자 및 프로그램을 외부 장치에 연결하는 드라이버(drivers)와 같습니다.
오늘날 전통적인 OS가 실제로 관리하지 못하지만 Cloudflare OS가 관리하는 것이 하나 있습니다. 바로 AI 에이전트입니다. 생각해 보면 이것은 전통적인 OS에서 정말로 부족한 기능입니다. 저희는 AI 에이전트를 단순히 사용자처럼 취급할 수 없다고 믿습니다. 그들은 인간 사용자에게 책임져야 할 의무를 가지면서도, 동시에 자신만의 제한된 권한을 가져야 합니다. 에이전트는 코드 조각(snippets of code)을 작성하고 이를 즉석에서 실행하는 방식으로 작동합니다. 이 모든 것에 대한 이상적인 보안 모델은 접근 제어 목록(access control lists)이 아니라 능력 기반 보안(capability-based security)입니다. 무슨 말씀인지 아시겠죠? 어쩌면 전통적인 OS도 AI 에이전트에게 특별한 대우를 해줘야 할지도 모릅니다.
Cloudflare OS는 Cloudflare Workers를 기반으로 구축되었으며, 특히 Durable Objects, Dynamic Workers, Facets를 많이 사용합니다. 모든 워크스페이스(workspace)는 자체 Durable Object이며, 모든 Gadget은 Dynamic Worker Facet에서 실행되고, Gatekeepers 또한 원격 서비스에 대한 접근을 관리하기 위해 각 워크스페이스에 Facet을 설치합니다.
실제로 Cloudflare OS는 Workers 자체를 구축한 사람들로부터 만들어졌습니다. 이 시스템은 Workers 런타임(Workers Runtime)의 최첨단 기능을 사용하며, 실제로 Dynamic Workers, Facets 및 다른 여러 기능들이 Cloudflare OS를 지원하기 위해 런타임에 추가되었고, 앞으로도 더 많은 기능이 추가될 예정입니다. Cloudflare OS의 소스 코드를 연구하는 것은 Workers 런타임 팀이 Workers를 어떻게 사용해야 한다고 생각하는지 이해하는 좋은 방법입니다.
Workers를 기반으로 구축되었다는 것이 Cloudflare OS가 Cloudflare에서만 실행될 수 있다는 의미는 아닙니다. 실제로, workerd
Cloudflare Workers Runtime인 workerd 자체가 오픈 소스이기 때문에, Cloudflare OS는 사용자의 자체 서버에서도 완전히 실행될 수 있습니다.
실제로 Cloudflare OS 코딩 에이전트는 임의의 작업을 수행할 수 있는 완전한 다목적 에이전트입니다. 다른 인기 있는 코딩 에이전트와 마찬가지로, 이 에이전트를 사용하여 코드를 작성해야 하는 것은 아닙니다. Gadget을 구축하는 데 사용할 수도 있지만, Gadget 단계를 건너뛰고 에이전트가 작업을 직접 수행하도록 할 수도 있습니다. Cloudflare OS 에이전트는 코드 모드(Code Mode) 에이전트입니다. 이는 코드 조각을 작성하고 즉시 실행하여 작업을 수행합니다. Gatekeepers (예: MCP -- 아래 참조)를 사용하여 외부 리소스에 연결할 수 있습니다.
원한다면 Gadget을 직접 코딩할 수도 있지만, 기대하는 바는 AI가 코드를 대신 작성해 주는 것입니다. Cloudflare OS에는 사용자가 요청하는 모든 것을 구축하고, 테스트하며, 오류를 디버깅해 주는 내장 코딩 에이전트가 있습니다.
사용할 LLM(Large Language Model)을 선택할 수 있습니다. Cloudflare OS는 여러 주요 AI 모델 제공업체 및 자체 호스팅 모델과 작동하며, 시간이 지남에 따라 더 많은 제공업체가 추가되고 있습니다.
플랫폼의 통합적이고 단순화된 특성 덕분에, 동일한 기본 AI 모델을 사용하더라도 Cloudflare OS 코딩 에이전트는 일반 목적의 코딩 에이전트보다 성능이 더 좋고 토큰 사용량이 적은 경우가 많습니다.
Cloudflare OS로 구축된 모든 앱은 자동으로 에이전트 친화적인 API를 갖게 됩니다. 이는 AI에게 앱을 구축하도록 요청한 후에도, 앱 내부에서 AI가 사용자와 협업하도록 요청할 수 있다는 의미입니다. MCP 서버를 구축하거나 커스텀 에이전트 루프를 통합할 필요가 없습니다. 기본적으로 존재합니다.
이는 Gadget의 클라이언트 및 서버 부분이 Cap'n Web RPC를 통해 통신해야 하기 때문에 가능합니다. 이는 상호 이익(win-win)입니다:
- Cap'n Web은 매우 적은 양의 보일러플레이트(low-boilerplate)를 가지고 있어 에이전트가 사용하기 쉽습니다. 기본적으로 서버에 메서드를 정의한 다음, 마치 로컬 호출인 것처럼 클라이언트에서 해당 메서드를 호출하기만 하면 됩니다.
- 한편으로는, 서버가 에이전트가 직접 호출할 수 있는 이해하기 쉬운 API를 필연적으로 노출한다는 것을 의미합니다. AI Agent harness는 도구 호출(tool calling)을 위해 Code Mode를 사용하므로, Gadget의 API를 에이전트가 호출하도록 직접 노출하는 것이 매우 간단해집니다.
사용자는 일반적인 온라인 오피스 스위트에서 문서를 공유하는 것처럼 자신의 Gadget을 공유할 수 있습니다. 특정 사용자에게만 접근 권한을 부여하거나, 열람하는 모든 사람에게 접근을 제공하는 공유 링크를 생성할 수도 있습니다. 그리고 이러한 온라인 오피스 스위트처럼, 협업자의 행동을 실시간으로 확인할 수 있습니다.
이것은 모든 Gadget이 Durable Object라는 Cloudflare의 상태 저장형 서버리스 프리미티브(stateful serverless primitive)에 의해 지원되기 때문에 가능합니다. 이는 실시간 멀티플레이어 협업을 쉽게 만듭니다. 너무 쉬워서 코딩 에이전트가 요청받지 않아도 기본적으로 구현해 버립니다.
만약 다른 사람들에게 유용할 수 있는 Gadget을 만들었지만, Gadget 자체를 공유하고 싶지 않다면, 대신 블루프린트(Blueprint)를 공유할 수 있습니다. 이를 통해 다른 사람들이 자신만의 Gadget 사본을 만들도록 할 수 있습니다. 블루프린트는 본질적으로 코드의 복사본입니다.
간단하게 들릴 수 있지만, 블루프린트는 클라우드 소프트웨어 전통과는 큰 변화입니다. 전통적으로 사용자와 공유하고 싶은 웹 앱을 만들 경우, 서버에 앱을 호스팅하고 사용자들이 그곳에 연결했습니다. 하지만 블루프린트는 모바일 앱이나 기존 PC 앱과 훨씬 더 유사합니다. 즉, 모든 사용자가 자신만의 소프트웨어 사본을 실행하게 됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending TypeScript (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기