La revolución del código impulsada por la IA: uniendo la programación tradicional y la neurosimbólica

Los modelos de IA generativa, en particular los modelos de lenguaje grande (LLM), han experimentado un aumento en su adopción en diversas industrias, transformando el panorama del desarrollo de software. A medida que las empresas y las nuevas empresas integran cada vez más los LLM en sus flujos de trabajo, el futuro de la programación experimentará cambios significativos.

Históricamente, ha dominado la programación simbólica, donde los desarrolladores utilizan código simbólico para expresar la lógica de las tareas o la resolución de problemas. Sin embargo, la rápida adopción de los LLM ha despertado el interés en un nuevo paradigma, la programación neurosimbólica, que combina redes neuronales y código simbólico tradicional para crear algoritmos y aplicaciones sofisticados.

Los LLM operan procesando entradas de texto y generando salidas de texto, siendo actualmente la ingeniería rápida el principal método de programación con estos modelos. Este enfoque depende en gran medida de la creación de las indicaciones de entrada correctas, una tarea que puede resultar compleja y tediosa. Las complejidades de generar mensajes apropiados a partir de construcciones de código existentes pueden reducir la legibilidad y el mantenimiento del código. Para abordar estos desafíos, han surgido varias bibliotecas de código abierto y esfuerzos de investigación, como LangChain, Guidance, LMQL y SGLang. Estas herramientas tienen como objetivo simplificar la construcción de indicaciones y facilitar la programación de LLM, pero aún requieren que los desarrolladores decidan manualmente el tipo de indicaciones y la información que se incluirán.

La complejidad de la programación LLM se debe en gran medida a la necesidad de una mayor abstracción al interactuar con estos modelos. En la programación simbólica convencional, las operaciones se realizan directamente sobre variables o valores escritos. Sin embargo, los LLM operan con cadenas de texto, lo que requiere la conversión de variables en indicaciones y el análisis de los resultados del LLM nuevamente en variables. Este proceso introduce lógica y complejidad adicionales, destacando un desajuste fundamental entre las abstracciones de LLM y la programación simbólica convencional.

Para abordar esto, un nuevo enfoque propone tratar los LLM como construcciones de código nativo y brindar soporte de sintaxis a nivel del lenguaje de programación. Este enfoque introduce un nuevo tipo de “significado” que sirve como abstracción para las interacciones LLM. “Significado” se refiere al propósito semántico detrás de los datos simbólicos (cadenas) utilizados como entradas y salidas de LLM. El tiempo de ejecución del lenguaje debería automatizar el proceso de traducción de significados y construcciones de código convencionales, denominadas Transformaciones de tipo de significado (MTT), para reducir la complejidad del desarrollador.

Se introduce una característica novedosa del lenguaje, cadenas semánticas (semstrings), para permitir a los desarrolladores anotar construcciones de código existentes con contexto adicional. Las semstrings permiten la integración perfecta de los LLM al proporcionar el contexto y la información necesarios, facilitando la Transformación Automática de Tipo de Significado (A-MTT). Esta automatización abstrae la complejidad de la generación de mensajes y el análisis de respuestas, lo que facilita a los desarrolladores aprovechar los LLM en su código.

A través de ejemplos de código real, se demuestra que el concepto de A-MTT agiliza las operaciones de código simbólico comunes, como la creación de instancias de objetos de tipo personalizado, llamadas a funciones independientes y métodos de miembros de clase. La introducción de estas nuevas abstracciones y características del lenguaje representa una contribución significativa al paradigma de programación, permitiendo una integración más eficiente y mantenible de los LLM en la programación simbólica convencional. Este avance promete transformar el futuro de la programación, haciéndola más accesible y menos engorrosa para los desarrolladores que trabajan con modelos de IA generativa.


Revisar la Papel. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, no olvides seguirnos en Gorjeo. Únete a nuestro Canal de telegramas, Canal de discordiay LinkedIn Grarriba.

Si te gusta nuestro trabajo, te encantará nuestro Boletin informativo..

No olvides unirte a nuestro SubReddit de 42k+ ML


Arshad es pasante en MarktechPost. Actualmente cursa su carrera internacional. Maestría en Física del Instituto Indio de Tecnología Kharagpur. Comprender las cosas hasta el nivel fundamental conduce a nuevos descubrimientos que conducen al avance de la tecnología. Le apasiona comprender la naturaleza fundamentalmente con la ayuda de herramientas como modelos matemáticos, modelos de aprendizaje automático e inteligencia artificial.