Resumen
La ingeniería de bucles es un método para diseñar una estructura iterativa en la que un agente de IA planifica, ejecuta, comprueba los resultados, reflexiona sobre las causas del fracaso y vuelve a intentarlo con el fin de alcanzar un objetivo. Está cobrando especial importancia en tareas en las que es posible verificar los resultados, como el desarrollo de software, el procesamiento de datos, la generación de documentos y la automatización de pruebas.
Este término aún no se utiliza como término académico establecido en todos los documentos normativos. Sin embargo, en la práctica, puede describirse como el concepto que sigue a la ingeniería de prompts, la ingeniería de contexto y la ingeniería de harnesses. La clave no está en «dar una buena instrucción a la IA una sola vez», sino en «crear un sistema en el que la IA pueda repetir el proceso hasta alcanzar el objetivo dentro de un entorno seguro».
La evolución de la ingeniería de la IA: de las indicaciones a los bucles
| Etapa | Pregunta clave | Papel del ser humano | Papel de la IA | Resultados principales |
|---|---|---|---|---|
| Ingeniería de prompts | ¿Cómo formular la pregunta? | Redacción de instrucciones y verificación de resultados | Generación de una única respuesta | Respuestas, borradores, fragmentos de código |
| Ingeniería de contexto | ¿Qué información de fondo proporcionar? | Suministro de documentos, ejemplos, políticas y datos | Inferencia dentro del contexto dado | Respuestas más coherentes, resultados personalizados |
| Ingeniería de arneses | ¿En qué entorno y con qué reglas va a trabajar? | Diseño de permisos, herramientas, procedimientos y normas de seguridad | Uso de herramientas dentro de un entorno definido | Flujo de trabajo controlado del agente |
| Ingeniería de bucles | ¿Cómo hacer que repita el proceso hasta alcanzar el objetivo? | Establecimiento de objetivos, restricciones, criterios de evaluación y condiciones de interrupción | Repetición de ejecución, verificación, corrección y reintento | Bucle de trabajo que se mejora automáticamente |
Ingeniería de prompts
La ingeniería de prompts es un método que consiste en redactar con precisión preguntas, órdenes, ejemplos y formatos de salida para obtener los resultados deseados de la IA. Se trata de la forma más básica de interacción y se asemeja a una estructura en la que el ser humano modifica las instrucciones y comprueba los resultados en cada ocasión.
Ingeniería de contexto
La ingeniería de contexto es un método que consiste en proporcionar al modelo documentos de referencia, políticas, información del código fuente, preferencias del usuario, estilo de salida y conversaciones anteriores, entre otros, para obtener resultados más precisos. La ventana de contexto amplia, la generación aumentada por búsqueda, la adjunción de archivos y la indexación del código fuente están relacionadas con esta etapa.
Ingeniería de arneses
La ingeniería de arneses diseña los procedimientos y las restricciones dentro de los cuales debe actuar la IA cuando utiliza herramientas y lleva a cabo varias etapas. Por ejemplo, «lee los archivos relevantes antes de modificar el código», «no realices la fusión si no se superan las pruebas», «No abras archivos que contengan información confidencial», entre otras.
Ingeniería de bucles
La ingeniería de bucles consiste en superponer un motor de ejecución iterativa sobre el entorno de trabajo controlado creado por el «harness». El agente de IA elige por sí mismo la siguiente acción para alcanzar el objetivo, utiliza herramientas, evalúa los resultados y, en caso de fallo, modifica la estrategia y vuelve a ejecutarla.
Definición fundamental de la ingeniería de bucles
La ingeniería de bucles puede definirse como el diseño de un sistema de trabajo de IA que cumple las siguientes condiciones:
- Los humanos establecen el objetivo final, los límites permitidos, los criterios de evaluación y las condiciones de interrupción.
- El agente de IA elabora un plan de trabajo para alcanzar el objetivo.
- El agente utiliza las herramientas necesarias, como la ejecución de código, las pruebas, las búsquedas, la modificación de archivos y las llamadas a la API.
- Si el resultado de la ejecución es un fallo o resulta insuficiente, analiza la causa del fallo y genera un nuevo intento.
- El bucle se detiene cuando se cumplen las condiciones de interrupción, como la consecución del objetivo, el exceso de presupuesto, el número máximo de repeticiones, la aparición de señales de riesgo o la necesidad de aprobación humana.
Es decir, la esencia de la ingeniería de bucles es el ciclo de retroalimentación automatizado.
¿Por qué es necesaria la ingeniería de bucles?
En los métodos tradicionales de uso de la IA, el ser humano tiende a convertirse en un cuello de botella. Esto se debe a que el ser humano tiene que redactar las instrucciones, comprobar los resultados, solicitar nuevas modificaciones, ejecutar pruebas y copiar los mensajes de error para volver a introducirlos.
La ingeniería de bucles sistematiza este proceso repetitivo. Por ejemplo, en las tareas de desarrollo, la IA puede repetir automáticamente el siguiente flujo:
- Lee los requisitos y elabora un plan de trabajo.
- Modifica el código en un espacio de trabajo independiente.
- Ejecuta pruebas y el linter.
- Analiza los registros de errores.
- Crea por sí misma la indicación de modificación o la siguiente acción.
- Vuelve a modificar el código.
- Si se cumplen los criterios de aprobación, recopila los resultados y solicita su revisión.
En esta estructura, no es necesario que el ser humano dirija directamente todos los pasos intermedios. En su lugar, el ser humano se centra en establecer objetivos, dar el visto bueno, gestionar excepciones y evaluar la calidad final.
Los seis componentes esenciales de la ingeniería de bucles
1. Automatización: el motor que hace girar el bucle
La automatización es la base que permite que el bucle se ejecute sin intervención manual. Incluye la cola de tareas, el programador, el pipeline de CI/CD, el tiempo de ejecución del agente, los desencadenantes de eventos y las políticas de reintento, entre otros.
Las funciones que desempeña la automatización son las siguientes:
- Detección de las condiciones de inicio de las tareas
- Ejecución de agentes
- Llamada a herramientas y recopilación de resultados
- Ejecución de las fases de prueba o validación
- Reintentos en caso de fallo
- Almacenamiento de registros
- Transición a la fase de aprobación humana
- Limitación de costes, tiempo y número de repeticiones
La automatización no es una simple «ejecución automática», sino un mecanismo de control que gestiona el ciclo de vida del bucle.
2. Árbol de trabajo: un espacio de trabajo seguro
El árbol de trabajo es un espacio de trabajo aislado que se proporciona para evitar que la IA dañe directamente el código principal o los datos operativos reales. Un ejemplo típico es el uso de la función worktree de Git, que permite crear un directorio de trabajo independiente dentro del mismo repositorio para realizar modificaciones y pruebas de forma autónoma.
La importancia del «worktree» radica en lo siguiente:
- Protege la rama principal o el entorno de producción.
- Permite que varios agentes realicen tareas diferentes en paralelo.
- Permite descartar fácilmente los intentos fallidos.
- Permite revisar los cambios mediante un diff.
- Permite fusionar únicamente los cambios que hayan superado las pruebas.
En la ingeniería de bucles, el «worktree» es el espacio de experimentación de la IA. Para que el sistema en su conjunto se mantenga seguro incluso si los agentes realizan modificaciones audaces, es necesario aislar el espacio de trabajo.
3. Habilidades: el manual de referencia para el trabajo
Las habilidades son un conjunto de directrices, procedimientos, listas de comprobación, reglas de codificación, principios de diseño y ejemplos que la IA debe seguir al realizar una tarea concreta. Al igual que las personas proporcionan documentos de incorporación a los nuevos miembros del equipo, los agentes también necesitan criterios para el desempeño de sus funciones.
La documentación de las habilidades puede incluir la siguiente información:
- Descripción de la estructura del proyecto y los módulos clave
- Estilo de código y reglas de nomenclatura
- Método de redacción de pruebas
- Principios de diseño de la API
- Prohibiciones de seguridad
- Lista de comprobación previa a la implementación
- Ubicación de los registros que deben consultarse en caso de fallo
- Formato de los informes de resultados
Sin estas habilidades, el agente se verá obligado a recurrir cada vez a la deducción general. Por el contrario, unas habilidades bien definidas transmiten a la IA la forma de trabajar de la organización en un formato reutilizable.
4. Complementos y conectores: acceso a las herramientas necesarias
Los complementos y conectores permiten que la IA acceda a las herramientas y sistemas que necesita durante su trabajo. Por ejemplo, pueden conectarse a repositorios de código, gestores de incidencias, sistemas de búsqueda, bases de datos, repositorios de documentación, ejecutores de pruebas, navegadores, herramientas de implementación o sistemas de notificaciones.
La razón por la que es necesario conectar estas herramientas es clara. Si un agente decide que «debe ejecutar una prueba», pero no tiene permisos para hacerlo, el bucle se detiene. Si decide que «debe consultar la documentación relevante», pero no dispone de una ruta de acceso a la misma, aumenta la probabilidad de que responda basándose en conjeturas.
Para diseñar un buen conector, es necesario seguir los siguientes principios:
- Aplicar el principio de privilegios mínimos.
- Separar los permisos de lectura de los de escritura.
- Establecer un paso de autorización para las tareas peligrosas.
- Registrar todas las llamadas a herramientas en el registro.
- Restringir el acceso a la información confidencial mediante una política específica.
- Registrar también en el estado del bucle las llamadas a herramientas que hayan fallado.
5. Subagentes: trabajadores de IA con funciones diferenciadas
Los subagentes constituyen una estructura en la que no es un único agente principal el que se encarga de todo, sino que los agentes colaboran según sus funciones. Al igual que en un equipo de desarrollo humano, se pueden separar las funciones de diseño, back-end, front-end, control de calidad, revisión de seguridad y documentación.
| Función | Responsabilidades principales | Ejemplo de salida |
|---|---|---|
| Agente planificador | Análisis de requisitos, desglose de tareas, establecimiento de prioridades | Plan de implementación, lista de tareas |
| Agente de back-end | Implementación de API, modelos de datos y lógica del servidor | Modificaciones en el código, pruebas |
| Agente de front-end | Interfaz de usuario, gestión de estado y mejora de la accesibilidad | Modificaciones en los componentes, pruebas de pantalla |
| Agente de control de calidad | Ejecución de pruebas, reproducción de errores, verificación de regresión | Registros de fallos, procedimiento de reproducción |
| Agente de revisión | Comprobación de la calidad del código, la seguridad y el estilo | Comentarios de revisión, lista de riesgos |
| Agente de documentación | Descripción de los cambios, redacción de instrucciones de uso | Notas de lanzamiento, guía de uso |
La ventaja de la estructura de subagentes es que permite dividir las especialidades. Sin embargo, pueden surgir conflictos entre agentes, duplicidades en el trabajo y falta de claridad en las responsabilidades, por lo que es necesario contar con un coordinador y unos acuerdos de trabajo claros.
6. Memoria: almacenamiento de estado que permite la interrupción y la reanudación
La memoria es la función que almacena el estado actual del bucle, los intentos anteriores, las causas de los fallos, los motivos de las decisiones, los cambios en los archivos, los resultados de las pruebas y el plan de acción siguiente. Cuanto más largo es el bucle, más imprescindible resulta la memoria.
La memoria se puede dividir, a grandes rasgos, en dos tipos.
- Memoria a corto plazo: plan de la sesión de trabajo actual, registros, resultados de llamadas a herramientas, mensajes de error
- Memoria a largo plazo: reglas del proyecto, soluciones anteriores, patrones de errores recurrentes, preferencias de los usuarios, estándares del equipo
Sin memoria, el agente puede repetir los mismos errores o tener que reiniciar desde cero una tarea que se había interrumpido. Por el contrario, una memoria bien diseñada permite que el bucle continúe de forma estable y reduce los costes.
Arquitectura básica de la ingeniería de bucles
Los sistemas de ingeniería de bucles suelen tener la siguiente estructura:
- Introducción de objetivos: se proporcionan el problema que debe resolver el ser humano y los criterios de finalización.
- Recopilación de contexto: se leen el código, la documentación, las incidencias, los registros y las políticas.
- Elaboración de un plan: el agente divide la tarea en pequeños pasos.
- Ejecución: se llevan a cabo modificaciones en el código, la creación de archivos, el procesamiento de datos y la ejecución de herramientas.
- Verificación: se realizan pruebas, análisis de lint, comprobaciones de tipos, comprobaciones de políticas y revisiones.
- Evaluación: se determina si se han cumplido los criterios objetivo.
- Iteración: en caso de fallo, se analiza la causa y se vuelve a un nuevo plan.
- Finalización: se detiene en uno de los siguientes casos: éxito, superación de límites, detección de riesgos o necesidad de aprobación humana.
- Informe: se resumen los cambios, los resultados de la verificación, los riesgos restantes y las próximas medidas recomendadas.
Este flujo parte de la premisa de una «IA que actúa en entornos reales y verifica los resultados», y no de una «IA que se limita a pensar repetidamente».
Diferencias entre la ingeniería de arnés y la ingeniería de bucle
| Categoría | Ingeniería de arnés | Ingeniería de bucle |
|---|---|---|
| Objetivo | Crear un entorno en el que la IA pueda trabajar de forma segura | Hacer que la IA repita el proceso hasta alcanzar el objetivo |
| Elementos centrales | Reglas, permisos, herramientas, procedimientos, restricciones | Ejecución repetitiva, retroalimentación, nuevos intentos, almacenamiento del estado |
| Respuesta ante fallos | Impedir comportamientos peligrosos o solicitar autorización | Generar el siguiente intento teniendo en cuenta la causa del fallo |
| Intervención humana | Centrarse en el diseño de políticas y del entorno | Centrarse en el establecimiento de objetivos, el tratamiento de excepciones y la aprobación final |
| Analogía | Lugar de trabajo y equipo de seguridad | Línea de producción que mantiene el lugar de trabajo en constante movimiento |
Si se crea un bucle sin arnés, el agente podría realizar acciones peligrosas debido a un exceso de permisos. Si solo se crea un arnés sin bucle, se dispone de un entorno seguro, pero la productividad se ve limitada. En la práctica, es necesario combinar ambos enfoques.