00:00:00(música animada)
00:00:02- Hola a todos, mi nombre es Malte, soy el CTO de Vercel.
00:00:16Gracias por acompañarnos hoy.
00:00:18A principios de enero, dimos a todos en nuestra empresa un mandato:
00:00:21averigüen cómo multiplicar su productividad.
00:00:24Y ver lo que la gente construyó sigue dejándonos boquiabiertos.
00:00:27Casi todos los equipos crearon un agente para manejar tareas complejas,
00:00:30y la mayoría son bots de Slack que cualquiera puede usar.
00:00:34Pero nos encontramos con un problema.
00:00:35Todo el mundo estaba haciendo el mismo trabajo de integración
00:00:38una y otra vez.
00:00:40Alguien construía un agente,
00:00:41luego tenías que descifrar la complejidad de Slack,
00:00:43y eso es más difícil de lo que parece.
00:00:45Necesitas entender hilos y reacciones,
00:00:47cómo coinciden los bots, cómo manejar el estado.
00:00:50Luego alguien preguntaba:
00:00:51"Oye, ¿puedes conectar el GitHub de ese agente?"
00:00:53Y el proceso empezaba de nuevo desde cero
00:00:55con las APIs de GitHub.
00:00:56Era la misma lógica, pero con código de plataforma diferente.
00:00:59Rápidamente aprendimos que esas APIs de chat
00:01:01parecen similares superficialmente,
00:01:03pero son completamente diferentes por dentro.
00:01:05Slack admite streaming nativo.
00:01:06Puedes transmitir tokens directamente a un mensaje
00:01:09a medida que el LLM los genera.
00:01:10En Discord, tienes que publicar, editar, publicar, editar.
00:01:14En GitHub, no hay streaming en absoluto.
00:01:16Slack tiene modales, Discord no.
00:01:18Microsoft Teams te da reacciones de solo lectura.
00:01:21Estos no son caprichos, son diferencias fundamentales
00:01:23en cómo funciona cada plataforma.
00:01:26Así que incluso para un agente único y sencillo,
00:01:28terminas con una enorme cantidad de lógica
00:01:31solo para que sea utilizable en diferentes herramientas.
00:01:33Es una pesadilla.
00:01:34Y no es solo un problema de Vercel.
00:01:36Cada empresa tendrá que descubrir
00:01:38cómo entregar sus agentes en las superficies
00:01:40donde ya ocurre el trabajo.
00:01:42Eso significa chat, revisión de código, seguimiento de problemas y más.
00:01:45AI SDK resuelve un problema similar para los proveedores de modelos.
00:01:48Escribes el código una vez y él se encarga
00:01:50de todas las diferencias de la API,
00:01:51ya sea que llames a GPT, Claude o Gemini.
00:01:54Chat SDK hace lo mismo para los agentes interactivos.
00:01:58Es una API única para interacciones de agentes en plataformas
00:02:01como Slack, GitHub, Linear, Discord, Telegram,
00:02:04WhatsApp y más.
00:02:06Tú creas el agente y Chat SDK lo entregará a los usuarios
00:02:09en las aplicaciones que ya utilizan.
00:02:11Fernando ha estado construyendo agentes de fondo para v0
00:02:15durante las últimas semanas,
00:02:16y les va a contar por qué Chat SDK
00:02:18fue una parte crítica de ese stack.
00:02:21(música animada)
00:02:24(continúa la música animada)
00:02:28Cuando empecé a construir agentes de fondo para v0,
00:02:34mi objetivo era permitirte etiquetar a v0 desde Slack
00:02:36para abrir pull requests.
00:02:38Quería un agente de programación de propósito general
00:02:40que pudiera ejecutarse en segundo plano,
00:02:42en cualquier base de código, con cualquier lenguaje.
00:02:45Así que empecé a construir,
00:02:47y envié la primera versión de la app de v0 para Slack
00:02:49a mis amigos.
00:02:51Y lo primero que preguntaron fue:
00:02:53"¿Puedo usar esto también en los tickets de Linear?
00:02:56¿Y puedo etiquetarlo desde un comentario en un PR de GitHub?"
00:02:58Me recordó a la primera vez que lancé una app móvil,
00:03:02cuando la gente empezó a preguntar si también podían usarla en la web.
00:03:05Quedó claro que v0 tiene que funcionar en todas partes.
00:03:09Las expectativas han cambiado.
00:03:11Así que tuve que tomar una decisión.
00:03:14¿Construimos los agentes de fondo de v0 plataforma por plataforma?
00:03:18¿O podríamos construirlo una vez con una API unificada
00:03:22para cada plataforma?
00:03:24¿Como un React Native para agentes de chat?
00:03:27Bueno, resulta que he pasado años
00:03:30creando aplicaciones multiplataforma con React Native.
00:03:34Este problema no es nada nuevo para mí.
00:03:36Y ahí es donde entró el Chat SDK.
00:03:39Con el Chat SDK,
00:03:40puedo concentrarme en construir agentes de fondo para v0,
00:03:43y dedicar menos tiempo
00:03:45a preocuparme por las APIs únicas de cada plataforma.
00:03:48Entonces, ¿cómo se ve esto por dentro?
00:03:50Aquí está Matt para mostrarles más.
00:03:53(música animada)
00:03:55- Hola a todos.
00:04:11Al igual que Fernando, empecemos con Slack.
00:04:14Menciono a mi bot,
00:04:16y obtengo una respuesta muy simple de "hola mundo".
00:04:21Cambia las reglas del juego, lo sé.
00:04:23Y si miran el código,
00:04:24pueden ver lo fácil que fue para mí crear este bot.
00:04:28Todo lo que tuve que hacer fue crear una nueva instancia de chat,
00:04:32agregar un oyente para cuando me mencionen,
00:04:35y publicar "hola mundo" de vuelta en el hilo.
00:04:38Eso es todo.
00:04:39Pero no queremos desarrolladores creando bots de texto plano.
00:04:43Queremos experiencias nativas ricas
00:04:45que aprovechen al máximo cada plataforma.
00:04:48Y a los desarrolladores les encanta JSX.
00:04:51Así que trajimos JSX al Chat SDK.
00:04:55Ahora construyes con componentes tal como estás acostumbrado.
00:04:58Vamos a añadir dos botones.
00:04:59Aquí abajo, como pueden ver,
00:05:03voy a cambiar nuestro mensaje de "hola mundo"
00:05:05por una tarjeta de "hola mundo" con un botón de continuar
00:05:10y un botón de cancelar.
00:05:11También vamos a añadir un oyente de acciones
00:05:14que dirá el nombre completo del usuario,
00:05:17"hizo clic en continuar" cuando lo pulsemos.
00:05:19De vuelta en Slack, voy a mencionar a mi bot otra vez.
00:05:24Y como es de esperar, obtenemos exactamente lo que construimos.
00:05:29Los componentes se renderizan de forma nativa.
00:05:32Hago clic en continuar, y el bot maneja la acción al instante.
00:05:36Pero ahora es donde las cosas se ponen interesantes.
00:05:41¿Y si quiero esta misma experiencia exacta en Discord?
00:05:45Añado el adaptador de Discord.
00:05:47Eso es todo.
00:05:48Ahora, si vuelvo a mi canal de Discord,
00:05:55puedo mencionar a mi bot,
00:05:57y la misma interfaz de usuario se renderiza nativamente en Discord.
00:06:02Cero cambios de código para soportar una plataforma totalmente nueva.
00:06:07Esto es genial.
00:06:08Pero hablemos de agentes.
00:06:10Aquí hay un agente sencillo que construí usando el AI SDK.
00:06:14Y los agentes necesitan streaming.
00:06:17Con el Chat SDK, el streaming es trivial.
00:06:20Creo un flujo y lo publico en el hilo.
00:06:23Eso es todo.
00:06:24No tuve que investigar cómo Slack maneja el streaming
00:06:27o cómo Discord maneja las actualizaciones parciales.
00:06:30Usé una sola API.
00:06:32Y de vuelta en Slack, si menciono al bot,
00:06:35veremos cómo nos transmite su respuesta de forma nativa.
00:06:40¿Pero por qué detenernos ahí?
00:06:42¿Qué pasa si quiero enviar mensajes directos a mi agente
00:06:45en plataformas como WhatsApp o Telegram?
00:06:49Con el Chat SDK, es fácil.
00:06:52Añado un oyente de mensajes directos y el adaptador necesario.
00:06:56Ahora, cualquiera que envíe un DM al agente obtiene la misma experiencia.
00:07:02Si abro WhatsApp en la web y digo:
00:07:06"Hola, ¿cómo te va?"
00:07:08Veremos al agente responder a nuestro mensaje directo
00:07:12usando el agente que construimos.
00:07:14Ahora que hemos construido un agente,
00:07:16¿por qué no abrimos un pull request?
00:07:18Pero antes de eso,
00:07:20¿y si el mismo agente con el que chateé en WhatsApp
00:07:24pudiera revisar mi código?
00:07:25Todo lo que se necesita es el adaptador de GitHub.
00:07:28Vengo aquí, añado el adaptador de GitHub,
00:07:32y he llevado a mi agente a una plataforma totalmente nueva.
00:07:35Si abro GitHub y miro este pull request,
00:07:39puedo mencionar al agente en los comentarios
00:07:42y responderá con el mismo oyente de mensajes directos
00:07:45que construimos antes.
00:07:46Slack, Discord, WhatsApp, Telegram, GitHub.
00:07:51Tómense un segundo para pensar en lo diferentes que son estas APIs.
00:07:56Pero con un solo archivo y unas pocas líneas de código,
00:07:59llevamos nuestro agente a todas ellas.
00:08:01Con el Chat SDK, construyes experiencias agénticas una vez
00:08:06y las despliegas en todas partes con una sola API.
00:08:09Vayan a chat-sdk.dev para consultar la documentación y plantillas.
00:08:14Gracias por escucharnos.
00:08:15Y estoy emocionado por ver lo que construyen.
00:08:17(música animada)