Oficialmente comencé a construir Forge&Hive en mayo, justo cuando me mudaba de regreso a la Ciudad de México. Junio fue el primer mes que le dediqué a tiempo completo. Para el 10 de junio, ya tenía un flujo funcional para mostrar a mis amigos, y anuncié el proyecto públicamente en el evento de ReleaseBeforeReady el 14 de junio. Ahora estoy en el proceso de transformar las ideas en un producto tangible.
Ahora, en el RbR del Sábado ya use Forge para construir parte del sistema de grabar intro pitches del evento. Quiero detallar lo que Forge&Hive ofrece y lo que viene.
El Desafío: Construir Productos LLM Robustos
Desarrollar un producto LLM inicial es accesible un rato con Replit o Cursor puede generar magia en unas horas. Madurarlo, hacerlo robusto y escalarlo presenta un conjunto diferente de desafíos. La conocida "regla 90/90" —el primer 90% del código toma el 90% del tiempo, el 10% restante toma el otro 90%— es particularmente relevante aquí. La Observabilidad de productos en producción, siempre es un punto delicado en el desarrollo de software, es aún más compleja con la IA.
Con Forge&Hive quiero dedicar un buen tiempo a cómo abordo el desarrollo en apps que usan LLMs: en lugar de añadir herramientas de observabilidad a medio camino, hoy prefiero comenzar con las herramientas adecuadas para la observabilidad y el despliegue, y luego ver que construimos con ellas. Dada la velocidad con la que se pueden crear nuevas características o demos, observar la calidad de la salida desde el principio se vuelve crítico. Esto es especialmente cierto cuando las herramientas de desarrollo aceleran las correcciones, lo que podría llevar a ajustes a ciegas sin una visibilidad clara.
Abordando los Puntos Clave de Dolor
Forge&Hive empezo con Task, que es una abstracción de una black box, que aborda desafíos específicos que enfrentan los equipos que construyen aplicaciones basadas en LLM:
Observabilidad para Aplicaciones de IA: Vincular registros (logs), trazas y métricas al código específico, especialmente con llamadas a API externas e interacciones no deterministas de LLM, es difícil. Forge&Hive tiene como objetivo simplificar el rastreo de errores, permitir la reproducción local de problemas de producción y la creación de pruebas fiables. Mi meta es permitir una configuración de observabilidad sólida desde el "hola mundo" en adelante, mejorando con cada actualización sin que los desarrolladores tengan que rediseñarla.
Desarrollo Local e Iteración: Cuando resolvemos problemas en este tipo de aplicaciones, a menudo dedico más tiempo a encontrar datos que a solucionar problemas localmente. Forge&Hive facilita ver un Execution Record de producción y repetir esta unidad de procesamiento específicas localmente, sin requerir llamadas completas a la API o herramientas externas como Postman. Esto permite una iteración más rápida en prompts e interacciones con LLM, incluso cuando dependen de grandes conjuntos de datos de producción.
Gestión de Llamadas a API Externas y Estado de la Aplicación: Las aplicaciones que dependen en gran medida de API externas, particularmente LLMs, requieren una mejor trazabilidad y una comprensión más clara del estado de la aplicación, incluyendo el impacto de las llamadas a bases de datos.
Herramientas Anticuadas para la Maduración del Producto: Hoy nuestras aplicaciones empiezan a depender de muchas servicios externos y las herramientas actuales a menudo no son compatibles con los desarrolladores en general, careciendo de una funcionalidad de "playground" integrada dentro del entorno de desarrollo. Cuando llamamos al servicio mientras hacemos debugging este servicio va a contestar algo distinto a lo que paso en producción.
Aseguramiento de Calidad y Pruebas de Regresión: Los cambios en los prompts pueden tener efectos secundarios imprevistos. Forge&Hive tiene como objetivo utilizar LLMs para ayudar en el QA. La plataforma proporciona herramientas para monitorear la calidad de la salida de la aplicación en tiempo real en producción y un método para generar y comparar "test fixtures" para validar mejoras antes de desplegar en producción. Contar con las herramientas adecuadas fomenta las buenas prácticas.
Forge empieza a tener varias partes y muchos términos que estare explicando con mas detalle en la siguiente secciones y muchos blogpost mas en las proximas semanas. Subscríbete para no perdértelos.
Cómo Funciona Forge&Hive: El Concepto de "Task"
Forge&Hive aborda estos problemas a través de un enfoque estructurado e integrado centrado en el concepto de "Task".
Forge: es un Framework de Código Abierto. Task como Unidad Central de Procesamiento y Ciclo de Vida de Desarrollo Observable.
Forge es un framework de código abierto que proporciona los bloques de construcción fundamentales para los desarrolladores. Define Tasks como unidades de procesamiento autónomas y desplegables.
Las Tasks están diseñadas desde cero para ser inherentemente observables, incorporando Boundaries (para diferenciar el código determinista del no determinista/externo) y Execution Records (registros detallados de entrada, salida y metadatos para cada ejecución de Task).
El Forge CLI, parte de este framework de código abierto, es fundamental para habilitar una experiencia de desarrollo "local-first". Permite a los desarrolladores ejecutar y repetir Tasks fácilmente de forma local sin disparar llamadas a API externas o usar herramientas como Postman, fomentando la iteración rápida directamente dentro de su entorno de codificación ("juega dentro de tu código inmediatamente").
Esta capacidad local se extiende poderosamente al poder descargar un Execution Record de producción (capturado por Hive) y reproducirlo localmente – una característica de "magia negra" que permite la depuración precisa de problemas de producción y el ajuste de prompts utilizando datos reales. Los desarrolladores también pueden convertir estos registros de producción en "fixtures" para pruebas locales robustas y para construir suites de pruebas exhaustivas para CI.
La naturaleza de código abierto de Forge significa que los desarrolladores tienen control total y visibilidad sobre sus definiciones de Task y las herramientas de desarrollo local, promoviendo la transparencia, la personalización y las contribuciones de la comunidad.
Hive: La Plataforma. Observabilidad, Monitoreo y Despliegue en Producción
Hive es la plataforma en la nube que complementa el framework Forge. Sirve como el centro neurálgico para la ingesta y visualización de registros de producción (Execution Records) enviados desde aplicaciones que utilizan Forge.
Hive permite la revisión visual de los resultados de ejecución, ayudando al desarrollo y la depuración en tiempo real.
A través del Forge CLI, los desarrolladores pueden publicar Tasks (definidas utilizando el framework Forge) en Hive y desplegarlas como funciones Lambda sin servidor directamente desde la plataforma.
Estas Tasks desplegadas pueden luego monitorear los registros entrantes y evaluar la calidad de sus propias salidas en tiempo real, creando un ciclo de retroalimentación continuo desde el desarrollo y las pruebas locales (habilitado por Forge) hasta el despliegue en producción y el aseguramiento de la calidad (gestionado por Hive).
Próximos Pasos
Estoy dedicando el 100% de mi tiempo a Forge&Hive, excepto los sabados de RbR, y entusiasmado con su potencial. Construí Forge&Hive para ofrecer herramientas específicas para el desarrollo robusto de aplicaciones LLM, abordando desafíos críticos desde la observabilidad hasta el despliegue.
Invito a los PMs y desarrolladores a involucrarse. Su retroalimentación es crucial para construir un producto sólido. Por favor, pónganse en contacto conmigo en forge[arroba]siedrix[punto]com. Me gustaría saber: ¿qué productos están desarrollando?, ¿qué herramientas están usando? y ¿qué problemas están teniendo en este proceso?