Cloudflare, 에이전트 개발 위한 Flue 프레임워크 공개
에이전트(Agent)가 프로토타입을 넘어 실제 인프라로 활용되는 추세에 맞춰 프로덕션 환경의 분산 시스템 문제 해결에 집중함
Cloudflare Agents SDK는 내구성 있는 실행(Durable Execution), 동적 코드 실행(Dynamic Code Execution) 등 핵심 플랫폼 기능을 제공함
Flue는 Pi 하네스 기반의 선언형 에이전트 프레임워크로, 코드 대신 지식(Knowledge)을 정의하여 개발 생산성을 높임
Flue는 Slack, GitHub 등 다양한 환경에 통합 가능하며, 내구성 있는 스트림(Durable Streams)으로 에이전트 상태를 안정적으로 관리함
에이전트 프레임워크의 3계층 아키텍처
새로운 에이전트 개발 스택은 프레임워크(Framework), 하네스(Harness), 런타임/플랫폼(Runtime/Platform)의 3계층으로 구성됨.
프레임워크(Flue): 개발 경험, 프로젝트 구조, CLI 제공
하네스(Pi, Project Think): 에이전트 루프, 도구 호출, 컨텍스트 관리 담당
런타임/플랫폼(Cloudflare Agents SDK): 내구성 있는 실행, 상태, 스토리지 등 기본 기능 제공
이 구조는 사용자 경험부터 플랫폼 원시 타입까지 계층적으로 에이전트 개발을 지원하며, 특히 Cloudflare Agents SDK는 하위 계층에서 안정적인 실행 환경을 보장함.
Flue의 선언형 모델과 개발 경험
Flue는 스크립트 기반이 아닌 지식 기반(Knowledge-based) 에이전트 개발을 지원함. 사용자는 에이전트의 모델, 스킬, 샌드박스, 지침 등 필요한 컨텍스트를 선언적으로 정의하면, 에이전트가 스스로 작업을 수행함.
코드 대신 지식 정의: 복잡한 오케스트레이션 로직 작성 불필요
통합된 개발 경험: Slack, GitHub, Linear 등 다양한 채널에 사전 구성된 핸들러로 쉽게 통합 가능
UI 준비된 헤드리스(Headless) 실행: 백그라운드 작업은 물론, `@flue/react`를 통해 실시간 데이터 스트리밍을 프론트엔드에 직접 통합
이러한 접근 방식은 에이전트 개발 생산성(Agent Development Productivity)을 크게 향상시킴.
내구성 있는 실행(Durable Execution)과 상태 관리
프로덕션 환경에서 에이전트 중단 시 상태 유실 및 컨텍스트 손실 문제를 해결하기 위해 Flue는 내구성 있는 스트림(Durable Streams)을 사용함.
모든 실행 기록을 변경 불가능한 로그에 저장하여 상태의 비휘발성(Non-volatility of State) 보장
Cloudflare Agents SDK의 `runFiber()`, `stash()`, `onFiberRecovered()` 메서드를 활용하여 중단 지점부터 자동으로 재개(Graceful Resume)
`FiberRecoveryContext`를 통해 이전 상태 스냅샷을 복구하여 에이전트가 중단된 시점을 인지하고 작업을 이어갈 수 있음
이는 안정적인 에이전트 운영(Stable Agent Operation)을 위한 핵심 기능임.
코드 실행을 통한 도구 활용 방식
기존의 도구 목록 방식보다 코드 실행(Code Execution)을 통한 도구 활용이 더 효율적임. 모델이 TypeScript 함수를 작성하면, 이를 샌드박스 환경에서 실행함.
`@cloudflare/codemode`: LLM 생성 코드를 동적 워커(Dynamic Worker)에서 안전하게 실행하여 각 코드 스니펫마다 격리된 환경 제공
빠르고 저렴한 실행 비용: 워커는 10ms 이내에 시작되며, 로드당 $0.002로 컨테이너 부팅보다 훨씬 효율적임
Flue는 이 기능을 활용하여 에이전트가 워크스페이스 API를 통해 JavaScript 코드를 실행하고 파일 시스템 작업을 수행하도록 지원함
이는 에이전트의 유연성(Agent Flexibility)과 보안성(Security)을 높이는 중요한 패턴임.
가상 파일 시스템(@cloudflare/shell)의 활용
에이전트가 파일 읽기, 쓰기, 코드 검색 등 파일 시스템 작업이 필요할 때, 내구성 있는 가상 파일 시스템(@cloudflare/shell)을 제공함.
Durable Object 내부에 SQLite 기반의 영구적인 가상 파일 시스템 제공
`read`, `write`, `grep`, `diff` 등 타입화된 파일 연산 API 지원
컨테이너 오버헤드 없이 효율적인 실행 환경 제공 (대부분의 파일 작업은 텍스트 기반이므로 컨테이너 불필요)
이 기능은 특히 코딩 에이전트에게 필수적이며, 비용 효율적인 샌드박스 환경(Cost-effective Sandbox Environment)을 구축하는 데 기여함.
동적 워크플로우(Dynamic Workflows)를 통한 복잡한 작업 관리
에이전트가 대규모의 다단계 파이프라인을 일관되게 반복 수행해야 할 때, 동적 워크플로우 엔진(@cloudflare/dynamic-workflows)이 이를 지원함.
런타임 시 에이전트가 워크플로우를 생성하고, 엔진이 각 단계를 내구성 있게 유지하고 실패 시 재시도함
`runWorkflow()` 함수를 통해 에이전트가 워크플로우를 시작하고 RPC를 통해 진행 상황을 보고받거나 승인을 요청할 수 있음
장시간 실행 및 외부 이벤트 대기: 수 시간 동안 대기하거나 인간의 승인 같은 외부 이벤트에 반응 가능
이는 복잡한 코드 리뷰나 연구 워크플로우처럼 일관된 결과 생성(Consistent Result Generation)이 중요한 작업에 적합함.