Vercel Workflows が一般提供開始(GA)

VVercel
Computing/SoftwareSmall Business/StartupsBusiness NewsInternet Technology

Transcript

00:00:00皆さん おはようございます
00:00:02本日はご参加いただき ありがとうございます
00:00:03これからお話しする内容に とてもワクワクしています
00:00:06さて この10年間 Vercelで実行されるコードは
00:00:10主に即時的なウェブ・リクエスト用に構築されてきました
00:00:14しかし 現在 顧客が作成している最も興味深いソフトウェアは
00:00:17もはや そのモデルには当てはまりません
00:00:20そして こうした新しいプロジェクトの数は 爆発的に増えています
00:00:23ここ数ヶ月だけでも
00:00:25Vercelでの週間デプロイ数は2倍になりました
00:00:28さらに 新規デプロイの3分の1は コーディング・エージェントによるもので
00:00:31その数は わずか6ヶ月で
00:00:341,000%も増加しています
00:00:35しかし 私にとって最も興味深いのは
00:00:38デプロイの量ではなく デプロイされている「中身」です
00:00:41それらのエージェントが さらにエージェントをデプロイしているのです
00:00:44そして 顧客が構築するエージェントは
00:00:48一度応答して待機するだけではありません
00:00:50推論し ツールを呼び出し 人間を待ち
00:00:53それを何度も繰り返す必要があります
00:00:55そして 各ワークフローには それに追従できるバックエンドが必要です
00:00:58Vercelで見てきた中で
00:01:02今 最も速くリリースしているチームは
00:01:05インフラを再構築したり
00:01:07キューを自分たちでコーディングしたりはしていません
00:01:08リトライ・ロジックを一から書いたり
00:01:11オブザーバビリティを繋ぎ合わせたりもしません
00:01:13そのようなことは すでに解決済みだからです
00:01:15彼らは 我々のインフラ・プリミティブを使用しています
00:01:17我々がこの10年間かけて構築してきたものです
00:01:20それにより 彼らは製品開発に全力を注ぐことができます
00:01:24まさにその問題を解決するために 構築したのが「Workflows」です
00:01:276ヶ月前にベータ版をリリースしましたが
00:01:30その反響は 素晴らしいものでした
00:01:33そして1億回の実行を経て
00:01:36本日 Workflowsの一般提供(GA)を 発表できることを嬉しく思います
00:01:41どのように機能するか お見せしましょう
00:01:43お見せするのは
00:01:44私が自作した バースデーカード・ジェネレーターです
00:01:47まあ どんなアプリでもいいのですが
00:01:49これは先ほど話した要素を すべて備えています
00:01:51単一のリクエストでは完結せず
00:01:54人間の入力を待ち 失敗すればリトライし
00:01:57進行状況をリアルタイムで ユーザーにストリーミングします
00:02:00では 仕組みを説明します
00:02:02自分宛にカードを送ってみましょう
00:02:04まずはメールアドレスを入力します
00:02:05次に 日付を選択します
00:02:094月23日にしましょう
00:02:11誕生日に焚き火をするのが好きなので
00:02:14「オーシャン・ビーチでの焚き火」にします
00:02:17自分宛なので 宛名はPernetにします
00:02:21デモを簡単にするために ここにも自分のメールアドレスを入れます
00:02:24自分の誕生日に 自分で出席確認(RSVP)をするわけです
00:02:27よし 「生成して送信」を押すと
00:02:30バースデーカードの生成が始まります
00:02:34Vercelのダッシュボードに移動すると
00:02:35実行リクエストが届いているのが分かります
00:02:37中を見てみましょう
00:02:39プロンプトが生成され メッセージが作られ
00:02:42画像が生成される様子を
00:02:43リアルタイムで確認できます
00:02:45これが 先ほど話したオブザーバビリティです
00:02:48すべてのステップが ここで可視化されています
00:02:50何が実行中で 何が完了し
00:02:52何が待機中なのかが 一目で分かります
00:02:54ユーザー側を確認すると
00:02:57カードが生成され
00:02:58出席確認のメールが 送信されたことが分かります
00:03:01現時点で ワークフローは中断されています
00:03:04計算処理は実際には行われていません
00:03:07人間の応答を待っている状態です
00:03:09今すぐメールを開いて返信することもできますし
00:03:12数時間後や数日後に返信しても構いません
00:03:15ワークフローは引き続き進捗を追跡します
00:03:18メールを見る前に
00:03:20CLIをお見せしたいと思います
00:03:22Workflowsは 初日からCLIを同梱しており
00:03:25ダッシュボードで見られる情報を
00:03:27すべてCLIでも確認できます
00:03:29つまり 開発者もエージェントも
00:03:32問題が発生した際の デバッグに必要な
00:03:35全体像にアクセスできるということです
00:03:37さて メールを確認しましょう
00:03:40メールが届いているはずです
00:03:43ありましたね
00:03:44出席確認を求めています
00:03:46「はい」を押すと 反映されます
00:03:49ダッシュボードに戻ると フックが再開し
00:03:53スリープ状態に入るはずです
00:03:55ユーザー・ダッシュボードでも同じことが確認できます
00:03:58出席確認の待機は終了し
00:04:00現在は バースデーカードを送るために
00:04:0123日まで待機しています
00:04:032週間もお待たせするわけにはいかないので
00:04:05ダッシュボードに戻って
00:04:06ここからスリープを解除しましょう
00:04:09すると ワークフローが即座に再開され
00:04:12完了する様子が見て取れます
00:04:14ユーザー・ダッシュボードに戻ります
00:04:17ポストカードが送信されました
00:04:18メールの方にも 出席確認を含んだ
00:04:22バースデーカードが届いているはずです
00:04:23いいですね
00:04:24次に コードをお見せします
00:04:26先ほどの話を思い出してください
00:04:29最速で動いているチームは キューの処理や
00:04:32状態、インフラの管理に 時間を割いていません
00:04:34それは古いやり方です
00:04:35Workflowsでは 今日お見せしたすべてが
00:04:38単一の関数になっています
00:04:40そして それはこの「useWorkflow」ディレクティブから始まります
00:04:43この一つの命令により 関数を数日間実行し
00:04:48ステップ間で中断し 中断した箇所から再開できるのです
00:04:52ワークフローが「プロンプト生成」や
00:04:53「画像生成」などのステップを呼び出すと
00:04:56ワークフローは関数を一時停止し
00:04:58バックグラウンドでタスクをキューに入れます
00:05:00失敗した場合は自動でリトライし
00:05:02完了後にワークフローを再開します
00:05:05その間 Vercelのダッシュボードで
00:05:07全ステップの完全なオブザーバビリティが得られます
00:05:11各ステップをクリックして確認もできます
00:05:13デフォルトで Vercel上のデータは暗号化されていますが
00:05:16復号して入力内容を確認してみましょう
00:05:19これはダッシュボードとCLIの両方で利用可能です
00:05:22Workflowsには ストリーミング機能も組み込まれています
00:05:24これを使って 進捗を追跡するために
00:05:29クライアントにリアルタイムで更新をプッシュしました
00:05:31これを実現するために わざわざ
00:05:33データベースを導入する必要はありませんでした
00:05:34クライアントの接続が切れても 再接続すれば問題ありません
00:05:37これは永続的なストリームだからです
00:05:39さて ここがフックの部分です
00:05:42出席確認ごとに 使い捨てのウェブフックURLを
00:05:46その場で作成してメールで送信し
00:05:50あとは下の方で 待機するだけです
00:05:52ワークフローはここで停止し
00:05:56全員がリンクをクリックするまで待ちます
00:05:59データベースは一切関与しておらず
00:06:01結果はローカルのJavaScript変数に保持されます
00:06:05ワークフロー自体が すべての状態を保持しているのです
00:06:08分散システムの複雑な仕組みを
00:06:11意識する必要はもうありません
00:06:12開発者がこうしたことを 考える必要はなくなったのです
00:06:14最後に 誕生日の時まで
00:06:17スリープさせる処理がここです
00:06:18ここにありますね
00:06:19このスリープは数秒でもいいですし
00:06:21数日や 今回のように数週間でも可能です
00:06:24スリープ中 ワークフローは中断され
00:06:27コンピューティング・リソースは一切消費しません
00:06:29再開時には 状態を維持したまま
00:06:33中断した箇所から正確に継続します
00:06:34これで全工程です
00:06:37上から下まで読み進めるだけで
00:06:40エンド・ツー・エンドのロジックを理解できる単一の関数です
00:06:43各ステップはキューによって保護され
00:06:45自動的にリトライされ
00:06:47独自のサーバーレス関数で実行されます
00:06:49タイムアウト制限はないので
00:06:51ワークフローは必要なだけ長く実行できます
00:06:54「Vercelが背後のすべてを処理する」
00:06:56というのはこういう意味です
00:06:59皆さんはロジックを書くだけでいいのです
00:07:02このデモでは 単純なユースケースをお見せしましたが
00:07:07すでに多くのお客様が Workflowsを利用して
00:07:09エージェントを大規模な本番環境で運用しています
00:07:12Mux社は 動画生成パイプラインを
00:07:17毎回確実に実行するために Workflowsを使用しています
00:07:19Flora社は Workflowsによって 50種類の画像生成モデルにわたり
00:07:23並列でクリエイティブ・エージェントを調整しています
00:07:27Durable社は 少人数のチームながら
00:07:30300万もの顧客ウェブサイトをホストしており
00:07:33Workflowsを使って 新しいエージェントを
00:07:35毎日ユーザーに提供しています
00:07:38冒頭で 私はこう言いました
00:07:40顧客が構築する最も興味深いソフトウェアは
00:07:42もはや単一のリクエストには収まらないと
00:07:46そして そのようなアプリがデプロイされるのを
00:07:50毎日 ますます目にしています
00:07:51エージェントがエージェントをデプロイし
00:07:54開発チームはキューのことではなく
00:07:58顧客の課題に集中しています
00:08:01この変化は Vercel内部だけで起きているのではありません
00:08:05顧客のデプロイ数は倍増しており
00:08:07インフラを自前で構築するエンジニアは かつてないほど減っています
00:08:11どのようなアプリやエージェントを構築する場合でも
00:08:16Workflowsは それを信頼性が高く 長期実行可能で
00:08:18永続的で 観測可能なものにします
00:08:22手元のPCから 100万人のユーザーまで
00:08:25すべて同じアプリケーション・コードで対応できます
00:08:27Workflowsは 本日一般公開されました
00:08:31さあ 「確実に動くもの」をリリースしましょう
00:08:37[音声なし]

Key Takeaway

Vercel Workflowsは、インフラの構築やキュー管理を不要にし、AIエージェントのような複雑で長期実行が必要なロジックを単一の関数で完結させるサーバーレス・プリミティブである。

Highlights

Vercelでの新規デプロイの3分の1はコーディング・エージェントによるもので、その数は6ヶ月で1,000%増加した。

Workflowsは1億回の実行を経てベータ版から一般提供(GA)へと移行した。

useWorkflowディレクティブを使用することで、単一の関数を数日間実行し、ステップ間で中断・再開できる。

状態管理にデータベースを介在させず、ローカルのJavaScript変数がすべての状態を保持する。

スリープ中や待機中のワークフローはコンピューティング・リソースを一切消費せず、タイムアウト制限もない。

Durable社はWorkflowsを活用し、少人数のチームで300万の顧客ウェブサイトを管理している。

Timeline

ソフトウェア開発モデルの変化とデプロイの急増

  • ウェブ・リクエスト中心の即時応答モデルから、推論やツール呼び出しを繰り返すエージェント型モデルへ移行している。
  • Vercelでの週間デプロイ数はこの数ヶ月で2倍に増加した。
  • 高速に開発を進めるチームは、キューやリトライ・ロジックを自前で実装せず、既存のインフラ・プリミティブを再利用している。

過去10年間のウェブ開発は即時的なレスポンスが主流であったが、現在は人間を待機したり複数の工程を経る複雑なソフトウェアが爆発的に増えている。特にコーディング・エージェントによるデプロイの増加が顕著であり、インフラの再構築を避けて製品開発に集中することが競争力の源泉となっている。

Workflowsの機能とオブザーバビリティのデモンストレーション

  • バースデーカード・ジェネレーターのデモでは、画像の生成、メール送信、人間の入力待ちが単一のワークフローで行われる。
  • Vercelダッシュボードにより、実行中の全ステップの進行状況がリアルタイムで可視化される。
  • 人間の応答を待機している間、ワークフローは中断状態となり計算リソースを消費しない。

Workflowsは単一のリクエストで完結しないタスクを管理するために設計されている。ダッシュボード上では、どのステップが完了し、何が待機中なのかが一目で把握できる高い透明性が提供される。ユーザーは数時間、あるいは数日後にメールで応答しても、システムはその続きから正確に処理を再開する。

CLIと開発ツールによるデバッグの効率化

  • ダッシュボード上の全情報はCLIからもアクセス可能であり、開発者やエージェントのデバッグを支援する。
  • 特定の日時までスリープさせる処理は、ダッシュボードから手動で解除して即座に再開できる。
  • ワークフローが完了すると、最終的な成果物が自動的にユーザーへ送信される。

開発者が使い慣れたコマンドライン・インターフェースを通じて、実行中のワークフローの状態を把握できる環境が整っている。数週間先の予定されたタスクであっても、必要に応じてスケジュールをスキップしてテストを行うなど、柔軟な制御が可能となっている。

単一関数による実装と状態の永続化

  • useWorkflowディレクティブが関数のステップ実行、自動リトライ、バックグラウンドでのキューイングを制御する。
  • データベースを導入することなく、クライアントへのリアルタイムな進行状況のストリーミングを実現する。
  • 分散システムの複雑な仕組みを意識せず、上から下まで読み進めるだけでロジックを理解できる単一のコードで構成される。

Workflowsの核心は、複雑な分散システムの抽象化にある。ステップ間での変数の値は自動的に保持されるため、外部データベースへの保存と読み込みをコードに記述する必要がない。失敗したステップは自動的に個別のサーバーレス関数でリトライされ、開発者はビジネスロジックの記述だけに専念できる。

エンタープライズでの導入事例と一般公開

  • Mux社は動画生成パイプラインの確実な実行にWorkflowsを導入している。
  • Flora社は50種類の画像生成モデルを並列で調整するエージェント運用に活用している。
  • Workflowsは本日より一般公開され、ローカル環境から大規模な本番運用まで同一のコードで対応する。

すでに多くの企業がWorkflowsを本番環境で運用し、AIエージェントの調整や大規模なインフラ管理を効率化している。インフラを自前で構築する負担を減らし、信頼性と観測可能性を備えたアプリケーションを迅速にリリースできる環境が、すべてのVercelユーザーに提供される。

Community Posts

View all posts