IA Agéntica con Vercel: Saltbox One

VVercel
Computing/SoftwareInternet Technology

Transcript

00:00:00[AUDIO EN SILENCIO]
00:00:30.
00:00:53>> Hola, bienvenidos a todos a otra sesión comunitaria de Vercel.
00:00:57Mi nombre es Jacob Paris, seré su anfitrión hoy.
00:01:00Hacemos estas sesiones para destacar proyectos geniales de la comunidad,
00:01:03de clientes y de cualquiera que esté construyendo cosas geniales en Vercel.
00:01:08Estamos transmitiendo esto en vivo por LinkedIn,
00:01:10pero si quieren participar en el chat, vayan a [community.com/live](https://community.com/live)
00:01:15y podrán ver la sesión en la parte superior de la página.
00:01:18Al final, tendremos algo de tiempo para preguntas y respuestas,
00:01:21así que no duden en dejar cualquier pregunta en el chat en vivo en el camino.
00:01:25Me gustaría presentar a nuestro invitado.
00:01:27Tenemos a Shane Smith de Saltbox Management.
00:01:30>> Hola.
00:01:32>> Hola Shane, ¿cómo estás hoy?
00:01:35>> Excelente, ¿cómo estás tú?
00:01:37>> Bastante bien.
00:01:38Sí, ¿así que tienes una demostración para nosotros?
00:01:42>> Así es, tengo algo de contenido que repasar,
00:01:46un poco de contexto y luego una demostración en vivo al final.
00:01:48>> Increíble, te ayudo a compartir tu pantalla aquí si quieres comenzar.
00:01:53>> Suena perfecto.
00:01:57Bien, mientras se carga, comenzaré con una breve introducción.
00:02:04Mi nombre, como dijo Jacob, es Shane Smith, soy el CTO en Saltbox Management.
00:02:09Saltbox es una empresa de servicios.
00:02:12De hecho, pasamos la mayor parte del tiempo implementando
00:02:16tecnologías de Salesforce para nuestros clientes.
00:02:18Y durante los últimos dos años, hemos estado construyendo un producto para nosotros.
00:02:24Y al hacer eso, estamos llegando al punto en que empezamos a lanzarlo
00:02:28a nuestros clientes y al mundo desde una perspectiva más amplia.
00:02:31Hoy voy a hablar de cómo lo logramos, específicamente con Vercel,
00:02:37y de algunas de las diferentes tecnologías que nos brinda Vercel.
00:02:41Como pueden ver en la pantalla,
00:02:42también vamos a hablar sobre el AI Gateway.
00:02:44Entrando un poco en el planteamiento del problema,
00:02:49tenemos un conjunto de clientes que utilizan Salesforce.
00:02:54Y especialmente en este mundo agéntico, estos usuarios quieren interactuar
00:02:58con Salesforce de una manera más natural con el lenguaje.
00:03:02Así que en el primer caso de uso, el problema que intentamos resolver
00:03:06es para los usuarios de negocio.
00:03:07Quieren poder hablar con su ecosistema de productos de Salesforce con lenguaje sencillo
00:03:10y realmente resolver sus preguntas más rápido.
00:03:16Y en el segundo, intentamos resolver el problema para los creadores, personas que
00:03:20realmente configuran y construyen personalizaciones dentro de Salesforce,
00:03:23que en gran medida somos nosotros.
00:03:25Ahí es donde comenzamos este viaje, queríamos que construir
00:03:28un conjunto de cosas en Salesforce fuera más fácil con agentes.
00:03:31Esos son los dos problemas que intentamos resolver
00:03:34para nosotros y para nuestros usuarios.
00:03:35Y el contexto detrás de esto es que lograrlo es en realidad bastante difícil.
00:03:41Quiero decir, por eso la gente contrata firmas de servicios como nosotros y otras.
00:03:45Porque entender el contexto de Salesforce, entender a la empresa y
00:03:49el contexto del proyecto que intentan realizar, y tratar de llevar eso
00:03:54a un código de producción escalable con las mejores prácticas es muy difícil.
00:03:58Así que no puedes simplemente ir a cualquier LLM
00:04:01y hacer una pregunta sobre Salesforce; probablemente obtendrás algo,
00:04:05pero no obtendrás algo que esté listo para producción.
00:04:07Ese era el objetivo que intentábamos alcanzar.
00:04:12Mientras avanzábamos por este camino, teníamos un equipo de producto relativamente pequeño
00:04:16con el que intentábamos construir este producto tan ambicioso.
00:04:19Así que queríamos centrarnos en el producto y no tanto en la infraestructura.
00:04:24Queríamos que la infraestructura simplemente funcionara y nos diera las capacidades necesarias.
00:04:28Ese era nuestro desafío y nuestra apuesta: que podíamos construir
00:04:33esta plataforma escalable sobre la infraestructura de Vercel y lograrlo.
00:04:40Voy a hablar un poco sobre cómo logramos hacer eso exactamente.
00:04:44Tenemos tres niveles en lo que respecta a nuestra arquitectura de alto nivel.
00:04:48En el nivel superior, tenemos una aplicación de Next.js que se encarga
00:04:53de la interfaz de usuario de cara al usuario.
00:04:56Y cuenta con todas las funciones normales de transmisión de interfaz de usuario
00:05:02que esperarías de un agente hoy en día.
00:05:04Y en el segundo nivel, tenemos nuestra capacidad de servidor y Edge.
00:05:09Utilizamos el AI SDK, específicamente la versión seis ahora, para controlar el agente,
00:05:16gestionar el bucle agéntico y todas las herramientas integradas en él.
00:05:21Si no están familiarizados con este SDK y están entrando en el mundo de los agentes,
00:05:25les recomiendo mucho que lo utilicen.
00:05:28Les da la capacidad de usar cualquier LLM de manera integral.
00:05:34De forma agnóstica, proporciona el marco y
00:05:37la estructura que necesitan para construir el bucle del agente
00:05:40y realmente dotarlo de algunas herramientas potentes en ese proceso.
00:05:43Y la tercera capa aquí es la IA real, es decir, conectarse a cualquier modelo que queramos.
00:05:51Y eso fue lo que realmente decidimos cuando emprendimos este camino,
00:05:56queríamos entender cuál era el modelo adecuado para usar.
00:06:00Y nuestro veredicto fue que no siempre hay un único modelo adecuado
00:06:04para cada situación.
00:06:06Así que queríamos construirlo de una manera agnóstica, donde pudiéramos conectar
00:06:10y usar el modelo adecuado para la situación adecuada a medida que surjan nuevos modelos.
00:06:14Poder conectarlos también sin tener que hacer grandes cambios de infraestructura por detrás.
00:06:20Por eso elegimos el AI Gateway para eso,
00:06:23y hablaré un poco más al respecto en un momento.
00:06:25Luego tenemos nuestros servicios de respaldo,
00:06:30como pueden ver en la parte inferior, que sustentan el resto de la infraestructura.
00:06:35Profundizando un poco más en el AI Gateway,
00:06:38pueden ver en el lado izquierdo un pseudo-script de cómo se vería esto,
00:06:43pero esencialmente tienes una línea que dice:
00:06:46"Me voy a conectar al gateway".
00:06:49Y una vez que lo tienes,
00:06:51puedes usar básicamente cualquier modelo que desees.
00:06:55En muchos casos, usamos Opus 3.5, pero en algunos casos usamos Sonnet,
00:07:00modelos de GPT y algunos de Groq en diferentes situaciones.
00:07:04Y esa es realmente una de las ventajas de usar AI Gateway,
00:07:08que puedes usar el modelo que quieras, no estás atado a uno,
00:07:10tienes esa flexibilidad.
00:07:12Y lo que esto nos permitió hacer fue tener un enrutamiento bastante intuitivo
00:07:18basado en la complejidad y el tipo de preguntas.
00:07:22Tenemos este clasificador que nos permite determinar
00:07:27¿qué tan compleja es la pregunta que hace el usuario?
00:07:29¿Están pidiendo una respuesta simple a un mensaje de saludo?
00:07:32¿O están pidiendo algo más complejo, como intentar construir
00:07:37un flujo de trabajo completo para el usuario?
00:07:38Dependiendo de eso, podríamos enrutarlo a diferentes modelos.
00:07:40Y eso nos permite tener respuestas rápidas,
00:07:44elegir el nivel adecuado de complejidad en el modelo que proporcionamos
00:07:49y dar la respuesta correcta al usuario.
00:07:50Y hoy en día, en lo que respecta a la experiencia del agente,
00:07:59hay realmente dos capacidades diferentes que la mayoría de los usuarios esperan.
00:08:04Una es que la respuesta se transmita en tiempo real al usuario
00:08:07para que pueda ver lo que está sucediendo al instante.
00:08:09Pero también, ¿qué sucede realmente cuando tienes
00:08:14una solicitud muy compleja que podría tardar varios minutos, decenas de minutos u horas?
00:08:20Desde la perspectiva del producto, comenzamos por la parte de la transmisión.
00:08:23Ahí es donde realmente brilla el AI SDK, comienza del lado de la transmisión.
00:08:28En el lado izquierdo, pueden ver un cuestionario de muestra
00:08:31para generar historias de usuario a partir de una reunión.
00:08:33Ese fue uno de nuestros primeros casos de uso mientras construíamos esta herramienta,
00:08:37tomar todo el contexto y proporcionar historias de usuario para los desarrolladores.
00:08:41Pero a medida que empezamos a tener requisitos más complejos como levantar
00:08:45una tienda B2B completa en Salesforce o diseñar un sitio de Experience Cloud con páginas personalizadas,
00:08:51esos procesos toman bastante más tiempo del que se puede transmitir a un navegador en unos minutos.
00:08:56Así que, a medida que maduramos en la plataforma de Vercel,
00:08:59empezamos a tener esta experiencia única para el usuario en la interfaz,
00:09:05pero con la capacidad tanto de transmitir como de iniciar procesos en segundo plano,
00:09:09dependiendo de la complejidad.
00:09:11Y todo eso está soportado dentro de la infraestructura de Vercel,
00:09:14tanto en la plataforma misma como utilizando algunas capacidades
00:09:19en torno a sandboxes y algunas otras de las que hablaré en un momento.
00:09:24Desde la perspectiva de las herramientas, creo que uno de los superpoderes de usar
00:09:28algo como el AI SDK es que tienes básicamente un marco de trabajo en el que puedes conectarte.
00:09:34Comenzamos con solo unas pocas herramientas y, con el tiempo, hemos creado
00:09:39más y más herramientas en estas categorías que nos permiten tener "manos"
00:09:44para interactuar con el usuario y también con los entornos de Salesforce.
00:09:48Como pueden ver, tenemos generación de documentos, búsqueda,
00:09:52historias, integraciones y, principalmente, esta capacidad de Salesforce aquí,
00:09:57que nos permite entender el entorno, validarlo, consultarlo
00:10:01y realizar despliegues en esos entornos también.
00:10:05Esto realmente le da vida a este agente, más allá de simplemente ir directo a un LLM.
00:10:10Y entrando en eso de que el agente tiene "manos", ¿verdad?
00:10:16¿Cómo funciona eso exactamente?
00:10:18Bueno, dentro del ecosistema de Vercel, esta es en realidad una de las capacidades
00:10:22más nuevas que han estado implementando: la capacidad de tener un sandbox.
00:10:27Si están familiarizados con Salesforce
00:10:30y piensan en cómo se interactúa con él, muchas veces los desarrolladores
00:10:34y la parte técnica del equipo utilizan la CLI de Salesforce.
00:10:39Y eso les permite, a nivel de terminal, interactuar con Salesforce,
00:10:43crear sandboxes, levantar tiendas de comercio B2B, hacer despliegues.
00:10:49Eso hace que sea muy fácil interactuar con Salesforce.
00:10:51Pero eso es muy difícil en un navegador efímero, ¿verdad?
00:10:55Inicias sesión en cualquier sitio y tienes que volver a hacerlo cada vez,
00:10:59lo que dificulta la interacción con Salesforce.
00:11:01Por eso empezamos a aprovechar esta capacidad de sandbox de Vercel,
00:11:06donde realmente permitimos que el usuario se autentique en su entorno.
00:11:10Se levanta un sandbox que nos permite interactuar con un sistema de archivos
00:11:16y nos permite desplegar nuestro código que estamos haciendo o los archivos que
00:11:20estamos intentando procesar en ese sandbox, y luego usar la CLI de Salesforce
00:11:26en ese sandbox para enviar esos archivos a Salesforce.
00:11:30Y este podría ser un caso de uso muy específico del ecosistema de Salesforce
00:11:35porque tienen estos conceptos de scratch orgs y sandboxes,
00:11:40pero creo que a medida que nos adentremos más en el lado del desarrollo
00:11:43dentro del ecosistema agéntico, esta idea de los sandboxes es absolutamente crítica
00:11:49porque nos proporciona la capacidad de tener esa estructura de archivos
00:11:55sobre la cual se construyen tradicionalmente los agentes y los LLM.
00:11:58Así que creo que te da mucha flexibilidad con respecto a
00:12:01lo que realmente puedes hacer.
00:12:06Y para ir cerrando con los pilares que hemos estado construyendo,
00:12:10v0 ha sido una herramienta enorme para nuestro equipo, ¿verdad?
00:12:17De hecho, lo usamos en dos áreas distintas.
00:12:18Lo usamos desde la perspectiva de producto al construir nuestro producto, Saltbox One.
00:12:23También lo usamos en la parte de servicios cuando construimos en Salesforce.
00:12:27Y lo que realmente hicimos fue conectar ambos mundos.
00:12:31Donde si estás en S1 y tienes el contexto de lo que estás intentando hacer,
00:12:35tienes toda la información de Salesforce y la capacidad de recopilar
00:12:41todo eso sobre tu organización de Salesforce, tenemos una integración muy estrecha
00:12:45con v0 donde puedes pasarle esa información como contexto.
00:12:51Y eso permite que v0 te ayude a generar código.
00:12:54Así que no es solo para React; si le das el contexto
00:12:58y la información adecuados, puede hacer cosas como Apex, LWCs y flujos.
00:13:01Hemos podido acoplar ambos mundos
00:13:05y crear una integración realmente fluida y excelente.
00:13:09Si tuviéramos que detenernos un momento y pensar qué le diríamos a otro equipo,
00:13:14estos serían mis cuatro aprendizajes.
00:13:17Uno: usen un gateway, dejen de discutir sobre qué modelo usar
00:13:21y empiecen a elegir el adecuado para la herramienta y la ocasión correctas.
00:13:25Eso les da mucha flexibilidad y capacidad.
00:13:28Segundo: la transmisión es solo el comienzo.
00:13:31Ahí es donde empiezan muchas de estas aplicaciones
00:13:35que son más de tipo startup en el mundo agéntico.
00:13:38Pero realmente necesitan esa capacidad de ejecución persistente en segundo plano.
00:13:42Y ese es el siguiente nivel al que deben apuntar.
00:13:45Tercero es el sandbox, tal como mencionaba hace un momento.
00:13:48Hacerlo real, darles acceso de CLI a sus agentes,
00:13:52eso realmente les da súper poderes.
00:13:55Y la última es encontrar la plataforma adecuada.
00:13:57Para nosotros, eso fue construir sobre Vercel, lo que
00:14:01nos permite no enfocarnos en la infraestructura.
00:14:04Y nos permite enfocarnos en las funciones y
00:14:07las capacidades que intentamos implementar en Saltbox One a escala.
00:14:12Con eso, voy a pasar un poco a la demostración
00:14:19y mostrar una experiencia conversacional de Salesforce.
00:14:24Hablar un poco sobre la generación de historias y
00:14:26ver el agente en acción aquí.
00:14:29Así que denme un momento mientras cambio de pantalla.
00:14:34Muy bien, genial.
00:14:38Entrando a Saltbox One, esta es una de nuestras organizaciones de prueba.
00:14:44Pero pueden ver que a la izquierda se presenta lo que llamamos
00:14:48nuestros proyectos, y estos nos dan diferentes contextos.
00:14:51Y en el centro, tenemos nuestro nuevo panel de conversación.
00:14:56Así que podemos enfocarnos en esto.
00:14:58Podemos ver todos nuestros diferentes proyectos al bajar.
00:15:01Esto nos permite cargar el contexto correcto en la conversación.
00:15:05Tenemos nuestras herramientas abajo del todo,
00:15:08que es donde se pasan todas nuestras integraciones.
00:15:12Y más abajo, tenemos la opción de añadir contexto.
00:15:16Podemos arrastrar una reunión, una historia de usuario, un artefacto,
00:15:20una organización de Salesforce o algo específico de esa organización.
00:15:23Eso nos permite tener una conversación muy enriquecedora.
00:15:27Así que voy a empezar con uno más complejo para empezar.
00:15:33Y luego cambiaremos, mientras se ejecuta, a algo más...”
00:15:37o a algo que ya ejecuté previamente para poder comentarlo.
00:15:40En este ejemplo, queremos crear un flujo de pantalla en Salesforce
00:15:45que nos permita ingresar comentarios de casos y que nos dé una pantalla de confirmación.
00:15:51No es un requisito súper complejo, pero requiere conocer los flujos,
00:15:56saber cómo configurarlo, cómo llegar ahí y
00:15:58cómo depurarlo.
00:16:00Así que dejaremos que nuestro agente trabaje en eso mientras
00:16:03hablamos de otras conversaciones.
00:16:06Y antes de irme, pueden ver que está recuperando algunos archivos de contexto.
00:16:09Esa es parte de la fórmula secreta de Saltbox One, tenemos mucha
00:16:13información sobre Salesforce, cómo usarlo y
00:16:16las guías tácticas para que funcione correctamente.
00:16:19Y pueden ver que fue bastante rápido en responder diciendo:
00:16:23«Oye, buenas noticias, revisé tu instancia.
00:16:25No hay automatizaciones en los comentarios de casos ahora, así que podemos avanzar».
00:16:29Me va a hacer un par de preguntas de seguimiento.
00:16:32Y diré que sí, que puede usar la organización predeterminada,
00:16:37y lo dejaré correr para que empiece a armar un plan.
00:16:41Pero mientras hace eso, voy a pasar
00:16:44a una conversación diferente.
00:16:47Esta es una de las funciones que más utilizan
00:16:52nuestros clientes en sus proyectos: la capacidad de procesar una reunión.
00:16:56En este caso, tengo una marca de demostración llamada Halston.
00:17:00Grabé una reunión donde hablamos de nuevos requisitos sobre
00:17:03la construcción de capacidades en Salesforce.
00:17:07Y le pregunto un poco sobre nuestra organización, quería basarme en lo que hay
00:17:11hoy y en las funciones estándar de Salesforce.
00:17:16A primera vista parece una solicitud directa,
00:17:18pero si lo piensas, en realidad es bastante compleja
00:17:21porque pide detalles de tu entorno y tienes que saber qué es estándar
00:17:26y qué es personalizado para tomar las decisiones correctas.
00:17:30Hicimos esa pregunta y pueden ver que responde con:
00:17:33«Aquí están los requisitos de la reunión que surgieron de esa discusión».
00:17:37Y esto es lo que tienes hoy.
00:17:41Aquí está tu modelo de datos, armó un lindo diagrama de Mermaid
00:17:43para que lo miremos y confirmemos que así es hoy.
00:17:46Y luego empieza a dar recomendaciones.
00:17:48Así es como S1 lo abordaría, lo dividiría en estas fases.
00:17:52Comenzaría con la fase uno como un modelo de datos, almacenamiento de suscripciones de visibilidad,
00:17:57y luego te daría algunas recomendaciones y preguntas clave.
00:18:02Y puedo interactuar con él de ida y vuelta.
00:18:06Así que le he dado esta respuesta con las contestaciones a esas preguntas.
00:18:07Y al final del día, me ha dado este gran documento que detalla
00:18:12los requisitos divididos en esas fases con mucho detalle.
00:18:16Y puedo tomar esto y convertirlo en código.
00:18:19Puedo convertirlo en historias de usuario o cualquier otro requisito.
00:18:22Ese es uno de los superpoderes de Saltbox One, lo hemos construido
00:18:27desde la perspectiva de los servicios.
00:18:31Así que sabemos cómo implementar Salesforce.
00:18:33Conocemos las mejores prácticas y cómo abordarlo.
00:18:35Y todo eso está integrado en este contexto de agente
00:18:37que le hemos dado a Saltbox One.
00:18:38Volviendo a nuestra conversación original,
00:18:43vemos que dijimos que sí a la organización predeterminada.
00:18:44Ha procesado todo ese contexto del que hablamos,
00:18:49resolviendo la mejor manera de hacerlo.
00:18:52Y podemos ver que ha creado esta pequeña tarjeta para que la revisemos.
00:18:55Esta tarjeta es nuestra forma de controlar lo que el agente puede hacer.
00:18:57Quieres que el agente arme este plan,
00:19:02pero no quieres que se ejecute solo.
00:19:07Aún queremos al humano en el proceso.
00:19:11Por eso diseñamos este componente donde puedes ver exactamente
00:19:13qué se va a implementar y cómo se va a implementar.
00:19:15Y lo que puedes hacer es simplemente hacer clic en aprobar y ejecutar.
00:19:19Y lo que hará, claro, como es una demostración, va a fallar.
00:19:22Pero lo que puedes hacer es realmente ir y desplegar eso.
00:19:25Puedes hacer clic en reintentar después de interactuar con el agente
00:19:29y resolver el problema.
00:19:33Y si se desplegó, puedes volver a la versión anterior
00:19:37si no te gustó esa versión.
00:19:38Un último caso de uso que voy a mostrar en pantalla
00:19:43antes de hacer otro en vivo es una revisión rápida de la arquitectura de tu organización.
00:19:44Esta es una pregunta muy común que nos hacen todo el tiempo:
00:19:50«Ayúdanos a entender la arquitectura o la deuda técnica que hay en ella».
00:19:55«¿Cómo nos preparamos para seguir este camino de agentes
00:20:00en el entorno de Salesforce?».
00:20:03Son preguntas sencillas, pero a la vez muy profundas.
00:20:04Así que puedes hacer una pregunta como esta y
00:20:09hacer que analice tus entornos de licencias, hallazgos clave,
00:20:10y organice cómo se vería tu modelo de objetos en las oportunidades.
00:20:15Y de nuevo, algo que siempre haremos en nuestra respuesta
00:20:18es empezar a señalar cosas que quizás debas revisar.
00:20:22En este caso, tenemos documentación que parece mostrar
00:20:27campos no documentados en todos nuestros objetos.
00:20:30Parece que tenemos muchos campos personalizados, recomendaciones sobre cómo abordarlo,
00:20:34y los siguientes pasos en los que podemos profundizar.
00:20:38Así que podría decir que quiero proceder con eso.
00:20:40Y lo que hará es empezar a estrechar su enfoque específicamente en
00:20:45el flujo de comercio B2B y cómo interactúa todo junto.
00:20:48Hará consultas en los entornos,
00:20:53analizará todo el ecosistema alrededor
00:20:57y luego extraerá una síntesis de la respuesta
00:21:02para que puedas continuar con la conversación.
00:21:05Mientras ese agente se está ejecutando,
00:21:07mostraré un último ejemplo.
00:21:10Si volvemos a una nueva conversación, puedo
00:21:12arrastrar una página de Confluence que fue
00:21:16el resultado de una de nuestras conversaciones anteriores.
00:21:21Y esta tiene todo el detalle largo de cómo se verá la solución.
00:21:27Y puedo decir rápidamente que quiero crear historias de usuario
00:21:32para la fase uno de este documento.
00:21:35Y de nuevo, lo especial es que reúne no solo
00:21:39el contexto de este documento, sino de tu proyecto, tu entorno de Salesforce,
00:21:43nuestras mejores prácticas, el ecosistema de Salesforce, y
00:21:46decide cuál es la mejor manera de dividir esta fase uno en
00:21:50historias de usuario manejables, redactando la declaración inicial de:
00:21:55«Como usuario, me gustaría...» con algunos puntos de los criterios de aceptación reales.
00:21:59Esto te da un excelente punto de partida para esas historias de usuario.
00:22:03Y una vez que se generan, puedes entrar
00:22:08en niveles adicionales de detalle en la conversación
00:22:14con el agente para refinar cómo se ven.
00:22:18Ahora que eso se está ejecutando,
00:22:22volveré a la conversación anterior donde terminamos nuestra auditoría.
00:22:24Hicimos un par de consultas y armamos el flujo de auditoría B2B.
00:22:28Como ven, logramos una evaluación bastante buena de cómo se ve eso,
00:22:32con recomendaciones sobre la deuda técnica o
00:22:36en qué deberíamos priorizar al regresar.
00:22:40Así que pueden empezar a ver cómo se conecta todo esto.
00:22:45Al regresar a mi ejemplo,
00:22:48parece que mi pantalla se congeló, un segundo.
00:22:51Aquí vamos.
00:22:55Como ven en nuestro último ejemplo, armamos estas historias de usuario.
00:23:00Y pueden ver que aparecen a la izquierda con
00:23:11los detalles en el lado derecho.
00:23:14Esto nos da la capacidad de integrarnos con Asana o Jira y
00:23:18permite un ciclo de vida de desarrollo completo de cómo se ve esto.
00:23:22Esa es una descripción rápida de Saltbox One, cómo usamos el ecosistema de Vercel,
00:23:24cómo usamos capacidades como el Sandbox, el Gateway,
00:23:27y v0 para armar una aplicación como esta y
00:23:32realmente enfocarnos en las características y funciones para nuestros clientes.
00:23:39Y no tanto en la infraestructura que hay detrás.
00:23:44Con esto, Jacob, ¿había alguna pregunta que quisiéramos abordar?
00:23:49>> Sí, sí, gracias por mostrar la demostración.
00:23:53Tenía algunas preguntas por aquí.
00:23:56Primero, tenía curiosidad sobre cómo funcionan los permisos de los agentes.
00:24:02¿S1 tiene sus propios permisos, como que al configurar la app,
00:24:06obtiene cierto acceso a Salesforce, Confluence y demás?
00:24:08¿O se basa en la persona que hace las preguntas?
00:24:12Porque eso suele ser algo complicado de manejar una vez que tienes
00:24:16todas estas integraciones de SSO empresarial.
00:24:20Así que me da curiosidad saber qué decisión tomaron al respecto.
00:24:23>> Sí, de hecho debatimos bastante sobre esto al pensar en
00:24:26esa misma pregunta, y decidimos optar por permisos basados en el usuario.
00:24:29Así, cuando el usuario ingresa, tiene la capacidad de autenticarse como tal.
00:24:32Por lo tanto, cualquier acción que realice en Salesforce o en las otras aplicaciones es
00:24:36de su usuario específico, ya sea con su OAuth o
00:24:40su clave API, dependiendo de la plataforma que estemos soportando.
00:24:45Y esto nos da el control de que fue tu usuario quien lo realizó.
00:24:50Pero luego, en ciertas plataformas como Salesforce,
00:24:53tenemos otra capa de protección adicional,
00:24:57que consiste en que cada vez que conectas una instancia de Salesforce,
00:25:03comienza como una conexión de solo lectura.
00:25:06Y luego tienes la opción de cambiarla a permisos de escritura.
00:25:09Y una vez hecho eso, siempre verás esa pantalla de aprobación para
00:25:12cualquier cambio que se vaya a realizar en tu entorno de Salesforce.
00:25:15>> Bien, entonces en el lado de Salesforce para la auditabilidad,
00:25:19cualquiera de las acciones que hizo el usuario, hizo clic.
00:25:23Entonces, cuando tenías una acción de escritura, aparecía la aprobación.
00:25:26El usuario explícitamente tenía que decir aceptar y continuar para activar al agente.
00:25:31>> Exactamente.
00:25:37>> En Salesforce, figuraría como realizado por el usuario.
00:25:39>> Exactamente.
00:25:44>> Bien, perfecto, perfecto.
00:25:44También tenía curiosidad, ¿cómo usa el agente los Sandboxes en sí?
00:25:49¿Tienen ciertas llamadas de herramientas que invocan implícitamente
00:25:50un Sandbox como un detalle de implementación interna?
00:25:51¿O el agente tiene herramientas de Sandbox y sabe que hay ciertas cosas que
00:25:57debe hacer en un Sandbox, que es donde tiene sus CLI o API y demás?
00:26:02Me da curiosidad cómo configuraron eso.
00:26:06>> Sí, en realidad tenemos dos herramientas principales que utilizan el
00:26:11Sandbox oficial de Vercel, y hablaré de otro Sandbox separado en un momento.
00:26:16Las dos herramientas oficiales son: cuando estás levantando una organización de prueba,
00:26:19siempre levantamos un Sandbox de Vercel y levantamos esa organización usando la CLI de Salesforce.
00:26:25El segundo caso de uso es cuando estás interactuando con Salesforce para hacer una
00:26:28Los dos casos de uso oficiales son: cuando creas una "scratch org"
00:26:33siempre levantamos un Sandbox de Vercel y creamos esa org con la SF CLI.
00:26:37El segundo caso de uso es cuando interactúas con Salesforce para
00:26:43validar o desplegar algo nuevo en un entorno.
00:26:48Eso siempre se hace con el Sandbox de Vercel usando la Salesforce CLI.
00:26:51En nuestra opinión, esa es la forma más fácil de hacer despliegues
00:26:54y otras actividades. El Sandbox de Vercel nos facilita mucho
00:26:58la instalación y la continuidad con los Sandboxes existentes.
00:27:04Así que tenemos esos dos que usan el Sandbox oficial de Vercel, y luego
00:27:08tenemos un Sandbox en memoria más pequeño para cada conversación,
00:27:14que se ejecuta en cada turno del agente y que usamos para reunir
00:27:20todos los archivos y permitirle entender qué hay en ese Sandbox en memoria.
00:27:25Así que tenemos dos versiones diferentes de eso.
00:27:26>> Bien. ¿Están aplicando algún tipo de
00:27:32restricción de red en el Sandbox para limitar a qué tiene acceso?
00:27:36¿Cómo es el perfil de seguridad en ese sentido?
00:27:40>> ¿Por el lado del Sandbox de Vercel?
00:27:42>> Sí, sí.
00:27:43>> Sí, el Sandbox de Vercel se levanta prácticamente vacío.
00:27:47Así que cargamos los archivos necesarios y solo permitimos acceso a eso.
00:27:52No es para nada como nuestra base de código; el agente
00:27:56toma lo que ha preparado para el plan, básicamente.
00:28:02Por ejemplo, en el flujo que mostré, tomaría esos archivos,
00:28:05crearía el directorio que Salesforce espera para los despliegues,
00:28:10colocaría los archivos en ese directorio
00:28:13y luego haría el despliegue desde allí.
00:28:14Así que realmente está muy limitado, solo tiene lo que le damos en el momento.
00:28:20>> Tenemos una pregunta de YouTube: ¿cómo es el modelo de precios?
00:28:25¿Cómo gestionan los precios?
00:28:28¿Es por uso, por usuario, o cómo funciona Soapbox?
00:28:32>> Sí, es una excelente pregunta.
00:28:33Aún estamos en proceso de definirlo mientras lo lanzamos
00:28:38a nuestros clientes y tratamos de encontrar la mejor manera de hacerlo.
00:28:41Actualmente tenemos un modelo de precios por usuario
00:28:48con límites dentro de cada plan sobre cuántas conversaciones puedes tener,
00:28:53cuántos datos y cuántas interacciones.
00:28:55Así que de ahí es de donde estamos partiendo.
00:28:59Pero como todos hemos experimentado en este ecosistema,
00:29:02las cosas cambian muy rápido y con frecuencia cuando se trata de herramientas basadas en tokens.
00:29:07Así que empezamos con ese límite basado en asientos de usuario.
00:29:11>> Sí, creo que es muy difícil encontrar el modelo perfecto que escale
00:29:16con el uso, con los clientes y con tus propios costos.
00:29:20Tiene mucho sentido.
00:29:23Veamos, aquí hay otra pregunta.
00:29:24¿Cómo deciden qué preguntas enviar a cada modelo?
00:29:29Por ejemplo, había ciertas cosas que enviaban a Opus
00:29:31y otras que enviaban a Sonnet.
00:29:33¿Cómo deciden eso?
00:29:35¿Usan un sistema de evaluación con datos que lo respalde o solo pruebas manuales
00:29:41para ver si Sonnet es lo suficientemente bueno para esos casos?
00:29:45¿Cuál fue su enfoque en eso?
00:29:46>> Sí, la respuesta a eso está en constante evolución.
00:29:52Donde estamos ahora es que tenemos un clasificador determinista para las preguntas iniciales
00:29:57que nos ayuda a entender, según lo que pide el usuario, qué tan compleja es la pregunta.
00:30:03¿Usan palabras como "planificar"?
00:30:04¿Usan palabras como "investigar"?
00:30:07Usamos eso porque es rápido y gratis, ¿verdad?
00:30:12Te permite identificar esas cosas muy rápido.
00:30:15Así que empezamos con un enfoque basado en Regex o determinista.
00:30:20Si no encontramos una coincidencia ahí, recurrimos a un clasificador LLM y decimos:
00:30:27bueno, según lo que hay aquí, si supera cierto límite de palabras, etc.,
00:30:32pasémoslo a un LLM para que clasifique su nivel de complejidad.
00:30:38Ese modelo es bastante rápido, tarda unos 300 milisegundos en hacer la clasificación.
00:30:42Y luego nos ayuda a dirigirlo al modelo correcto, ya sea Opus, Sonnet u otro.
00:30:47Y también tenemos un sistema de respaldo.
00:30:49Si las cosas se complican demasiado y el usuario hace la misma pregunta otra vez,
00:30:54o por otras reglas que tenemos, recurre a nuestro modelo más potente
00:30:59durante un tiempo límite para asegurar que el usuario reciba la respuesta correcta.
00:31:06>> Entiendo. ¿Y de momento están usando Haiku como clasificador para el modelo de enrutamiento?
00:31:11>> Sí, para el paso inicial, sí.
00:31:13>> Genial, genial.
00:31:15Muy bien. También formas parte del programa de embajadores de v0.
00:31:20¿Cómo te ha ayudado eso? ¿Lo recomendarías?
00:31:23¿Le has sacado valor a ese programa al construir esto?
00:31:28>> Sí, definitivamente.
00:31:30Lo recomendaría mucho a cualquiera que esté interesado en estar más cerca de la comunidad.
00:31:36Ya he participado en un par de eventos para personas de diferentes áreas.
00:31:41Hice uno hace uno o dos meses en México, una sesión presencial
00:31:48para explicar y trabajar con v0 junto a un grupo de personas de allí.
00:31:51Personalmente, le saco mucho provecho al programa de embajadores de v0
00:31:56porque me da acceso directo a los miembros del equipo de producto,
00:31:59pero también a otras personas que están tan dedicadas a esto como yo.
00:32:03Poder intercambiar ideas entre nosotros ha sido muy valioso.
00:32:08>> Genial. Si tienes acceso directo a la gente de producto,
00:32:13seguro que les envías un montón de comentarios.
00:32:16¿Hay algo que quieras pedirles aquí en público para ponerlos en aprietos
00:32:22y meterles un poco de presión?
00:32:25>> Seré amable. Creo que lo principal, y ya lo hemos hablado,
00:32:30es traer más capacidades a v0
00:32:34relacionadas con lo que los desarrolladores suelen usar en un IDE local.
00:32:41En los últimos meses incorporamos la capacidad de sandbox dentro de v0
00:32:45y la posibilidad de levantar un entorno real allí mismo,
00:32:49lo cual es un paso enorme en la dirección correcta.
00:32:51Creo que a medida que sigamos por ese camino, esto seguirá mejorando.
00:32:55Así que mi petición sería seguir avanzando en esa dirección.
00:33:00>> Increíble. Sí, ha sido un proceso continuo.
00:33:02Antes era un IDE de navegador muy, muy básico,
00:33:06y ahora tiene una integración completa con VS Code y Monaco.
00:33:10Mejora cada mes.
00:33:14>> Así es.
00:33:15>> Muy bien. Creo que eso es todo en cuanto a preguntas por hoy.
00:33:18Así que quiero agradecerte por venir y hacer una demostración tan genial.
00:33:24¿Dónde te puede encontrar la gente si quiere seguirte o saber más sobre Soapbox?
00:33:32>> Generalmente estoy más activo en LinkedIn.
00:33:34Así que si quieren conectar conmigo, me pueden enviar un mensaje por allí.
00:33:37Mencionen que vieron esta sesión,
00:33:39así sabré quiénes son y estaré encantado de conectar y responder sus preguntas.
00:33:44>> Increíble. Dejaremos un enlace a tu LinkedIn en el chat.
00:33:48En fin, muchas gracias por acompañarnos hoy.
00:33:52>> De nada, gracias a ti.
00:33:55>> Muy bien. Gracias a todos por unirse.
00:33:59Tendremos otra sesión de la comunidad pronto...
00:34:05Déjenme revisar el calendario.
00:34:10Debí haber hecho esto antes.
00:34:15Ah, es este jueves, pero aún no se ha agregado a nuestro calendario.
00:34:20Así que vuelvan en un par de días.
00:34:22Tendremos otra sesión programada.
00:34:24Hasta entonces, nos vemos en la comunidad.
00:34:27Que tengan un buen día a todos.

Key Takeaway

La construcción de agentes de software comerciales sobre la infraestructura de Vercel requiere combinar transmisión en tiempo real con ejecuciones persistentes en segundo plano y sandboxes efímeros para operar herramientas de línea de comandos de manera segura.

Highlights

  • Saltbox One utiliza el AI SDK de Vercel en su versión seis para gestionar de manera agnóstica el bucle agéntico y la ejecución de herramientas.

  • El enrutamiento inteligente mediante AI Gateway analiza la complejidad de las consultas en un máximo de 300 milisegundos usando Claude Haiku antes de dirigir la solicitud al LLM adecuado.

  • La interacción de escritura con Salesforce requiere autorización humana explícita a través de tarjetas de aprobación en la interfaz de usuario.

  • Vercel Sandbox permite inicializar entornos efímeros vacíos y seguros para ejecutar la interfaz de línea de comandos de Salesforce.

  • La integración directa de Saltbox One con v0 facilita la inyección de metadatos de Salesforce para generar código Apex y componentes web lightning personalizados.

Timeline

Arquitectura de tres niveles para agentes inteligentes

  • La interfaz de usuario depende de Next.js para ofrecer una transmisión de datos fluida y en tiempo real.
  • La lógica del agente y el control del bucle operativo se ejecutan mediante el AI SDK de Vercel.
  • La capa de modelos se conecta a múltiples LLM de forma agnóstica a través de AI Gateway.

La decisión de diseño principal consiste en no depender de un único modelo lingüístico debido a la variabilidad de las tareas. Al estructurar la aplicación en tres niveles independientes, el equipo de desarrollo evita la gestión compleja de infraestructura de bajo nivel. Esto permite concentrar los recursos en la lógica de negocio de Salesforce y en las interacciones del usuario.

Enrutamiento dinámico de consultas mediante clasificación

  • Un clasificador inicial basado en expresiones regulares filtra de manera gratuita las solicitudes básicas.
  • Un clasificador secundario basado en un LLM rápido categoriza la complejidad en 300 milisegundos.
  • Las tareas sencillas se asignan a modelos rápidos y económicos, mientras que los flujos complejos recurren a Claude Opus.

Las solicitudes difieren ampliamente en complejidad, desde un saludo trivial hasta el diseño de un modelo de datos completo. El sistema de clasificación de Saltbox One optimiza costos y latencia enviando las peticiones al modelo de procesamiento idóneo. Las tareas de larga duración que no caben en una ventana de transmisión estándar se ejecutan como procesos de fondo persistentes.

Ejecución segura de herramientas mediante Vercel Sandbox

  • La interfaz de línea de comandos de Salesforce se ejecuta de forma aislada dentro de contenedores efímeros.
  • La persistencia en memoria durante la conversación permite al agente interactuar con una estructura de archivos.
  • La integración de contexto extendido con v0 permite generar flujos y componentes de código específicos de Salesforce.

El ecosistema de desarrollo de Salesforce depende históricamente de herramientas de terminal que resultan difíciles de implementar de forma segura en un navegador. Al adoptar Vercel Sandbox, el agente obtiene un sistema de archivos restringido donde estructurar los archivos de despliegue antes de enviarlos a la plataforma externa. Este aislamiento garantiza que la base de código principal permanezca inaccesible para el agente, limitando su acción a los directorios autorizados en tiempo de ejecución.

Demostración del flujo de trabajo y generación de historias

  • Los proyectos de Saltbox One asocian archivos de contexto específicos a cada conversación activa.
  • Un componente visual intermedio exige la aprobación manual de un humano antes de alterar el entorno de producción.
  • La transcripción de una reunión se procesa para estructurar diagramas de secuencia y especificaciones de software exportables.

El sistema extrae los requisitos funcionales a partir de documentos adjuntos o transcripciones de reuniones, construyendo diagramas técnicos en formato Mermaid. Para evitar acciones autónomas destructivas, la interfaz genera una vista previa del plan de ejecución con opciones de aprobación y reversión. Una vez refinados los criterios de aceptación, las tareas resultantes se pueden enviar directamente a herramientas de gestión de proyectos como Jira.

Mecanismos de control de acceso y seguridad empresarial

  • La identidad del usuario final determina los permisos operativos del agente mediante mecanismos de Single Sign-On.
  • Las conexiones iniciales a entornos externos de desarrollo operan por defecto en modo de solo lectura.
  • El acceso de red dentro de Vercel Sandbox está restringido a las llamadas API explícitamente requeridas por la CLI.

Los permisos empresariales se gestionan de forma individual utilizando los tokens de autenticación del propio usuario que realiza la pregunta, evitando el uso de cuentas de servicio con privilegios globales. Esto asegura la auditabilidad, ya que cualquier registro de cambios dentro de la organización aparece firmado por la persona física y no por el bot. El modelo de negocio se basa temporalmente en tarifas por asiento de usuario con límites de tokens e interacciones por nivel de suscripción.

Community Posts

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

Write about this video