Wir stellen vor: Chat SDK

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

Transcript

00:00:00(Fröhliche Musik)
00:00:02- Hallo zusammen, mein Name ist Malte, ich bin der CTO von Vercel.
00:00:16Schön, dass ihr heute dabei seid.
00:00:18Anfang Januar haben wir jedem in unserem Unternehmen den Auftrag gegeben,
00:00:21herauszufinden, wie man die eigene Produktivität vervielfachen kann.
00:00:24Und was die Leute gebaut haben, haut uns immer wieder um.
00:00:27Fast jedes Team hat einen Agenten für komplexe Aufgaben entwickelt,
00:00:30und die meisten davon sind Slack-Bots, die jeder nutzen kann.
00:00:34Aber wir stießen auf ein Problem.
00:00:35Alle erledigten immer wieder dieselbe
00:00:38mühsame Integrationsarbeit.
00:00:40Jemand baute einen Agenten,
00:00:41und dann musste man die Komplexität von Slack durchschauen,
00:00:43was schwieriger ist, als es aussieht.
00:00:45Man muss Threads und Reaktionen verstehen,
00:00:47wie der Bot Nachrichten zuordnet und wie man den Status verwaltet.
00:00:50Dann fragte jemand:
00:00:51"Hey, kannst du diesen Agenten mit GitHub verbinden?"
00:00:53Und der ganze Prozess begann von vorn,
00:00:55diesmal mit den APIs von GitHub.
00:00:56Die Logik war dieselbe, aber der Plattform-Code ein anderer.
00:00:59Wir lernten schnell, dass Chat-APIs
00:01:01oberflächlich betrachtet ähnlich wirken,
00:01:03unter der Haube aber völlig verschieden sind.
00:01:05Slack unterstützt natives Streaming.
00:01:06Tokens können direkt in eine Nachricht gestreamt werden,
00:01:09während das LLM sie generiert.
00:01:10Bei Discord muss man posten, bearbeiten, posten, bearbeiten.
00:01:14GitHub? Gar kein Streaming.
00:01:16Slack hat Modals, Discord nicht.
00:01:18Microsoft Teams bietet nur schreibgeschützte Reaktionen.
00:01:21Das sind keine Kleinigkeiten, sondern fundamentale Unterschiede
00:01:23in der Funktionsweise der Plattformen.
00:01:26Selbst für einen einzelnen, einfachen Agenten
00:01:28benötigt man am Ende Unmengen an Logik,
00:01:31nur um ihn in verschiedenen Tools nutzbar zu machen.
00:01:33Es ist ein Albtraum.
00:01:34Und das ist nicht nur ein Problem von Vercel.
00:01:36Jedes Unternehmen wird herausfinden müssen,
00:01:38wie es seine Agenten auf den Oberflächen bereitstellt,
00:01:40auf denen die Arbeit bereits stattfindet.
00:01:42Das bedeutet Chat, Code-Reviews, Issue-Tracking und mehr.
00:01:45Das AI SDK löst ein ähnliches Problem für Modellanbieter.
00:01:48Man schreibt den Code einmal und es kümmert sich um
00:01:50all die API-Unterschiede,
00:01:51egal ob man GPT, Claude oder Gemini aufruft.
00:01:54Das Chat SDK macht dasselbe für interaktive Agenten.
00:01:58Es ist eine einzige API für Agenten-Interaktionen über Plattformen
00:02:01wie Slack, GitHub, Linear, Discord, Telegram,
00:02:04WhatsApp und weitere hinweg.
00:02:06Du baust den Agenten und das Chat SDK bringt ihn zu den Nutzern
00:02:09in die Apps, die sie bereits verwenden.
00:02:11Fernando hat in den letzten Wochen
00:02:15an v0-Hintergrund-Agenten gearbeitet,
00:02:16und er wird euch erklären, warum das Chat SDK
00:02:18ein entscheidender Teil dieses Stacks war.
00:02:21(Fröhliche Musik)
00:02:24(Musik hält an)
00:02:28Als ich anfing, v0-Hintergrund-Agenten zu bauen,
00:02:34war mein Ziel, dass man v0 in Slack markieren kann,
00:02:36um Pull Requests zu öffnen.
00:02:38Ich wollte einen universellen Coding-Agenten,
00:02:40der im Hintergrund laufen kann,
00:02:42in jeder Codebasis und in jeder Sprache.
00:02:45Also fing ich an zu entwickeln
00:02:47und schickte die erste Version der v0-Slack-App
00:02:49an meine Freunde.
00:02:51Und das Erste, was sie fragten, war:
00:02:53"Kann ich das auch für Linear-Issues nutzen?
00:02:56Und kann ich es in einem GitHub PR-Kommentar markieren?"
00:02:58Es erinnerte mich daran, als ich meine erste mobile App veröffentlichte
00:03:02und die Leute fragten, ob sie sie auch im Web nutzen könnten.
00:03:05Es wurde klar, dass v0 überall funktionieren muss.
00:03:09Die Erwartungen haben sich geändert.
00:03:11Ich musste also eine Entscheidung treffen.
00:03:14Bauen wir v0-Hintergrund-Agenten für jede Plattform einzeln?
00:03:18Oder könnten wir sie einmal mit einer einheitlichen API
00:03:22für alle Plattformen bauen?
00:03:24Quasi ein React Native für Chat-Agenten?
00:03:27Nun, es stellte sich heraus, dass ich jahrelang
00:03:30plattformübergreifende Apps mit React Native gebaut habe.
00:03:34Dieses Problem ist mir also nicht neu.
00:03:36Und genau hier kam das Chat SDK ins Spiel.
00:03:39Mit dem Chat SDK
00:03:40kann ich mich auf den Bau der v0-Hintergrund-Agenten konzentrieren
00:03:43und verbringe weniger Zeit damit,
00:03:45mich um die speziellen APIs jeder Plattform zu kümmern.
00:03:48Wie sieht das Ganze nun unter der Haube aus?
00:03:50Matt wird euch mehr dazu zeigen.
00:03:53(Fröhliche Musik)
00:03:55- Hallo zusammen.
00:04:11Fangen wir genau wie Fernando mit Slack an.
00:04:14Ich erwähne meinen Bot
00:04:16und erhalte eine ganz einfache "Hello World"-Antwort.
00:04:21Revolutionär, ich weiß.
00:04:23Und wenn man sich den Code ansieht,
00:04:24sieht man, wie einfach es für mich war, diesen Bot zu erstellen.
00:04:28Ich musste lediglich eine neue Chat-Instanz erstellen,
00:04:32einen "onMention"-Listener hinzufügen
00:04:35und "Hello World" zurück in den Thread posten.
00:04:38Das ist alles.
00:04:39Aber wir wollen nicht, dass Entwickler nur reine Text-Bots bauen.
00:04:43Wir wollen reichhaltige, native Erlebnisse,
00:04:45die die Vorteile jeder Plattform voll ausschöpfen.
00:04:48Und Entwickler lieben JSX.
00:04:51Deshalb haben wir JSX in das Chat SDK integriert.
00:04:55Jetzt baut ihr mit Komponenten, genau wie ihr es gewohnt seid.
00:04:58Fügen wir zwei Buttons hinzu.
00:04:59Hier unten könnt ihr sehen,
00:05:03ich ändere unsere "Hello World"-Nachricht
00:05:05in eine "Hello World"-Karte mit einem "Weiter"-Button
00:05:10und einem "Abbrechen"-Button.
00:05:11Wir fügen außerdem einen Action-Listener hinzu,
00:05:14der den vollen Namen des Benutzers nennt
00:05:17und meldet, dass "Weiter" geklickt wurde.
00:05:19Zurück in Slack erwähne ich meinen Bot erneut.
00:05:24Und wie erwartet, erhalten wir genau das, was wir gebaut haben.
00:05:29Die Komponenten werden nativ gerendert.
00:05:32Ich klicke auf "Weiter" und der Bot verarbeitet die Aktion sofort.
00:05:36Aber jetzt wird es richtig interessant.
00:05:41Was, wenn ich genau dasselbe Erlebnis auf Discord möchte?
00:05:45Ich füge den Discord-Adapter hinzu.
00:05:47Das war's schon.
00:05:48Wenn ich jetzt zurück in meinen Discord-Kanal gehe,
00:05:55kann ich meinen Bot erwähnen,
00:05:57und dieselbe UI wird nativ in Discord gerendert.
00:06:02Keinerlei Code-Änderungen für eine ganz neue Plattform.
00:06:07Das ist cool.
00:06:08Aber reden wir über Agenten.
00:06:10Hier ist ein einfacher Agent, den ich mit dem AI SDK gebaut habe.
00:06:14Und Agenten brauchen Streaming.
00:06:17Mit dem Chat SDK ist Streaming trivial.
00:06:20Ich erstelle einen Stream und poste ihn in den Thread.
00:06:23Fertig.
00:06:24Ich musste nicht nachschlagen, wie Slack Streaming handhabt
00:06:27oder wie Discord mit partiellen Updates umgeht.
00:06:30Ich habe eine einzige API genutzt.
00:06:32Wenn ich den Bot in Slack erwähne,
00:06:35sehen wir, wie er seine Antwort nativ zu uns streamt.
00:06:40Aber warum dort aufhören?
00:06:42Was, wenn ich meinem Agenten Direktnachrichten
00:06:45auf Plattformen wie WhatsApp oder Telegram schicken möchte?
00:06:49Mit dem Chat SDK ist das einfach.
00:06:52Ich füge einen "onDirectMessage"-Listener und den Adapter hinzu.
00:06:56Jetzt erhält jeder, der dem Agenten eine DM schickt, dasselbe Erlebnis.
00:07:02Wenn ich WhatsApp im Web öffne und schreibe:
00:07:06"Hi, wie geht's dir?"
00:07:08Dann sehen wir, wie der Agent auf unsere Direktnachricht antwortet,
00:07:12basierend auf dem Agenten, den wir gebaut haben.
00:07:14Nachdem wir nun einen Agenten gebaut haben,
00:07:16warum öffnen wir nicht einen Pull Request?
00:07:18Aber bevor wir das tun:
00:07:20Was, wenn derselbe Agent, mit dem ich auf WhatsApp gechattet habe,
00:07:24auch meinen Code reviewen könnte?
00:07:25Dafür braucht es nur den GitHub-Adapter.
00:07:28Ich füge hier den GitHub-Adapter hinzu
00:07:32und bringe meinen Agenten auf eine völlig neue Plattform.
00:07:35Wenn ich GitHub öffne und mir diesen Pull Request ansehe,
00:07:39kann ich den Agenten in den Kommentaren erwähnen
00:07:42und er antwortet mit demselben Direktnachrichten-Listener,
00:07:45den wir vorhin gebaut haben.
00:07:46Slack, Discord, WhatsApp, Telegram, GitHub.
00:07:51Überlegt kurz, wie unterschiedlich diese APIs sind.
00:07:56Doch mit einer Datei und ein paar Zeilen Code
00:07:59haben wir unseren Agenten auf all diese Plattformen gebracht.
00:08:01Mit dem Chat SDK baut ihr Agenten-Erlebnisse einmal
00:08:06und stellt sie mit einer einzigen API überall bereit.
00:08:09Besucht chat-sdk.dev für die Dokumentation und Vorlagen.
00:08:14Vielen Dank fürs Zuhören.
00:08:15Ich bin gespannt, was ihr damit bauen werdet.
00:08:17(Fröhliche Musik)

Key Takeaway

Das Chat SDK revolutioniert die Entwicklung von KI-Agenten, indem es eine universelle Schnittstelle bietet, um komplexe Interaktionen ohne plattformspezifischen Code auf alle gängigen Chat- und Kollaborations-Tools zu bringen.

Highlights

Das Chat SDK bietet eine einheitliche API, um interaktive Agenten plattformübergreifend auf Slack, Discord, GitHub und mehr bereitzustellen.

Entwickler können native UI-Elemente wie Buttons und Karten mit JSX erstellen, die automatisch an die jeweilige Plattform angepasst werden.

Die Lösung abstrahiert komplexe Plattformunterschiede wie natives Streaming in Slack versus Post-and-Edit-Modelle in Discord.

Mit dem SDK lassen sich Agenten nahtlos in bestehende Arbeitsabläufe wie Code-Reviews, Issue-Tracking und Direktnachrichten integrieren.

Das System folgt dem Prinzip "Einmal schreiben, überall ausführen", ähnlich wie das AI SDK für Modellanbieter oder React Native für mobile Apps.

Timeline

Einführung und die Herausforderung der Plattform-Fragmentierung

Malte, der CTO von Vercel, erklärt die interne Motivation hinter der Entwicklung des Chat SDKs nach einer Phase intensiver Agenten-Entwicklung im Unternehmen. Er beschreibt die mühsame Arbeit, dieselbe Logik für verschiedene Plattformen wie Slack und GitHub immer wieder neu implementieren zu müssen. Dabei hebt er fundamentale Unterschiede hervor, wie etwa das native Streaming bei Slack im Gegensatz zum fehlenden Streaming bei GitHub. Diese Inkonsistenzen machen die Bereitstellung von Agenten dort, wo die Arbeit stattfindet, zu einem technischen Albtraum. Das Chat SDK wird als Lösung vorgestellt, die diese Komplexität hinter einer einzigen, konsistenten API verbirgt.

v0-Hintergrund-Agenten und die Vision einer universellen API

Fernando berichtet von seiner Arbeit an den v0-Hintergrund-Agenten und der ursprünglichen Vision, Pull Requests direkt über Slack zu verwalten. Schnell forderten Nutzer jedoch die Integration in andere Tools wie Linear oder GitHub-Kommentare, was die Notwendigkeit einer plattformübergreifenden Lösung verdeutlichte. Er zieht eine Parallele zu React Native, da das Problem der Code-Duplizierung für verschiedene Oberflächen in der Softwareentwicklung wohlbekannt ist. Durch das Chat SDK konnte er sich voll auf die Kernlogik seiner Agenten konzentrieren, anstatt Zeit mit spezifischen APIs zu verschwenden. Dies markiert einen Wendepunkt weg von isolierten Bots hin zu universell einsetzbaren KI-Assistenten.

Technische Demo: Von Hello World zu JSX-Komponenten

Matt demonstriert die praktische Anwendung des SDKs, beginnend mit einem einfachen "Hello World"-Bot in Slack, der nur wenige Zeilen Code benötigt. Er zeigt auf, dass das SDK über reinen Text hinausgeht, indem es Entwicklern erlaubt, reichhaltige UIs mit vertrautem JSX zu bauen. Im Beispiel werden interaktive Buttons und Karten hinzugefügt, wobei ein Action-Listener die Benutzerinteraktionen verarbeitet. Diese Komponenten werden nativ auf der Zielplattform gerendert, was eine hochwertige Benutzererfahrung garantiert. Der Fokus liegt hierbei auf der Einfachheit, mit der Entwickler komplexe Interaktionsmuster definieren können.

Plattformübergreifendes Rendering und Streaming-Logik

In diesem Abschnitt zeigt Matt die wahre Stärke des SDKs, indem er dieselbe UI ohne Code-Änderungen von Slack nach Discord portiert. Durch einfaches Hinzufügen eines Discord-Adapters wird die zuvor erstellte Karte nativ in der neuen Umgebung angezeigt. Ein weiteres zentrales Thema ist das Streaming von Antworten, welches für moderne KI-Agenten unerlässlich ist. Das Chat SDK trivialisiert diesen Prozess durch eine einheitliche Streaming-API, die die unterschiedlichen Update-Mechanismen der Plattformen intern regelt. Entwickler müssen sich somit nicht mehr mit den Details von partiellen Nachrichten-Updates in Discord oder Slack befassen.

Integration in WhatsApp, Telegram und GitHub-Workflows

Die Demo wird auf Direktnachrichten-Plattformen wie WhatsApp und Telegram ausgeweitet, wobei derselbe Agent über einfache Listener-Funktionen erreichbar gemacht wird. Besonders beeindruckend ist die finale Integration in GitHub, wo der Agent direkt in Pull-Request-Kommentaren agiert und Code-Reviews durchführt. Matt betont abschließend die enorme Zeitersparnis, da eine einzige Datei ausreicht, um fünf völlig unterschiedliche Plattformen zu bedienen. Das Video endet mit dem Aufruf an die Entwickler, die Dokumentation auf chat-sdk.dev zu besuchen und eigene innovative Lösungen zu bauen. Dieser Abschnitt unterstreicht die Flexibilität des SDKs für verschiedenste Anwendungsfälle von Chat bis hin zu spezialisierten Entwickler-Tools.

Community Posts

View all posts