Lógica de bucle automatizada
El 19 de agosto, tres investigadores de la Universidad de Columbia Británica publicaron un artículo titulado "Diseño automatizado de sistemas de agentes inteligentes". En este artículo, diseñaron un sistema que permite a la IA descubrir y construir agentes por sí misma, e incluso iterarse.
Recordemos la definición clásica de OpenAI de un agente: un producto capaz de almacenar conocimiento, planificar y aplicar herramientas.
Cuando construimos agentes utilizando flujos de trabajo, también utilizamos el conocimiento existente (conocimiento sobre las formas de los agentes), planificamos nosotros mismos (construyendo procesos) y utilizamos herramientas (conectando APIs) para ejecutar y producir, sin exceder las capacidades del propio agente.
Entonces, ¿por qué no construir un agente que pueda descubrir y diseñar agentes automáticamente?
Los autores del artículo siguieron esta línea de pensamiento, llamando al diseñador un meta-agente, y lo hicieron diseñar nuevos agentes. Los agentes diseñados se agregan a la base de datos como material, iterando constantemente para crear versiones nuevas y más potentes de los agentes.
Llamaron a todo este método ADAS (Diseño Automatizado de Sistemas de Agentes).
Poniendo en marcha la cadena
El proceso de generación de nuevos agentes en el sistema ADAS se puede dividir en tres partes:
La primera parte establece el espacio de búsqueda, que se puede entender como el diseño de nuevos agentes potenciales a través de algunas herramientas y reglas básicas.
La segunda parte es ejecutar el algoritmo de búsqueda, que define cómo el meta-agente utiliza el espacio de búsqueda para tomar elementos y construir concretamente nuevos agentes.
La última parte es ejecutar la función de evaluación, que evaluará los agentes construidos según objetivos como el rendimiento.
Los investigadores explicaron paso a paso en el artículo cómo construir estas tres partes centrales.
Primero, hay que determinar los elementos básicos para construir el espacio de búsqueda. Los investigadores creen que el mejor método es el código.
Esto se debe a que el código tiene completitud de Turing y puede expresar todas las posibilidades. Por lo tanto, teóricamente, el meta-agente puede descubrir cualquier bloque de construcción posible (como indicaciones, uso de herramientas, flujos de control) y sistemas de agentes que combinen estos bloques de construcción de cualquier manera.
Más importante aún, los diversos flujos de trabajo que ya existen en sitios web como Langchain para construir agentes ya han sido codificados. Por lo tanto, los datos relevantes están al alcance de la mano y no necesitan ser convertidos. Y las llamadas a herramientas, como los componentes de capacidad como RAG (generación aumentada por recuperación), ya tienen una base de código muy sólida.
El uso de código para construir el espacio de búsqueda también significa que los agentes generados por ADAS pueden ejecutarse directamente, usarse para corrección de errores y puntuación, sin necesidad de intervención humana.
Una vez definido el espacio de búsqueda, los investigadores comenzaron a diseñar el algoritmo de búsqueda, es decir, hacer que el meta-agente explore métodos posibles para completar tareas. Este proceso se completa principalmente mediante ingeniería de indicaciones.
Primero, se le da una serie de indicaciones del sistema.
Luego, se le proporciona al meta-agente el material mencionado en el Prompt básico, incluyendo:
-
Descripción básica de la tarea.
-
Código de marco más básico, como nombres de operaciones de formateo de indicaciones, encapsulación, y la capacidad de llamar a otros modelos básicos (FM) y APIs.
-
Formato y ejemplos de entrada y salida de la tarea.
-
Una biblioteca de ejemplos formada por algunos agentes generados en iteraciones anteriores, incluidos sus resultados de pruebas de referencia.
Basándose en estas indicaciones básicas, ADAS puede comenzar a operar y generar un agente para resolver un problema específico.
En este proceso, el meta-agente realizará dos rondas de reflexión para garantizar que el agente generado sea novedoso y correcto. Comprobará si hay errores en el nuevo marco de código generado y si es lo suficientemente innovador en comparación con los resultados anteriores en la biblioteca de ejemplos de agentes.
El meta-agente también necesita realizar una evaluación preliminar del agente generado basándose en su "comprensión" de las capacidades de rendimiento práctico, juzgando si es mejor que los agentes anteriores.
Cuando algunas de estas condiciones no se cumplen, el meta-agente debe modificar el agente generado o simplemente volver a empezar desde cero.
Después de dos rondas de reflexión y modificación, el meta-agente enviará el nuevo agente generado que considera nuevo y bueno al sistema de evaluación en el tercer paso.
El sistema de evaluación dará una puntuación objetiva a las capacidades de este agente basándose en pruebas de referencia, y luego lo devolverá a la biblioteca de ejemplos de agentes.
El meta-agente continuará la siguiente iteración de optimización basándose en los resultados de puntuación anteriores y los ejemplos anteriores en la biblioteca de ejemplos, para lograr una puntuación de rendimiento de tarea más alta.
Una cadena completamente automatizada nace en este proceso. Y para generar un agente con excelentes efectos, puede ser necesario realizar más de diez iteraciones.
Superando a los agentes hechos a mano
¿Qué tan complejos pueden ser los agentes obtenidos a través del método ADAS automatizado? La siguiente imagen muestra el marco de un agente generado después de 14 iteraciones.
En la estructura de este agente, hay cinco cadenas de pensamiento que dan respuestas preliminares. Después de que tres modelos expertos y un modelo que imita la evaluación humana den retroalimentación sobre estas respuestas, estas respuestas se modificarán y fortalecerán tres veces en la etapa de optimización. Finalmente, se seleccionan tres resultados después de la evaluación, que se combinan para dar la respuesta final.