Community-Session: Vercel Workflow

VVercel
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00Ich möchte hier kurz anhalten und direkt zu den Fragen übergehen.
00:00:02Ich glaube, wir haben da einiges zu besprechen.
00:00:05Ich möchte auch auf die Workflow-Dokumentation hinweisen, wo es
00:00:08viel mehr zu Workflows und der Funktionsweise dieser
00:00:11verschiedenen Teile gibt, zusammen mit dem Blogbeitrag, den ich
00:00:14gerne durchgehe, wenn das bei den Fragen sinnvoll ist.
00:00:19Aber ja, betrachten Sie dies als grundlegende Einstiegshilfe
00:00:23und die drei grundlegenden Primitive,
00:00:25an die wir bei Workflows denken, nämlich Schritte.
00:00:27Sie haben Workflows und Schritte, die anhalten und fortgesetzt werden können.
00:00:30Sie haben Hooks, die es Ihnen erlauben, auf
00:00:31ein beliebiges externes Ereignis zu warten.
00:00:33Und Sie haben Sleeps, die es Ihnen erlauben, auf
00:00:36beliebige Zeitspannen zu warten, von
00:00:38ein paar Sekunden bis hin zu ein paar Tagen
00:00:39oder sogar ein paar Monaten.
00:00:42Und damit können Sie so einiges modellieren,
00:00:44viele Hintergrund-Pipelines, wobei Agenten
00:00:48eine natürliche Erweiterung davon sind.
00:00:51Ich bin darauf noch nicht eingegangen und werde Sie einfach
00:00:53auf die Dokumentation verweisen, bevor wir zu den Fragen kommen.
00:00:56Aber Agenten sind tendenziell eine sehr natürliche Repräsentation
00:01:01eines im Grunde nur lang laufenden Tasks, weil Sie in einer Schleife sind,
00:01:05einen LLM-Aufruf tätigen und dann ein oder mehrere Tool-Aufrufe ausführen,
00:01:08vielleicht in den Speicher schreiben, eine Sandbox benutzen,
00:01:11ein Dateisystem verwenden, was auch immer, und das dann
00:01:13immer und immer wieder in einer Schleife machen.
00:01:15Also streamen Sie Tokens, machen einen Tool-Aufruf,
00:01:17streamen Tokens, machen einen Tool-Aufruf.
00:01:20Und das mit Workflows zu tun, ist sowohl extrem leistungsfähig
00:01:25als auch extrem knifflig, wenn man versucht, das alles
00:01:27selbst aufzubauen.
00:01:27Daher haben wir eine Klasse namens Durable Agent,
00:01:29die im Grunde einen Großteil dieser Orchestrierung für Sie übernimmt
00:01:32und einfach nativ in Workflows funktioniert.
00:01:35Ich halte hier erst einmal inne, bin aber gespannt,
00:01:39welche Fragen wir haben.
00:01:45Hey.
00:01:47Ich möchte nur sagen, wir haben angefangen, Workflows für einige
00:01:50der Tools zu verwenden, die wir für das Community-Benachrichtigungsmanagement
00:01:54nutzen, weil es so viele Stellen gibt, von denen sie hereinkommen.
00:01:58Agenten haben die Verwaltung dieser Benachrichtigungen großartig gemacht,
00:02:01und Workflows waren großartig für die Handhabung einiger
00:02:03dieser Arten von Aufgaben ebenfalls.
00:02:05Es war also wirklich ein großer Fortschritt in der Art und Weise,
00:02:11wie wir Dinge bauen.
00:02:13Aber die erste Frage, die ich habe,
00:02:15weil ich so viele skeptische Leute sehe, die
00:02:18jedes Mal fragen, wenn wir etwas Neues als Open Source veröffentlichen,
00:02:23wir haben Workflow SDK, das Open Source ist,
00:02:26und dann haben wir Vercel Workflows.
00:02:28Wie offen ist es also wirklich?
00:02:31Bedeutet das bei Vercel Workflows,
00:02:32dass Workflow-SDKs nur auf Vercel funktionieren können?
00:02:35Oder wie einfach ist es, sie an anderen Orten zu verwenden?
00:02:39Ja.
00:02:40Ja, das ist eine gute Frage.
00:02:41Wir bekommen sie ständig bei Workflows.
00:02:43Und im Grunde genommen ist Workflow SDK das Open-Source-Framework.
00:02:49Und wir nennen es auch so, wo
00:02:52wir dieses Ding namens Worlds vom ersten Tag an ausliefern.
00:02:54Das ist im Grunde analog zu Adaptern.
00:02:57Und Next.js hat auch etwa zur gleichen Zeit Adapter eingeführt.
00:03:00Aber die Idee ist, dass Workflows selbst mit dem Workflow-SDK
00:03:03nur eine Art und Weise sind, wie Sie lang laufenden Code darstellen.
00:03:06Sie können Workflow und Schritte verwenden,
00:03:08und Sie können Sleeps und Timer und Weights und Hooks
00:03:11und was auch immer haben.
00:03:12Und die beste Analogie, die ich mir vorstellen kann, ist so etwas wie Docker,
00:03:15wo dies eine Docker-File-Syntax ist, wie
00:03:18Sie einen lang laufenden Workflow schreiben.
00:03:22Standardmäßig haben wir
00:03:24drei verschiedene Welten ausgeliefert und gewartet, nämlich die lokale Welt.
00:03:26Wenn Sie also Workflows lokal ausführen,
00:03:28speichert es alles in einem Dateisystem, das Sie untersuchen können.
00:03:31Sie erhalten die gleiche Beobachtbarkeit lokal,
00:03:33die einfach das Dateisystem untersucht.
00:03:36Die Warteschlange ist im Arbeitsspeicher.
00:03:38Und so haben Sie von Anfang an
00:03:39immer eine großartige lokale Entwicklungserfahrung gehabt,
00:03:42die so ziemlich das simuliert,
00:03:44was wir auf Vercel machen.
00:03:45Wir liefern natürlich auch die Vercel-Welt aus.
00:03:47Wenn Sie es also auf Vercel bereitstellen, gibt es eine Menge Dinge,
00:03:49die Sie sofort einsatzbereit erhalten.
00:03:50Wir verschlüsseln alles Ende-zu-Ende.
00:03:52Wir haben viel Arbeit in die Rechenebene gesteckt,
00:03:54um dies schnell zu machen und die Vernetzung privat zu halten.
00:03:58Und dann liefern wir auch diesen Postgres-Adapter
00:04:00vom ersten Tag an, was bedeutet, dass Sie Workflows
00:04:02schon übernehmen können.
00:04:03Und wir haben Kunden, die das in der Produktion tun, wo
00:04:05sie ihre Workflows ausführen, den gleichen Code.
00:04:07Und sie können sie leicht von Vercel auf Postgres migrieren,
00:04:10oder umgekehrt.
00:04:12Aber im Grunde können Sie einfach selbst ein Postgres-Backend ausführen
00:04:14und dann einen Workflow mit einer Umgebungsvariablen starten, die auf
00:04:17die Postgres-Instanz verweist.
00:04:19Und der World-Adapter richtet es mit allen Tabellen ein,
00:04:25die wir benötigen, und nutzt es dann als Persistenzschicht
00:04:29und verwendet es zuverlässig.
00:04:31Wir haben auch noch mehr Welten in Planung.
00:04:32Wir arbeiten also mit der Community zusammen und so weiter.
00:04:34Wir haben eine Cloudflare-Welt in Arbeit.
00:04:36Wir haben eine AWS-Welt in Arbeit.
00:04:39Es wurde so gebaut, dass es überall ausgeführt werden kann.
00:04:43Wir haben ein wenig Arbeit geleistet,
00:04:44wie gesagt, mit diesen drei von uns gewarteten Erstpartei-Lösungen.
00:04:47Und es kommt jetzt noch viel mehr, sowohl von unserem Team
00:04:50als auch aus der Community.
00:04:54Wir bekommen etwas Liebe in den Kommentaren, jemand,
00:04:57der sagt, er benutzt tatsächlich gerade Vercel Workflows,
00:05:02ein anderer, der denkt, Workflows sind eine großartige Ergänzung zu Vercel.
00:05:08Eine weitere Frage, die bei dieser Art von Sache aufkommt,
00:05:12ist, es gibt Code-Snippets in der Dokumentation,
00:05:15aber gibt es irgendwelche vollständigen Apps oder andere komplexere Beispiele,
00:05:19Szenarien, die Menschen helfen können, mit echter Arbeit zu beginnen,
00:05:23und nicht nur die theoretischen, einfachen Anfänger-Sachen?
00:05:27Ja, ich würde tatsächlich gerne meinen Bildschirm teilen, wenn das okay ist.
00:05:31Oh, ja, sicher.
00:05:32Sie können das teilen.
00:05:34Ich wollte--
00:05:37Chrome zwingt einen immer dazu, vier Knöpfe zu drücken, um das zu tun.
00:05:40Okay, da sind wir.
00:05:42Zwei Dinge, auf die ich hinweisen wollte, sind:
00:05:44Eines sind Workflow-Beispiele.
00:05:46Es ist ein Repo, das wir pflegen.
00:05:48Und wir nutzen das für viele unserer Demos,
00:05:50einschließlich des Geburtstagskarten-Generators, den ich gerade gezeigt habe.
00:05:54Wir haben auch eine Flugbuchungs-App,
00:05:55die Durable Agent verwendet, wie ich schon sagte.
00:05:58Wir zeigen Ihnen, wie Sie das auf Postgres ausführen.
00:06:00Und es gibt auch-- ich habe einen Pull Request, um Ihnen zu zeigen, wie Sie
00:06:03dieses auch außerhalb von Vercel bereitstellen.
00:06:08Wir haben hier also viele Beispiele.
00:06:09Und das andere, womit wir im Moment viel Zeit verbringen,
00:06:12ist das Kochbuch.
00:06:15Es kommt also noch viel mehr Arbeit auf diese Seite, nicht
00:06:19nur, um Ihnen--
00:06:21Derzeit nutzen wir das, um Ihnen viele häufige Muster
00:06:23innerhalb von Workflows zu zeigen.
00:06:24Es gibt einige Dinge, die wirklich interessant und aufregend werden,
00:06:27für die Art und Weise, wie wir sogar Workflows bei Vercel verwenden.
00:06:31Zum Beispiel habe ich gerade diesen Leitfaden
00:06:32über die Verwendung eines verteilten Abort-Controllers geschrieben.
00:06:34Wenn Sie sich also diese Primitive von Hook und Sleep
00:06:37und Schritten ansehen, betrachten wir diese als Primitive.
00:06:41Und dann gibt es all dieses spaßige Zeug, das Sie darauf aufbauen können.
00:06:44Zum Beispiel verwendet v0 einen verteilten Abort-Controller
00:06:48als Mechanismus dafür, dass der Stop-Button funktioniert.
00:06:51Wenn Sie also einen v0-Chat verwenden und auf einen Stop-Button drücken,
00:06:53verwenden wir im Grunde einen Workflow mit einem Abort-Controller,
00:06:56um alle laufenden Prozesse im Hintergrund zu stoppen.
00:07:00Wir werden also noch mehr zu diesem Punkt hinzufügen.
00:07:01Aber ich denke, das sind zwei gute Orte,
00:07:03um nach Beispielen nicht nur für die grundlegenden, einfachen Code-Schnipsel
00:07:08zu suchen, sondern wo es von dort aus hingeht.
00:07:13Schön.
00:07:13Und es sind ziemlich reale Beispiele.
00:07:16Es sind Dinge, die wir bei Vercel gemacht haben, und einige Ideen,
00:07:18die wir bei Kunden gesehen haben.
00:07:21Das gefällt mir.
00:07:23Ja.
00:07:26An diesem Punkt benutzen eigentlich alle KI-Coding-Agenten.
00:07:31Das ist also alles großartig für Leute zum Ausprobieren.
00:07:36Aber was ist mit der Unterstützung von Coding-Agenten?
00:07:41Wie einfach ist es für sie, diese neue Workflow-Art
00:07:45zu arbeiten aufzunehmen?
00:07:47Ja, ich habe das früher schon erwähnt.
00:07:51Es gibt zwei großartige Dinge, die wir gesehen haben.
00:07:54Erstens, dass Agenten aufgegriffen haben, wie
00:07:58man so codet, wie Menschen schon lange coden.
00:08:01All dies ist trainiert auf die Art und Weise, wie wir programmieren.
00:08:06Also haben wir sehr früh festgestellt, weil es
00:08:08viele Wege gab, wie wir die Entwicklererfahrung mit Workflows hätten angehen können.
00:08:11Und wir haben uns entschieden, das so zu machen, dass es extrem leichtgewichtig
00:08:13auf dem SDK ist.
00:08:14Das ist größtenteils nur JavaScript.
00:08:15Das ist größtenteils nur Direktiven.
00:08:17Agenten verstehen das gut.
00:08:19Und es ist sehr einfach für einen Agenten, zu modellieren,
00:08:22Dinge parallel in großem Maßstab zu tun.
00:08:23Lassen Sie es mich allen versprechen.
00:08:24Wenn Sie einen Schritt machen wollen, aber ihn zeitlich begrenzen möchten,
00:08:27das Muster im Workflow ist im Grunde,
00:08:29dass Sie einfach eine Promise.race machen und den Schritt gegen ein Sleep antreten lassen.
00:08:34Es ist eine sehr natürliche Art, über Code nachzudenken und Probleme zu lösen,
00:08:37wenn Sie die Grundlagen von JavaScript bereits kennen.
00:08:40Und Agenten scheinen das wirklich gut eingefangen zu haben.
00:08:43Und weil sie bereits wissen, wie man die schwierigen Sachen macht.
00:08:47Sie wissen, wie man extrem komplexen Framework-Code schreibt.
00:08:50Wir verwenden es in Next.js.
00:08:53Wir verwenden Elemente mit Next.js die ganze Zeit.
00:08:56Sie haben ein großartiges Verständnis von Infrastruktur-Code--
00:08:59oder sorry, von Framework-Code.
00:09:02Das überträgt sich sehr gut auf Workflows,
00:09:05wenn es nicht viel--
00:09:08wenn Sie nicht zu viel Gewicht auf das SDK legen.
00:09:11Im Vergleich dazu wäre es auch einfach gewesen, ein
00:09:13SDK mit einer Tonne von Optionen zu haben,
00:09:15mit einer Tonne Komplexität, was es nicht nur kompliziert macht
00:09:18für Menschen, weil man dann Unmengen an Dokumentation lesen muss.
00:09:22Und das ist ein Problem, das ich
00:09:23mit der Konkurrenz hatte, bevor ich mit Workflow anfing.
00:09:26Oft fühlte sich die Entwicklererfahrung eines Workflow-Systems einfach so an,
00:09:29dass es in der Theorie großartig war, aber in der Praxis wirklich schwer
00:09:32umzusetzen.
00:09:33Oder ich musste ein riesiges Anleitungsbuch lesen.
00:09:36Agenten kämpfen auch damit, weil sie entweder
00:09:38die ganze Sache im Kontext haben müssen.
00:09:40Oder wenn sie das lernen – das hast du in
00:09:42gewissen anderen Beispielen nicht gesehen –
00:09:45wird es wirklich schwer,
00:09:47das SDK in Zukunft zu ändern.
00:09:49Aber wenn man Dinge ändert –
00:09:50wenn man Versionen ändert, bleiben alte Modelle
00:09:53bei dem, was sie gelernt haben, festgefahren.
00:09:57Also ja, erstens haben wir festgestellt, dass Agenten –
00:10:01das ist eine lange Antwort.
00:10:02Wir haben festgestellt, dass Agenten wirklich gut für Workflows sind.
00:10:04Und natürlich haben wir auch eine Skill für unseren Workflow ausgeliefert.
00:10:07Also kann man NPX skills at Vercel workflow ausführen.
00:10:11Wenn man sich die Skill anschaut, was ich für einen lustigen Punkt halte,
00:10:14um zu beweisen, was ich gerade sagte: Die Workflow-Skill sagt ihm im Grunde,
00:10:17zeigt ihm ein paar sehr einfache Codebeispiele,
00:10:20wie man Dinge wie Race machen kann,
00:10:23und verweist dann einfach darauf, die Dokumentation zu lesen, die
00:10:25wir zusammen mit unserem NPM-Paket ausliefern.
00:10:27Die Agenten schauen sich also im Wesentlichen nur den Quellcode an
00:10:30und sind am Ende auch wirklich gut darin, Workflows zu schreiben.
00:10:34Und diese Skill mit der Dokumentation
00:10:37hält sie auf dem neuesten Stand, was schön ist.
00:10:38Richtig, genau.
00:10:41Hält es auf dem neuesten Stand,
00:10:42hält es bei der richtigen Version,
00:10:44weil man die Dokumentation zusammen mit dem Paket ausliefert.
00:10:47Also, wenn wir das SDK ändern, aber man
00:10:49auf einer älteren Version des Clients ist,
00:10:51hat das LLM lokal Zugriff auf die wenigen Optionen,
00:10:54die wir haben.
00:10:57Schön.
00:10:58Wir hatten noch eine weitere Frage im Chat.
00:11:00Die lautet: Haben wir Skalierungszahlen
00:11:03dafür, wie viele Workflows, Unter-Workflows und Schritte
00:11:07wir in einem einzigen Lauf haben können?
00:11:11Oh ja.
00:11:13Ja, das ist eine großartige Frage.
00:11:16Die Nebenläufigkeit bei Workflows während der Bereitstellung –
00:11:22ich nehme an, du meinst Vercel.
00:11:24Wenn man auf Vercel bereitstellt, sind die
00:11:26Nebenläufigkeit von Schritten und Workflows nur durch die Vercel-Funktions-Nebenläufigkeit
00:11:30begrenzt, die, glaube ich, etwa 10.000 oder 100.000 beträgt.
00:11:33Es hängt von deinem Tarif ab.
00:11:36Aber grundsätzlich fügt Workflow selbst keine
00:11:39Beschränkung bei der Nebenläufigkeit hinzu.
00:11:41Allerdings ist die Art und Weise, wie die Laufzeit in der Lage ist, zu laufen –
00:11:44wie Aussetzung und Wiederaufnahme bei Workflow
00:11:46funktioniert, ist, dass wir dieses Ereignisprotokoll haben,
00:11:50in dem wir alle Eingaben und Ausgaben von Schritten verfolgen.
00:11:53Wenn also dein Ereignisprotokoll sehr groß wird,
00:11:55sei es, weil du 1.000 Schritte nacheinander hast,
00:11:59oder 1.000 Schritte parallel, was auch immer es ist,
00:12:01beginnt sich dieses Ereignisprotokoll aufzubauen.
00:12:03Und wir müssen das gesamte Ereignisprotokoll für Wiederholungen laden,
00:12:06während der Workflow länger läuft.
00:12:09Wenn du aus der Temporal-Welt kommst,
00:12:10glaube ich, liegt dieses Limit bei 50.000 Ereignissen oder 50 Megabyte
00:12:14im Gesamtspeicher.
00:12:16Wir haben das gerade für Workflow veröffentlicht.
00:12:18Wir haben auch unsere eigenen Limits.
00:12:22Ich glaube, es ist auf unserer –
00:12:26es steht in der Vercel-Dokumentation, die ich wirklich
00:12:30gerne nachher verlinken kann.
00:12:33Ich muss sie finden.
00:12:34Aber es gibt –
00:12:36Ich glaube, unsere Limits dafür sind, dass man ausführen kann –
00:12:40man kann viel mehr Workflows parallel ausführen.
00:12:42Man kann eine Menge untergeordnete Workflows starten.
00:12:44Nichts davon wirkt sich auf das Ereignisprotokoll aus.
00:12:45Das, was sich auf das Ereignisprotokoll auswirkt,
00:12:47ist, eine Tonne von Schritten parallel auszuführen.
00:12:49Wenn man also etwa 1.000 bis 10.000 Schritte
00:12:52parallel ausführt, könnte man anfangen, Timeout-Probleme zu bekommen.
00:12:55Man könnte anfangen, Workflows einfach länger laufen zu lassen.
00:12:59Wir haben Workflows gesehen, die – wir haben
00:13:01Agenten gesehen, die 5.000 Schritte machen und völlig in Ordnung sind.
00:13:04Sie fangen an, bei den letzten paar Schritten
00:13:0615 bis 20 Sekunden lange Latenzzeiten zwischen den Schritten zu erreichen.
00:13:11Also, je nachdem, was dein Anwendungsfall ist, könnte das wirklich
00:13:13lang sein, oder wenn es eine Hintergrundaufgabe ist, die
00:13:15für einige Kunden 5.000 Schritte lang laufen muss, ist das in Ordnung.
00:13:19Gleichzeitig liegt hier ein großer Schwerpunkt
00:13:21auf dem, was wir mit Workflow SDK 5 machen.
00:13:25Also, ein Großteil dessen, was wir mit SDK 5 machen, das sich derzeit im Beta-Status befindet,
00:13:29ist, nachdem wir die Entwicklererfahrung richtig hinbekommen haben,
00:13:34dass wir versuchen, dieses Wiederholungsproblem vollständig zu lösen.
00:13:37Wenn man also so etwas wie Temporal verwendet,
00:13:38stößt man zum Beispiel irgendwann an dieses Limit.
00:13:40Und die Lösung war immer: Wenn man bei 5.000 Ereignissen angelangt ist,
00:13:44sollte man seinen Workflow einfach abbrechen
00:13:46und als neuen Workflow fortsetzen.
00:13:48Das kann man heute mit Workflows bereits tun.
00:13:50Man kann einfach einen neuen Workflow starten, wenn man möchte.
00:13:52Aber die richtige Lösung, denke ich,
00:13:54ist es, die Laufzeit zu verbessern
00:13:56und dafür zu sorgen, dass Aussetzung und Wiederaufnahme O(1) sind,
00:13:59statt an die Länge des Ereignisprotokolls gebunden zu sein.
00:14:03Wir arbeiten derzeit an etwas
00:14:04mit einer Wasm- und Snapshot-basierten Laufzeit,
00:14:06die wir untersuchen, um zu sehen, ob wir diese Wiederholung vollständig eliminieren können,
00:14:09woraufhin man eine beliebig hohe Nebenläufigkeit
00:14:12und beliebig lange Workflow-Läufe haben könnte.
00:14:19Alles klar, wir kommen der Zeit sehr nahe.
00:14:21Ich möchte sensibel damit umgehen.
00:14:22Also noch eine letzte Frage.
00:14:25Und darauf bist du schon ein wenig eingegangen.
00:14:27Was kommt als Nächstes?
00:14:28Worauf sollten die Leute achten?
00:14:31Ja.
00:14:33Wie wir mit Workflow 4 in die allgemeine Verfügbarkeit gegangen sind, wie ich erwähnt habe,
00:14:36befindet sich Workflow 5 derzeit in der Beta-Phase.
00:14:39Noch keine Zeitpläne, wann wir damit wieder in die allgemeine Verfügbarkeit gehen.
00:14:42Aber der Hauptfokus bei Workflow 5
00:14:44lag auf der Leistung, wie bei den Limits –
00:14:47wie ich über die Limits gesprochen habe, um zu versuchen, es so zu machen,
00:14:50dass man sich irgendwann keine Sorgen mehr machen muss,
00:14:52als neues fortzufahren.
00:14:55Außerdem native Nebenläufigkeitskontrollen.
00:14:57In RFC hatten wir vom ersten Tag an mit Workflow,
00:15:00was einfach nur diese Primitive von Schritt, Hook,
00:15:05und Zeit, und Warten, und Schlafen sind, fügen wir
00:15:08ein neues Primitiv namens Lock hinzu, das im Grunde nur
00:15:11lässt deinen Workflow auf eine Sperre warten,
00:15:15auf Nebenläufigkeits-Slots warten.
00:15:16Man könnte 20 Workflows haben, die alle parallel laufen,
00:15:18aber man hat nur eine Nebenläufigkeit von eins pro Minute.
00:15:20Sie können alle bis zur Sperre laufen, die dann wieder aufgenommen wird,
00:15:23wenn diese Sperren aufgehoben werden.
00:15:24Es ist eine wirklich schöne, native Art, Nebenläufigkeit in großem Maßstab zu haben.
00:15:28Und Verbesserung des Agenten-Streaming-Erlebnisses.
00:15:31Das ist einer der großen Anwendungsfälle für Workflows, wie gesagt,
00:15:34entweder kann man es für diese traditionellen Geburtstagskarten-
00:15:36Art von Workflows verwenden, oder man kann es
00:15:39für KI-Agenten verwenden, wo wir viele Meinungen zu diesem SDK haben,
00:15:43und wie es mit Streaming funktioniert, und wie es mit Sandboxes funktioniert.
00:15:47Es gibt noch viel mehr zu tun, um die Leistung zu verbessern
00:15:49und die Entwicklererfahrung des Agenten-Anwendungsfalls zu verbessern.
00:15:54Großartig.
00:15:55Vieles, worauf man sich freuen kann.
00:15:56Wir haben noch ein paar Fragen bekommen.
00:15:58Wir werden diese asynchron im Chat beantworten.
00:16:01Vielen Dank, dass du hier bist, um mit allen zu sprechen, Praneet.
00:16:04Vielen Dank, Amy.
00:16:05Das hat Spaß gemacht.
00:16:07Alles klar, und vielen Dank fürs Zuschauen.
00:16:09Wir haben nächsten Donnerstag eine weitere Sitzung mit einigen Leuten von Next.
00:16:14Kommt also am Donnerstag wieder.
00:16:15Wir sehen uns dann.
00:16:39[LEERES AUDIO]

Key Takeaway

Das Vercel Workflow SDK bietet ein modulares Open-Source-Framework für lang laufende Prozesse, das durch Adapter wie Postgres oder Vercel-native Laufzeiten überall ausführbar ist.

Highlights

  • Vercel Workflows basiert auf drei Grundelementen: Schritten, Hooks für externe Ereignisse und Sleeps für zeitgesteuerte Warteschlangen.

  • Das Workflow SDK ist Open Source und ermöglicht mit Adaptern den Betrieb auf Vercel, Postgres oder lokal.

  • Durable Agent ist eine Klasse, die die Orchestrierung von LLM-Aufrufen, Tool-Interaktionen und Speicherzugriffen automatisiert.

  • In der Vercel-Umgebung sind die Nebenläufigkeit von Workflows und Schritten an die Kapazität der Vercel-Funktionen gebunden, die bei bis zu 100.000 liegen kann.

  • Das in Beta befindliche SDK 5 zielt darauf ab, die Limitierung durch Ereignisprotokolle mittels einer Wasm- und Snapshot-basierten Laufzeit zu eliminieren.

Timeline

Grundlagen und Primitive von Vercel Workflows

  • Workflows nutzen Schritte, Hooks und Sleeps als grundlegende Primitive.
  • Durable Agent automatisiert Schleifen für LLM-Aufrufe und Tool-Interaktionen.

Die Architektur von Workflows erlaubt das Modellieren von Hintergrund-Pipelines. Agenten bilden dabei eine Erweiterung, die in einer Schleife LLM-Tokens streamt und Tool-Aufrufe ausführt. Die Klasse Durable Agent übernimmt dabei die komplexe Orchestrierung dieser Prozesse nativ innerhalb der Workflows.

Portabilität und Infrastruktur-Adapter

  • Workflow SDK ist ein Open-Source-Framework mit verschiedenen Welt-Adaptern.
  • Lokale Ausführungen speichern Daten zur Beobachtbarkeit im Dateisystem.
  • Postgres-Adapter ermöglichen den produktiven Einsatz unabhängig von Vercel.

Die Analogie zu Docker beschreibt die Syntax für lang laufende Workflows. Drei Welten werden standardmäßig unterstützt: lokal, Vercel und Postgres. Kunden können Workflows problemlos zwischen verschiedenen Backends migrieren, wobei weitere Welten wie Cloudflare oder AWS in Entwicklung sind.

Beispiele und Agenten-Integration

  • Vercel pflegt ein Repository mit komplexen Anwendungsbeispielen wie einer Flugbuchungs-App.
  • Agenten nutzen für parallele Aufgaben bewährte JavaScript-Muster wie Promise.race.
  • Eine Vercel-Workflow-Skill für KI-Agenten bietet Zugriff auf aktuelle Dokumentation.

Über einfache Code-Snippets hinaus existieren reale Anwendungsbeispiele in einem öffentlichen Repository. Die Integration von KI-Coding-Agenten gestaltet sich effizient, da Workflows auf Standard-JavaScript basieren und die Skill-Dokumentation direkt mit dem NPM-Paket ausgeliefert wird, was für konsistente Wissensstände sorgt.

Skalierung und zukünftige Entwicklung

  • Parallel laufende Schritte sind primär durch die Vercel-Funktions-Nebenläufigkeit begrenzt.
  • SDK 5 strebt eine Snapshot-basierte Laufzeit zur Aufhebung der Ereignisprotokoll-Limits an.
  • Native Sperren (Locks) für Nebenläufigkeitskontrollen sind für Workflow 5 geplant.

Aktuelle Limits bei der Parallelität hängen vom Ereignisprotokoll ab, das bei zu vielen gleichzeitigen Schritten Latenzen verursachen kann. SDK 5 fokussiert sich auf Performanz durch Wasm-Snapshots, um O(1)-Wiederaufnahmen zu ermöglichen. Zudem wird ein neues Primitiv für Locks eingeführt, um die Nebenläufigkeit in großem Maßstab zu steuern.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video