Entradas

Agente AI para automatizar el ciclo de vida de nuevas funcionalidades en una KB GeneXus

Imagen
  Introducción La adopción de agentes inteligentes en los procesos de desarrollo de software está revolucionando la forma en que las tareas repetitivas, complejas o de largo plazo se gestionan en proyectos reales. Imaginemos un escenario en el que un Agente AI se integra con nuestra KB GeneXus y, a lo largo de varias semanas o meses, realiza todo el proceso de evolución controlada de una funcionalidad crítica. En este post, describo un caso práctico sobre cómo este agente podría manejar de manera autónoma la implementación, testeo, despliegue progresivo y, eventualmente, el retiro seguro de una funcionalidad en producción, utilizando Feature Flags y pruebas automáticas. El ejemplo me gusta porque permite unificar en un flujo el trabajo de varios asistentes (el que hace programas, el que hace deploy, el que prueba, etc0  Caso de uso: Automatización inteligente de una nueva funcionalidad Escenario: Queremos incorporar una nueva forma de calcular precios en un sistema core,...

Incorporar asistentes en aplicaciones GeneXus.

Imagen
Estuve haciendo algunas pruebas la semana pasada, para ver cuan maduras estaban las herramientas que tengo disponibles para la incorporación de agentes de inteligencia artificial en aplicaciones Genexus que le agregue valor a los usuarios.  Las cosas que probé: Globant Enterprise AI WorkWithPlus con AI DeepSeek local GeneXus Next Globant Enterprise AI Curso GEAI , Documentación y Consola   Es una excelente herramienta para diseñar diferentes tipos de asistentes (Chat, RAG, Data, API, etc) y tiene un lugar para probar como funcionan. Es muy bueno para probar como funcionan los diferentes modelos de AI que tiene el mercado, sin quedarse atado a ninguno. Esconde la complejidad de la conexion con los diferentes modelos de lenguaje y unifica la interfaz, de forma que es facil integrar con sistemas Genexus (y no GeneXus también).   Esta pensado para un ambiente empresarial y tiene un costo asociado por uso. Es muy recomendable, para aplicaciones Genexus y no GeneXus que q...

KBDoctor para GeneXus 18

Ya van varios que me preguntan que no encuentran el KBdoctor para Genexus 18 en el marketplace.  El motivo de esto es que cuando quise subirlo (2023) , no pude hacerlo por una validación que agregaron a las dll y estaba funcionando mal y no me dejaba pasar al proceso de verificación humana (ni siquiera me dejaba subirlo).  Para dejarlo disponible, lo que hice fue subir un zip al wiki de la comunidad, para que puedan bajarlo de ahi.  Los pasos son: Bajar KBDoctor_gx18.zip    Marcar el zip como seguro en Windows Deszipear el contenido en el directorio <InstalacionGX18>/Packages sin usar subdirectorios Ejecutar un GeneXus /install

Codigo generado con Genexus integrado al desarrollo tradicional

Imagen
En la comunidad de GeneXus, muchos estamos acostumbrados a ver el código Java y C# generado como un simple paso intermedio para obtener nuestras aplicaciones finales. Es casi equivalente al “Java Bytecode” o al “CIL (Common Intermediate Language)” de .NET: algo que cumple un rol técnico, pero que rara vez requiere manipulación humana directa. Sin embargo, cuando llega el momento de entregar una aplicación a un cliente que no utiliza GeneXus —o que no está dispuesto a integrarlo en su proceso—, surgen algunos desafíos. El código generado, visto desde fuera, puede ser poco intuitivo y difícil de mantener mediante herramientas habituales en desarrollo nativo, como Visual Studio, GitHub y otros entornos de programación. Dificultades para la integración sin GeneXus Cuando un cliente no desea incorporar GeneXus a su proceso, necesita un acceso lo más “limpio” posible al código fuente. Sin embargo, el desarrollador nativo que abre estos archivos suele encontrar: Complejidad Estructural: Pat...

Cambio en la forma de encriptar parametros en GX17

Imagen
 Estamos en medio de una migración de GX16 a GX18.  Un usuario nos reportó un problema, con links viejos que tenia en un QR (generado en GX16) que daba error al acceder a la aplicación en GX18.  El error que da es  403 - Forbidden: Access is denied. Investigando el tema, encontramos que se cambió en el SAC 49927 SAC #49927: Se cambia la función de encriptación de parámetros para usar el alfabeto Base64 URL Safe Abstract Se cambia el mecanismo de encriptación de parámetros (cuando se tiene Encrypt URL Parameters <> None). Se pasa a utilizar una función que retorna un string con caracteres del alfabeto Base64 URL Safe. Con esto se evita generar caracteres del alfabeto Base64 como la barra (/) o el signo de más (+). Descripción Detallada Hasta el momento la función de encriptación de parámetros generaba un string del alfabeto Base64. Esto incluye los caracteres: 62: / 63: + Que el Query String de la URL (encriptada) venga con esos caracteres podría causar algunos...

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Imagen
 Estoy leyendo el libro " Designing Data-Intensive Application " (es viejo, pero es muy recomendable)    Cubre casi todos los temas que aparecen en aplicaciones que manejan muchos datos.  Tambien cubre bien las aplicaciones distribuidas.  Es una pena que no lo leyera antes. Lo recomiendo.  Anuncian una segunda edicion para fin de 2025.  Por lo que pude leer en lo que llevan liberado , va a estar mejor aun que la primer versión. 

Posibles agentes y asistentes para el desarrollo de aplicaciones en GeneXus

Imagen
Estamos presenciando una etapa donde se van a producir en poco tiempo la aparición de asistentes o agentes que nos ayuden con la tarea de desarrollar aplicaciones.  Con el fin de imaginarme cómo puede ser el desarrollo futuro, me puse a pensar cuales serian algunos de los posibles asistentes se podrían desarrollar y evaluar ventajas de los mismos.  1. Análisis de Requerimientos Agente de Recolección de Requerimientos: Captura requisitos a través de texto o conversaciones con el cliente. Identifica contradicciones en los requerimientos.  Sugiere modelos iniciales basados en ejemplos previos. Genera historias de usuario o especificaciones funcionales. Asistente de Priorización: Ayuda a priorizar requerimientos utilizando técnicas como MoSCoW o análisis de valor. 2. Diseño Agente de Prototipado Rápido: Genera prototipos visuales interactivos basados en la definición de requerimientos. Sugiere layouts optimizados para UX/UI según las mejores prácticas. Asistente de Arquitect...