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.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video