연통 대 모래성 대 직접 짓기

Original · Flue vs Sandcastle vs Building It Yourself

11:074 min readElie Steinbock05/11/2026Computing/Software · Internet Technology

Key Takeaway

AI 에이전트 오케스트레이션 라이브러리인 flu나 sandcastle 대신 커스텀 타입스크립트 스크립트를 직접 구축하면 Claude Max 구독 활용과 개발 프로세스에 대한 완전한 제어권을 확보할 수 있다.

Highlights

  • Astro 팀이 제작한 'flu'와 Matt Pocock의 'sandcastle'은 격리된 샌드박스에서 AI 코딩 에이전트를 오케스트레이션하기 위해 출시된 타입스크립트 라이브러리다.

  • flu 라이브러리는 Vercel 팀의 just bash를 활용해 순수 타입스크립트 기반 인메모리 파일 시스템에서 AI 에이전트용 배시 명령을 실행한다.

  • flu는 Cloudflare R2 버킷을 가상 샌드박스로 마운트하여 컨테이너 없이 파일 탐색을 수행하고 세션 상태 및 메시지 기록을 유지한다.

  • sandcastle은 도커 환경에서 Claude Code를 실행하고 5분 간격의 루프나 단계를 순차 진행하는 랄프 루프(ralph loop) 방식을 통해 작업을 반복 완수한다.

  • 외부 라이브러리인 flu와 sandcastle은 Claude Max 및 Codex Max 구독을 직접 활용하지 못하는 단점이 존재한다.

  • 개발자가 직접 7단계 워크플로우를 타입스크립트로 구축하면 작업 트리 생성부터 TDD 구현, simplify 정리, slack 알림까지 완벽한 제어가 가능하다.

Timeline

  1. 타입스크립트 기반 AI 에이전트 라이브러리 출시 및 커스텀 구축 배경

    타입스크립트 생태계에 에이전트 하네스 프레임워크인 flu와 샌드박스 오케스트레이션 도구인 sandcastle이 출시되었다. 이 도구들은 개별적인 에이전트 실행 환경을 제공하지만, 개발자가 보유한 Claude Max나 Codex Max 구독 계정을 직접 연동할 수 없다는 한계가 존재한다. AI 이메일 아시스턴트인 Inbox Zero 운영 과정에서 구독 모델 간 자유로운 전환과 프로세스 제어권을 확보하기 위해 라이브러리를 사용하지 않고 직접 시스템을 만드는 접근법이 채택되었다.

    • Astro 팀의 flu와 Matt Pocock의 sandcastle이라는 신규 타입스크립트 라이브러리가 등장했다.
    • Claude Max 및 Codex Max 구독을 지원하지 않는 라이브러리 제약 때문에 자체 구축 방식을 선택했다.
  2. flu 프레임워크의 주요 기능과 구조

    flu 프레임워크는 Vercel의 just bash를 탑재하여 전체 터미널 환경을 띄우지 않고도 메모리 내부에서 배시 명령을 처리한다. Cloudflare R2 버킷을 에이전트 파일 시스템으로 마운트함으로써 무거운 컨테이너 없이 파일 탐색을 수행하고 대화 세션 상태를 저장한다. GitHub CLI(gh) 같은 특정 도구만 허용하도록 제한해 AI가 토큰에 직접 접근하지 못하게 차단하면서 이슈 작성, 커밋, 원격 샌드박스(Daytona) 연동 등 안전한 자동화 작업을 실행한다.

    • flu는 pi와 hono, 인메모리 배시 인터프리터인 just bash를 내부적으로 활용한다.
    • Cloudflare R2 버킷 마운트를 통해 지속 가능한 세션 기록 및 가상 샌드박스를 구현한다.
    • 사용자가 허용한 CLI만 실행 가능하도록 제한하여 민감한 자격 증명 유출을 방지한다.
  3. sandcastle 오케스트레이터의 특징 및 루프 방식

    sandcastle은 도커 환경에서 격리된 작업을 처리하며, 5분 주기의 루프나 단계별 순차 루프를 통해 에이전트가 누락된 작업 없이 끝까지 목표를 달성하도록 만든다. 각 반복 단계마다 신규 컨텍스트를 제공해 프런트엔드, 백엔드, 테스트 작성을 나누어 처리할 수 있다. 환경 변수 파일을 작업 트리에 복사하거나 병렬 기획 및 순차 코드 리뷰어 템플릿을 기본 제공하지만, 커스텀 구축에 비해 제어 범위가 제한적이다.

    • sandcastle은 도커 컨테이너 내부에서 Claude Code를 기반으로 작업을 실행한다.
    • 작업이 완수될 때까지 반복하는 랄프 루프(ralph loop) 방식을 통해 단계별 실행을 보장한다.
    • 깃 작업 트리(work tree) 복사 및 템플릿 제공 기능을 갖추고 있다.
  4. 7단계 커스텀 AI 워크플로우 직접 구현하기

    Inbox Zero 프로젝트 해결을 위해 이슈 분류, git work tree 생성, dependencies 설치, TDD 구현, simplify 코드 정리, 리뷰 및 PR 생성, Slack 통보로 이어지는 7단계 커스텀 시스템을 타입스크립트로 작성했다. AI에게 전체 과정을 맡기는 대신 각 단계의 실행 흐름을 엄격히 제어함으로써 안정적인 결과를 얻는다. 배시 스크립트나 커스텀 스킬 작성 등으로 대체할 수도 있으며, 코드의 줄 수보다 원하는 대로 수정할 수 있는 완전한 제어권을 갖는 것이 핵심이다.

    • Linear 이슈 처리부터 Slack 알림까지 이어지는 7단계 자동화 파이프라인을 직접 구축했다.
    • TDD 기반 코드 작성과 slash simplify 명령을 통한 코드 정리를 자동으로 수행한다.
    • 코드 분량이 늘어나더라도 프로세스를 완벽하게 제어할 수 있는 방식이 유리하다.

Description

ScreenshotOne: https://screenshotone.com/?utm_source=youtube&utm_medium=sponsorship&utm_campaign=eliezer_steinbock Flue: https://flueframework.com/ Sandcastle: https://github.com/mattpocock/sandcastle Inbox Zero: https://getinboxzero.com Two new TypeScript AI agent libraries dropped recently: Flue by the Astro team and Sandcastle by Matt Pocock. I walk through both, then show why I built my own agent harness for Inbox Zero instead. 0:00 - Two New TypeScript AI Agent Libraries 1:00 - Flue: Cloudflare-native Agent Framework 5:40 - Sandcastle by Matt Pocock 8:00 - Why I Built My Own (Linear to PR Workflow) 10:50 - Final Thoughts If you'd rather use a library than write your own, Flue and Sandcastle are both worth a look. Otherwise, this video shows the seven steps I wired up myself. =================== My open source product, Inbox Zero: Inbox Zero organizes your inbox, drafts replies in your voice, and helps you reach inbox zero fast. Never miss an important email again. https://getinboxzero.com GitHub: https://github.com/elie222/inbox-zero ⭐ =================== Follow me on X: https://x.com/elie2222 Join the Newsletter: https://aiopensource.substack.com/ #typescript #aicoding #claudecode #codex #aiagents #flue #sandcastle #devtools #inboxzero #orchestrator

Write about this video