
Revolut selects ElevenLabs Agents to bolster customer support
Reducing time to ticket resolution by 8x with multilingual conversational agents.
KUBI es un barista conversacional que funciona con la Conversational AI de ElevenLabs. Descubre cómo.
KUBI es un robot barista y recepcionista conversacional en Second Space, un espacio de coworking de última generación abierto 24/7 en Kaohsiung, Taiwán. Como todo el funcionamiento del espacio es totalmente automático, es fundamental que KUBI — primer punto de contacto con miembros — aporte un toque único y cercano. Por eso Second Space eligió la Conversational AI de ElevenLabs para crear interacciones divertidas y memorables con miembros. Vamos a ver a KUBI en acción.
KUBI utiliza una arquitectura multisensorial avanzada para simular una interacción similar a la humana. El sistema se basa en una arquitectura de microservicios, donde servicios especializados funcionan en paralelo y se comunican a través de un flujo de eventos en tiempo real. Estos servicios gestionan tareas como reconocimiento facial y de objetos mediante inferencia de IA en tiempo real, detección de tazas y comprobaciones de seguridad con cámaras, impresión de recibos, reconocimiento facial seguro para el control de acceso y control preciso de dispensadores de leche y café.
Estos son algunos de los servicios que funcionan en paralelo:
¿Por qué tantos microservicios? Muy sencillo: los gestionamos de forma independiente, escalamos fácilmente y usamos las mejores herramientas para cada tarea.
Para coordinar todos estos microservicios hay un servicio central, llamado con humor "BigBoy". Es básicamente un procesador de eventos gigante y no bloqueante:
| 1 | |
| 2 | internal object WeatherIdleScenario: SingleTaskScenario(scenario){ |
| 3 | |
| 4 | importance = Importance.Medium |
| 5 | compilationTimeout = Time.ThreeSeconds |
| 6 | interruptable = false |
| 7 | exeutionExpiration = = Time.TenSeconds |
| 8 | |
| 9 | override fun isEligible(event: Event, environment: Environment): Maybe<Boolean> = withEnvironment(environment) { |
| 10 | just { |
| 11 | (event is IdleEvent |
| 12 | && !triggeredInLast(40.minutes) |
| 13 | && (personPresent() || hasActiveSessions) |
| 14 | && environment.weatherService.lastReportWithin(10.minutes)) |
| 15 | } |
| 16 | } |
| 17 | } |
| 18 | |
| 19 | private val scenario = ScenarioRecipe { event, env, session -> |
| 20 | |
| 21 | |
| 22 | invokeOneOf( |
| 23 | |
| 24 | phrase { |
| 25 | sayWith { |
| 26 | "Rainy day today, isn't it? That's why I have my little umbrella! Look!".asEnglish |
| 27 | }.withAutoGift().withAutoMotion() |
| 28 | }.given { Weather.isRaining() }, |
| 29 | |
| 30 | phrase { |
| 31 | sayWith { |
| 32 | "Friend, it's so cold outside! So sad for you... because you're a human. I don't really mind!".asEnglish |
| 33 | }.withAutoMotion() |
| 34 | |
| 35 | sayWith { |
| 36 | "Wait, that soudned a bit rude.".asEnglish |
| 37 | }.withAutoMotion() |
| 38 | |
| 39 | }.given { Weather.isCold() }, |
| 40 | |
| 41 | ) |
| 42 | |
| 43 | |
| 44 | } |
| 45 | |
| 46 |
¿Qué son los escenarios?
Piensa en los escenarios como compiladores no bloqueantes para eventos de acción del robot. Un evento de acción suele ser el evento más final, el último paso de una cadena, que produce un efecto físico, como un movimiento o una frase. Por ejemplo, un escenario de saludo podría activar:
Generación de eventos con LLM: Algunos eventos de acción se generan automáticamente con un LLM, por ejemplo, withAutoMotion selecciona el mejor movimiento de una lista predefinida según el contexto. Mientras que withAutoGif usa un LLM para generar la etiqueta más adecuada para la frase. Esa etiqueta se utiliza para buscar un GIF en Giphy, que luego se muestra en la cara de KUBI junto con la frase.
Sincronización de eventos de acción: Estos eventos pasan por un planificador que asegura que el habla, las expresiones faciales y los movimientos estén sincronizados. Así, el habla de KUBI siempre coincide con sus gestos.
Lo interesante es que los escenarios pueden incluso escuchar eventos de acción y activar nuevos eventos de acción de forma dinámica. Por ejemplo:
BigBoy literalmente ve y sabe todo lo que ocurre. Bastante curioso, ¿verdad?
La mayoría de los servicios están alojados localmente y encapsulados en un contenedor docker. Dentro del contenedor, su ciclo de vida lo gestiona el sistema Supervisor. Los registros de errores se recogen en Sentry y se envían a una app de administración personalizada para monitorizar excepciones, estado en tiempo real de servicios y sensores, y latencia. Lo curioso es que el 90% de la app Flutter fue generada por IA.
Second Space tenía una personalidad muy concreta en mente para KUBI: una mezcla de Deadpool, Wheatley del juego Portal y un toque de Pathfinder de Apex Legends. Consiguieron diseñar la voz en solo 15 minutos, con emociones y pausas que la hacen aún más humana.
ElevenLabs impulsa la capacidad de habla de KUBI a través de dos APIs principales:
Se activa cuando un cliente dice "¡Hey KUBI!", la Conversational AI de ElevenLabs responde en 200ms, haciendo que la interacción sea realmente natural.
Usando la Conversational AI de ElevenLabs por WebSocket, KUBI puede aprovechar llamadas a funciones, por ejemplo:
Cambiar entre diferentes modelos LLM fácilmente desde el panel de administración de ElevenLabs ayuda a Second Space a optimizar la comprensión y precisión, ya que hemos visto que distintos modelos reconocen las intents de las herramientas mejor que otros. Actualmente usan Gemini 2.0 Flash como modelo principal para Conversational AI y ChatGPT 4o para las locuciones estáticas.
Los primeros commits de Second Space en GitHub mencionando ElevenLabs son de enero de 2023, incluso antes de que saliera el modelo multilingüe. Desde el principio vieron el compromiso de ElevenLabs con la calidad y crearon una arquitectura preparada para el soporte multilingüe futuro. Ahora, entrar en mercados como Japón o Corea del Sur es tan fácil como activar un interruptor — ¡sin trabajo extra de desarrollo!
Microservicios, eventos en tiempo real y la potente tecnología de voz de ElevenLabs hacen que KUBI parezca realmente vivo y listo para sorprender al mundo, un café y una conversación ingeniosa a la vez.

Reducing time to ticket resolution by 8x with multilingual conversational agents.
.webp&w=3840&q=95)
Yampa leverages ElevenLabs Flash V2.5 to scale human-like outbound voice agents with ultra-low latency and massive concurrency.