Alternativas a Harness²: GEPA, DSPy, ADAS, Reflexion y ReAct
Harness² de Google le puso nombre a algo que los equipos ya hacían a trozos: mejorar un agente mejorando el andamiaje que rodea a un modelo fijo en lugar de reentrenar el modelo. Pero Harness² es un punto de un espectro. GEPA, DSPy, ADAS y Reflexion mejoran agentes sin tocar los pesos, y difieren mucho en lo que cambian, en lo que cuestan, en su madurez y en lo que le hacen a tu postura de seguridad. Esta es una comparación para líderes: qué optimiza cada método y qué significa cada uno para el gobierno.
Análisis para CISO y equipos de plataformas de IA y GRC. Las fuentes primarias están enlazadas a lo largo del texto. Donde los detalles de un método son inciertos, o un nombre es ambiguo, lo decimos en lugar de rellenar el hueco: mira la nota sobre «PRISM» más abajo.
Dos complementos de este artículo: el Harness Designer te guía para definir y acotar el harness de un agente, y el Harness Comparator te permite comparar estos métodos entre sí en los ejes de abajo.
Primero, lo único que no hace ninguno
Ninguno de estos métodos reentrena el modelo. Todos optimizan el andamiaje alrededor de unos pesos fijos, así que ninguno es un caso de «IA que se reescribe a sí misma» en el sentido aterrador. Lo que cambia es qué parte del andamiaje reescribe cada uno y, por tanto, cuánto de tu agente se convierte en un blanco móvil. Ese es el eje que importa para la seguridad, así que es el eje por el que los ordenamos.
ReAct: la línea base, no un optimizador
ReAct (Yao et al., 2022) intercala razonamiento (el modelo piensa en texto) y acción (llama a una herramienta y lee el resultado), en un bucle hasta terminar. No es un método de optimización: es el patrón de flujo de control que casi todo agente, y todos los métodos de abajo, dan por supuesto. Lo incluimos porque es la línea base honesta: antes de adoptar cualquier optimizador, mide lo que ya hace un agente ReAct sencillo en tu tarea. Qué optimiza: nada de forma automática; un humano escribe el prompt y elige las herramientas. Datos necesarios: ninguno aparte de herramientas y un prompt. Madurez: omnipresente. Seguridad: la superficie corriente del uso de herramientas; la inyección de prompts a través de las observaciones de las herramientas es la principal preocupación; no hay automodificación.
GEPA: evolución reflexiva de prompts
GEPA («Genetic-Pareto», Agrawal et al., 2025; aceptado como presentación oral en ICLR 2026) optimiza prompts/instrucciones. En lugar de una recompensa numérica, devuelve la traza de ejecución completa a un paso de reflexión de un LLM que propone una edición en lenguaje natural del prompt, y mantiene una frontera de Pareto de prompts candidatos en lugar de un único mejor hasta el momento. Su fama viene de la eficiencia de muestras: los autores reportan que supera a enfoques de aprendizaje por refuerzo con muchas menos ejecuciones (toma los multiplicadores concretos como cifras del paper, a comprobar en la fuente). Qué optimiza: prompts. Datos necesarios: un pequeño conjunto de evaluación y una métrica, más las trazas que genera GEPA. Costo/complejidad: de bajo a moderado; mucho más barato que el RL. Madurez: activo; incluido como optimizador dentro de DSPy (dspy.GEPA). Seguridad: bajo riesgo: emite prompts, que son artefactos de texto que puedes comparar, revisar, versionar y revertir. No añade superficie ejecutable nueva. Revisa el prompt final como revisarías cualquier cambio de instrucciones.
DSPy: un compilador para pipelines de LM
DSPy (Khattab et al., Stanford, ICLR 2024) es menos un algoritmo concreto que un framework de programación: declaras un pipeline de LM en términos modulares, y los optimizadores de DSPy («teleprompters»: BootstrapFewShot, MIPROv2 y GEPA, entre otros) ajustan los prompts y las demostraciones few-shot contra una métrica que defines (y opcionalmente pueden ajustar pesos). El atractivo es que la mejora se convierte en un paso de compilación repetible en lugar de un ajuste a mano. Qué optimiza: prompts y ejemplos few-shot, mediante el optimizador elegido. Datos necesarios: ejemplos de entrenamiento/validación y una métrica. Costo/complejidad: moderado: tienes que expresar tu tarea como un programa DSPy, pero la optimización es barata y reproducible. Madurez: maduro y ampliamente adoptado. Seguridad: bajo riesgo y auditable: las salidas son prompts y demostraciones; el paso de compilación es determinista dadas las entradas; los artefactos se pueden revisar y versionar. El principal punto de higiene es tratar los prompts/demostraciones optimizados como configuración sujeta a control de cambios.
ADAS: un meta-agente que escribe nuevos agentes
ADAS («Automated Design of Agentic Systems», Hu, Lu y Clune, 2024) sube un nivel: un meta-agente programa nuevos agentes en código, iterando mediante su algoritmo «Meta Agent Search» sobre un archivo de agentes descubiertos previamente, y según se informa los agentes descubiertos se transfieren entre dominios y modelos. Qué optimiza: la topología, el flujo de control y los componentes del agente, expresados como código ejecutable. Datos necesarios: tareas de evaluación, un meta-agente capaz de programar y un archivo. Costo/complejidad: alto: es una búsqueda sobre programas. Madurez: de nivel de investigación. Seguridad: es el más pesado del conjunto. Un método cuya salida es código ejecutable de agentes es ejecución de código arbitrario por definición: los programas descubiertos deben ejecutarse en un sandbox, detrás de una lista de salida permitida, con revisión humana antes de que nada llegue a producción. La ventaja (arquitecturas novedosas) viene con el requisito de aislamiento más fuerte.
Reflexion: autorreflexión verbal en tiempo de ejecución
Reflexion (Shinn et al., NeurIPS 2023) es de otra naturaleza: mejora el agente en tiempo de ejecución, dentro de una tarea, haciendo que genere una autorreflexión verbal tras un intento fallido y que la guarde en una memoria episódica que el agente lee antes del siguiente intento. No cambian los pesos ni se preoptimiza ningún conjunto de prompts: el «aprendizaje» está en el contexto y en una memoria que va de efímera a persistente. Qué optimiza: el comportamiento del propio agente entre intentos, mediante memoria reflexiva. Datos necesarios: una señal de retroalimentación o recompensa sobre la que reflexionar (aunque sea un simple éxito/fracaso). Costo/complejidad: bajo; es un bucle, no un entrenamiento. Madurez: bien establecido y muy citado. Seguridad: no genera código, así que el radio de impacto es menor, pero la memoria persistente es una superficie de envenenamiento: una reflexión mala o inyectada puede sobrevivir y dirigir ejecuciones posteriores, así que importan la procedencia y la revisión de lo que se escribe en memoria.
Harness²: harnessing recursivo de todo el andamiaje
Harness² (Google Cloud AI Research y Northwestern University, arXiv 2610.14224) es el más amplio. Reescribe el harness completo alrededor de un modelo fijo (descrito en ocho componentes: prompt de sistema, barreras de protección, memoria, guía de herramientas, subagentes, skills, scripts y plugins) mediante un bucle Propose–Probe–Compose (proponer ediciones del harness, sondear su efecto en la misma tarea y componer un harness refinado a partir del contraste), más un «harness de mejora» persistente que lleva lecciones respaldadas por evidencia a tareas futuras. Reporta mejoras en los benchmarks de trabajo profesional que usa. Qué optimiza: todo el andamiaje, de forma recursiva, entre tareas. Datos necesarios: tareas contra las que optimizar (el sondeo por tarea no necesita una respuesta de referencia). Costo/complejidad: alto: es un bucle de optimización recursivo sobre una superficie grande. Madurez: nuevo/experimental. Seguridad: la superficie de gobierno más amplia de esta lista. Como puede reescribir la guía de herramientas, los plugins, los scripts y las barreras de protección, un harness que se edita a sí mismo puede cambiar lo que el agente tiene permitido hacer sin un humano en el bucle, y el propio paper advierte que sus ejecutores funcionan con acceso a red sin restricciones y el ejecutor de Codex con el sandbox desactivado. Necesita control de cambios con aprobación humana para las ediciones privilegiadas, mínimo privilegio que no pueda autoampliarse, procedencia y reversión para los harness y lecciones adoptados, y ejecutores en sandbox detrás de una lista de salida permitida. (Lo tratamos a fondo en nuestro artículo dedicado al gobierno de Harness².)
Un nombre que no vamos a fingir que identificamos: «PRISM»
«PRISM» aparece a veces en listas de métodos de optimización de agentes, pero es un acrónimo sobrecargado. Encontramos al menos tres papers recientes no relacionados que lo usan: uno sobre el post-entrenamiento de LLM sin recompensas verificables (un enfoque con modelo de recompensa de procesos), uno que propone un framework «Propose-Review-Integrate» para el razonamiento multiagente y uno que describe un sustrato de memoria evolutiva para el descubrimiento multiagente. Optimizan cosas distintas y conllevan riesgos distintos. No existe un único «PRISM» canónico como existe un único GEPA o ADAS. Si lo ves citado, consigue el identificador exacto de arXiv y los autores antes de construir nada sobre él: trata el nombre a secas como no confirmado.
Lado a lado
| Método | Optimiza | Costo / madurez | Riesgo de gobierno |
|---|---|---|---|
| ReAct | Nada (patrón base: razonar + actuar) | Trivial / omnipresente | Bajo: superficie corriente de uso de herramientas / inyección de prompts |
| GEPA | Prompts (evolución reflexiva, Pareto) | Bajo / activo | Bajo: emite prompts de texto revisables |
| DSPy | Prompts + demostraciones few-shot (ajuste fino opcional) | Moderado / maduro | Bajo: compilación determinista, artefactos auditables |
| Reflexion | Comportamiento en tiempo de ejecución mediante memoria reflexiva | Bajo / establecido | Medio: superficie de envenenamiento de memoria |
| ADAS | Topología / flujo de control del agente (como código) | Alto / investigación | Alto: genera código ejecutable; necesita sandbox |
| Harness² | El harness completo (8 componentes), de forma recursiva | Alto / experimental | Alto: andamiaje que se automodifica; control de cambios + salida de red |
Cómo elegir
- Empieza con ReAct y mide. No puedes saber si un optimizador compensa su riesgo hasta conocer la línea base.
- ¿Quieres un comportamiento mejor y auditable a bajo costo? DSPy y GEPA. Artefactos de texto, revisables, versionables, con bajo radio de impacto. Aquí es donde la mayoría de los equipos debería invertir primero.
- ¿Necesitas que el agente se adapte dentro de la tarea a partir de sus propios errores? Reflexion, pero gobierna lo que se escribe en memoria.
- ¿Exploras arquitecturas de agentes novedosas? ADAS, en un sandbox, detrás de una lista de salida permitida y con revisión humana del código generado antes de ejecutarlo.
- ¿Quieres que el propio andamiaje se mejore entre tareas? Harness², la opción de frontera y la que más amplía tu superficie de control de cambios y de ataque. Adóptalo con los controles, no antes de tenerlos.
- ¿Ves «PRISM» (o cualquier nombre desconocido)? Identifica el paper exacto antes de apoyarte en él.
El hilo conductor del gobierno
Lee la tabla de arriba abajo y el patrón está claro: el riesgo sube cuanto más se automodifica un método y cuanto más se acerca a generar código ejecutable o capacidades nuevas. Los optimizadores que solo tocan prompts emiten texto revisable. Los métodos basados en memoria añaden una superficie de envenenamiento. Los que generan código o se reescriben a sí mismos cambian lo que el agente puede hacer, y necesitan el kit completo: control de cambios con aprobación humana para las ediciones privilegiadas, mínimo privilegio que no pueda autoampliarse, procedencia y reversión para cada artefacto y memoria adoptados, y ejecutores en sandbox detrás de una lista de salida permitida. Ninguno de estos métodos es peligroso por naturaleza; todos son seguros de ejecutar dentro de límites que fijes deliberadamente. Elige el método para el trabajo y dimensiona los controles según dónde se sitúe en ese espectro.
Dónde encaja esto en lo que ya operas
Elijas el método que elijas, las preguntas de gobierno son las mismas que ya responden tus programas existentes, solo que apuntadas al andamiaje. «¿Quién puede cambiar qué, y está evidenciado?» es disciplina de control de cambios y de gestión de la IA (laboratorio AI Governance Board). «¿Qué componentes y qué procedencia tiene realmente este agente?» es una pregunta de AI Bill of Materials. «¿Cuál es el radio de impacto de este agente concreto?» es un modelo de amenazas (generador de modelos de amenazas para LLM). Y para diseñar y acotar el propio harness antes de dejar que un optimizador se le acerque, el Harness Designer y el Harness Comparator son los complementos de este artículo.
Fuentes y créditos
- Harness²: arXiv 2610.14224 (Google Cloud AI Research y Northwestern University); verifica las cifras de puntuación concretas en la fuente primaria.
- GEPA: arXiv 2507.19457 («Reflective Prompt Evolution Can Outperform Reinforcement Learning», Agrawal et al., presentación oral en ICLR 2026); también disponible como
dspy.GEPA. - DSPy: arXiv 2310.03714 («Compiling Declarative Language Model Calls into Self-Improving Pipelines», Khattab et al., ICLR 2024).
- ADAS: arXiv 2408.08435 («Automated Design of Agentic Systems», Hu, Lu y Clune).
- Reflexion: arXiv 2303.11366 («Language Agents with Verbal Reinforcement Learning», Shinn et al., NeurIPS 2023).
- ReAct: arXiv 2210.03629 («Synergizing Reasoning and Acting in Language Models», Yao et al.).
- «PRISM»: el nombre es ambiguo entre varios papers no relacionados (post-entrenamiento sin recompensas verificables; un framework de razonamiento multiagente Propose-Review-Integrate; un sustrato de memoria evolutiva). Identifica el identificador exacto de arXiv antes de apoyarte en él.
Publicado el 19 de octubre de 2026. Las fuentes primarias prevalecen donde difieran de este resumen. Los multiplicadores de rendimiento reportados para cualquier método son cifras del propio paper y deben verificarse en la fuente antes de citarlos.
Preguntas frecuentes
¿Qué cambian realmente estos métodos, si no son los pesos del modelo?
Distintas capas del agente. ReAct cambia el patrón de flujo de control (intercalar razonamiento y llamadas a herramientas) y es en realidad la línea base que dan por supuesta todos los demás. GEPA cambia los prompts/instrucciones, haciéndolos evolucionar a partir de una reflexión en lenguaje natural sobre las trazas de ejecución. DSPy cambia los prompts y las demostraciones few-shot (y opcionalmente puede ajustar pesos) compilando un pipeline declarativo contra una métrica. Reflexion no cambia nada estructural: añade autorreflexiones verbales a un búfer de memoria en tiempo de ejecución para que el agente lo haga mejor en el siguiente intento. ADAS cambia el agente completo, escrito como código, mediante un meta-agente que programa nuevos agentes. Harness² cambia todo el harness (prompt de sistema, barreras de protección, memoria, guía de herramientas, subagentes, skills, scripts y plugins) de forma recursiva, alrededor de un modelo fijo. Cuanto más bajas en esa lista, más parte del sistema se automodifica.
¿Cuál deberíamos elegir?
Ajusta el método al objetivo y a tu apetito de riesgo. Si quieres prompts mejores y auditables a bajo costo, empieza con DSPy y GEPA: producen artefactos de texto que puedes revisar y versionar. Si necesitas que el agente se adapte dentro de una tarea a partir de sus propios errores, Reflexion es la opción ligera. Si quieres buscar entre arquitecturas de agentes y flujos de control, ADAS es la herramienta de nivel de investigación, pero genera código ejecutable, así que conlleva el requisito de sandbox más exigente del conjunto. Si quieres que el propio andamiaje se mejore entre tareas, Harness² es la opción de frontera y la que más cambia tu superficie de gobierno. Un ReAct sencillo es la línea base sensata contra la que medirlos todos. Ninguno reentrena el modelo, así que ninguno es un evento de alineación: son decisiones de ingeniería con perfiles distintos de auditoría y radio de impacto.
¿Por qué los optimizadores de prompts son «más seguros» que los métodos que generan código o se reescriben a sí mismos?
Por lo que emiten y lo revisable que es. GEPA y DSPy producen prompts y ejemplos few-shot: texto que puedes comparar, revisar, versionar y revertir, sin nueva superficie ejecutable. Reflexion produce texto reflexivo guardado en memoria, de bajo riesgo de ejecución pero que introduce una superficie de envenenamiento de memoria: una reflexión mala (o inyectada) puede persistir y dirigir ejecuciones futuras. ADAS produce código ejecutable de agentes, lo que es ejecución de código arbitrario por definición y necesita un sandbox y revisión humana antes de ejecutar nada. Harness² reescribe la guía de herramientas, los plugins, los scripts y las barreras de protección, así que puede cambiar lo que el agente tiene permitido hacer, y por eso necesita mínimo privilegio que no pueda autoampliarse y control de cambios con aprobación humana. El riesgo crece cuanto más se acerca el método a generar código o ampliar capacidades.
¿Es «PRISM» uno de estos métodos?
Ese es justo el problema: «PRISM» es un nombre sobrecargado. Encontramos varios papers recientes no relacionados que lo usan: uno sobre el post-entrenamiento de LLM sin recompensas verificables (un enfoque con modelo de recompensa de procesos), uno que propone un framework «Propose-Review-Integrate» para el razonamiento multiagente y uno que describe un sustrato de memoria evolutiva para el descubrimiento multiagente. Ninguno es un «método de optimización de agentes» único y canónico como GEPA o DSPy. Así que no vamos a fingir que PRISM nombra una técnica bien definida. Si un proveedor o un paper cita «PRISM», identifica el identificador exacto de arXiv y los autores antes de basar una decisión en él, porque los tres candidatos optimizan cosas muy distintas y conllevan riesgos distintos.
¿Alguno de estos crea un agente que se automejora y podría descontrolarse?
No en el sentido de «pesos que se reescriben a sí mismos»: todos los métodos de aquí dejan fijos los pesos del modelo y optimizan el andamiaje que lo rodea, normalmente dentro de un pipeline definido y sobre un conjunto de tareas. La preocupación real de gobierno es más acotada y manejable: los métodos que automodifican el harness (Harness²) o generan agentes ejecutables (ADAS) cambian lo que un agente puede hacer sin que necesariamente haya un humano en el bucle, y los métodos que persisten memoria (Reflexion, y las partes de memoria de Harness²) pueden arrastrar una «lección» envenenada. Los controles son los que ya conoces, aplicados al andamiaje: control de cambios con aprobación humana para todo lo que toque herramientas, permisos o barreras de protección; mínimo privilegio que no pueda autoampliarse; procedencia y reversión para los artefactos y memorias adoptados; y ejecutores en sandbox detrás de una lista de salida permitida. La capacidad es buena ingeniería; la disciplina que la rodea es lo que la mantiene segura.