La inteligencia artificial está revolucionando el mundo laboral, convirtiéndose en una herramienta esencial para profesionales de diversas áreas. Desde científicos que buscan nuevas ideas de investigación hasta CEOs que desean automatizar tareas en recursos humanos o finanzas, los agentes de IA están demostrando ser aliados inesperados. Estos sistemas semiautónomos son capaces de invocar inteligencia artificial en momentos clave para resolver problemas y llevar a cabo tareas específicas.
Los agentes de IA destacan especialmente cuando utilizan modelos de lenguaje grandes (LLMs), gracias a su potencia, eficiencia y adaptabilidad. Para programar esta tecnología, se puede describir en código lo que se desea que el sistema realice, incluyendo cuándo debe utilizar un LLM. Por ejemplo, si una empresa de software busca modernizar su código antiguo para optimizarlo y hacerlo más seguro, podría crear un sistema que utilice un LLM para traducir el código archivo por archivo, probando cada uno a medida que avanza.
No obstante, ¿qué sucede si los LLM cometen errores? Es fundamental que el agente retroceda y realice otro intento, aprendiendo de sus fallos anteriores. Implementar esta lógica puede ser tan laborioso como desarrollar el agente original; si el sistema para traducir un código contiene miles de líneas, se requeriría modificar o añadir miles de líneas más para soportar la lógica del retroceso ante errores de los LLM.
Innovación con EnCompass
Para aliviar esta carga sobre los programadores, investigadores del Laboratorio de Ciencias de la Computación e Inteligencia Artificial (CSAIL)“EnCompass”. Este innovador sistema permite a los programadores evitar tener que realizar estas modificaciones manualmente.
Cuando EnCompass ejecuta un programa, automáticamente retrocede si detecta errores en los LLMs. Además, tiene la capacidad de crear clones del tiempo de ejecución del programa para realizar múltiples intentos en paralelo en búsqueda de la mejor solución posible. De manera general, EnCompass explora diferentes caminos posibles que podría tomar el agente a partir de las distintas salidas generadas por las llamadas a los LLMs.
Los programadores solo necesitan anotar las ubicaciones donde podrían querer retroceder o clonar el tiempo de ejecución del programa y registrar cualquier información útil relacionada con la estrategia utilizada para buscar entre las diferentes rutas posibles. Posteriormente, pueden especificar la estrategia de búsqueda —ya sea utilizando una proporcionada por EnCompass o implementando una estrategia personalizada—.
Estrategias personalizadas y eficiencia
"Con EnCompass hemos separado la estrategia de búsqueda del flujo de trabajo subyacente del agente de IA", afirma Zhening Li, autor principal y estudiante de doctorado en ingeniería eléctrica y ciencias computacionales en MIT. "Nuestro marco permite a los programadores experimentar fácilmente con diferentes estrategias para encontrar la que mejor rendimiento le brinde al agente".
EnCompass ha demostrado ser particularmente efectivo con agentes implementados como programas en Python que llaman a LLMs, logrando reducir el esfuerzo necesario para implementar búsqueda hasta en un 80% en diversos agentes. Esto incluye aplicaciones como la traducción de repositorios de código y la identificación de reglas de transformación en redes digitales.
El futuro promete aún más: EnCompass podría facilitar que los agentes aborden tareas a gran escala, desde gestionar enormes bibliotecas de código hasta diseñar experimentos científicos o crear planos para cohetes y otros dispositivos tecnológicos.
Puntos clave: Branchpoints y estrategias efectivas
Al programar su agente, es crucial marcar operaciones específicas —como las llamadas a un LLM— donde los resultados pueden variar. Estas anotaciones se conocen como “branchpoints”. Si se imagina el programa del agente como una narrativa lineal, añadir branchpoints convierte esa historia en un juego interactivo donde cada decisión puede llevar a diferentes desenlaces futuros.
Los usuarios pueden especificar cómo EnCompass navegará por esta narrativa buscando el mejor final posible. Esto puede incluir lanzar hilos paralelos o retroceder a un branchpoint anterior si se encuentra atrapado en un callejón sin salida.
Además, los usuarios tienen la opción de utilizar algunas estrategias comunes proporcionadas por EnCompass o definir su propia estrategia personalizada. Por ejemplo, se puede optar por una búsqueda mediante árbol Monte Carlo o búsqueda por haz (beam search), lo cual facilita experimentar con diferentes enfoques hasta encontrar la mejor estrategia para maximizar las probabilidades de éxito.