martes, 23 de agosto de 2011

En la siguiente década las máquinas programarán por nosotros

AI.

AI es la abreviatura de Artificial Intelligence, y también es la forma en que se pronuncia el kanji de la izquierda. Ai en japonés significa amor. Este post va de lo primero, inteligencia artificial.

Leyendo acerca de La Singularidad (he añadido una referencia más abajo, en el post del Ensayo sobre el Cerebro Humano) y entendiendo las capacidades de las redes neuronales artificiales actuales, he llegado a la conclusión de que la ingeniería informática tiene los lustros contados, y que la consultoría de desarrollo e implantación de sistemas tal como la conocemos hoy día, también.

La programación entrega soluciones mediante el uso de un determinado lenguaje que utiliza los elementos disponibles en un sistema. La parte concreta y conocida son los elementos del sistema y cómo responden, el trabajo del ingeniero informático es el análisis del problema y entregar la solución mas segura y eficiente con los elementos disponibles.

Dado un problema, el ingeniero hace las preguntas adecuadas al que plantea el problema para determinar la implementación de la solución. Si coges dos ingenieros, la solución implementada será distinta, seguramente subóptima, y es probable que las conversaciones con uno y con otro sean totalmente distintas.

El día que seamos capaces de cambiar el ingeniero por una AI conseguiremos cosas increíbles. Conseguiremos hablar con la AI para especificarle el problema, y la AI nos irá haciendo preguntas para ir concretando progresivamente la solución. La AI dirigirá la conversación haciendo todas las preguntas necesarias para no dejar ningún cabo suelto. Seguramente al principio siga siendo necesario el ingeniero, para hablar el idioma de la AI, pero con el tiempo será cada vez menos necesario.

La ventaja es que la AI será capaz de programar a velocidad de vértigo, probar diferentes soluciones, incluso volumetrías, y codificar sin errores. El código será altamente eficiente y seguro, y probablemente sólo sea diferente si la especificación (la conversación con la AI) es diferente.

De hecho, estoy seguro de que HOY ES PERFECTAMENTE VIABLE desarrollar un sistema que sea capaz de escribir preguntas y escuchar respuestas para programar partes sencillas de código. Luego, sólo habría que construir sobre esa base, para hacer programas y proyectos más y más complejos.

Diseñé un software tremendamente complicado hace unos años, disponía de un equipo de lujo entonces, y me siento muy orgulloso de aquel trabajo, aunque tuvo un coste personal muy importante para la mayoría. Estoy totalmente seguro de que sería capaz de crear algo así, y me encantaría hacerlo. Me parece un interesantísimo desafío.

2 comentarios:

Malkavoran dijo...

Que te detiene? recursos?

Ricard Bou dijo...

Sí, tiempo y dinero, claro.

Por cierto, un paso en esa dirección:
aquí.