{"content_id":"tx8xp2gpig","slug":"ai-agent-harness-loop-graph-engineering","locale":"es","schema_type":"TechArticle","category":"knowledge_base","category_name":"Base de conocimiento","title":"Comprender en orden la ingeniería de arneses, bucles y grafos de agentes de IA","summary":"El arnés diseña el entorno de trabajo y los mecanismos de control del agente; el bucle, las reglas de repetición y finalización; y el grafo, los estados permitidos y las rutas de transición. Es más preciso entender estos tres términos como perspectivas prácticas para gestionar la autonomía y los riesgos de los agentes de IA que como una clasificación oficial estandarizada.","sponsorship_disclosure":null,"author":{"name":"Equipo editorial de Injoys","url":"https://injoys.com/ko/about"},"key_points":["La ingeniería de arneses consiste en diseñar como un único entorno de ejecución el contexto externo al modelo, las herramientas, los permisos, la validación, los registros y los procedimientos de aprobación.","La ingeniería de bucles define las condiciones, el presupuesto y los criterios de finalización para que el agente repita la planificación, la ejecución, la validación y la corrección.","La ingeniería de grafos utiliza estados y reglas de transición para limitar o ajustar explícitamente las rutas que el agente puede elegir.","Para la mayoría de las organizaciones, resulta más eficiente mejorar primero el arnés y el sistema de evaluación de un solo agente que implementar un grafo multiagente complejo.","Aprobar únicamente informes resumidos creados por la IA no es suficiente para el código de alto riesgo; también deben verificarse las pruebas, el alcance de los cambios, los límites de seguridad y los resultados originales."],"content_markdown":"A medida que los agentes de IA empiezan a asumir tareas de larga duración, resulta difícil obtener resultados estables solo con buenos prompts. Esto se debe a que también hay que diseñar qué información consulta el agente, qué herramientas utiliza, cuándo repite una acción, qué ruta sigue y en qué puntos debe obtener la aprobación de una persona.\n\nPara explicar este problema suelen aparecer los términos **ingeniería de arnés**, **ingeniería de bucles** e **ingeniería de grafos**. No son estándares internacionales ni categorías académicas estrictamente consensuadas. Se solapan entre sí y su significado puede variar según el producto y el equipo de desarrollo. Por tanto, en lugar de memorizarlos como términos de moda de cada año, resulta más útil distinguirlos por la pregunta de control a la que intenta responder cada uno.\n\n## Comparación de los tres conceptos de un vistazo\n\n| Concepto | Pregunta clave | Principal objeto de diseño | Mecanismos representativos de prevención de fallos |\n|---|---|---|---|\n| Ingeniería de arnés | ¿En qué entorno y bajo qué reglas trabaja el agente? | Contexto, herramientas, permisos, sandbox, hooks, registros, aprobación, evaluación | Privilegios mínimos, aprobación de comandos peligrosos, ejecución de pruebas, selección de contexto |\n| Ingeniería de bucles | ¿Qué se repite y cuándo se detiene? | Ciclo de planificación, ejecución y verificación, procesamiento de eventos, reintentos, presupuesto, condiciones de finalización | Número máximo de iteraciones, límites de tiempo y tokens, evaluación del progreso, derivación en caso de fallo |\n| Ingeniería de grafos | ¿Qué estados y rutas se permiten? | Nodos, estados, transiciones, bifurcaciones, procesamiento paralelo, checkpoints | Transiciones prohibidas, validación de estados, nodos de aprobación, rutas de recuperación |\n\nEn pocas palabras, **el arnés define el entorno y los límites**, **el bucle define las reglas de repetición** y **el grafo define la estructura de las rutas posibles**. En un sistema real, puede haber un bucle dentro de un nodo del grafo y todo el grafo puede ejecutarse dentro de un mismo arnés.\n\n## Cómo han evolucionado los métodos de control de agentes\n\n### Agentes iniciales: los flujos de trabajo predefinidos complementaban la autonomía\n\nLos primeros agentes de IA generativa solían olvidar sus objetivos durante las tareas largas, repetir llamadas incorrectas a herramientas o generar resultados sin fundamento. Como respuesta, los desarrolladores dividieron las tareas grandes en pasos pequeños y fijaron las entradas y salidas de cada paso.\n\nCon este método, una persona redacta todo el procedimiento en forma de cadena, diagrama de flujo o máquina de estados, mientras que el LLM se encarga de tareas limitadas como la clasificación, la extracción, el resumen o la redacción de borradores. Los frameworks como LangGraph se utilizan para representar bifurcaciones, ciclos, checkpoints e intervención humana manteniendo el estado.\n\nSin embargo, la orquestación basada en grafos no es un método obsoleto que terminara en un año concreto. Los grafos explícitos siguen siendo adecuados para tareas en las que son importantes la capacidad de auditoría, la reproducibilidad, el cumplimiento normativo o unos procedimientos de recuperación precisos.\n\n### Mejora del rendimiento de los modelos: de rutas fijas al uso dinámico de herramientas\n\nA medida que mejoraron el uso de herramientas y la capacidad de razonamiento, un solo agente pudo seleccionar acciones como buscar, editar código, ejecutar pruebas y leer archivos según la situación. Los enfoques de la familia ReAct constituyen una estructura representativa que alterna razonamiento, acción y observación.\n\nEste cambio redujo la carga de tener que definir por adelantado todas las bifurcaciones. Por otro lado, adquirió mayor importancia gestionar la información que lee el agente, los permisos que posee, el coste de ejecución y el método de recuperación ante errores. En este contexto, la ingeniería de contexto y la ingeniería de arnés pasan al centro del trabajo práctico.\n\n### Tareas largas y múltiples agentes: recombinación de bucles y grafos\n\nEn las tareas largas, la planificación, ejecución y verificación repetitivas son más importantes que una sola llamada al modelo. Cuando participan varios agentes, también hay que especificar los roles, el formato de los entregables, los permisos y las condiciones de finalización. Al mismo tiempo, dejar los bucles autónomos completamente desatendidos puede provocar una explosión de costes, reintentos infinitos, manipulación de recompensas y optimización de objetivos incorrectos.\n\nPor eso, los sistemas de agentes modernos se diseñan para **combinar los tramos en los que se permite la autonomía con aquellos que se controlan de forma determinista**, en lugar de eliminar la autonomía. No se trata de un simple regreso a las cadenas fijas del pasado, sino de rodear una ejecución flexible con estados, transiciones y políticas.\n\nEste cambio es más una modificación del énfasis del diseño que una cronología exacta. Los grafos, los bucles y los arneses han coexistido desde el principio y siguen utilizándose conjuntamente.\n\n## Qué aborda la ingeniería de arnés\n\nEl arnés no es el propio modelo base, sino **el sistema de ejecución que rodea al modelo para que realice tareas reales**. Incluso utilizando el mismo modelo, la tasa de éxito, el coste, la seguridad y la reproducibilidad pueden variar considerablemente en función del arnés.\n\n### Principales componentes de un arnés\n\n1. **Sistema de instrucciones**: instrucciones del sistema, reglas del repositorio, estándares de codificación, prioridades y acciones prohibidas\n2. **Suministro de contexto**: búsqueda, selección de archivos, resúmenes, memoria e incorporación de documentos en el momento necesario\n3. **Interfaz de herramientas**: edición de archivos, terminal, navegador, base de datos y API externas\n4. **Permisos y aislamiento**: alcance de lectura y escritura, acceso a información secreta, restricciones de red y sandbox\n5. **Mecanismos de verificación**: pruebas, linter, comprobación de tipos, validación de esquemas y verificación de hechos\n6. **Aprobación humana**: aprobación de acciones difíciles de revertir, como despliegues, pagos, eliminaciones y transmisiones externas\n7. **Observabilidad**: historial de llamadas, costes, latencia, errores, historial de cambios y fundamento de las decisiones\n8. **Política de recuperación**: reintentos, restauración del estado anterior, interrupción de tareas y derivación a una persona responsable\n\nLos archivos de instrucciones de proyecto o los hooks de Claude Code pueden considerarse ejemplos de componentes de un arnés. Sin embargo, una sola función de un producto concreto no representa todo el arnés.\n\n### Diferencia respecto a la ingeniería de contexto\n\nLa ingeniería de contexto optimiza qué información e instrucciones se introducen en la llamada actual al modelo. Incluye recuperar mediante búsquedas solo los documentos relevantes, resumir conversaciones antiguas, guardar el estado de la tarea en archivos externos y separar el contexto de cada subtarea.\n\nLa ingeniería de arnés tiene un alcance más amplio. Además del contexto, abarca los permisos de las herramientas, el entorno de ejecución, las aprobaciones, la verificación, el registro y los límites de coste. Por tanto, la ingeniería de contexto es una parte esencial del arnés, pero no es preciso utilizar ambos términos como si significaran exactamente lo mismo.\n\n## La clave de la ingeniería de bucles son las condiciones de finalización\n\nUn bucle hace que el agente compruebe el resultado después de generarlo y vuelva a intentarlo si es insuficiente. Lo importante no es la repetición en sí, sino **la definición del progreso y las condiciones de interrupción**.\n\n### Tipos representativos de bucles\n\n- **Bucle de verificación**: después de crear un borrador, lo comprueba mediante pruebas o criterios de evaluación y corrige los elementos que hayan fallado.\n- **Bucle basado en eventos**: inicia una tarea cuando se produce un evento externo, como un correo electrónico, una notificación, un cambio de código o datos de sensores.\n- **Bucle de exploración**: investiga varias hipótesis o fuentes y ajusta el alcance de la exploración hasta reunir pruebas suficientes.\n- **Bucle de mejora**: selecciona la siguiente estrategia a partir de resultados y evaluaciones anteriores. Optimizar una única puntuación puede provocar manipulación de recompensas, por lo que se necesitan varios criterios de evaluación y revisión humana.\n- **Bucle de recuperación**: clasifica la causa del error, reintenta dentro del alcance permitido y, si no logra resolverlo, lo deriva a una persona.\n\n### Contratos necesarios para un bucle seguro\n\nUn contrato entre agentes no es un contrato legal, sino una especificación de ejecución que define las entradas, las salidas y las responsabilidades. Conviene incluir los siguientes elementos.\n\n| Elemento del contrato | Contenido que debe especificarse |\n|---|---|\n| Objetivo | Resultado que debe completarse y alcance excluido |\n| Entrada | Datos que pueden utilizarse, vigencia y nivel de confianza |\n| Salida | Esquema JSON, formato del documento, pruebas obligatorias y resultados de las pruebas |\n| Permisos | Herramientas permitidas, alcance de los archivos y permisos de transmisión externa y modificación |\n| Verificación | Pruebas y criterios de evaluación que deben superarse |\n| Presupuesto | Tokens, tiempo, número de llamadas y cantidad de tareas paralelas |\n| Finalización | Condiciones de éxito, ausencia de progreso, agotamiento del presupuesto y detección de riesgos |\n| Derivación | Qué persona o agente se hace cargo en caso de fallo |\n\nSi las condiciones de finalización son ambiguas, el agente puede considerar que la tarea está progresando aunque solo esté modificando frases o repitiendo la misma búsqueda. En lugar de establecer únicamente un número máximo de iteraciones, es mejor considerar conjuntamente la calidad del resultado, el aumento de información nueva, la evolución de los errores y el coste.\n\n## La ingeniería de grafos estructura los límites de la autonomía\n\nUn grafo representa una tarea mediante nodos y conexiones. Un nodo puede corresponder a una llamada al modelo, la ejecución de una herramienta, una aprobación humana o un proceso de verificación, mientras que las conexiones indican la siguiente acción en función del estado.\n\n### Diferencia entre cadenas y grafos\n\n- **Una cadena** es adecuada para procedimientos lineales que van de A a B y de B a C.\n- **Un grafo** es adecuado para tareas que requieren bifurcaciones condicionales, repeticiones, ejecución paralela, recuperación ante fallos y guardado intermedio.\n- **Un grafo dinámico** permite que el modelo proponga la siguiente subtarea o ruta durante la ejecución.\n- **Un grafo restringido** hace que, aunque el modelo elija, solo pueda moverse entre los nodos y las transiciones permitidos.\n\nEl propósito del diseño moderno de grafos no consiste en que una persona decida de antemano todas las acciones. Consiste en incorporar a la estructura **condiciones invariantes que deben respetarse**, como obligar a pasar por un nodo de aprobación antes de eliminar datos o impedir la transición al estado de despliegue cuando las pruebas se encuentran en estado fallido.\n\n### Indicadores de que se necesita un grafo\n\nSi se cumplen varias de las siguientes condiciones, merece la pena considerar un grafo explícito.\n\n- Existe un punto claro de recuperación al que volver después de un fallo.\n- Hay una etapa que requiere obligatoriamente la aprobación de una persona.\n- Hay que ejecutar varias tareas en paralelo y después combinar los resultados.\n- Las herramientas o los permisos disponibles varían según el estado.\n- Es necesario auditar o reproducir toda la ruta de ejecución.\n- Un bucle de un solo agente repite el mismo fallo.\n\nCrear un grafo incluso para resumir un documento sencillo o realizar una única transformación de datos puede limitarse a aumentar la complejidad.\n\n## Orden de aplicación práctica: empezar por el arnés y ampliar según sea necesario\n\nPara la mayoría de los equipos, el siguiente orden es realista.\n\n1. **Definir una sola tarea y sus criterios de éxito.** Primero se recopilan las entradas, los resultados esperados y los casos de fallo.\n2. **Crear un arnés mínimo.** Se proporcionan únicamente el contexto y las herramientas necesarios, y se establecen permisos, pruebas, registros y límites de coste.\n3. **Construir un conjunto de evaluación.** Además de casos normales, debe incluir solicitudes ambiguas, documentos incorrectos, errores de herramientas e intentos de exceder los permisos.\n4. **Convertir en bucles los puntos que necesitan repetición.** Solo se permiten reintentos en los tramos donde la verificación y la corrección mejoran realmente la calidad.\n5. **Elevarlo a grafo cuando las bifurcaciones y la recuperación sean complejas.** Se especifican los estados y las transiciones, y se colocan nodos de aprobación antes de las acciones peligrosas.\n6. **Utilizar múltiples agentes solo cuando la división del trabajo resulte beneficiosa.** Si no son necesarios la exploración paralela o diferentes roles especializados, un solo agente puede ser más sencillo y económico.\n\n## Diferencias de aplicación en codificación e investigación\n\n| Elemento | Tareas de codificación | Tareas de investigación |\n|---|---|---|\n| Capacidad de verificación | La verificación automática mediante pruebas, compilación y comprobación de tipos es relativamente sencilla | Hay que evaluar de forma integral la calidad de las fuentes, las omisiones y las pruebas contradictorias |\n| Valor de la exploración dinámica | Puede ser limitado si el alcance de los cambios está claro | Es elevado al comparar distintas rutas de búsqueda e hipótesis |\n| Principales riesgos | Cambios incorrectos, vulnerabilidades de seguridad y código adaptado únicamente a las pruebas | Afirmaciones sin fuentes, materiales duplicados y sesgo de confirmación |\n| Controles adecuados | Limitación del alcance del repositorio, pruebas, revisión del diff y aprobación del despliegue | Registro de fuentes, búsqueda independiente, exploración de pruebas contrarias y verificación de citas |\n\nNo puede afirmarse que los flujos de trabajo dinámicos sean siempre ineficientes para la codificación y siempre ventajosos para la investigación. Una migración a gran escala que pueda probarse puede ser adecuada para un agente autónomo, mientras que un procedimiento fijo de investigación puede ser más eficiente para consultar un hecho cuya respuesta está clara. Las variables clave, más que el ámbito, son **la claridad del objetivo, la posibilidad de verificación automática, el espacio de exploración y el coste de los errores**.\n\n## La revisión de código no desaparece: cambia la unidad de revisión\n\nCuando un agente escribe código, el desarrollador pasa a desempeñar en mayor medida la función de supervisar los requisitos, el diseño, los resultados de las pruebas, el alcance de los cambios y los riesgos, en lugar de introducir directamente cada línea. Los resúmenes de Pull Request y los informes de los agentes pueden acelerar la revisión.\n\nSin embargo, leer únicamente el resumen y aprobar no constituye una opción predeterminada segura. Los cambios que el agente haya omitido o la lógica que haya entendido incorrectamente pueden no aparecer tampoco en el resumen. En las siguientes situaciones, es necesario revisar directamente el diff original y el código relacionado.\n\n- Cambios en autenticación, pagos, datos personales, cifrado o control de acceso\n- Cambios en el esquema de la base de datos o migraciones irreversibles\n- Código sensible al rendimiento y la concurrencia\n- Refactorizaciones a gran escala fuera del alcance de las pruebas\n- Cambios en dependencias externas, configuración de despliegue o tratamiento de información secreta\n- Casos en los que la explicación del agente no coincide con el diff real\n\nHuman-in-the-loop no significa que una persona pulse un botón como mera formalidad. También implica proporcionar pruebas de los cambios, resultados de las pruebas, posibles fallos y procedimientos de reversión para que la persona pueda tomar una decisión.\n\n## Errores frecuentes\n\n### Múltiples agentes sin propósito\n\nAumentar el número de agentes genera costes de coordinación de roles, llamadas duplicadas, transferencia de contexto y combinación de resultados. Si no existe la necesidad de explorar en paralelo desde distintas perspectivas o de separar el contexto, es mejor utilizar un solo agente.\n\n### Flujos de trabajo dinámicos sin límites\n\nSi se permite que un agente siga creando subtareas, el coste de los tokens y las llamadas a herramientas aumenta rápidamente. El coste está determinado aproximadamente por la suma del coste de los tokens de entrada y salida de cada etapa, el coste de las herramientas, el número de agentes paralelos y la cantidad de iteraciones. El número de llamadas, la cantidad de ejecuciones simultáneas, el presupuesto total y el tiempo máximo de ejecución deben limitarse por separado.\n\n### Optimizar un solo indicador de evaluación\n\nSi el único objetivo es la tasa de superación de las pruebas, puede producirse una optimización incorrecta, como debilitar las pruebas u ocultar el tratamiento de excepciones. Es necesario utilizar conjuntamente la calidad, la seguridad, el alcance de los cambios, el coste, la latencia y la evaluación humana.\n\n### Confundir la incorporación de documentos con el fine-tuning\n\nLos resultados pueden cambiar de forma persistente mediante la búsqueda de documentos o las instrucciones del proyecto, pero eso no significa que cambien los pesos del modelo. En un sentido amplio, puede describirse como un efecto de aprendizaje del sistema, pero, estrictamente hablando, es una adaptación mediante memoria externa y contexto. Hay que conservar los documentos o el índice de búsqueda para que los cambios se mantengan también en la siguiente ejecución.\n\n## Evaluación, seguridad y economía que suelen pasarse por alto durante la operación\n\nEl diseño de agentes no termina con un diagrama de arquitectura. En la operación real es importante contar con **un sistema que mida lo que realmente ocurrió, más que aquello que se permitió**.\n\n### Indicadores operativos mínimos\n\n- Tasa de éxito de las tareas y tasa de correcciones humanas\n- Coste de modelos y herramientas por tarea y tiempo total de ejecución\n- Número de iteraciones y proporción de llamadas consumidas sin progreso\n- Número de solicitudes de aprobación, rechazos e intentos de exceder los permisos\n- Llamadas incorrectas a herramientas y tasa de éxito de la recuperación\n- Proporción de resultados entregados sin fuentes ni pruebas\n- Grado de variación de los resultados ante una misma entrada\n\n### Condiciones invariantes necesarias para la seguridad\n\n- Las instrucciones de documentos externos no tienen mayor prioridad que las políticas del sistema.\n- La información secreta no se expone innecesariamente en las entradas del modelo ni en los registros.\n- Los permisos de lectura se separan de los permisos de escritura, eliminación y despliegue.\n- Las transmisiones externas y las acciones irreversibles están sujetas a una aprobación adicional o una comprobación de políticas.\n- Se impide que el agente modifique arbitrariamente sus propios criterios de evaluación, pruebas o registros de auditoría.\n\nEs más seguro imponer estas condiciones invariantes mediante un sandbox, controles de acceso, transiciones de grafos y verificadores independientes que mediante una sola frase en un prompt. La gestión de riesgos de la IA generativa debe abarcar no solo la precisión del modelo, sino también el entorno operativo, la supervisión humana y la respuesta ante incidentes.\n\n## Qué concepto se debe aprender primero\n\nEn el trabajo práctico actual, lo primero que debe aprenderse es la ingeniería de arnés. Contar con un contexto preciso, privilegios mínimos, verificación automática, registros, aprobaciones y límites de coste puede reducir muchos de los fallos de un solo agente.\n\nDespués, se añaden bucles con condiciones de finalización a las tareas en las que la repetición mejora la calidad. Cuando las bifurcaciones, el procesamiento paralelo, la recuperación y los procedimientos de aprobación se vuelven complejos, se especifican mediante un grafo. Antes que adoptar términos complejos, la prioridad es expresar de forma medible los objetivos, permisos, pruebas, costes y condiciones de interrupción del agente.","content_html":"\u003cp\u003eA medida que los agentes de IA empiezan a asumir tareas de larga duración, resulta difícil obtener resultados estables solo con buenos prompts. Esto se debe a que también hay que diseñar qué información consulta el agente, qué herramientas utiliza, cuándo repite una acción, qué ruta sigue y en qué puntos debe obtener la aprobación de una persona.\u003c/p\u003e\n\u003cp\u003ePara explicar este problema suelen aparecer los términos \u003cstrong\u003eingeniería de arnés\u003c/strong\u003e, \u003cstrong\u003eingeniería de bucles\u003c/strong\u003e e \u003cstrong\u003eingeniería de grafos\u003c/strong\u003e. No son estándares internacionales ni categorías académicas estrictamente consensuadas. Se solapan entre sí y su significado puede variar según el producto y el equipo de desarrollo. Por tanto, en lugar de memorizarlos como términos de moda de cada año, resulta más útil distinguirlos por la pregunta de control a la que intenta responder cada uno.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#comparaci%C3%B3n-de-los-tres-conceptos-de-un-vistazo\" class=\"anchor\" id=\"comparación-de-los-tres-conceptos-de-un-vistazo\"\u003e\u003c/a\u003eComparación de los tres conceptos de un vistazo\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eConcepto\u003c/th\u003e\n\u003cth\u003ePregunta clave\u003c/th\u003e\n\u003cth\u003ePrincipal objeto de diseño\u003c/th\u003e\n\u003cth\u003eMecanismos representativos de prevención de fallos\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Concepto\"\u003eIngeniería de arnés\u003c/td\u003e\n\u003ctd data-label=\"Pregunta clave\"\u003e¿En qué entorno y bajo qué reglas trabaja el agente?\u003c/td\u003e\n\u003ctd data-label=\"Principal objeto de diseño\"\u003eContexto, herramientas, permisos, sandbox, hooks, registros, aprobación, evaluación\u003c/td\u003e\n\u003ctd data-label=\"Mecanismos representativos de prevención de fallos\"\u003ePrivilegios mínimos, aprobación de comandos peligrosos, ejecución de pruebas, selección de contexto\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Concepto\"\u003eIngeniería de bucles\u003c/td\u003e\n\u003ctd data-label=\"Pregunta clave\"\u003e¿Qué se repite y cuándo se detiene?\u003c/td\u003e\n\u003ctd data-label=\"Principal objeto de diseño\"\u003eCiclo de planificación, ejecución y verificación, procesamiento de eventos, reintentos, presupuesto, condiciones de finalización\u003c/td\u003e\n\u003ctd data-label=\"Mecanismos representativos de prevención de fallos\"\u003eNúmero máximo de iteraciones, límites de tiempo y tokens, evaluación del progreso, derivación en caso de fallo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Concepto\"\u003eIngeniería de grafos\u003c/td\u003e\n\u003ctd data-label=\"Pregunta clave\"\u003e¿Qué estados y rutas se permiten?\u003c/td\u003e\n\u003ctd data-label=\"Principal objeto de diseño\"\u003eNodos, estados, transiciones, bifurcaciones, procesamiento paralelo, checkpoints\u003c/td\u003e\n\u003ctd data-label=\"Mecanismos representativos de prevención de fallos\"\u003eTransiciones prohibidas, validación de estados, nodos de aprobación, rutas de recuperación\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eEn pocas palabras, \u003cstrong\u003eel arnés define el entorno y los límites\u003c/strong\u003e, \u003cstrong\u003eel bucle define las reglas de repetición\u003c/strong\u003e y \u003cstrong\u003eel grafo define la estructura de las rutas posibles\u003c/strong\u003e. En un sistema real, puede haber un bucle dentro de un nodo del grafo y todo el grafo puede ejecutarse dentro de un mismo arnés.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#c%C3%B3mo-han-evolucionado-los-m%C3%A9todos-de-control-de-agentes\" class=\"anchor\" id=\"cómo-han-evolucionado-los-métodos-de-control-de-agentes\"\u003e\u003c/a\u003eCómo han evolucionado los métodos de control de agentes\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#agentes-iniciales-los-flujos-de-trabajo-predefinidos-complementaban-la-autonom%C3%ADa\" class=\"anchor\" id=\"agentes-iniciales-los-flujos-de-trabajo-predefinidos-complementaban-la-autonomía\"\u003e\u003c/a\u003eAgentes iniciales: los flujos de trabajo predefinidos complementaban la autonomía\u003c/h3\u003e\n\u003cp\u003eLos primeros agentes de IA generativa solían olvidar sus objetivos durante las tareas largas, repetir llamadas incorrectas a herramientas o generar resultados sin fundamento. Como respuesta, los desarrolladores dividieron las tareas grandes en pasos pequeños y fijaron las entradas y salidas de cada paso.\u003c/p\u003e\n\u003cp\u003eCon este método, una persona redacta todo el procedimiento en forma de cadena, diagrama de flujo o máquina de estados, mientras que el LLM se encarga de tareas limitadas como la clasificación, la extracción, el resumen o la redacción de borradores. Los frameworks como LangGraph se utilizan para representar bifurcaciones, ciclos, checkpoints e intervención humana manteniendo el estado.\u003c/p\u003e\n\u003cp\u003eSin embargo, la orquestación basada en grafos no es un método obsoleto que terminara en un año concreto. Los grafos explícitos siguen siendo adecuados para tareas en las que son importantes la capacidad de auditoría, la reproducibilidad, el cumplimiento normativo o unos procedimientos de recuperación precisos.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#mejora-del-rendimiento-de-los-modelos-de-rutas-fijas-al-uso-din%C3%A1mico-de-herramientas\" class=\"anchor\" id=\"mejora-del-rendimiento-de-los-modelos-de-rutas-fijas-al-uso-dinámico-de-herramientas\"\u003e\u003c/a\u003eMejora del rendimiento de los modelos: de rutas fijas al uso dinámico de herramientas\u003c/h3\u003e\n\u003cp\u003eA medida que mejoraron el uso de herramientas y la capacidad de razonamiento, un solo agente pudo seleccionar acciones como buscar, editar código, ejecutar pruebas y leer archivos según la situación. Los enfoques de la familia ReAct constituyen una estructura representativa que alterna razonamiento, acción y observación.\u003c/p\u003e\n\u003cp\u003eEste cambio redujo la carga de tener que definir por adelantado todas las bifurcaciones. Por otro lado, adquirió mayor importancia gestionar la información que lee el agente, los permisos que posee, el coste de ejecución y el método de recuperación ante errores. En este contexto, la ingeniería de contexto y la ingeniería de arnés pasan al centro del trabajo práctico.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#tareas-largas-y-m%C3%BAltiples-agentes-recombinaci%C3%B3n-de-bucles-y-grafos\" class=\"anchor\" id=\"tareas-largas-y-múltiples-agentes-recombinación-de-bucles-y-grafos\"\u003e\u003c/a\u003eTareas largas y múltiples agentes: recombinación de bucles y grafos\u003c/h3\u003e\n\u003cp\u003eEn las tareas largas, la planificación, ejecución y verificación repetitivas son más importantes que una sola llamada al modelo. Cuando participan varios agentes, también hay que especificar los roles, el formato de los entregables, los permisos y las condiciones de finalización. Al mismo tiempo, dejar los bucles autónomos completamente desatendidos puede provocar una explosión de costes, reintentos infinitos, manipulación de recompensas y optimización de objetivos incorrectos.\u003c/p\u003e\n\u003cp\u003ePor eso, los sistemas de agentes modernos se diseñan para \u003cstrong\u003ecombinar los tramos en los que se permite la autonomía con aquellos que se controlan de forma determinista\u003c/strong\u003e, en lugar de eliminar la autonomía. No se trata de un simple regreso a las cadenas fijas del pasado, sino de rodear una ejecución flexible con estados, transiciones y políticas.\u003c/p\u003e\n\u003cp\u003eEste cambio es más una modificación del énfasis del diseño que una cronología exacta. Los grafos, los bucles y los arneses han coexistido desde el principio y siguen utilizándose conjuntamente.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#qu%C3%A9-aborda-la-ingenier%C3%ADa-de-arn%C3%A9s\" class=\"anchor\" id=\"qué-aborda-la-ingeniería-de-arnés\"\u003e\u003c/a\u003eQué aborda la ingeniería de arnés\u003c/h2\u003e\n\u003cp\u003eEl arnés no es el propio modelo base, sino \u003cstrong\u003eel sistema de ejecución que rodea al modelo para que realice tareas reales\u003c/strong\u003e. Incluso utilizando el mismo modelo, la tasa de éxito, el coste, la seguridad y la reproducibilidad pueden variar considerablemente en función del arnés.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#principales-componentes-de-un-arn%C3%A9s\" class=\"anchor\" id=\"principales-componentes-de-un-arnés\"\u003e\u003c/a\u003ePrincipales componentes de un arnés\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cstrong\u003eSistema de instrucciones\u003c/strong\u003e: instrucciones del sistema, reglas del repositorio, estándares de codificación, prioridades y acciones prohibidas\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSuministro de contexto\u003c/strong\u003e: búsqueda, selección de archivos, resúmenes, memoria e incorporación de documentos en el momento necesario\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eInterfaz de herramientas\u003c/strong\u003e: edición de archivos, terminal, navegador, base de datos y API externas\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePermisos y aislamiento\u003c/strong\u003e: alcance de lectura y escritura, acceso a información secreta, restricciones de red y sandbox\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMecanismos de verificación\u003c/strong\u003e: pruebas, linter, comprobación de tipos, validación de esquemas y verificación de hechos\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAprobación humana\u003c/strong\u003e: aprobación de acciones difíciles de revertir, como despliegues, pagos, eliminaciones y transmisiones externas\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eObservabilidad\u003c/strong\u003e: historial de llamadas, costes, latencia, errores, historial de cambios y fundamento de las decisiones\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePolítica de recuperación\u003c/strong\u003e: reintentos, restauración del estado anterior, interrupción de tareas y derivación a una persona responsable\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eLos archivos de instrucciones de proyecto o los hooks de Claude Code pueden considerarse ejemplos de componentes de un arnés. Sin embargo, una sola función de un producto concreto no representa todo el arnés.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#diferencia-respecto-a-la-ingenier%C3%ADa-de-contexto\" class=\"anchor\" id=\"diferencia-respecto-a-la-ingeniería-de-contexto\"\u003e\u003c/a\u003eDiferencia respecto a la ingeniería de contexto\u003c/h3\u003e\n\u003cp\u003eLa ingeniería de contexto optimiza qué información e instrucciones se introducen en la llamada actual al modelo. Incluye recuperar mediante búsquedas solo los documentos relevantes, resumir conversaciones antiguas, guardar el estado de la tarea en archivos externos y separar el contexto de cada subtarea.\u003c/p\u003e\n\u003cp\u003eLa ingeniería de arnés tiene un alcance más amplio. Además del contexto, abarca los permisos de las herramientas, el entorno de ejecución, las aprobaciones, la verificación, el registro y los límites de coste. Por tanto, la ingeniería de contexto es una parte esencial del arnés, pero no es preciso utilizar ambos términos como si significaran exactamente lo mismo.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#la-clave-de-la-ingenier%C3%ADa-de-bucles-son-las-condiciones-de-finalizaci%C3%B3n\" class=\"anchor\" id=\"la-clave-de-la-ingeniería-de-bucles-son-las-condiciones-de-finalización\"\u003e\u003c/a\u003eLa clave de la ingeniería de bucles son las condiciones de finalización\u003c/h2\u003e\n\u003cp\u003eUn bucle hace que el agente compruebe el resultado después de generarlo y vuelva a intentarlo si es insuficiente. Lo importante no es la repetición en sí, sino \u003cstrong\u003ela definición del progreso y las condiciones de interrupción\u003c/strong\u003e.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#tipos-representativos-de-bucles\" class=\"anchor\" id=\"tipos-representativos-de-bucles\"\u003e\u003c/a\u003eTipos representativos de bucles\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eBucle de verificación\u003c/strong\u003e: después de crear un borrador, lo comprueba mediante pruebas o criterios de evaluación y corrige los elementos que hayan fallado.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBucle basado en eventos\u003c/strong\u003e: inicia una tarea cuando se produce un evento externo, como un correo electrónico, una notificación, un cambio de código o datos de sensores.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBucle de exploración\u003c/strong\u003e: investiga varias hipótesis o fuentes y ajusta el alcance de la exploración hasta reunir pruebas suficientes.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBucle de mejora\u003c/strong\u003e: selecciona la siguiente estrategia a partir de resultados y evaluaciones anteriores. Optimizar una única puntuación puede provocar manipulación de recompensas, por lo que se necesitan varios criterios de evaluación y revisión humana.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBucle de recuperación\u003c/strong\u003e: clasifica la causa del error, reintenta dentro del alcance permitido y, si no logra resolverlo, lo deriva a una persona.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#contratos-necesarios-para-un-bucle-seguro\" class=\"anchor\" id=\"contratos-necesarios-para-un-bucle-seguro\"\u003e\u003c/a\u003eContratos necesarios para un bucle seguro\u003c/h3\u003e\n\u003cp\u003eUn contrato entre agentes no es un contrato legal, sino una especificación de ejecución que define las entradas, las salidas y las responsabilidades. Conviene incluir los siguientes elementos.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eElemento del contrato\u003c/th\u003e\n\u003cth\u003eContenido que debe especificarse\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Elemento del contrato\"\u003eObjetivo\u003c/td\u003e\n\u003ctd data-label=\"Contenido que debe especificarse\"\u003eResultado que debe completarse y alcance excluido\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Elemento del contrato\"\u003eEntrada\u003c/td\u003e\n\u003ctd data-label=\"Contenido que debe especificarse\"\u003eDatos que pueden utilizarse, vigencia y nivel de confianza\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Elemento del contrato\"\u003eSalida\u003c/td\u003e\n\u003ctd data-label=\"Contenido que debe especificarse\"\u003eEsquema JSON, formato del documento, pruebas obligatorias y resultados de las pruebas\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Elemento del contrato\"\u003ePermisos\u003c/td\u003e\n\u003ctd data-label=\"Contenido que debe especificarse\"\u003eHerramientas permitidas, alcance de los archivos y permisos de transmisión externa y modificación\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Elemento del contrato\"\u003eVerificación\u003c/td\u003e\n\u003ctd data-label=\"Contenido que debe especificarse\"\u003ePruebas y criterios de evaluación que deben superarse\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Elemento del contrato\"\u003ePresupuesto\u003c/td\u003e\n\u003ctd data-label=\"Contenido que debe especificarse\"\u003eTokens, tiempo, número de llamadas y cantidad de tareas paralelas\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Elemento del contrato\"\u003eFinalización\u003c/td\u003e\n\u003ctd data-label=\"Contenido que debe especificarse\"\u003eCondiciones de éxito, ausencia de progreso, agotamiento del presupuesto y detección de riesgos\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Elemento del contrato\"\u003eDerivación\u003c/td\u003e\n\u003ctd data-label=\"Contenido que debe especificarse\"\u003eQué persona o agente se hace cargo en caso de fallo\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eSi las condiciones de finalización son ambiguas, el agente puede considerar que la tarea está progresando aunque solo esté modificando frases o repitiendo la misma búsqueda. En lugar de establecer únicamente un número máximo de iteraciones, es mejor considerar conjuntamente la calidad del resultado, el aumento de información nueva, la evolución de los errores y el coste.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#la-ingenier%C3%ADa-de-grafos-estructura-los-l%C3%ADmites-de-la-autonom%C3%ADa\" class=\"anchor\" id=\"la-ingeniería-de-grafos-estructura-los-límites-de-la-autonomía\"\u003e\u003c/a\u003eLa ingeniería de grafos estructura los límites de la autonomía\u003c/h2\u003e\n\u003cp\u003eUn grafo representa una tarea mediante nodos y conexiones. Un nodo puede corresponder a una llamada al modelo, la ejecución de una herramienta, una aprobación humana o un proceso de verificación, mientras que las conexiones indican la siguiente acción en función del estado.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#diferencia-entre-cadenas-y-grafos\" class=\"anchor\" id=\"diferencia-entre-cadenas-y-grafos\"\u003e\u003c/a\u003eDiferencia entre cadenas y grafos\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eUna cadena\u003c/strong\u003e es adecuada para procedimientos lineales que van de A a B y de B a C.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUn grafo\u003c/strong\u003e es adecuado para tareas que requieren bifurcaciones condicionales, repeticiones, ejecución paralela, recuperación ante fallos y guardado intermedio.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUn grafo dinámico\u003c/strong\u003e permite que el modelo proponga la siguiente subtarea o ruta durante la ejecución.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUn grafo restringido\u003c/strong\u003e hace que, aunque el modelo elija, solo pueda moverse entre los nodos y las transiciones permitidos.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eEl propósito del diseño moderno de grafos no consiste en que una persona decida de antemano todas las acciones. Consiste en incorporar a la estructura \u003cstrong\u003econdiciones invariantes que deben respetarse\u003c/strong\u003e, como obligar a pasar por un nodo de aprobación antes de eliminar datos o impedir la transición al estado de despliegue cuando las pruebas se encuentran en estado fallido.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#indicadores-de-que-se-necesita-un-grafo\" class=\"anchor\" id=\"indicadores-de-que-se-necesita-un-grafo\"\u003e\u003c/a\u003eIndicadores de que se necesita un grafo\u003c/h3\u003e\n\u003cp\u003eSi se cumplen varias de las siguientes condiciones, merece la pena considerar un grafo explícito.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eExiste un punto claro de recuperación al que volver después de un fallo.\u003c/li\u003e\n\u003cli\u003eHay una etapa que requiere obligatoriamente la aprobación de una persona.\u003c/li\u003e\n\u003cli\u003eHay que ejecutar varias tareas en paralelo y después combinar los resultados.\u003c/li\u003e\n\u003cli\u003eLas herramientas o los permisos disponibles varían según el estado.\u003c/li\u003e\n\u003cli\u003eEs necesario auditar o reproducir toda la ruta de ejecución.\u003c/li\u003e\n\u003cli\u003eUn bucle de un solo agente repite el mismo fallo.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCrear un grafo incluso para resumir un documento sencillo o realizar una única transformación de datos puede limitarse a aumentar la complejidad.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#orden-de-aplicaci%C3%B3n-pr%C3%A1ctica-empezar-por-el-arn%C3%A9s-y-ampliar-seg%C3%BAn-sea-necesario\" class=\"anchor\" id=\"orden-de-aplicación-práctica-empezar-por-el-arnés-y-ampliar-según-sea-necesario\"\u003e\u003c/a\u003eOrden de aplicación práctica: empezar por el arnés y ampliar según sea necesario\u003c/h2\u003e\n\u003cp\u003ePara la mayoría de los equipos, el siguiente orden es realista.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cstrong\u003eDefinir una sola tarea y sus criterios de éxito.\u003c/strong\u003e Primero se recopilan las entradas, los resultados esperados y los casos de fallo.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCrear un arnés mínimo.\u003c/strong\u003e Se proporcionan únicamente el contexto y las herramientas necesarios, y se establecen permisos, pruebas, registros y límites de coste.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eConstruir un conjunto de evaluación.\u003c/strong\u003e Además de casos normales, debe incluir solicitudes ambiguas, documentos incorrectos, errores de herramientas e intentos de exceder los permisos.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eConvertir en bucles los puntos que necesitan repetición.\u003c/strong\u003e Solo se permiten reintentos en los tramos donde la verificación y la corrección mejoran realmente la calidad.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eElevarlo a grafo cuando las bifurcaciones y la recuperación sean complejas.\u003c/strong\u003e Se especifican los estados y las transiciones, y se colocan nodos de aprobación antes de las acciones peligrosas.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUtilizar múltiples agentes solo cuando la división del trabajo resulte beneficiosa.\u003c/strong\u003e Si no son necesarios la exploración paralela o diferentes roles especializados, un solo agente puede ser más sencillo y económico.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2\u003e\n\u003ca href=\"#diferencias-de-aplicaci%C3%B3n-en-codificaci%C3%B3n-e-investigaci%C3%B3n\" class=\"anchor\" id=\"diferencias-de-aplicación-en-codificación-e-investigación\"\u003e\u003c/a\u003eDiferencias de aplicación en codificación e investigación\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eElemento\u003c/th\u003e\n\u003cth\u003eTareas de codificación\u003c/th\u003e\n\u003cth\u003eTareas de investigación\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Elemento\"\u003eCapacidad de verificación\u003c/td\u003e\n\u003ctd data-label=\"Tareas de codificación\"\u003eLa verificación automática mediante pruebas, compilación y comprobación de tipos es relativamente sencilla\u003c/td\u003e\n\u003ctd data-label=\"Tareas de investigación\"\u003eHay que evaluar de forma integral la calidad de las fuentes, las omisiones y las pruebas contradictorias\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Elemento\"\u003eValor de la exploración dinámica\u003c/td\u003e\n\u003ctd data-label=\"Tareas de codificación\"\u003ePuede ser limitado si el alcance de los cambios está claro\u003c/td\u003e\n\u003ctd data-label=\"Tareas de investigación\"\u003eEs elevado al comparar distintas rutas de búsqueda e hipótesis\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Elemento\"\u003ePrincipales riesgos\u003c/td\u003e\n\u003ctd data-label=\"Tareas de codificación\"\u003eCambios incorrectos, vulnerabilidades de seguridad y código adaptado únicamente a las pruebas\u003c/td\u003e\n\u003ctd data-label=\"Tareas de investigación\"\u003eAfirmaciones sin fuentes, materiales duplicados y sesgo de confirmación\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Elemento\"\u003eControles adecuados\u003c/td\u003e\n\u003ctd data-label=\"Tareas de codificación\"\u003eLimitación del alcance del repositorio, pruebas, revisión del diff y aprobación del despliegue\u003c/td\u003e\n\u003ctd data-label=\"Tareas de investigación\"\u003eRegistro de fuentes, búsqueda independiente, exploración de pruebas contrarias y verificación de citas\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eNo puede afirmarse que los flujos de trabajo dinámicos sean siempre ineficientes para la codificación y siempre ventajosos para la investigación. Una migración a gran escala que pueda probarse puede ser adecuada para un agente autónomo, mientras que un procedimiento fijo de investigación puede ser más eficiente para consultar un hecho cuya respuesta está clara. Las variables clave, más que el ámbito, son \u003cstrong\u003ela claridad del objetivo, la posibilidad de verificación automática, el espacio de exploración y el coste de los errores\u003c/strong\u003e.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#la-revisi%C3%B3n-de-c%C3%B3digo-no-desaparece-cambia-la-unidad-de-revisi%C3%B3n\" class=\"anchor\" id=\"la-revisión-de-código-no-desaparece-cambia-la-unidad-de-revisión\"\u003e\u003c/a\u003eLa revisión de código no desaparece: cambia la unidad de revisión\u003c/h2\u003e\n\u003cp\u003eCuando un agente escribe código, el desarrollador pasa a desempeñar en mayor medida la función de supervisar los requisitos, el diseño, los resultados de las pruebas, el alcance de los cambios y los riesgos, en lugar de introducir directamente cada línea. Los resúmenes de Pull Request y los informes de los agentes pueden acelerar la revisión.\u003c/p\u003e\n\u003cp\u003eSin embargo, leer únicamente el resumen y aprobar no constituye una opción predeterminada segura. Los cambios que el agente haya omitido o la lógica que haya entendido incorrectamente pueden no aparecer tampoco en el resumen. En las siguientes situaciones, es necesario revisar directamente el diff original y el código relacionado.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCambios en autenticación, pagos, datos personales, cifrado o control de acceso\u003c/li\u003e\n\u003cli\u003eCambios en el esquema de la base de datos o migraciones irreversibles\u003c/li\u003e\n\u003cli\u003eCódigo sensible al rendimiento y la concurrencia\u003c/li\u003e\n\u003cli\u003eRefactorizaciones a gran escala fuera del alcance de las pruebas\u003c/li\u003e\n\u003cli\u003eCambios en dependencias externas, configuración de despliegue o tratamiento de información secreta\u003c/li\u003e\n\u003cli\u003eCasos en los que la explicación del agente no coincide con el diff real\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHuman-in-the-loop no significa que una persona pulse un botón como mera formalidad. También implica proporcionar pruebas de los cambios, resultados de las pruebas, posibles fallos y procedimientos de reversión para que la persona pueda tomar una decisión.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#errores-frecuentes\" class=\"anchor\" id=\"errores-frecuentes\"\u003e\u003c/a\u003eErrores frecuentes\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#m%C3%BAltiples-agentes-sin-prop%C3%B3sito\" class=\"anchor\" id=\"múltiples-agentes-sin-propósito\"\u003e\u003c/a\u003eMúltiples agentes sin propósito\u003c/h3\u003e\n\u003cp\u003eAumentar el número de agentes genera costes de coordinación de roles, llamadas duplicadas, transferencia de contexto y combinación de resultados. Si no existe la necesidad de explorar en paralelo desde distintas perspectivas o de separar el contexto, es mejor utilizar un solo agente.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#flujos-de-trabajo-din%C3%A1micos-sin-l%C3%ADmites\" class=\"anchor\" id=\"flujos-de-trabajo-dinámicos-sin-límites\"\u003e\u003c/a\u003eFlujos de trabajo dinámicos sin límites\u003c/h3\u003e\n\u003cp\u003eSi se permite que un agente siga creando subtareas, el coste de los tokens y las llamadas a herramientas aumenta rápidamente. El coste está determinado aproximadamente por la suma del coste de los tokens de entrada y salida de cada etapa, el coste de las herramientas, el número de agentes paralelos y la cantidad de iteraciones. El número de llamadas, la cantidad de ejecuciones simultáneas, el presupuesto total y el tiempo máximo de ejecución deben limitarse por separado.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#optimizar-un-solo-indicador-de-evaluaci%C3%B3n\" class=\"anchor\" id=\"optimizar-un-solo-indicador-de-evaluación\"\u003e\u003c/a\u003eOptimizar un solo indicador de evaluación\u003c/h3\u003e\n\u003cp\u003eSi el único objetivo es la tasa de superación de las pruebas, puede producirse una optimización incorrecta, como debilitar las pruebas u ocultar el tratamiento de excepciones. Es necesario utilizar conjuntamente la calidad, la seguridad, el alcance de los cambios, el coste, la latencia y la evaluación humana.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#confundir-la-incorporaci%C3%B3n-de-documentos-con-el-fine-tuning\" class=\"anchor\" id=\"confundir-la-incorporación-de-documentos-con-el-fine-tuning\"\u003e\u003c/a\u003eConfundir la incorporación de documentos con el fine-tuning\u003c/h3\u003e\n\u003cp\u003eLos resultados pueden cambiar de forma persistente mediante la búsqueda de documentos o las instrucciones del proyecto, pero eso no significa que cambien los pesos del modelo. En un sentido amplio, puede describirse como un efecto de aprendizaje del sistema, pero, estrictamente hablando, es una adaptación mediante memoria externa y contexto. Hay que conservar los documentos o el índice de búsqueda para que los cambios se mantengan también en la siguiente ejecución.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#evaluaci%C3%B3n-seguridad-y-econom%C3%ADa-que-suelen-pasarse-por-alto-durante-la-operaci%C3%B3n\" class=\"anchor\" id=\"evaluación-seguridad-y-economía-que-suelen-pasarse-por-alto-durante-la-operación\"\u003e\u003c/a\u003eEvaluación, seguridad y economía que suelen pasarse por alto durante la operación\u003c/h2\u003e\n\u003cp\u003eEl diseño de agentes no termina con un diagrama de arquitectura. En la operación real es importante contar con \u003cstrong\u003eun sistema que mida lo que realmente ocurrió, más que aquello que se permitió\u003c/strong\u003e.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#indicadores-operativos-m%C3%ADnimos\" class=\"anchor\" id=\"indicadores-operativos-mínimos\"\u003e\u003c/a\u003eIndicadores operativos mínimos\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTasa de éxito de las tareas y tasa de correcciones humanas\u003c/li\u003e\n\u003cli\u003eCoste de modelos y herramientas por tarea y tiempo total de ejecución\u003c/li\u003e\n\u003cli\u003eNúmero de iteraciones y proporción de llamadas consumidas sin progreso\u003c/li\u003e\n\u003cli\u003eNúmero de solicitudes de aprobación, rechazos e intentos de exceder los permisos\u003c/li\u003e\n\u003cli\u003eLlamadas incorrectas a herramientas y tasa de éxito de la recuperación\u003c/li\u003e\n\u003cli\u003eProporción de resultados entregados sin fuentes ni pruebas\u003c/li\u003e\n\u003cli\u003eGrado de variación de los resultados ante una misma entrada\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#condiciones-invariantes-necesarias-para-la-seguridad\" class=\"anchor\" id=\"condiciones-invariantes-necesarias-para-la-seguridad\"\u003e\u003c/a\u003eCondiciones invariantes necesarias para la seguridad\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLas instrucciones de documentos externos no tienen mayor prioridad que las políticas del sistema.\u003c/li\u003e\n\u003cli\u003eLa información secreta no se expone innecesariamente en las entradas del modelo ni en los registros.\u003c/li\u003e\n\u003cli\u003eLos permisos de lectura se separan de los permisos de escritura, eliminación y despliegue.\u003c/li\u003e\n\u003cli\u003eLas transmisiones externas y las acciones irreversibles están sujetas a una aprobación adicional o una comprobación de políticas.\u003c/li\u003e\n\u003cli\u003eSe impide que el agente modifique arbitrariamente sus propios criterios de evaluación, pruebas o registros de auditoría.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eEs más seguro imponer estas condiciones invariantes mediante un sandbox, controles de acceso, transiciones de grafos y verificadores independientes que mediante una sola frase en un prompt. La gestión de riesgos de la IA generativa debe abarcar no solo la precisión del modelo, sino también el entorno operativo, la supervisión humana y la respuesta ante incidentes.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#qu%C3%A9-concepto-se-debe-aprender-primero\" class=\"anchor\" id=\"qué-concepto-se-debe-aprender-primero\"\u003e\u003c/a\u003eQué concepto se debe aprender primero\u003c/h2\u003e\n\u003cp\u003eEn el trabajo práctico actual, lo primero que debe aprenderse es la ingeniería de arnés. Contar con un contexto preciso, privilegios mínimos, verificación automática, registros, aprobaciones y límites de coste puede reducir muchos de los fallos de un solo agente.\u003c/p\u003e\n\u003cp\u003eDespués, se añaden bucles con condiciones de finalización a las tareas en las que la repetición mejora la calidad. Cuando las bifurcaciones, el procesamiento paralelo, la recuperación y los procedimientos de aprobación se vuelven complejos, se especifican mediante un grafo. Antes que adoptar términos complejos, la prioridad es expresar de forma medible los objetivos, permisos, pruebas, costes y condiciones de interrupción del agente.\u003c/p\u003e\n","tags":["Ingeniería de contexto","Ingeniería de harness","Agentes de IA","Claude Code","Desarrollo de IA","Agente de programación"],"faqs":[{"question":"¿En qué se diferencia la ingeniería de arneses de la ingeniería de prompts?","answer":"La ingeniería de prompts se ocupa principalmente de las instrucciones y formulaciones que se proporcionan al modelo. La ingeniería de arneses es el diseño de un entorno de ejecución más amplio que incluye no solo los prompts, sino también la recuperación de contexto, las herramientas, los permisos, los entornos aislados, las pruebas, los registros, la aprobación humana y la recuperación de errores."},{"question":"¿La ingeniería de contexto y la ingeniería de arneses significan lo mismo?","answer":"No. La ingeniería de contexto se centra en seleccionar, recuperar, resumir y organizar la información que el modelo necesita conocer en ese momento. La ingeniería de arneses, además de la gestión del contexto, aborda conjuntamente los permisos, las herramientas, la validación, los límites de costes y las políticas operativas."},{"question":"¿Cuál es la diferencia más importante entre un bucle y un grafo?","answer":"Un bucle define qué se repite y cuándo se detiene, como la planificación, la ejecución, la verificación y la corrección. Un grafo define qué estados existen y cómo se puede pasar de un estado a otro. Un grafo puede contener uno o más bucles."},{"question":"¿Todos los agentes de IA necesitan un framework de grafos como LangGraph?","answer":"No. Para tareas sencillas y breves, un solo agente y un arnés mínimo pueden ser suficientes. El valor de un grafo aumenta cuando se requieren bifurcaciones condicionales, procesamiento en paralelo, almacenamiento intermedio, recuperación ante fallos, aprobación humana o auditoría de las rutas de ejecución."},{"question":"¿Los sistemas multiagente siempre tienen un mejor rendimiento que los de un solo agente?","answer":"No. Los sistemas multiagente son útiles cuando se necesitan investigación en paralelo, distintos roles especializados y separación del contexto. Si los roles se solapan o los objetivos son ambiguos, es posible que solo aumenten el trabajo duplicado, los errores de transferencia, las demoras y los costes."},{"question":"¿Cómo se evita que el bucle de un agente se repita indefinidamente?","answer":"Deben establecerse no solo un número máximo de iteraciones, sino también presupuestos de tiempo, tokens, llamadas a herramientas y costes. El sistema debe considerar que no hay progreso cuando no se obtiene información nueva ni se reducen los errores, y debe estar diseñado para detenerse o derivar el caso a una persona cuando se alcance un umbral determinado."},{"question":"¿Basta con revisar únicamente el resumen de una Pull Request del código escrito por una IA?","answer":"El resumen es solo material de apoyo y no sustituye los cambios originales. En cambios de alto riesgo, como los relacionados con la autenticación, los pagos, los datos personales, la migración de datos y la configuración del despliegue, se deben revisar directamente el diff real, la cobertura de las pruebas, las dependencias y el procedimiento de reversión."},{"question":"Si se proporcionan continuamente documentos de la empresa, ¿significa que el modelo ha aprendido?","answer":"Aunque los resultados pueden cambiar de manera persistente, eso no significa que se hayan actualizado los pesos del modelo. Se trata de una adaptación a nivel de sistema que conserva documentos externos, índices de búsqueda, memoria e instrucciones para volver a proporcionarlos en la siguiente ejecución, y debe distinguirse del ajuste fino en sentido estricto."},{"question":"¿La ingeniería de grafos supone volver a los flujos de trabajo fijos de los primeros tiempos?","answer":"No necesariamente. Los grafos modernos se asemejan más a un control híbrido que permite que el agente planifique de forma autónoma y seleccione herramientas en algunos tramos, al tiempo que limita explícitamente las transiciones peligrosas y los puntos de aprobación obligatorios."},{"question":"¿Qué es lo primero que debe definirse al diseñar un arnés?","answer":"Primero deben definirse los criterios de éxito de la tarea y el coste de los fallos. Después, es recomendable proporcionar solo el contexto y las herramientas necesarios y establecer privilegios mínimos, validación automática, registros de ejecución, límites de costes y condiciones de detención."}],"sources":[{"url":"https://www.anthropic.com/research/building-effective-agents","title":"Anthropic — Creación de agentes eficaces","type":"source"},{"url":"https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents","title":"Anthropic — Ingeniería de contexto eficaz para agentes de IA","type":"source"},{"url":"https://www.anthropic.com/engineering/multi-agent-research-system","title":"Anthropic — Cómo construimos nuestro sistema de investigación multiagente","type":"source"},{"url":"https://docs.langchain.com/oss/python/langgraph/overview","title":"Descripción general de LangGraph","type":"source"},{"url":"https://arxiv.org/abs/2210.03629","title":"ReAct: Sinergia entre el razonamiento y la acción en los modelos de lenguaje","type":"source"},{"url":"https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf","title":"NIST AI 600-1 — Marco de gestión de riesgos de la inteligencia artificial: perfil de la inteligencia artificial generativa","type":"source"}],"images":[{"id":662,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ODI0NSwicHVyIjoiYmxvYl9pZCJ9fQ==--3a03e254c3d24990df4c3fc46145a5db24e457ba/ai-eb0e40fe.webp","is_representative":true,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"중앙 AI 시스템을 순환 화살표와 성공·실패 노드 그래프가 둘러싼 다이어그램","caption":"AI 에이전트의 실행 루프와 보안 검증, 분기 경로를 시각화한 구성도다.","description":null},"en":{"alt":"Central AI system surrounded by loop arrows and a graph of success and failure nodes","caption":"The diagram visualizes an AI agent’s execution loop, security checks, and branching paths.","description":null},"ja":{"alt":"中央のAIシステムを循環矢印と成功・失敗ノードのグラフが囲む図","caption":"AIエージェントの実行ループ、セキュリティ検証、分岐経路を可視化している。","description":null},"es":{"alt":"Sistema de IA central rodeado de flechas cíclicas y una red de nodos de éxito y error","caption":"El diagrama representa el bucle de ejecución, las verificaciones y las rutas de un agente de IA.","description":null},"id":{"alt":"Sistem AI pusat dikelilingi panah berulang dan graf simpul keberhasilan serta kegagalan","caption":"Diagram ini memvisualkan loop eksekusi, pemeriksaan keamanan, dan jalur bercabang agen AI.","description":null},"pt":{"alt":"Sistema central de IA cercado por setas cíclicas e uma rede de nós de sucesso e falha","caption":"O diagrama mostra o ciclo de execução, as verificações de segurança e as rotas de um agente de IA.","description":null},"zh-hant":{"alt":"中央 AI 系統周圍環繞循環箭頭與成功、失敗節點組成的路徑圖","caption":"此圖呈現 AI 代理的執行迴圈、安全檢查與分支路徑。","description":null},"de":{"alt":"Zentrales KI-System, umgeben von Kreispfeilen und einem Netz aus Erfolgs- und Fehlerknoten","caption":"Das Diagramm zeigt Ausführungsschleife, Sicherheitsprüfungen und verzweigte Pfade eines KI-Agenten.","description":null}}},{"id":663,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ODI1MSwicHVyIjoiYmxvYl9pZCJ9fQ==--cea797c99aabaa4b8f760264327fe2ee8b34b423/ai-23d7d97a.webp","is_representative":false,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"보안 하네스 속 AI 로봇이 도구 루프와 분기 그래프를 거쳐 검증 및 경고 단계로 이동하는 흐름","caption":"AI 에이전트가 보호된 환경에서 반복 작업과 그래프 분기를 거쳐 사람의 검증을 받는 과정을 보여준다.","description":null},"en":{"alt":"AI robot moves from a secure harness through a tool loop and branching graph to validation and a warning gate","caption":"The diagram shows an AI agent progressing through protected execution, iterative tools, graph branches, and human validation.","description":null},"ja":{"alt":"保護されたAIロボットがツールのループと分岐グラフを経て検証と警告ゲートへ進む流れ","caption":"AIエージェントが保護環境から反復処理、グラフ分岐、人による検証へ進む工程を示している。","description":null},"es":{"alt":"Un robot de IA pasa de un entorno seguro a un bucle de herramientas, un grafo ramificado y una puerta de alerta","caption":"El diagrama muestra a un agente de IA avanzando por ejecución protegida, iteraciones, ramas y validación humana.","description":null},"id":{"alt":"Robot AI bergerak dari lingkungan aman melalui loop alat dan graf bercabang menuju validasi serta gerbang peringatan","caption":"Diagram ini menunjukkan agen AI melalui eksekusi terlindungi, proses berulang, cabang graf, dan validasi manusia.","description":null},"pt":{"alt":"Robô de IA passa de um ambiente seguro por um ciclo de ferramentas e grafo ramificado até validação e alerta","caption":"O diagrama mostra um agente de IA avançando por execução protegida, iterações, ramificações e validação humana.","description":null},"zh-hant":{"alt":"AI 機器人從安全框架經過工具迴圈與分支圖，走向人工驗證及警示閘門","caption":"此圖呈現 AI 代理從受保護執行、反覆工具操作和圖形分支走向人工驗證的流程。","description":null},"de":{"alt":"KI-Roboter durchläuft eine sichere Umgebung, eine Werkzeugschleife und einen verzweigten Graphen bis zur Warnschranke","caption":"Die Grafik zeigt einen KI-Agenten bei geschützter Ausführung, iterativen Abläufen, Graphverzweigungen und menschlicher Prüfung.","description":null}}}],"published_at":"2026-08-16T00:45:12+09:00","updated_at":"2026-08-16T00:45:12+09:00","license":"cc_by","translation_status":"reviewed","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant","de"],"url":"https://injoys.com/es/articles/ai-agent-harness-loop-graph-engineering"}