Inteligencia artificial

Nuevo marco enfocado en optimizar el rendimiento de agentes de IA mediante retroceso y búsquedas eficientes

Código en pantalla con enfoque en programación de agentes de IA
Una nueva herramienta permite a los agentes de IA optimizar su rendimiento, mejorando la interacción y la solución de problemas con modelos de lenguaje

La inteligencia artificial está transformando la manera en que los profesionales trabajan, desde científicos hasta ejecutivos. En particular, muchos están aprovechando las capacidades de sistemas de software semiautónomos conocidos como agentes de IA, que utilizan modelos de lenguaje de gran tamaño (LLMs) para resolver problemas y completar tareas.

Los agentes de IA demuestran ser especialmente efectivos al incorporar LLMs, gracias a su potencia, eficiencia y adaptabilidad. Para programar esta tecnología, se requiere describir en código el flujo de trabajo deseado, incluyendo cuándo se debe hacer uso de un LLM. Por ejemplo, una empresa de software podría implementar un sistema que utilice un LLM para traducir su código antiguo, probando cada archivo a medida que avanza.

Desafíos en la programación de agentes de IA

Sin embargo, los LLMs no son infalibles; pueden cometer errores. En este contexto, es fundamental que el agente pueda retroceder y realizar un nuevo intento, incorporando lecciones aprendidas de errores previos. Programar esta lógica puede ser tan laborioso como la implementación original del agente. Si el sistema de traducción del código contiene miles de líneas, entonces se requerirían cambios masivos en el código para soportar la lógica de retroceso.

Para facilitar esta tarea a los programadores, investigadores del Laboratorio de Ciencias de la Computación e Inteligencia Artificial del MIT (CSAIL) y Asari AI han desarrollado un marco denominado “EnCompass”.

El funcionamiento de EnCompass

Con EnCompass, ya no es necesario realizar estos cambios manualmente. Este marco permite que, al ejecutar el programa, se realice automáticamente el retroceso en caso de errores en los LLMs. Además, EnCompass puede crear clones del tiempo de ejecución del programa para realizar múltiples intentos en paralelo, buscando la mejor solución.

En términos generales, EnCompass explora las diferentes rutas posibles que puede tomar el agente como resultado de las diversas salidas de las llamadas a LLM, buscando aquella en la que se encuentra la mejor solución.

Los programadores solo necesitan anotar los lugares donde deseen que se realice el retroceso o la clonación del tiempo de ejecución, así como registrar cualquier información que pueda ser útil para la estrategia de búsqueda. También se puede especificar la estrategia de búsqueda deseada, eligiendo entre las que EnCompass ofrece o implementando una estrategia personalizada.

Beneficios de EnCompass en la programación

“Con EnCompass, hemos separado la estrategia de búsqueda del flujo de trabajo subyacente de un agente de IA”, señala Zhening Li, autor principal y estudiante de doctorado en ingeniería eléctrica y ciencias de la computación en el MIT. “Nuestro marco permite a los programadores experimentar fácilmente con diferentes estrategias de búsqueda para encontrar la que mejor optimice el rendimiento del agente de IA”.

EnCompass ha demostrado ser eficaz en agentes implementados como programas en Python que llaman a LLMs, logrando reducir el esfuerzo de codificación para implementar la búsqueda en hasta un 80%. Esto se traduce en una notable eficiencia al trabajar con agentes que traducen repositorios de código y descubren reglas de transformación de redes digitales.

Perspectivas futuras y aplicaciones de EnCompass

En el futuro, EnCompass podría permitir a los agentes abordar tareas a gran escala, como la gestión de inmensas bibliotecas de código, el diseño y la realización de experimentos científicos, y la creación de planos para cohetes y otros dispositivos. Esto representa un avance significativo en la programación de agentes de IA, facilitando a los desarrolladores la optimización de su trabajo.

Li y su equipo planean extender EnCompass a marcos de búsqueda más generales para agentes de IA, así como probar su sistema en tareas más complejas. Además, están evaluando cómo EnCompass puede ayudar a los agentes a colaborar con humanos en tareas como la elaboración de diseños de hardware o la traducción de bibliotecas de código más extensas.

“EnCompass llega en un momento oportuno, ya que los agentes impulsados por IA y las técnicas basadas en búsqueda comienzan a redefinir los flujos de trabajo en la ingeniería de software”, concluye Yiming Yang, profesor en la Universidad Carnegie Mellon. “Al separar claramente la lógica de programación de un agente de su estrategia de búsqueda en tiempo de inferencia, el marco ofrece una forma sistemática de explorar cómo la búsqueda estructurada puede mejorar la generación, traducción y análisis de código”.

Cifra Descripción
80 Porcentaje de reducción en el esfuerzo de codificación para implementar búsqueda en agentes utilizando EnCompass.
348 Reducción de líneas de código necesarias al implementar búsqueda con EnCompass en comparación con la implementación manual.
82 Porcentaje que representa la reducción de líneas de código en el caso de traducir código Java a Python usando EnCompass.
15 a 40 Porcentaje de mejora en la precisión lograda por el algoritmo de búsqueda en dos niveles aplicado en cinco repositorios diferentes.
16 Presupuesto de búsqueda en términos de LLM calls realizados por el agente sin búsqueda.