영속 실행을 위한 새로운 프로그래밍 모델
핵심 내용
Vercel Workflows가 GA로 전환되며 장기 실행 에이전트와 백엔드를 코드 안에서 처리한다.
자세히 보기
Vercel Workflows는 장시간 실행되는 durable, reliable, observable 에이전트와 백엔드를 가장 쉽게 작성하는 방법으로 GA가 됐다. 프로토타입은 로컬에서 쉽게 돌아가지만, 실패 처리·재시작·실트래픽을 견디는 순간 복잡도가 급격히 커진다는 점을 이 제품의 출발점으로 삼는다.
베타가 시작된 2025년 10월 이후 이미 1억 건 이상의 run과 5억 개 이상의 step을 처리했고, 1,500개 이상 고객이 사용했으며, 주간 20만 회 이상 npm 다운로드를 기록했다고 밝혔다. 이제는 Workflows를 프로덕션용으로 일반 공개하면서, 앱 코드 자체를 오케스트레이터로 삼는 모델을 내세운다.
핵심 구조는 세 가지다.
- Event log: step input, output, stream chunk, sleep, hook, error를 모두 기록하는 실행 이력의 단일 진실원천
- Fluid compute: 각 step이 독립적인 함수 호출로 실행되며, 라이브러리가 queue dequeue, state loading, encryption, execution, handoff를 처리
- Vercel Queues: 다음 step을 자동 enqueue하고, Vercel·자체 Postgres·로컬 메모리 환경에서 동작
TypeScript에서는 "use workflow"로 workflow를 선언하고 "use step"으로 작업 단위를 분리한다. 겉보기에는 일반 함수 호출처럼 보이지만, 실제로는 각 step마다 자동 retry, state persistence, observability, durable continuation이 붙는다.
에이전트용 기능도 강조된다. Durable agents는 AI SDK와의 깊은 통합으로 상태 유지, tool calling, 외부 이벤트 처리, 중단 후 재개를 지원하고, Durable streams는 getWritable()를 통해 브라우저가 닫혀도 스트림을 이어갈 수 있게 한다. WorkflowChatTransport와 x-workflow-run-id를 이용하면 클라이언트가 끊겼다가 다시 연결해도 마지막 이벤트부터 복구된다.
보안 측면에서는 step input/output/stream chunk를 배포 경계를 벗어나기 전에 암호화하며, 대시보드나 CLI에서 볼 때는 명시적 복호화와 audit trail을 제공한다. 또한 Hooks로 외부 트리거를 기다리거나, Sleep으로 분·일·개월 단위로 중단할 수 있어 human-in-the-loop 승인이나 이메일 드립 캠페인 같은 흐름에도 맞춘다.
용량도 에이전트 사용 사례를 염두에 둔다. step당 50 MB, run 전체 2 GB까지 지원해 이미지·비디오·대용량 컨텍스트를 주고받는 멀티모달 워크로드를 겨냥한다. CLI는 npx workflow inspect runs <wrun_id>로 런을 조사할 수 있고, Vercel 인증을 그대로 재사용해 프로덕션 상태를 터미널에서 디버깅할 수 있다.
배포 모델은 Worlds라는 어댑터 시스템으로 확장된다. Managed는 Vercel이 모두 처리하고, Self-hosted는 Postgres 기준 구현과 Local World를 제공하며, Embedded는 MongoDB·Redis·Turso·Jazz Cloud·Cloudflare 같은 추가 세계를 커뮤니티가 붙일 수 있게 한다. Mux와 Durable 같은 고객 사례를 통해 비디오/AI 파이프라인, 웹사이트 생성 같은 복잡한 생산용 워크로드에 이미 적용되고 있음을 보여준다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.