>_tech-draft
Vercelのアイコン
Vercel
動画公開日
タイトル

Vercel Workflows is now GA

再生時間

8分 40秒

Vercel Workflows GA: 長時間実行・ステートフルなサーバーレスアプリケーション開発を劇的に簡素化

ポイント

  • Vercel Workflowsは、長時間実行や状態を保持する複雑なサーバーレスアプリケーション開発を劇的に簡素化します。
  • キューイング、リトライ、オブザーバビリティ、人間とのインタラクションといったバックエンドの課題をVercelが抽象化し、解決します。
  • 開発者は煩雑なインフラ構築から解放され、AIエージェントなどの革新的なビジネスロジックに集中できるようになります。

Vercel Workflows GA: 長時間実行・ステートフルなサーバーレスアプリケーション開発を劇的に簡素化Vercel Workflowsが本日、一般提供(GA)を開始しました。これは、従来の即時応答型Webリクエストの枠を超え、現代の複雑なバックエンド処理やエージェントベースのアプリケーション開発を劇的に簡素化する画期的なサービスです。この記事では、Vercel Workflowsが解決する課題、その主要な機能、そして実際の活用事例について詳しくご紹介します。## 導入: 変化するWebアプリケーションのニーズVercelはこれまで10年以上にわたり、主に即時Webリクエストに対応するコードの実行基盤として進化してきました。しかし、近年お客様が構築している最も革新的なソフトウェアは、もはやこの単一リクエストモデルには適合しません。特に過去数ヶ月間で、このような新しいプロジェクトの数は爆発的に増加しています。Vercelにおける週ごとのデプロイメント数は倍増し、そのうち3分の1は「コーディングエージェント」によるもので、この数字はわずか半年で1000%も増加しました。これらのエージェントは一度応答するだけでなく、推論し、ツールを呼び出し、人間の介入を待ち、そしてそのすべてを繰り返す必要があります。このようなワークフローには、対応可能なバックエンドが必要です。現在、最も速いペースで開発を進めているチームは、インフラの再構築やキューのコーディング、リトライロジックのゼロからの記述、さらにはオブザーバビリティの配線に時間を費やしていません。彼らはVercelが過去10年間で構築してきたインフラのプリミティブ(基本機能)を活用することで、製品開発そのものに集中しています。Vercel Workflowsは、まさにこの課題を解決するために開発されました。6ヶ月前にベータ版をローンチして以来、その反響は目覚ましいものでした。すでに1億回を超える実行を経て、本日、Vercel Workflowsの一般提供を発表できることを大変嬉しく思います。## Vercel Workflowsとは?Vercel Workflowsは、長時間実行され、ステートフルな(状態を保持する)アプリケーションの構築を容易にするためのサービスです。従来のサーバーレス関数は短命であり、リクエストごとに状態を維持することは困難でした。しかし、Vercel Workflowsは、その実行を停止し、再開し、状態を保持することで、開発者が複雑な分散システム設計の懸念から解放され、ビジネスロジックに集中できるようにします。これにより、キューイングシステム、リトライメカニズム、オブザーバビリティといったバックエンドの複雑な側面をVercelが完全に管理します。### use workflowディレクティブの魔法Vercel Workflowsの中心となるのは、use workflowという特別なディレクティブです。このディレクティブを関数に適用するだけで、その関数は数日間実行され、ステップ間で一時停止し、中断した正確な場所から実行を再開できるようになります。例えば、generatePromptsgenerateImageといったステップが呼び出されると、ワークフローはその関数を一時停止し、バックグラウンドで処理をキューに入れます。失敗した場合は自動的にリトライし、処理が完了するとワークフローを再開します。## デモンストレーション: バースデーカードジェネレーターの例ここで、私が構築したバースデーカードジェネレーターのデモをご紹介します。このアプリケーションは、単一のリクエストでは完結せず、人間による応答を待ち、失敗時にリトライし、ユーザーにリアルタイムで進捗をストリーミングするといった、Workflowsの典型的なユースケースを体現しています。### ワークフローの実行フロー1. 情報の入力: まず、自分のメールアドレスを入力し、誕生日(例:4月23日)を選択します。次に、「焚き火パーティー」のようなテーマを選び、自分宛にカードを送信します。2. 生成と送信: 「生成して送信」ボタンをクリックすると、バースデーカードの生成が開始されます。3. Vercel Dashboardでの可観測性: Vercelダッシュボードに移動すると、この実行がリアルタイムで表示されます。プロンプトの生成、メッセージの生成、そして画像の生成といった各ステップが進行する様子を可視化できます。実行中、完了済み、待機中といったすべてのステップが明確に表示され、高い可観測性を提供します。4. ワークフローの一時停止(Suspended State): カードが生成された後、ワークフローは一時停止します。この時点では、実際のコンピューティングは行われていません。人間がRSVP(出欠確認)を行うのを待っている状態です。ユーザーはすぐにメールで返信することもできますし、数時間、数日後に返信することも可能です。ワークフローは進捗を追跡し続けます。5. CLIツールによるデバッグ: Vercel WorkflowsはCLIツールも提供しており、ダッシュボードで確認できるすべてのオブザーバビリティ情報にCLIからもアクセスできます。これにより、問題発生時のデバッグが容易になります。6. メールによるインタラクションと再開: 登録したメールアドレスにRSVPを求めるメールが届きます。「はい」と返信すると、ダッシュボードでワークフローが再開され、次のステップ(この場合は誕生日までの待機)に進むのが確認できます。7. 耐久性のあるスリープ: ワークフローは誕生日まで「スリープ」状態に入ります。スリープ中はコンピューティングリソースを消費せず、完全に一時停止しています。デモのために、ダッシュボードから手動でスリープ状態を解除すると、ワークフローは直ちに再開し、最終的に完了します。8. 完了と通知: ワークフローが完了すると、RSVPの確認とともにバースデーカードがメールで届きます。## Vercel Workflowsの技術的特徴### 組み込みの可観測性Vercel Workflowsは、すべてのステップに対する完全な可観測性を提供します。ダッシュボードでは、各ステップの実行状況をリアルタイムで確認できます。デフォルトでデータは暗号化されていますが、必要に応じて復号化して入力データを確認することも可能です。この機能はダッシュボードとCLIの両方で利用でき、デバッグと監視を強力にサポートします。### リアルタイムストリーミング外部データベースを導入することなく、クライアントにリアルタイムの更新をプッシュするための組み込みストリーミング機能を備えています。クライアントが一時的に切断しても再接続でき、セッションが持続する永続的なストリームを提供します。### 人間とのインタラクションのためのエフェメラルWebhookVercel Workflowsでは、RSVPのような人間によるインタラクションのために、その場で一時的なWebhook URLを生成し、メールで送信できます。ワークフローはすべての人がリンクをクリックするまで一時停止し、awaitすることができます。驚くべきことに、これにデータベースは一切関与せず、結果はローカルのJavaScript変数に保持されます。ワークフロー自体がすべての状態を管理するため、分散システムの複雑な課題について考える必要がありません。### 耐久性のあるスリープ機能ワークフローは、数秒から数日、さらには数週間といった長期間のスリープが可能です。スリープ中はワークフローが一時停止し、コンピューティングリソースを消費しません(ゼロコンピュート)。ウェイクアップ時には、状態を維持したまま、中断した場所から正確に実行を再開します。これにより、バッチ処理やスケジュールされたタスクを効率的に実行できます。### バックエンドインフラの完全な抽象化Vercel Workflowsでは、各ステップはVercelによって管理されるキューによって支えられ、自動的にリトライされ、独自のサーバーレス関数として実行されます。タイムアウト制限がないため、ワークフローは必要なだけ長く実行できます。Vercelが基盤となるすべてのインフラストラクチャを処理するため、開発者はロジックの記述に集中し、残りの部分はVercelに任せることができます。## Workflowsの多様な活用事例Vercel Workflowsは、様々な業界の顧客によって、大規模な本番環境でエージェントを実行するために活用されています。- Mux: 動画生成パイプラインの信頼性の高い実行を保証するためにWorkflowsを使用しています。これにより、複雑なメディア処理タスクが確実に行われます。- Flora: 50種類の画像生成モデルにわたる並列クリエイティブエージェントをWorkflowsでオーケストレーションしています。これは、大規模なAI駆動型コンテンツ生成を効率的に管理する好例です。- Durable: 300万の顧客ウェブサイトをホストしている小規模なチームですが、Workflowsを活用して毎日新しいエージェントをユーザーに提供しています。これにより、継続的なサービス改善と展開を可能にしています。## まとめ今日の最も興味深いソフトウェアは、もはや単一のリクエストモデルには収まりません。エージェントがエージェントをデプロイし、それらを構築するチームはインフラストラクチャの複雑さに煩わされることなく、顧客の問題解決に集中しています。このシフトはVercel内だけでなく、広く業界で起こっています。Vercel Workflowsは、あなたがどのようなアプリケーションやエージェントを構築したいと考えていても、それを信頼性高く、長時間実行可能で、耐久性があり、そして可観測性を持つものにします。ラップトップでの開発から数百万ユーザーへの展開まで、すべて同じアプリケーションコードで実現できます。Vercel Workflowsは本日、一般提供を開始しました。ぜひこの強力なツールを活用し、これまでにない体験をしてください。## 参考動画- Vercel Workflows GA: Long-Running & Stateful Serverless Applications