Ya sea que sea un científico que intercambia ideas de investigación o un director ejecutivo que espera automatizar una tarea en recursos humanos o finanzas, descubrirá que las herramientas de inteligencia artificial se están convirtiendo en los asistentes que no sabía que necesitaba. En particular, muchos profesionales están aprovechando los talentos de los sistemas de software semiautónomos llamados agentes de IA, que pueden recurrir a la IA en puntos específicos para resolver problemas y completar tareas.
Los agentes de IA son particularmente efectivos cuando utilizan grandes modelos de lenguaje (LLM) porque esos sistemas son poderosos, eficientes y adaptables. Una forma de programar dicha tecnología es describiendo en código lo que desea que haga su sistema (el “flujo de trabajo”), incluido cuándo debe utilizar un LLM. Si fuera una empresa de software que intentara renovar su antiguo código base para utilizar un lenguaje de programación más moderno para mejores optimizaciones y seguridad, podría crear un sistema que utilice un LLM para traducir el código base un archivo a la vez, probando cada archivo a medida que avanza.
Pero, ¿qué sucede cuando los LLM cometen errores? Querrá que el agente retroceda para hacer otro intento, incorporando las lecciones que aprendió de errores anteriores. Codificar esto puede requerir tanto esfuerzo como implementar el agente original; Si su sistema para traducir una base de código contuviera miles de líneas de código, entonces estaría realizando miles de líneas de cambios o adiciones de código para respaldar la lógica de retroceso cuando los LLM cometen errores.
Para ahorrar tiempo y esfuerzo a los programadores, investigadores del Laboratorio de Ciencias de la Computación e Inteligencia Artificial (CSAIL) del MIT y Asari AI han desarrollado un marco llamado “EnCompass”.
Con EnCompass, ya no tendrá que realizar estos cambios usted mismo. En cambio, cuando EnCompass ejecuta su programa, retrocede automáticamente si los LLM cometen errores. EnCompass también puede realizar clones del tiempo de ejecución del programa para realizar múltiples intentos en paralelo en busca de la mejor solución. En general, EnCompass busca los diferentes caminos posibles que su agente podría tomar como resultado de los diferentes resultados posibles de todas las llamadas de LLM, buscando el camino donde el LLM encuentra la mejor solución.
Luego, todo lo que tiene que hacer es anotar las ubicaciones donde desee retroceder o clonar el tiempo de ejecución del programa, así como registrar cualquier información que pueda ser útil para la estrategia utilizada para buscar las diferentes rutas de ejecución posibles de su agente (la estrategia de búsqueda). Luego puede especificar por separado la estrategia de búsqueda; puede usar una que EnCompass proporciona de forma inmediata o, si lo desea, implementar su propia estrategia de búsqueda personalizada.
“Con EnCompass, hemos separado la estrategia de búsqueda del flujo de trabajo subyacente de un agente de IA”, dice el autor principal Zhening Li ’25, MEng ’25, estudiante de doctorado en ingeniería eléctrica e informática (EECS) del MIT, investigador de CSAIL y consultor de investigación en Asari AI. “Nuestro marco permite a los programadores experimentar fácilmente con diferentes estrategias de búsqueda para encontrar la que haga que el agente de IA funcione mejor”.
EnCompass se utilizó para agentes implementados como programas Python que llaman a LLM, donde demostró ahorros de código notables. EnCompass redujo el esfuerzo de codificación para implementar la búsqueda hasta en un 80 por ciento en todos los agentes, como un agente para traducir repositorios de códigos y para descubrir reglas de transformación de redes digitales. En el futuro, EnCompass podría permitir a los agentes abordar tareas a gran escala, incluida la gestión de bibliotecas de códigos masivas, el diseño y la realización de experimentos científicos y la creación de planos para cohetes y otro hardware.
Ramificándose
Al programar su agente, marca operaciones particulares, como llamadas a un LLM, donde los resultados pueden variar. Estas anotaciones se denominan “puntos de ramificación”. Si imagina que su programa de agente genera una única trama de una historia, agregar puntos de ramificación convierte la historia en un juego de historia en el que elige su propia aventura, donde los puntos de ramificación son ubicaciones donde la trama se bifurca en múltiples líneas argumentales futuras.
Luego puedes especificar la estrategia que utiliza EnCompass para navegar ese juego de historia, en busca del mejor final posible para la historia. Esto puede incluir el lanzamiento de subprocesos de ejecución paralelos o retroceder a un punto de bifurcación anterior cuando te quedas atrapado en un callejón sin salida.
Los usuarios también pueden conectar y usar algunas estrategias de búsqueda comunes proporcionadas por EnCompass de forma inmediata, o definir su propia estrategia personalizada. Por ejemplo, podría optar por la búsqueda de árbol de Monte Carlo, que crea un árbol de búsqueda equilibrando la exploración y la explotación, o la búsqueda por haz, que mantiene los mejores resultados de cada paso. EnCompass facilita experimentar con diferentes enfoques para encontrar la mejor estrategia para maximizar la probabilidad de completar con éxito su tarea.
La eficiencia de codificación de EnCompass
Entonces, ¿qué tan eficiente es el código de EnCompass para agregar búsquedas a los programas de agentes? Según los hallazgos de los investigadores, el marco redujo drásticamente la cantidad que los programadores necesitaban agregar a sus programas de agentes para agregar búsqueda, ayudándolos a experimentar con diferentes estrategias para encontrar la que funciona mejor.
Por ejemplo, los investigadores aplicaron EnCompass a un agente que traduce un repositorio de código del lenguaje de programación Java, que se usa comúnmente para programar aplicaciones y software empresarial, a Python. Descubrieron que implementar la búsqueda con EnCompass, que implica principalmente agregar anotaciones de punto de ramificación y anotaciones que registran qué tan bien se realizó cada paso, requería 348 líneas de código menos (alrededor del 82 por ciento) que implementarla manualmente. También demostraron cómo EnCompass les permitió probar fácilmente diferentes estrategias de búsqueda, identificando la mejor estrategia como un algoritmo de búsqueda de haz de dos niveles, logrando un aumento de precisión del 15 al 40 por ciento en cinco repositorios diferentes con un presupuesto de búsqueda de 16 veces las llamadas de LLM realizadas por el agente sin búsqueda.
“A medida que los LLM se convierten en una parte más integral del software cotidiano, se vuelve más importante comprender cómo construir de manera eficiente software que aproveche sus fortalezas y solucione sus limitaciones”, dice el coautor Armando Solar-Lezama, profesor de EECS del MIT e investigador principal de CSAIL. “EnCompass es un paso importante en esa dirección”.
Los investigadores añaden que EnCompass se dirige a agentes donde un programa especifica los pasos del flujo de trabajo de alto nivel; la versión actual de su marco es menos aplicable a agentes que están completamente controlados por un LLM. “En esos agentes, en lugar de tener un programa que especifica los pasos y luego utilizar un LLM para realizar esos pasos, el propio LLM decide todo”, afirma Li. “No existe un flujo de trabajo programático subyacente, por lo que se puede ejecutar una búsqueda en tiempo de inferencia sobre cualquier cosa que el LLM inventa sobre la marcha. En este caso, hay menos necesidad de una herramienta como EnCompass que modifica la forma en que se ejecuta un programa con búsqueda y retroceso”.
Li y sus colegas planean ampliar EnCompass a marcos de búsqueda más generales para agentes de IA. También planean probar su sistema en tareas más complejas para perfeccionarlo para usos en el mundo real, incluso en empresas. Es más, están evaluando qué tan bien EnCompass ayuda a los agentes a trabajar con humanos en tareas como generar ideas sobre diseños de hardware o traducir bibliotecas de códigos mucho más grandes. Por ahora, EnCompass es un poderoso componente básico que permite a los humanos jugar con agentes de IA más fácilmente, mejorando su desempeño.
“EnCompass llega en un momento oportuno, ya que los agentes impulsados por IA y las técnicas basadas en búsquedas están comenzando a remodelar los flujos de trabajo en la ingeniería de software”, dice el profesor Yiming Yang de la Universidad Carnegie Mellon, que no participó en la investigación. “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 basada en principios de explorar cómo la búsqueda estructurada puede mejorar la generación, traducción y análisis de código. Esta abstracción proporciona una base sólida para enfoques más sistemáticos y confiables basados en búsquedas para el desarrollo de software”.
Li y Solar-Lezama escribieron el artículo con dos investigadores de Asari AI: el profesor de Caltech Yisong Yue, asesor de la empresa; y el autor principal Stephan Zheng, fundador y director ejecutivo. Su trabajo contó con el apoyo de Asari AI.
El trabajo del equipo se presentó en la Conferencia sobre Sistemas de Procesamiento de Información Neural (NeurIPS) en diciembre.