Preparando tu KB GeneXus para Aplicaciones de Inteligencia Artificial
En el desarrollo moderno, donde la IA se integra cada vez más en la creación y mantenimiento de aplicaciones, GeneXus ya ha mostrado que en su próxima versión vamos a tener dentro del IDE y vamos a poder generar asistentes de inteligencia artificial.
Como desarrollador GeneXus, ¿que es lo que puedo hacer hoy en las versiones liberadas, para prepararme para ese desafío?
Las herramientas de inteligencia artificial en su estado actual, necesitan descripciones textuales para poder entender los elementos con los que operan. Por lo tanto, tenemos que tener claro que vamos a tener que mejorar la metadata que describe nuestros objetos.
¿Por qué la metadata es tan importante?
Describe la intención y contexto de cada componente, no solo su estructura técnica.
Permite a herramientas de IA entender cómo reutilizar, adaptar o proponer cambios en base a la semántica.
Facilita la generación de pruebas, documentación y migraciones automatizadas.
A continuación, paso una lista de las tareas que a mi me sirvieron para poder incorporar agentes a la KB
Prácticas clave para una KB lista para IA
1) Eliminar lo que no se usa
A las herramientas y agentes, hay que brindarle cuales son los objetos que debe usar en forma clara. Tener en la KB objetos que no se usan, dificulta mucho esta tarea.Revisa y borra: atributos que no estén en tablas, objetos no alcanzables, objetos main no usados, tablas sin uso y variables no utilizadas.
Si hay objetos en folder Borrar, To_Delete, etc o con nombres del tipo _BACKUP, *_borrar, etc hay que hacer un esfuerzo y borrarlos.
Para esto hay herramientas como el KBDoctor, VariableCleaner que puede ayudarte.
2) Mejora los campos Description y Documentation de los objetos
Completa el campo Description en cada objeto, describiendo QUE ES ese objetoEl orden de importancia que yo le doy a esto es:
- Tablas
- Atributos
- API
- Objetos con UI mas usados (si tenes Google Analytics es facil hacer una lista)
- Resto de los objetos
Para objetos con UI, en el tab Documentation, escribe el PARA QUE de ese objeto o sea la intención de uso de la pantalla: qué operación realiza, en qué contexto se usa y a qué usuarios está dirigida.
Los nombre de los eventos, es bueno que tenga nombres que indique que operacion hacen desde el punto de vista del usuario, asegurándote de que tengan nombres claros que reflejen exactamente qué acción ejecutan (ValidarCamposEntrada, ConfirmarPago, EnviarNotificacionCliente).
3) Nombrar con intención
Evita nombres genéricos (Procedure1, Prompt1).
Usa nombres que expliciten acción y contexto: GenerarFacturaPDF, CalcularRetencionesProveedor.
Siempre pensar en para que va a usarse el objeto que estoy nombrando y describiendo.
Tener objetos chicos que solo hacen una cosa, facilita muchísimo ponerle nombre.
4) Modularizar la KB
La inteligencia artificial funciona mejor si trabaja con un conjunto chico de objetos. En KB grandes, conviene clasificar las tablas y objetos en módulos para reflejar los grupos funcionales de la aplicación y esto ayuda a tener contextos mas limitados para ciertos problemas.
Agrupa objetos por contexto funcional, no solo por tipo técnico, por ejemplo:
- DatosBasicos/Clientes,
- DatosBasicos/Depositos,
- Facturacion,
- Cobranza.
5) Hacer explícita las funciones que cada modulo expone como servicio.
Si queremos que los agentes de inteligencia artificial usen los servicios provistos por nuestra KB, es bueno crear objetos API con nombres claros, parámetros significativo y una buena explicación de que es lo que hacen para que sea fácil a los agentes hacer llamadas a dichas API.
Consistencia en la forma de pasar parámetros y resultados. Usar formatos legibles para IA: JSON, YAML o tablas de base de datos.
6) Encontrar y agrupar las pantallas parecidas
Es común que en las aplicaciones tengamos patrones de pantallas (aunque no sean generadas con herramientas de GeneXus Patterns), sino que son pantallas que se usan de una forma consistente en todo el sistema.
Es bueno tener esos objetos catalogados (puede ser en categorías) de forma de luego poderle dar a los agentes un conjunto de objetos sobre los que trabajar.
7) Crear y mantener un glosario de sinónimos
Empieza a generar una lista de sinónimos y términos equivalentes que tus usuarios usan para referirse a entidades y atributos clave. Para esta tarea, podemos usar inteligencia artificial.
Esto aun no tiene un lugar claro para guardar en la KB, pero es de mucha ayuda cuando hacemos agentes que sean usados por público diverso y mas si es de diferentes paises.
Facilita la comprensión de la KB por parte de la IA mejorando la precisión de asistentes de lenguaje natural o chatbots. Por ejemplo:
Término Sinónimos
Cliente Usuario, Comprador, Consumidor, CuentaCliente
Depósito Almacén, Bodega, CentroDistribución, StockLocation
Ciudad Localidad, Municipio, Población, CiudadResidencia
Beneficios concretos
Si se aplican estos cambios, que ninguno es demasiado complejo, se tendrán varios beneficios:
- Acelera la incorporación de asistentes a una KB existente
- Facilita la migración o refactorización asistida por IA, haciendo mas fácil el mantenimiento
- Potencia la precisión de asistentes conversacionales al entender sinónimos y términos usados por los usuarios finales.
Conclusión
Invertir en una buena estructura de metadata no es opcional: es la base para integrar inteligencia artificial en tu proceso de desarrollo. Empieza hoy a hacer explícita la intención de cada componente y a mantener un glosario de términos usados por tus usuarios: tu KB GeneXus se convertirá en una fuente de conocimiento vivo, lista para trabajar codo a codo con herramientas de IA.
Aunque aún no vayas a incorporar herramientas de IA, es un trabajo que se puede adelantar, es indispensable para lo que se viene y lleva bastante trabajo, por lo que conviene anticiparse en lo posible. Es una tarea que puede ser hecha por usuarios con conocimiento funcional de la aplicación, sin necesitad de grandes conocimientos técnicos.
Comentarios
Publicar un comentario
1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.