cloudflare

Flue를 시작으로 Cloudflare에 더 많은 에이전트 하네스 도입하기 (새 탭에서 열림)

2026년에는 AI 에이전트가 프로토타입을 넘어 실제 운영 인프라로 사용되면서, 중단 복구·보안 실행·도구 연동 같은 분산 시스템 문제가 중요해지고 있다. 글은 이를 해결하기 위해 **프레임워크(Flue)–하네스(Pi, Project Think)–런타임(Cloudflare Agents SDK)**의 3계층 구조가 필요하다고 주장한다. Flue는 선언적으로 에이전트를 정의하고, Cloudflare Agents SDK는 내구성 있는 실행·상태·스토리지·샌드박스를 제공해 프로덕션 환경의 안정성을 높인다.

프로덕션 에이전트를 위한 3계층 구조

  • 프레임워크: Flue

    • 프로젝트 구조, 규칙, 외부 서비스 통합, CLI, 개발자 경험을 제공한다.
    • 에이전트를 실제 업무 환경에 배치하고 관리하는 상위 계층이다.
  • 하네스: Pi, Project Think

    • 모델의 에이전트 루프를 담당한다.
    • 도구 호출, 결과 확인, 컨텍스트 관리, 작업 완료까지의 반복 과정을 처리한다.
  • 런타임/플랫폼: Cloudflare Agents SDK

    • 에이전트가 의존하는 컴퓨트, 상태 관리, 스토리지 primitives를 제공한다.
    • 특정 하네스에 종속되지 않고 다양한 하네스와 프레임워크가 사용할 수 있는 기반 계층이다.

Flue의 선언적 에이전트 모델

  • Flue 1.0 Beta는 Pi 하네스를 기반으로 하며, OpenClaw와 같은 하네스를 사용한다.
  • 에이전트가 무엇을 할지 절차적으로 스크립팅하는 대신, 에이전트가 알아야 할 내용을 선언한다.
    • 사용할 모델
    • 필요한 스킬
    • 실행 샌드박스
    • 시스템 지침
  • 별도의 오케스트레이션 루프를 직접 작성하지 않아도 에이전트가 주어진 작업을 자율적으로 수행한다.
  • 예를 들어 버그 리포트를 받아 샌드박스에서 재현하고 원인을 진단하는 에이전트를 25줄 이하로 작성할 수 있다.

개발자 도구와 외부 서비스 통합

  • Channels

    • Slack, GitHub, Linear, Discord 등에 에이전트를 연결한다.
    • 이벤트 검증과 디스패치에 필요한 반복적인 보일러플레이트를 대신 처리한다.
  • 헤드리스 실행과 UI 연동

    • 백그라운드 작업에서는 완전히 헤드리스로 실행할 수 있다.
    • @flue/react를 사용하면 에이전트 상태, 도구 실행, 실시간 메시지를 프론트엔드로 스트리밍할 수 있다.
    • 별도의 실시간 통신 인프라를 직접 구축할 필요를 줄인다.
  • CLI 기반 생태계 확장

    • flue add channel slack 같은 명령으로 통합 기능을 추가한다.
    • 생성된 Markdown blueprint를 코딩 에이전트가 읽고 수정해 기존 코드베이스에 통합할 수 있다.

Durable Streams를 통한 장애 복구

  • 에이전트 실행은 모델 응답 스트리밍, 도구 호출, 도구 결과 대기, 사용자 승인, 하위 에이전트 위임 등 여러 단계로 구성된다.
  • 호스트 장애, LLM API 타임아웃, 프로세스 재시작이 발생하면 메모리에 있던 실행 상태가 사라질 수 있다.
  • Flue는 Durable Streams를 사용해 실행 이력을 append-only 로그로 기록한다.
    • 프롬프트
    • 도구 응답
    • 모델 선택
    • 기타 실행 이벤트
  • 각 이벤트를 변경할 수 없는 원장처럼 저장하므로 프로세스가 종료되어도 다른 프로세스가 마지막 로그부터 실행을 이어갈 수 있다.
  • 결과적으로 에이전트가 작업 중이던 정확한 단계에서 복구되고, 사용자가 영원히 끝나지 않는 로딩 상태를 보는 문제를 줄인다.

다양한 환경에 배포하는 방식

  • Node.js에서는 에이전트를 장시간 실행되는 프로세스로 배포할 수 있다.
  • VM, 컨테이너, GitHub Actions, 기존 서버 등에 배포할 수 있어 멀티클라우드 구성이 가능하다.
  • Cloudflare 환경에서는 각 Flue 에이전트가 하나의 Durable Object로 실행된다.
    • 에이전트별 독립적인 컴퓨트와 스토리지를 제공한다.
    • 필요한 에이전트 수만큼 자동 확장할 수 있다.
    • 서버 프로비저닝, sticky session, noisy neighbor 문제를 신경 쓰지 않아도 된다.

Cloudflare Agents SDK의 실행 primitives

  • Cloudflare에 배포된 Flue는 Agents SDK의 다음 기능을 사용해 내구성 있는 실행을 구현한다.
    • runFiber(): 에이전트 실행을 중단·복구 가능한 작업 단위로 관리
    • stash(): 실행 중인 상태를 보존
    • onFiberRecovered(): 복구된 실행을 다시 처리
  • @cloudflare/codemode@cloudflare/shell을 활용해 샌드박스 안에서 코드를 실행한다.
  • 이 코드는 Durable Workspace와 결합되어 에이전트가 지속적으로 사용할 수 있는 작업 공간을 제공한다.

하네스가 플랫폼에 요구하는 것

  • 에이전트 턴은 단순한 단일 HTTP 요청이 아니라 수초에서 수분간 이어지는 상태ful한 실행이다.
  • 실행 중 다음과 같은 단계가 발생할 수 있다.
    • 모델 토큰 스트리밍
    • 도구 호출
    • 도구 결과 대기
    • 사람의 승인 요청
    • 하위 에이전트 위임
  • 프로세스가 중단되면 스트리밍 연결, 대기 중인 도구 호출, 현재 실행 위치 등 메모리 상태가 사라진다.
  • 대화 기록만 디스크에 저장되어 있어도 사용자는 완료되지 않는 스피너를 보게 되므로 충분하지 않다.
  • 따라서 현대적인 하네스에는 실행 중간 상태를 체크포인트로 저장하고 장애 후 이어서 실행할 수 있는 durable execution이 필수다.
  • 글은 Cloudflare Agents SDK의 Fiber가 이러한 체크포인트와 복구를 위한 네이티브 메커니즘을 제공한다고 설명하기 시작하며, 이후 세부 동작은 제공된 본문에서 이어지지 않는다.

에이전트를 실제 서비스로 운영하려면 모델 호출 로직만 구현해서는 부족하다. Flue 같은 프레임워크로 개발 경험과 통합을 단순화하고, Pi 같은 하네스로 에이전트 루프를 처리하며, Durable Objects와 Durable Streams 같은 플랫폼 primitives로 상태 보존·장애 복구·안전한 코드 실행을 확보하는 구성이 실용적이다.