Al integrar funciones de IA generativa en los programas, podemos crear mecanismos que antes eran inalcanzables con la programación convencional.
Además, a medida que la IA generativa sea capaz de la generación automática de programas, podremos crear y ejecutar programas de forma libre y sencilla tal como los concebimos.
Hasta ahora, he creado sistemas que traducen mis artículos de blog al inglés y los publican en un blog en inglés, crean videos explicativos a partir de videos de presentación y los suben a YouTube, y generan y publican mi propio sitio de blog con índices, categorías y etiquetas.
De esta manera, un mecanismo que utiliza contenido original como materia prima e incorpora funciones de IA generativa para producir diversos contenidos derivados puede denominarse Fábrica Intelectual.
Además, he creado una aplicación web para operar esta Fábrica Intelectual y gestionar su estado, haciéndola accesible tanto en PC como en smartphones. Adicionalmente, las partes que manejan el procesamiento automático activado por eventos se ejecutan en máquinas virtuales preparadas para el procesamiento por lotes más allá del backend.
Así, desarrollé los frontends de PC y smartphone, el backend del servidor web, el procesamiento por lotes en máquinas virtuales y la infraestructura para estos, todo por mi cuenta con el apoyo de la IA generativa.
Esto no es meramente ingeniería full-stack, sino que puede denominarse Ingeniería Omnidireccional, que desarrolla de forma integral diversos aspectos de un sistema.
Además, al mejorar aspectos de la aplicación web desarrollada que son inconvenientes de usar o al agregar nuevas funcionalidades, puedo encargar la programación a la IA generativa, lo que permite realizar mejoras fácilmente durante el uso.
Esto es incluso más flexible y fluido que el software convencional, lo que me permite crear algo que se ajusta perfectamente a mi uso. A esto lo llamo Liquidware.
Yo mismo los he desarrollado y los estoy utilizando. Esto no es solo un concepto; ya es la realidad del desarrollo de software.
Aunque aún no está desarrollada, en el campo de los sistemas de negocio, anticipo que la metodología de desarrollo Orientado a Procesos de Negocio se convertirá en una realidad.
Este es un enfoque que no busca la optimización general de los programas, lo que complica los sistemas, sino que divide los módulos de software en Procesos de Negocio individuales.
Solo la definición del marco básico de la interfaz de usuario, la gestión de privilegios de usuario y los modelos de datos que deben compartirse entre Procesos de Negocio se comparten como el marco exterior del sistema de negocio.
Otros procesos internos del sistema y datos temporales se gestionan en la unidad del Proceso de Negocio.
Podría haber funciones o estructuras de datos dentro de estos que puedan ser compartidas por dos o más Procesos de Negocio. Sin embargo, si se convierten en módulos compartidos o librerías personalizadas, si bien mejora la reutilización del código y la calidad, la estructura del software se vuelve compleja, y los cambios exigen una consideración constante de su impacto en otros Procesos de Negocio.
En una situación en la que la IA generativa genera programas automáticamente, las desventajas de esta última superan las ventajas de la primera. Por lo tanto, el enfoque Orientado a Procesos de Negocio, que enfatiza la Optimización Individual en lugar de la optimización general, se vuelve racional.
Además, imagine unidades como "ingresar información básica de un nuevo empleado", "actualizar información básica de un empleado" o "buscar empleados por nombre" como Procesos de Negocio individuales.
En las metodologías de desarrollo tradicionales, cada interfaz de usuario, proceso de frontend, proceso de backend y proceso por lotes se separarían en diferentes archivos en diferentes directorios. Además, cada uno sería desarrollado por un ingeniero diferente.
Sin embargo, cuando un solo ingeniero realiza la Ingeniería Omnidireccional al hacer que la IA generativa se encargue de la programación, tiene más sentido consolidar el código requerido para un Proceso de Negocio en un solo archivo o carpeta.
Además, los resultados del análisis de requisitos, las especificaciones de prueba, los resultados de las pruebas y los registros de revisión también pueden consolidarse en la misma ubicación.
Esto permite la gestión de todos los artefactos de ingeniería de software a nivel de un único Proceso de Negocio. Y, dado que no es necesario considerar la optimización general, las mejoras pueden centrarse dentro de ese Proceso de Negocio, y se pueden añadir fácilmente nuevos Procesos de Negocio al sistema de negocio.
De esta manera, el desarrollo de programas y lo que se puede desarrollar con programas están experimentando cambios significativos debido a la IA generativa. Esto no es un escenario futuro; ya es el presente, y en un futuro cercano, su sofisticación solo puede seguir avanzando, y la siguiente etapa debe, inevitablemente, ir más allá.
Sistemas de Simulación
Lo que se puede lograr a través de programas no se limita a los sistemas de negocio y las fábricas intelectuales mencionados aquí.
Las áreas restantes que no he mencionado pueden clasificarse ampliamente como sistemas de simulación.
Ya sea resolviendo ecuaciones físicas simples con una única fórmula analítica o calculando fenómenos físicos complejos con programas iterativos, ambos pueden considerarse sistemas de simulación.
Además, los sistemas de simulación pueden utilizarse no solo en física, sino también en química, biología, sociología, economía y otros campos. Más allá de lo académico, las simulaciones también se aplican en ingeniería, medicina, operaciones institucionales y gestión empresarial.
Los juegos también son un tipo de sistema de simulación. En cualquier juego, la física, la sociedad, las reglas y otros aspectos dentro del Mundo de ese juego están, en cierto sentido, siendo simulados.
Más allá de eso, también realizamos una especie de simulación cuando planificamos nuestras vidas, viajes o cómo gastar nuestro dinero de bolsillo.
Estas simulaciones se han llevado a cabo de diversas maneras: creando y ejecutando programas, calculando ecuaciones en papel, pensando en nuestras cabezas, organizando ideas con texto y flechas en una pizarra, o dibujando gráficos en Excel.
Desarrollar un programa de simulación para un problema específico permite simulaciones más complejas que las ecuaciones analíticas. Sin embargo, requiere habilidades de desarrollo de programación, esfuerzo y tiempo.
También requiere clarificar el modelo de simulación, lo que a su vez exige habilidades, esfuerzo de consideración y tiempo.
Además, las simulaciones se han limitado a lo que puede expresarse de forma programática, y anteriormente solo lo que podía expresarse computacionalmente podía simularse.
La IA generativa está cambiando significativamente esta situación.
La IA generativa no solo puede desarrollar fácilmente programas de sistemas de simulación, sino que al incorporar la IA generativa en los sistemas de simulación, también se pueden simular elementos que no se pueden expresar matemáticamente. Esto permite elementos de simulación cualitativos ambiguos y simulaciones que involucran agentes inteligentes similares a los humanos.
Además, estos modelos de simulación pueden expresarse no solo matemáticamente, sino también en lenguaje natural e interpretarse por la IA generativa.
Esto facilitará la conversión de las diversas simulaciones que hemos realizado en muchas situaciones en sistemas de simulación.
Como resultado, podremos obtener resultados de simulación más precisos, eficientes y efectivos, con una posibilidad reducida de pasar por alto detalles o introducir sesgos.
Además, al considerar o discutir problemas complejos, podremos utilizar un sistema de simulación para la consideración y discusión, en lugar de depender de simulaciones mentales individuales.
Esto mejora la precisión de la consideración y hace que las discusiones sean más constructivas. En lugar de señalar la inteligencia o los errores de pensamiento de los demás, las discusiones pueden centrarse en puntos claros como los modelos subyacentes de la simulación, cualquier omisión o elemento faltante, cómo se estiman las partes altamente inciertas y qué métricas entre los resultados se priorizan.
A medida que los sistemas de simulación se vuelvan fáciles de crear, nuestra forma de pensar pasará del pensamiento lineal, que se centra en la intuición, las suposiciones y la malicia o los errores de los demás, al Pensamiento de Simulación.
Esto es como buscar en Internet en un smartphone durante una discusión para verificar fuentes de noticias, Wikipedia o fuentes primarias. Ya no habrá necesidad de discusiones interminables que dependan únicamente de la memoria de cada uno.
Durante una discusión, la IA generativa organizará el modelo de simulación, las reglas de simulación y las condiciones previas a partir del contenido de la discusión.
Los participantes en la discusión solo necesitan añadir o corregir información y premisas en ese modelo y reglas, y luego verificar los resultados de la simulación. Al igual que al encontrar una fuente de noticias creíble, estos resultados de simulación pueden servir como base común para profundizar la discusión.
Esto significa que las personas que escuchen la discusión ya no vivirán en una era en la que necesiten reflexionar sobre quién tiene razón o quién es digno de confianza. Tampoco perderán de vista la esencia al intentar comprender términos y conceptos técnicos arcanos que aparecen en la discusión.
Solo necesitarán considerar cosas muy simples: cómo evaluar la incertidumbre y qué valores priorizar.