Vercel Workflows가 정식 출시(GA)됐습니다. TypeScript 또는 Python으로 오래 실행되는 내구성 높은 함수를 작성할 수 있으며, 오케스트레이터, Kubernetes, 별도 인프라 구성이 필요 없습니다. 베타 기간 동안 1,500개 이상의 고객사에서 누적 1억 회 이상의 실행을 기록했습니다.
프로토타입과 프로덕션 수준의 시스템 사이에는 넘기 어려운 간극이 있습니다. 로컬에서는 아무 문제 없이 돌아가던 코드도, 장애 처리나 재시작, 실제 트래픽을 감당해야 하는 순간 금세 무너지고 맙니다.
프레임워크 정의 인프라(Framework defined infrastructure)는 웹 애플리케이션 영역에서 이 문제를 해결했습니다. 배포 시 Vercel이 앱 자체에서 적절한 구성을 자동으로 파악합니다. Workflows는 이 모델을 오래 실행되는 시스템으로 확장합니다. 오케스트레이션을 위한 별도 코드베이스를 관리할 필요 없이, 내구성 높은 워크플로우가 애플리케이션 코드의 자연스러운 연장선이 됩니다.
2025년 10월 베타 출시 이후 Workflows는 1,500개 이상의 고객사에서 누적 1억 회 이상의 실행과 5억 회 이상의 스텝을 처리했으며, 매주 20만 회 이상 npm 다운로드를 기록하고 있습니다.
오늘, Vercel Workflows가 정식 출시(GA)됩니다.
Workflows는 단일 요청으로 처리할 수 없는 모든 워크로드를 위해 만들어졌습니다.
에이전트: AI SDK와의 긴밀한 통합을 통해 상태와 도구를 유지하면서 외부 이벤트나 중단에도 유연하게 대응하는 무한 실행 내구성 에이전트를 구현할 수 있습니다. AI SDK v7은 WorkflowAgent를 통해 이를 한층 더 발전시켰습니다.
백엔드: Workflow SDK는 TypeScript 코드베이스에서 이 프로그래밍 모델의 가능성을 입증했으며, 이제 새로운 언어로도 확장됩니다. Workflow Python SDK가 베타로 출시됩니다.
장기 실행 워크로드: 다단계 온보딩 플로우, 결제 처리, ETL 파이프라인 등 안정적인 실행이 필요한 모든 함수에 Workflows를 활용할 수 있습니다. 직접 큐와 재시도 로직을 구성해야 했던 백엔드 작업 전반에 적용 가능합니다.
신뢰할 수 있는 장기 실행 프로세스를 프로덕션에 배포하려면 일반적으로 코드를 큐, 워커, 상태 테이블, 재시도 로직, 모니터링으로 분산시켜야 합니다. 전용 오케스트레이션 서비스는 여기에 Kubernetes에서 실행하는 장기 백그라운드 프로세스, 수평 확장, 운영 관리라는 또 다른 부담을 얹습니다. 결국 핵심 애플리케이션 컴퓨팅 위에 별도 비용을 지불하는 분산 시스템이 되고 맙니다.
Workflows는 오케스트레이터를 완전히 없앱니다. 모든 조율은 별도 서비스가 아닌 애플리케이션 코드 안에서 이루어집니다. 인프라는 세 가지 구성 요소로 이루어집니다:
이벤트 로그: 실행의 모든 스텝 입출력, 스트림 청크, 슬립, 훅, 오류를 기록합니다. 실행 상태와 이력의 유일한 진실 공급원(single source of truth)입니다.
함수는 Fluid compute 위에서: 각 스텝은 Fluid compute에서 독립적인 함수 호출로 실행됩니다. 각 함수 내부의 워크플로우 라이브러리가 큐 디큐잉, 상태 로딩, 암호화, 실행, 다음 스텝으로의 핸드오프를 처리합니다.
Vercel Queues: 각 함수가 다음 스텝을 자동으로 큐에 등록합니다. 큐는 Vercel에서 자동으로 실행되며, 자체 Postgres나 로컬 인메모리 방식도 지원합니다.
별도의 오케스트레이션 서비스가 없으므로, 함수가 실제로 실행 중인 시간에 사용한 컴퓨팅에 대해서만 비용을 냅니다.
Workflows를 사용하면 TypeScript 또는 Python으로 일반적인 제어 흐름과 간결한 API만으로 장기 실행 함수를 작성할 수 있습니다.
TypeScript에서는 워크플로우를 생성할 때 "use workflow"을 사용하고, 작업 단위를 격리할 때 "use step"를 사용합니다. 큐, 재시도, 스텝 격리, 관측 가능성(observability), 내구성 상태 관리, 스트리밍 등 나머지는 Workflows가 모두 처리합니다.
얼핏 보면 그냥 함수가 다른 함수를 호출하는 것처럼 보입니다. 바로 그것이 핵심입니다. 각 스텝은 자동으로 격리, 재시도, 영속성, 관측 가능성, 내구성 있는 연속 실행을 보장받습니다. 오케스트레이션은 별도 시스템이 아닌 애플리케이션 코드 안에 존재합니다.
Workflow SDK가 설치된 Next.js 앱은 로컬에서도 프로덕션 규모에서도 동일한 코드로, 실제 보장과 함께, 별도 오케스트레이션 도구 설정 없이 똑같이 실행됩니다.
베타 테스트에서 가장 인상적인 사례 중 하나는 Guillermo의 무한 체스 게임입니다. 모델들이 서로 대결하며 현재 보드 상태를 입력받고, 수를 검증하고, 게임을 렌더링하면서 무한히 대국을 이어가는 방식입니다.
각 체스 대국은 하나의 워크플로우 실행이며, 게임이 끝나면 마지막 스텝이 새 실행을 시작합니다. 무한성은 실행 간 재귀로 구현됩니다.
모든 워크플로우 실행은 특정 배포에 고정되기 때문에, 진행 중인 게임은 시작된 버전에서 안전하게 마무리되고, 다음 게임은 최신 배포에서 시작됩니다. 이를 통해 각 게임이 자신의 버전 안에서 안정적으로 유지되면서도 새 게임은 항상 최신 개선 사항을 반영하는 깔끔한 업그레이드 경계가 만들어집니다.
체스 대국을 구동하는 백엔드 코드가 충돌하거나 일시적 오류가 발생하더라도, 워크플로우 실행이 자동으로 재시도하므로 애플리케이션 장애로 이어지지 않습니다.
Workflows는 에이전트 시대를 위해 설계된 도구입니다. 에이전트를 만들기 위해, 그리고 에이전트가 직접 활용하기 위해 만들어진 유일한 보안 우선(security-first) 내구성 SDK입니다.
Vercel Workflows는 스텝 입출력과 스트림 청크를 포함한 모든 데이터를 배포 환경을 벗어나기 전에 기본으로 암호화합니다. 전송 중이든 저장 상태든 환경 외부에서는 데이터를 읽을 수 없으며, 복호화는 워크플로우를 실행 중인 배포 내부에서만 이루어집니다.
암호화는 별도로 설정하는 보안 부가 기능이 아니라 기본 내장 기능이며 무료입니다. Workflows가 동일한 환경에서 오케스트레이션과 실행을 모두 관장하기 때문에, 별도 서비스나 추가 인프라 없이 암호화를 자동으로 적용할 수 있습니다.
대시보드나 workflow CLI를 통해 암호화된 데이터를 확인해야 할 때는 명시적 복호화를 지원하며, 전체 감사 추적(audit trail)도 제공됩니다.
에이전트에게는 단순히 더 긴 타임아웃 이상이 필요합니다. 내구성 있는 실행, 신뢰할 수 있는 오케스트레이션, 재개 가능한 스트림, 장기 실행 시스템에서 대용량 페이로드를 처리할 수 있는 충분한 여유가 필요합니다.
내구성 에이전트
Workflow SDK와 AI SDK는 긴밀하게 통합되어 에이전트에게 내구성 있는 실행, 도구 호출, 상태 관리, 외부 이벤트와 중단을 우아하게 처리하는 능력을 제공합니다. 도구는 자동 재시도를 위한 워크플로우 스텝으로 구현하거나, sleep 같은 기본 요소(primitive)와 훅을 활용해 워크플로우 수준의 로직으로 깔끔하게 일시 중단하고 재개할 수 있습니다. 에이전트는 재시작과 장애를 견디며 도구 호출을 완료될 때까지 반복적으로 처리합니다.
AI SDK v7은 완전한 네이티브 구현인 WorkflowAgent로 이를 한층 발전시킵니다.
내구성 스트림
내구성 스트림은 에이전트 출력을 영속적으로 보존합니다. getWritable()은 여러 클라이언트가 연결하고, 끊고, 나중에 다시 연결해 임의 지점부터 재개할 수 있는 영구 스트림을 제공합니다. 사용자가 브라우저를 닫아도 워크플로우는 계속 실행됩니다. 돌아왔을 때 클라이언트는 재연결해 스트림이 중단된 지점부터 정확히 이어받습니다. Redis나 별도의 pub/sub 구성은 필요 없습니다.
아래 예시는 항공편 예약 에이전트가 여행을 계획하고 항공편을 검색하면서 일정 업데이트를 스트리밍하는 모습입니다:
API 라우트는 워크플로우를 시작하고 내구성 스트림을 클라이언트에 반환합니다. 응답 헤더의 실행 ID가 재연결을 가능하게 합니다:
검색 도중 사용자가 브라우저를 닫아도 워크플로우는 계속 실행됩니다. 이후 재연결하거나, 다른 사용자가 같은 링크를 열어 세션에 접속하면 WorkflowChatTransport이 클라이언트가 마지막으로 받은 이벤트 지점부터 스트림을 재개합니다.
훅과 슬립
Workflows는 컴퓨팅 비용 없이 실행을 일시 중단할 수 있습니다.
훅(Hook) 은 외부 트리거가 발생할 때까지 워크플로우를 대기 상태로 유지합니다. 휴먼-인-더-루프 승인 플로우를 구현하거나 서드파티 서비스와 연동할 때 유용합니다.
슬립(Sleep)은 워크플로우를 분 단위부터 수일, 수개월까지 원하는 시간 동안 일시 중단합니다. 이메일 드립 캠페인이나 날짜에 민감한 작업에 활용하기 좋습니다.
멀티모달 에이전트를 위한 한도
Workflows는 스텝당 50MB 페이로드와 전체 실행 기준 최대 2GB를 지원하며, 넉넉한 이벤트 한도를 제공합니다. 긴 실행 체인에서 이미지, 동영상, 대용량 컨텍스트를 전달하는 에이전트에게 충분한 여유입니다.
Workflows는 에이전트를 구축하는 데만 뛰어난 것이 아닙니다. 코딩 에이전트가 직접 사용하기에도 최적화된 설계를 갖추고 있습니다.
에이전트 친화적인 프로그래밍 모델
Workflows 코드는 일반적인 TypeScript입니다. 워크플로우는 함수이고 스텝도 함수입니다. 오케스트레이션이 애플리케이션 코드 안에 존재하기 때문에 코딩 에이전트는 하나의 시스템만 이해하면 됩니다. 별도로 설정할 오케스트레이션 레이어도, 관리할 워커 플릿(worker fleet)도 없습니다.
CLI에서의 완전한 관측 가능성
Workflow SDK에는 모든 에이전트가 워크플로우 실행을 검사하고 디버깅하는 데 사용할 수 있는 CLI가 포함되어 있습니다. 사람이 대시보드에서 실행 내역을 확인하듯, 에이전트도 터미널에서 동일한 워크플로우 상태를 확인할 수 있습니다.
별도 설정 없이 로컬에서도 바로 작동합니다. Vercel 프로덕션 배포에서는 CLI가 vercel CLI 인증을 --backend vercel과 함께 재사용해 Vercel API에 인증된 요청을 보냅니다. 에이전트는 터미널을 벗어나지 않고도 상태를 조회하고 실행을 검사하며 동작을 디버깅할 수 있습니다.
Workflows에 내장된 스킬
에이전트는 Workflows 스킬을 직접 설치해 제품 지식을 직접 작성하지 않고도 워크플로우를 스캐폴딩하고 디버깅하며 관리할 수 있습니다.
Workflow SDK는 오픈 소스이며 AI SDK, Chat SDK와 같은 패밀리에 속합니다. workflow npm 패키지는 GA와 함께 정식 버전으로 전환되며, 베타 기간 동안 주간 다운로드 20만 회 이상, 75회 이상의 릴리스를 달성했습니다.
Worlds는 Workflows를 이식 가능하게 만드는 어댑터 시스템입니다. 각 World는 워크플로우에 필요한 세 가지 구성 요소(이벤트 로그, 컴퓨팅, 큐)를 서로 다른 인프라 기반으로 제공합니다.
매니지드: Vercel이 모든 것을 자동으로 처리합니다. 앱을 배포하면 Vercel Workflows가 Fluid compute와 Vercel Queues, 설정 없는 엔드투엔드 암호화, 기본 내장 관측 가능성과 함께 실행됩니다.
자체 호스팅: 자체 인프라에서 Workflows를 실행할 수 있습니다. 실제 고객들이 프로덕션에서 사용하는 Postgres 레퍼런스 구현을 관리하고 있으며, 개발 환경을 위한 Local World도 기본 내장되어 있습니다.
임베디드: SDK는 특정 런타임에 종속되지 않으며, 커뮤니티는 이미 MongoDB, Redis, Turso, Jazz Cloud, Cloudflare 어댑터를 포함한 다양한 World를 개발 중입니다. Worlds를 만들고자 하는 누구든 계속해서 지원할 예정입니다.
Mux는 복잡한 비디오 파이프라인에서 AI 추론의 실행, 재시도, 오케스트레이션을 처리하는 미디어 인텔리전스 레이어를 Workflows 위에 구축했습니다. 또한 자체 @mux/ai SDK에 "use workflow"과 "use step" 디렉티브를 추가해, 어떤 개발자든 npm install @mux/ai만으로 일반 임포트 함수처럼 내구성 있는 다단계 파이프라인을 사용할 수 있습니다.
Durable의 가장 핵심적인 기능은 웹사이트 생성입니다. 수십 개의 병렬 AI 스텝을 Vercel Workflows로 오케스트레이션해 30초 이내에 완성된 사이트를 제공합니다. 소규모 개발팀은 자체 호스팅 인프라를 완전히 걷어내고 75개 파일에 160개 이상의 디렉티브를 적용해 Workflows 기반으로 재작성했습니다.
Flora는 전체 미디어 생성 파이프라인을 Vercel Workflows 위에서 운영하며, 큐도 상태 머신도 별도 서비스도 없이 50개 이상의 이미지 모델을 오케스트레이션합니다. 크레딧 환불에는 롤백을, 사용자 정의 다단계 파이프라인에는 재귀 워크플로우를, 진행 상황 스트리밍에는 getWritable를 활용합니다. 사용자들은 작업을 시작하고 노트북을 닫은 뒤 돌아오면 완성된 결과물을 받아볼 수 있습니다.
Workflows 4가 개발자 경험과 SDK 모델을 완성하는 데 집중했다면, Workflows 5는 동일한 프로그래밍 모델을 유지하면서 성능과 런타임 효율을 더욱 높이는 데 집중합니다. 현재 준비 중인 내용입니다:
다수의 실행 간 작업을 조율하는 락(lock) 기본 요소를 포함한 네이티브 동시성 제어
전 세계에 배포된 Workflows 인프라
이벤트 이력이 늘어날수록 발생하는 리플레이 오버헤드를 줄이기 위한 스냅샷 기반 런타임
개선된 번들링과 더욱 강화된 Next.js 통합
목표는 Workflows를 도입하는 부담을 점점 줄여 어떤 프로젝트에서든 자연스러운 기본 선택이 되도록 만드는 것입니다. workflow@beta를 설치해 Workflows 5를 미리 체험해 보세요(GitHub에서 피드백도 남겨주세요).
Python SDK가 베타로 출시되어 더 넓은 AI 및 백엔드 생태계에서도 Workflows를 사용할 수 있습니다. 이 글의 도입부 예시를 Python으로 작성하면 다음과 같습니다:
내구성, 안정성, 관측 가능성, 보안, 스트리밍은 나중에 따로 챙기는 숙제가 아니라 처음부터 제품의 일부여야 합니다.
Workflows를 사용하면 복잡한 부분은 저희가 맡고, 여러분은 앱을 차별화하는 데만 집중할 수 있습니다. Vercel Workflows에 대해 더 알아보거나 Workflow SDK 문서를 방문해 지금 바로 시작해 보세요.
Vercel Workflows는 4월 16일에 정식 출시됩니다.