Vercel의 워크플로우 팀 리더인 Renee는 과거 스타트업 경험을 통해 비디오 생성 파이프라인이나 AI 에이전트와 같은 복잡한 워크플로우를 구축할 때 수많은 서버리스 함수, 수동 오케스트레이션, 상태 관리, 재시도 로직, 큐잉, 그리고 외부 서비스 연동(GPU 등)으로 인해 코드 유지보수가 어렵고 신규 엔지니어 온보딩에 많은 시간이 소요되는 문제점을 지적했습니다. 🤯
Workflow Development Kit (WDK)는 개발자가 생각하는 방식 그대로 워크플로우를 쉽게 작성할 수 있도록 돕는 도구로, AI 에이전트, 마이크로서비스, GPU 비디오 생성 파이프라인 등 다양한 복잡한 시나리오를 간결하게 구현할 수 있게 합니다. ✨
useStep 디렉티브는 개별 단계를 백그라운드에서 실행하며, Next.js의 use server에서 영감을 받아 자동으로 큐를 연결하고 각 단계를 독립적인 API 라우트로 컴파일하여 복잡한 백그라운드 작업을 단순화합니다. ⚙️
WDK는 워크플로우를 일시 중단하고 백그라운드에서 실행하며, 리소스를 소비하지 않고 상태를 재구성하여 중단된 지점부터 다시 시작할 수 있게 함으로써 장기 실행 및 상태 저장 서버리스 함수를 가능하게 합니다. ⏸️
webhook 기능은 워크플로우가 외부 이벤트(예: 사용자 클릭, 서드파티 서비스 콜백)를 기다리며 일시 중단될 수 있도록 하여, 외부 GPU 추론이나 결제 시스템 등 다양한 외부 서비스와의 연동 및 오케스트레이션을 단일 워크플로우 내에서 간결하게 처리할 수 있게 합니다. 🔗
sleep 함수는 워크플로우를 특정 시간(분, 주, 월 단위) 동안 일시 중단하고, 설정된 시간이 되면 자동으로 재개하여 예약된 작업이나 특정 시점까지 기다려야 하는 시나리오를 쉽게 구현할 수 있도록 합니다. ⏰
step과 webhook이 JavaScript Promise와 유사하게 작동하므로, 개발자는 Promise를 다루듯이 병렬 처리(Promise.all)나 유연한 오류 처리(일부만 완료되어도 진행)를 워크플로우 내에서 쉽게 구현할 수 있습니다. 🤝
WDK는 모든 단계의 입력과 출력을 이벤트 로그에 저장하여 별도의 코드 추가 없이도 무료로 감사(auditing) 기능을 제공하며, 웹 트레이스 뷰어를 통해 모든 함수의 입력, 출력, 재시도, 일시 중단 등을 시각적으로 확인할 수 있는 관측성을 제공합니다. 📈
Mandolin과 같은 기업은 WDK를 활용하여 의료진의 반복적인 행정 업무를 자동화하는 AI 에이전트를 구축하고 있으며, 연간 100억 달러 규모의 의약품 처리를 지원하는 등 복잡하고 중요한 실제 비즈니스 문제 해결에 기여하고 있습니다. 🚀