Agent Mentor Learn
Diseñar flujos de trabajo de agentes: de la conversación puntual a la automatización de varios pasos · Lección 4 de 6

Lección 4: Gestión de estado y paso de contexto

Objetivos de aprendizaje:

  • Distinguir el estado del flujo de trabajo del contexto del agente
  • Dominar tres patrones de gestión de estado
  • Entender los puntos de control y la recuperación

Requisitos: Lección 3: Descomponer una tarea compleja en un flujo de trabajo | Siguiente: Lección 5 >>

Por qué la gestión de estado es el corazón de un flujo de trabajo

Diseñas un flujo de trabajo perfecto: 10 pasos, dependencias limpias. En el paso 8, el servidor se reinicia. El flujo de trabajo se cae.

¿Lo vuelves a correr? Entonces el trabajo de los primeros 7 pasos —quizá 30 minutos— se tira a la basura.

Ese es el precio de no tener gestión de estado.

La gestión de estado resuelve tres problemas:1

  1. Pasar datos entre pasos: ¿cómo obtiene el paso 3 los resultados de los pasos 1 y 2?
  2. Seguimiento del progreso: ¿qué tan avanzado está el flujo de trabajo? ¿Cuánto falta?
  3. Recuperación ante fallas: después de una caída, retomar desde donde se detuvo en lugar de empezar de nuevo.

Sin gestión de estado, un agente solo puede pasar información a través del historial de conversación. El historial de conversación se desborda, se pierde y el agente lo olvida.

Con gestión de estado, el flujo de trabajo tiene una «memoria» clara: persistente, consultable y recuperable.2

Estado contra contexto contra memoria

Estas tres palabras se confunden con facilidad, así que fijémoslas primero:1

Estado

  • Toda la información sobre la tarea actual: en qué paso vas, el resultado de cada paso, qué sigue
  • Es una foto instantánea: todo lo que el flujo de trabajo sabe en este momento
  • Se guarda en: variables del script, una base de datos, archivos

Contexto

  • La información que se pasa a una sola llamada del agente
  • Es la entrada: lo que este agente necesita saber para hacer su trabajo
  • Se extrae del estado de forma selectiva: no todo el estado va al agente, solo la parte relevante

Memoria

  • Lecciones aprendidas del pasado: qué se hizo antes, qué problemas aparecieron, cuáles fueron las soluciones
  • Es historia: conocimiento de largo plazo a través de tareas y sesiones
  • Queda fuera del alcance de esta lección (la memoria de largo plazo es un tema difícil por sí solo)

Un ejemplo:

El principio clave: el estado es global, el contexto es local.3

Patrón de estado 1: variables de script (estado en memoria)

Cuándo usarlo: flujos de trabajo cortos (< 10 minutos) que no necesitan cruzar procesos ni máquinas.

A favor: simple, rápido, sin dependencias externas.

En contra: el estado se pierde cuando el proceso se cae, sin forma de recuperarlo.

Patrón básico

¿Dónde vive el estado? En las variables locales de la función (processed, results, errors).

¿Y si el proceso se cae? Todo el estado se pierde y empiezas de nuevo desde el principio.

Mejor: un objeto de estado estructurado

Por qué ayuda: el estado tiene una estructura clara, es fácil de pasar a otras funciones y es fácil de serializar (si necesitas persistirlo).

Patrón de estado 2: puntos de control

Cuándo usarlo: flujos de trabajo de duración media (10-60 minutos) donde necesitas guardar el progreso después de operaciones costosas.

A favor: después de una caída, puedes retomar desde el punto de control más reciente y evitar rehacer trabajo.

En contra: tienes que diseñar dónde van los puntos de control y la lógica de recuperación.1

Elegir dónde poner los puntos de control

Estrategias de puntos de control:

  • Puntos de control periódicos: guardar cada N tareas o cada M minutos
  • Puntos de control por fase: guardar cuando termina cada fase importante (por ejemplo, «fase de análisis lista»)
  • Antes de operaciones críticas: guardar antes de una operación irreversible (por ejemplo, un despliegue o un borrado)

Patrón de estado 3: almacenamiento externo (estado persistente)

Cuándo usarlo: flujos de trabajo de larga duración (> 1 hora), trabajo que necesita coordinarse entre máquinas o trabajo que necesita aprobación humana.

A favor: el estado es persistente; que el proceso se caiga o la máquina se reinicie da igual, y se admite pausar y retomar.

En contra: necesita una dependencia externa (una base de datos, Redis) y agrega complejidad.4

Implementación básica

El patrón clave: una máquina de estados2

Las fases del flujo de trabajo son los estados de una máquina de estados:

init → processing → awaiting_approval → approved → finalizing → completed                     rejected → cancelled

Cada transición de fase se guarda en el almacenamiento externo, y eso es justo lo que permite que el flujo de trabajo retome desde cualquier fase.

Buenas prácticas para pasar contexto

Principio 1: pasa solo lo necesario

¿Por qué? Mientras más grande es el contexto, más fácil es que el agente se distraiga; la calidad del razonamiento baja y el costo sube.3

Principio 2: estructura el contexto

¿Por qué? Un contexto estructurado es más fácil de entender para el agente y más fácil de depurar para ti.

Principio 3: contexto que se acumula contra contexto que se reinicia

Contexto que se acumula: el resultado de cada paso se agrega al contexto, así que este no para de crecer.

Contexto que se reinicia: cada paso limpia el contexto y conserva solo lo necesario.

Cuál elegir: usa contexto que se reinicia la mayor parte del tiempo para evitar la explosión de contexto. Usa contexto que se acumula solo cuando los pasos posteriores de verdad necesitan todos los resultados anteriores (como un paso final de resumen).5

Observabilidad del estado

Un buen flujo de trabajo debería poder responder estas preguntas:

  • ¿En qué fase está ahora mismo?
  • ¿Cuánto se hizo? ¿Cuánto falta?
  • ¿Cuántos errores encontró?
  • ¿Cuándo se espera que termine?

Implementar el seguimiento del progreso


Próxima lección: Lección 5: Manejo de errores y estrategias de reintento — aprende a hacer que un flujo de trabajo se recupere con elegancia ante una falla en lugar de caerse por completo

Footnotes

  1. MachineLearningMastery: 5 Architectural Patterns for Persistent Memory and State in AI Agents — https://machinelearningmastery.com/5-architectural-patterns-for-persistent-memory-and-state-in-ai-agents/ 2 3

  2. MindStudio: Workflow State vs. Session State — https://www.mindstudio.ai/blog/workflow-state-vs-session-state-ai-agents 2

  3. Chrono Innovation: Architecture for Scalable Agentic AI Workflows — https://www.chronoinnovation.com/resources/agentic-ai-workflows-architecture/ 2

  4. Appamass: State Management Patterns for Reliable AI Agent Workflows — https://appamass.com/en/blog/state-management-patterns-for-reliable-ai-agent-workflows-5yemlru6ui6cacast3l5

  5. Ranjan Kumar: Building Agents That Remember — https://ranjankumar.in/building-agents-that-remember-state-management-in-multi-agent-ai-systems

Ejercicios

01

Para los tres flujos de trabajo de abajo, elige el patrón de gestión de estado adecuado (variables de script, puntos de control, almacenamiento externo) y explica por qué:

Nivel 1: Elegir un patrón de gestión de estado

Flujo de trabajo A: comprimir por lotes 20 imágenes, 5 segundos cada una, 100 segundos en total

Flujo de trabajo B: entrenar un modelo de aprendizaje automático, 50 épocas de 10 minutos cada una, 500 minutos en total (8 horas)

Flujo de trabajo C: revisar 100 PR, cada uno con aprobación humana antes del merge, y el proceso completo puede correr por varios días

Criterios de finalización · marcado local
02

Diseña el objeto de estado para un flujo de trabajo de «despliegue de varios servicios». El flujo de trabajo necesita: (1) construir imágenes Docker para 5 servicios (2) subirlas a un registro de imágenes (3) desplegarlas una por una en un entorno de pruebas (4) correr pruebas de integración (5) si las pruebas pasan, desplegar a producción.

Nivel 2: Diseñar una estructura de estado

Requisitos:

  • Diseña un objeto JSON que represente el estado del flujo de trabajo
  • Incluye: fase actual, estado de cada servicio, info de errores, marcas de tiempo
  • Explica dónde deberían guardarse los puntos de control
Criterios de finalización · marcado local