El problema es que no todo es tan fácil como nos describen los gurús de Linkedin con bullet points, emojis y frases catchy. Como siempre, cuando te pones a construir algo real, te das cuenta de que nada es trivial, así que he venido yo a contarte mi película: cómo hemos planteado el nuevo diseño de Tinybird, la herramienta definitiva para masajear esos datos que se le atragantan a tu base de datos (qué te voy a decir yo si es lo que me da de comer). (View Highlight)
Voy a partir de los principios que aplicamos. Somos bastante antihype, así que:
Usar IA sólo cuando y donde tenga sentido. Nada de meter un chat donde no toca, por meter algo.
Si puede ser invisible, mejor. A nadie le interesa una mierda la tecnología que uses sino el problema que solucionas. Si sois programadores, cuanto antes lo asumáis, mejor. Creedme.
Que sirva para eliminar tareas tediosas, no para reemplazar a personas. Por mucho que a los ejecutivos con mentalidad de tiburón se les haga la boca agua con el potencial ahorro de costes, de momento, estamos lejos de poder sustituir el criterio humano. Así que, diseñamos modelos para potenciar a los profesionales no para reemplazarlos. (View Highlight)
En la mayoría de productos, los modelos pueden ayudarnos a:
Hacer el onboarding de nuevos usuarios. Qué mejor que el usuario te diga lo que quiere en vez de decirle tú lo que tiene que hacer para aprender.
Simplificar flujos de trabajo.
Generar código. Esto es algo más concreto y no todos los productos generan código, pero el nuestro sí.
Explorar los datos que el producto tiene disponibles de forma natural. Aquí es donde el chat con herramientas entra en la ecuación. (View Highlight)
En general todo esto es sencillo: si usas chatGPT o similar, en unos minutos puedes tener una herramienta que permitirá a un usuario entender tu producto. En realidad no necesitas más que coger tu documentación y pedir a un LLM (usamos Gemini por la longitud de su contexto) que lo resuma. Va a ser capaz de resolver el 90 % de las preguntas de un ser humano. Pero claro, no deja de ser una conversación de persona a «no-persona» y, por mucho que la IA pueda interpretar instrucciones… las herramientas necesitan órdenes claras. (View Highlight)
No creo que podamos dejar pasar ni un minuto más para usar la IA en nuestros productos y hacer la vida más fácil al usuario.
Es prácticamente imposible impedir que el sistema los filtre de una manera u otra. La clave está en la orquestación, no tanto en el prompt. (View Highlight)
Otro de los problemas habituales es que los LLMs la lían parda. Se inventan más cosas que un niño de 6 años. Es un problema bien conocido, nada nuevo. Hay varias formas de intentar paliarlo. En nuestro caso, usamos dos: feedback loop y self evaluation. (View Highlight)
Por un lado, no esperamos que un LLM responda bien a la primera cuando se le pide algo complejo como una consulta optimizada a una base de datos. Por eso, casi siempre, tendremos que meter un feedback loop, o pedirle que estime si el entregable que genera consigue el resultado que se solicitó inicialmente (View Highlight)
Por otro, validamos lo que generamos. Por ejemplo, si estuviésemos generando una factura podríamos validar que tiene todo (concepto, CIF, cantidad, IVA…). Puedes hacerlo con procesos manuales o automáticos, pero también puedes poner a otro modelo a validarlo. Un segundo modelo (con otro prompt específico) evalúa el entregable y, si falla, genera un error que el primer modelo puede usar para arreglarlo. No es milagroso, pero si combinas ambos procesos obtienes un sistema relativamente sólido. (View Highlight)
Usamos otras decenas de cosas, por ejemplo etiquetas de marcado para segmentar la entrada. Especialmente cuando el prompt es largo, ayuda mucho darle «mascadito» cada tema. También usamos etiquetas para la salida, de esta forma podemos pedirle diferentes recursos en cada prompt (por ejemplo, una factura y el correo para enviar el cliente). (View Highlight)
Otro truco es encadenar llamadas con diferentes prompts para poder enrutar las cosas por donde tocan. Por ejemplo, en nuestro caso, si hay que generar una gráfica, esto se hace con una herramienta específica que se dispara con una segunda petición específica. Esta técnica se denomina LLM chaining, (View Highlight)
Porque esto no tiene tanta «magia» como nos quieren hacer creer. Eso sí, requiere una adaptación «de carne a metal» que no es trivial. El criterio humano aún es necesario en todos los pasos, pero no creo que podamos dejar pasar ni un minuto más para usar la IA en nuestros productos y hacer la vida más fácil al usuario (View Highlight)