Agentes de IA y Automatización Inteligente

¿Qué es la memoria de un agente de IA y cómo se implementa? Tipos, arquitectura y ejemplos

Los agentes de inteligencia artificial pueden interpretar instrucciones, utilizar herramientas y ejecutar tareas. Sin embargo, para mantener conversaciones coherentes y trabajar en procesos prolongados necesitan gestionar información de manera adecuada.

Una de las capacidades fundamentales para conseguirlo es la memoria de los agentes de IA.

Imaginemos un asistente comercial que conversa con un cliente durante varias sesiones. En la primera conversación, el cliente explica qué servicios necesita. Días después, vuelve a preguntar por una propuesta.

Sin memoria, el sistema podría necesitar que el cliente repitiera toda la información.

Con una arquitectura de memoria adecuada, el agente puede recuperar datos previamente almacenados, mantener la continuidad de la conversación y utilizar información relevante para preparar una respuesta.

Esta capacidad también resulta importante en aplicaciones de automatización empresarial, sistemas CRM, asistentes técnicos y agentes que ejecutan tareas de larga duración.

Sin embargo, la memoria de un agente no funciona necesariamente como la memoria humana ni implica que el modelo aprenda automáticamente de cada interacción.

En esta guía explicaremos qué es la memoria de un agente de inteligencia artificial, cuáles son sus principales tipos y cómo implementarla mediante Python, embeddings, PostgreSQL y bases de datos vectoriales.

¿Qué es la memoria de un agente de IA y cómo se implementa? Tipos, arquitectura y ejemplos
¿Qué es la memoria de un agente de IA y cómo se implementa? Tipos, arquitectura y ejemplos

¿Qué es la memoria de un agente de inteligencia artificial?

La memoria de un agente de IA es el conjunto de mecanismos que permiten almacenar, conservar y recuperar información relevante para utilizarla durante una tarea o en interacciones posteriores.

Su objetivo es proporcionar continuidad y contexto.

Un agente puede necesitar recordar mensajes anteriores, resultados de herramientas, información sobre una tarea pendiente o preferencias autorizadas de un usuario.

Por ejemplo, un agente de soporte informático puede conservar el identificador de una incidencia y las operaciones realizadas durante el diagnóstico.

Cuando la conversación continúa, puede recuperar el estado de la incidencia y evitar repetir determinadas consultas.

La memoria no tiene que formar parte del modelo de inteligencia artificial.

De hecho, muchas arquitecturas modernas utilizan sistemas externos de almacenamiento, como bases de datos relacionales, almacenes documentales y servicios de búsqueda vectorial.

El modelo recibe la información recuperada cuando la aplicación determina que resulta relevante.

¿Por qué necesitan memoria los agentes de IA?

La memoria permite superar determinadas limitaciones de las aplicaciones que solamente procesan una solicitud aislada.

Mantener continuidad

Un agente puede utilizar información de mensajes anteriores para interpretar referencias como «el documento anterior» o «la oportunidad que analizamos ayer».

Evitar operaciones repetidas

El sistema puede conservar resultados intermedios y reutilizarlos cuando siguen siendo válidos.

Recuperar conocimiento relevante

Una aplicación empresarial puede almacenar información autorizada que necesita consultar en futuras operaciones.

Gestionar procesos prolongados

Algunas tareas requieren varias etapas, interrupciones o aprobaciones humanas.

Conservar el estado permite continuar el trabajo sin comenzar necesariamente desde cero.

Adaptar respuestas

Cuando existe autorización, un agente puede conservar determinadas preferencias del usuario, como el idioma de comunicación o el formato de los informes.

Estas capacidades deben implementarse respetando las políticas de privacidad y conservación de datos.

¿Qué tipos de memoria existen en los agentes de IA?

Una clasificación habitual distingue entre memoria a corto plazo y memoria a largo plazo.

También podemos clasificar la información almacenada según su contenido: semántico, episódico o procedimental.

Ambas clasificaciones son complementarias.

Tipo de memoriaFunción principalEjemplo
Corto plazoMantener contexto de una tareaConversación actual
Largo plazoConservar información entre sesionesPreferencias autorizadas
SemánticaAlmacenar conocimientos y hechosInformación de productos
EpisódicaRegistrar experiencias o acontecimientosHistorial de una incidencia
ProcedimentalConservar instrucciones y procedimientosFlujo aprobado de soporte

La selección depende de las necesidades de cada aplicación.

1. Memoria a corto plazo

La memoria a corto plazo permite mantener información relevante durante una conversación o proceso de ejecución.

Por ejemplo, si un usuario solicita analizar tres documentos y posteriormente pregunta «¿cuál presenta el mayor coste?», el agente necesita conservar información sobre los documentos anteriores.

En muchas aplicaciones, esta memoria se implementa mediante el historial de mensajes y el estado de ejecución.

¿Cómo funciona?

Cuando el usuario envía un mensaje, la aplicación recupera el contexto asociado a la conversación.

Posteriormente transmite ese contexto al modelo junto con la nueva solicitud.

El modelo utiliza la información disponible para generar una respuesta o seleccionar herramientas.

Después, el sistema actualiza el historial.

¿Qué es la ventana de contexto?

La ventana de contexto es la cantidad máxima de información que un modelo puede procesar en una interacción, medida normalmente en tokens.

No es lo mismo que memoria persistente.

Aunque el historial esté almacenado en una base de datos, puede ser demasiado extenso para incluirlo íntegramente en cada solicitud.

Por ello, las aplicaciones utilizan técnicas de selección, truncamiento y resumen.

Estrategias habituales

Ventana deslizante: conservar únicamente una parte reciente de la conversación.

Resumen de conversación: generar una representación compacta de la información anterior.

Recuperación selectiva: incorporar solamente los mensajes relevantes.

Estado estructurado: almacenar variables importantes por separado, como identificadores, fechas y resultados de herramientas.

La estrategia adecuada depende de la duración de las conversaciones y de la información que debe conservarse.

2. Memoria a largo plazo

La memoria a largo plazo permite almacenar información que debe permanecer disponible después de finalizar una conversación o ejecución.

Por ejemplo, un agente comercial puede conservar información aprobada sobre un cliente que será necesaria en futuras interacciones.

A diferencia de la memoria a corto plazo, esta información puede recuperarse en distintas sesiones.

¿Cómo se implementa?

Normalmente se utiliza un almacenamiento persistente.

Las opciones incluyen PostgreSQL, bases documentales, sistemas clave-valor y servicios de búsqueda vectorial.

Cada registro debe disponer de un identificador, información sobre su propietario, fecha de creación y, cuando corresponda, condiciones de expiración.

Ejemplo empresarial

Un agente de asistencia puede almacenar que determinado cliente prefiere recibir informes en español.

En futuras sesiones, la aplicación puede recuperar esa preferencia si existe autorización.

No obstante, las preferencias pueden cambiar.

Por ello, los sistemas de memoria necesitan mecanismos para actualizar, corregir y eliminar información.

3. Memoria semántica

La memoria semántica representa hechos, conceptos y conocimientos.

Por ejemplo, un agente empresarial puede necesitar información sobre productos, servicios, procedimientos internos o definiciones técnicas.

Esta información puede almacenarse en documentos o bases de datos.

Cuando el contenido es extenso, puede utilizarse recuperación semántica para localizar fragmentos relacionados con una consulta.

Es importante distinguir entre memoria semántica y búsqueda vectorial.

La primera describe el tipo de conocimiento.

La segunda es una técnica que puede utilizarse para recuperarlo.

Un sistema también puede almacenar conocimiento semántico mediante tablas SQL o estructuras convencionales.

4. Memoria episódica

La memoria episódica conserva información sobre acontecimientos o experiencias anteriores.

En un agente de IA puede representar operaciones realizadas, situaciones observadas y resultados obtenidos.

Por ejemplo, un agente de soporte puede recuperar el historial de una incidencia similar.

El registro puede incluir el problema detectado, las herramientas utilizadas, las operaciones autorizadas y el resultado final.

Esta información puede ayudar a identificar procedimientos relevantes en casos posteriores.

Sin embargo, recuperar una experiencia anterior no garantiza que la misma solución sea adecuada para una situación nueva.

El agente debe comprobar las condiciones actuales antes de actuar.

5. Memoria procedimental

La memoria procedimental representa información relacionada con cómo realizar determinadas tareas.

Por ejemplo, puede contener instrucciones para clasificar solicitudes, validar documentos o ejecutar procedimientos técnicos.

En aplicaciones empresariales, estos procedimientos suelen implementarse mediante código, configuraciones, instrucciones versionadas o flujos de trabajo.

Esto facilita comprobar que el sistema sigue procesos aprobados.

Es recomendable evitar que un agente modifique autónomamente procedimientos críticos sin revisión y autorización.

¿Cómo funciona la arquitectura de memoria de un agente?

Una arquitectura de memoria moderna puede dividirse en cinco componentes principales.

1. Captura de información

El sistema recibe mensajes, resultados de herramientas o eventos relacionados con una tarea.

No toda la información capturada debe almacenarse permanentemente.

2. Selección

La aplicación determina qué información merece conservarse.

Por ejemplo, puede guardar una preferencia confirmada, pero descartar datos temporales que ya no son útiles.

3. Almacenamiento

La información seleccionada se guarda en una base de datos o servicio persistente.

Puede utilizarse texto, JSON, vectores o una combinación de formatos.

4. Recuperación

Cuando el agente recibe una nueva solicitud, la aplicación busca la información relevante.

Puede utilizar consultas SQL, filtros de metadatos, búsquedas semánticas o estrategias híbridas.

5. Actualización y eliminación

Los registros deben poder corregirse, reemplazarse o eliminarse cuando cambian las condiciones o termina su período de conservación.

Una arquitectura empresarial también necesita autenticación, permisos, observabilidad y separación entre usuarios y organizaciones.

¿Qué son los embeddings y cómo se utilizan en la memoria?

Los embeddings son representaciones numéricas de información que permiten comparar determinados aspectos de su significado o similitud.

En aplicaciones basadas en texto, un modelo de embeddings transforma una frase en un vector compuesto por números.

Por ejemplo, las expresiones «problema de conexión a Internet» y «fallo de conectividad de red» pueden generar representaciones próximas dentro del espacio vectorial.

Esto permite encontrar información relacionada aunque no utilice exactamente las mismas palabras.

¿Cómo se generan?

Una aplicación envía texto a un modelo de embeddings.

El modelo devuelve un vector numérico.

Después, la aplicación puede almacenar ese vector junto al texto original y sus metadatos.

Cuando aparece una nueva consulta, se genera otro vector y se buscan los registros más próximos.

¿Qué ventajas ofrecen?

Los embeddings facilitan la recuperación de información relacionada semánticamente.

Son especialmente útiles para documentación extensa, bases de conocimiento y conversaciones históricas.

Sin embargo, la similitud vectorial no garantiza exactitud factual.

Por ello, los resultados deben complementarse con filtros, validación de fuentes y, cuando corresponda, búsqueda por palabras clave.

¿Qué es una base de datos vectorial?

Una base de datos vectorial es un sistema capaz de almacenar y consultar representaciones numéricas multidimensionales para encontrar elementos similares.

Estas bases permiten realizar búsquedas por distancia o similitud.

Entre las opciones utilizadas en aplicaciones de IA se encuentran PostgreSQL con pgvector, Qdrant, Weaviate y otros motores especializados.

PostgreSQL y pgvector

PostgreSQL es una base de datos relacional que puede ampliarse mediante extensiones.

La extensión pgvector incorpora tipos y operadores para almacenar vectores y realizar búsquedas de similitud.

Por ejemplo, una tabla puede conservar el contenido de una memoria, su identificador y el embedding correspondiente.

La aplicación genera un embedding de la consulta y recupera registros cercanos.

Una ventaja de PostgreSQL es que permite combinar información estructurada y búsqueda vectorial dentro de la misma plataforma.

También facilita incorporar identificadores de usuarios, organizaciones, fechas y permisos.

¿Qué es la recuperación semántica de memoria?

La recuperación semántica permite buscar información utilizando similitud de significado.

Imaginemos que un usuario pregunta:

«¿Qué problemas de conectividad resolvimos anteriormente?».

Un sistema podría recuperar registros relacionados con fallos de red, problemas de VPN o incidencias de acceso, aunque no contengan exactamente la expresión utilizada.

Para ello, genera un embedding de la pregunta y lo compara con los embeddings almacenados.

Los resultados se ordenan según una métrica de distancia o similitud.

Posteriormente, la aplicación puede utilizar los registros encontrados para proporcionar contexto al modelo.

No obstante, los resultados deben respetar los permisos del usuario y los límites de acceso establecidos.

¿Qué relación existe entre memoria y RAG?

RAG significa Retrieval-Augmented Generation, o generación aumentada por recuperación.

Es una técnica que permite incorporar información recuperada desde fuentes externas al contexto de un modelo generativo.

Un agente puede utilizar RAG para consultar documentación empresarial.

También puede utilizar técnicas semejantes para recuperar recuerdos almacenados.

Sin embargo, RAG y memoria no son conceptos equivalentes.

RAG describe un mecanismo de recuperación y generación.

La memoria describe la capacidad de conservar información relevante para su reutilización.

Un agente puede utilizar RAG sin almacenar recuerdos personales.

También puede mantener memoria a corto plazo sin utilizar una base vectorial.

Ejemplo empresarial: memoria para un agente CRM

Imaginemos una empresa que desarrolla un agente de asistencia comercial.

El sistema debe conservar el contexto de las oportunidades durante una conversación y recuperar información autorizada en futuras sesiones.

Paso 1. Identificación

La aplicación identifica al usuario y la organización a la que pertenece.

Paso 2. Recuperación de contexto

El agente obtiene los mensajes recientes y el estado de la conversación.

Paso 3. Recuperación de información persistente

La aplicación consulta datos autorizados del CRM y recuerdos relevantes.

Paso 4. Interpretación

El modelo combina la información recuperada con la nueva solicitud.

Paso 5. Ejecución

El agente utiliza las herramientas necesarias para completar la tarea.

Paso 6. Actualización

El sistema guarda los resultados y conserva únicamente la información cuya persistencia está justificada.

Este proceso permite mantener continuidad sin almacenar indiscriminadamente todos los mensajes.

¿Qué riesgos presenta la memoria en agentes de IA?

La memoria introduce importantes consideraciones técnicas y de seguridad.

Información incorrecta: un recuerdo puede contener datos equivocados.

Información desactualizada: los registros pueden dejar de ser válidos.

Contaminación de memoria: contenido malicioso puede intentar introducir instrucciones persistentes.

Problemas de privacidad: almacenar información personal sin necesidad puede aumentar los riesgos.

Acceso entre usuarios: una configuración incorrecta puede permitir recuperar recuerdos de otra persona.

Costes de almacenamiento: conservar grandes cantidades de información incrementa los recursos necesarios.

Recuperación irrelevante: una búsqueda semántica puede seleccionar registros que no responden correctamente a la consulta.

Para reducir estos riesgos, la arquitectura debe incorporar autenticación, autorización, validación de contenidos, políticas de conservación y mecanismos de eliminación.

¿Cómo diseñar una memoria fiable para agentes empresariales?

El primer principio consiste en guardar solamente información que tenga una utilidad definida.

También es recomendable separar el estado de ejecución, los datos empresariales y los recuerdos persistentes.

Los registros deben incluir información de procedencia, fechas y permisos.

Los recuerdos recuperados deben tratarse como datos y no como instrucciones de máxima prioridad.

Además, las operaciones sensibles deben consultar fuentes autoritativas.

Por ejemplo, un agente no debería utilizar una memoria histórica como sustituto de una consulta actualizada al CRM para determinar el saldo o estado vigente de un cliente.

La evaluación debe comprobar precisión de recuperación, relevancia, aislamiento entre usuarios y capacidad de eliminar información.

Preguntas frecuentes sobre memoria de agentes de IA

¿Qué es la memoria de un agente de IA?

Es el conjunto de mecanismos que permiten conservar y recuperar información relevante para mantener continuidad entre tareas o conversaciones.

¿Qué diferencia hay entre memoria a corto y largo plazo?

La memoria a corto plazo conserva información asociada a una conversación o ejecución. La memoria a largo plazo permite recuperar datos entre diferentes sesiones.

¿Todos los agentes necesitan memoria?

No. Algunas tareas sencillas pueden ejecutarse sin almacenamiento persistente.

¿Qué es un embedding?

Es una representación numérica de información que permite realizar determinadas comparaciones de similitud.

¿Es obligatorio utilizar una base vectorial?

No. La memoria puede implementarse mediante bases de datos tradicionales. Las búsquedas vectoriales son útiles cuando se necesita recuperación semántica.

¿Qué diferencia hay entre RAG y memoria?

RAG es una técnica para recuperar información y utilizarla durante la generación. La memoria es el mecanismo que permite conservar y reutilizar información.

¿PostgreSQL puede almacenar memoria de agentes de IA?

Sí. PostgreSQL permite almacenar conversaciones, estados y datos persistentes. Con pgvector también puede realizar búsquedas por similitud vectorial.

¿Los agentes aprenden cuando almacenan recuerdos?

No necesariamente. Almacenar información no significa modificar los parámetros del modelo. El aprendizaje y la memoria son mecanismos diferentes.

Conclusión

La memoria es un componente fundamental para desarrollar agentes de inteligencia artificial capaces de mantener conversaciones coherentes, recuperar información y gestionar procesos prolongados.

La memoria a corto plazo facilita la continuidad de una tarea.

La memoria a largo plazo permite conservar información entre sesiones.

Las memorias semántica, episódica y procedimental representan diferentes clases de conocimiento que pueden utilizarse según las necesidades de cada aplicación.

Tecnologías como Python, PostgreSQL, embeddings y pgvector permiten implementar arquitecturas de almacenamiento y recuperación adaptadas a entornos empresariales.

Sin embargo, una memoria eficaz no consiste en guardar toda la información disponible.

El verdadero desafío es seleccionar qué debe conservarse, recuperar solamente lo relevante y mantener los datos correctos, seguros y actualizados.

Un agente de IA con buena memoria no es el que más información almacena, sino el que recupera la información adecuada en el momento adecuado.

En Agentes y Automatización seguiremos explorando cómo desarrollar agentes inteligentes mediante arquitecturas modernas, herramientas de programación y ejemplos prácticos.

Anexo técnico: implementar memoria persistente con Python, PostgreSQL y pgvector

Construiremos un ejemplo funcional de una capa de memoria semántica que permite:

  1. Guardar recuerdos en PostgreSQL.
  2. Convertir textos en embeddings.
  3. Recuperar recuerdos mediante similitud vectorial.
  4. Aislar la información mediante identificadores de organización y usuario.

Este ejemplo se centra en el componente de memoria. Posteriormente puede integrarse con un agente desarrollado mediante OpenAI Agents SDK, LangGraph o cualquier aplicación Python.

La API oficial de OpenAI permite generar embeddings mediante client.embeddings.create, y pgvector permite almacenarlos y consultarlos usando distancia coseno.

OpenAI API Reference

+1

Paso 1. Instalar las dependencias

pip install openai "psycopg[binary]"

Necesitaremos PostgreSQL con la extensión pgvector instalada y una clave de API de OpenAI.

Definimos las variables de entorno DATABASE_URL y OPENAI_API_KEY.

Paso 2. Crear la tabla de memoria

Ejecuta el siguiente SQL en PostgreSQL:


CREATE EXTENSION IF NOT EXISTS vector;

CREATE TABLE IF NOT EXISTS agent_memories (
    id BIGSERIAL PRIMARY KEY,
    organization_id TEXT NOT NULL,
    user_id TEXT NOT NULL,
    content TEXT NOT NULL,
    embedding VECTOR(1536) NOT NULL,
    created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);

CREATE INDEX IF NOT EXISTS idx_agent_memories_owner
ON agent_memories (organization_id, user_id);

CREATE INDEX IF NOT EXISTS idx_agent_memories_vector
ON agent_memories
USING hnsw (embedding vector_cosine_ops);

Paso 3. Crear el módulo Python

El siguiente programa almacena y consulta recuerdos utilizando embeddings.


import os
import json

import psycopg
from openai import OpenAI


client = OpenAI()

DATABASE_URL = os.environ["DATABASE_URL"]
EMBEDDING_MODEL = "text-embedding-3-small"


def generar_embedding(texto: str) -> list[float]:
    """Convierte texto en un vector numérico."""
    if not texto.strip():
        raise ValueError("El texto no puede estar vacío")

    respuesta = client.embeddings.create(
        model=EMBEDDING_MODEL,
        input=texto
    )

    return respuesta.data[0].embedding


def guardar_memoria(
    organization_id: str,
    user_id: str,
    contenido: str
) -> int:
    """Guarda un recuerdo en PostgreSQL."""
    if not organization_id or not user_id:
        raise ValueError("Identificadores obligatorios")

    vector = generar_embedding(contenido)

    with psycopg.connect(DATABASE_URL) as conn:
        with conn.cursor() as cursor:
            cursor.execute(
                """
                INSERT INTO agent_memories
                    (organization_id, user_id,
                     content, embedding)
                VALUES (%s, %s, %s, %s::vector)
                RETURNING id
                """,
                (
                    organization_id,
                    user_id,
                    contenido,
                    json.dumps(vector)
                )
            )
            memory_id = cursor.fetchone()[0]

    return memory_id


def buscar_memorias(
    organization_id: str,
    user_id: str,
    consulta: str,
    limite: int = 3
) -> list[dict]:
    """Recupera recuerdos por similitud semántica."""
    if not organization_id or not user_id:
        raise ValueError("Identificadores obligatorios")

    vector = generar_embedding(consulta)

    sql = """
        SELECT
            id,
            content,
            1 - (embedding <=> %s::vector)
                AS similitud
        FROM agent_memories
        WHERE organization_id = %s
          AND user_id = %s
        ORDER BY embedding <=> %s::vector
        LIMIT %s
    """

    with psycopg.connect(DATABASE_URL) as conn:
        with conn.cursor() as cursor:
            cursor.execute(
                sql,
                (
                    json.dumps(vector),
                    organization_id,
                    user_id,
                    json.dumps(vector),
                    max(1, min(limite, 20))
                )
            )
            filas = cursor.fetchall()

    return [
        {
            "id": fila[0],
            "contenido": fila[1],
            "similitud": round(float(fila[2]), 4)
        }
        for fila in filas
    ]


if __name__ == "__main__":
    organizacion = "demo-empresa"
    usuario = "usuario-demo"

    guardar_memoria(
        organizacion,
        usuario,
        "El cliente prefiere informes comerciales "
        "en español."
    )

    guardar_memoria(
        organizacion,
        usuario,
        "La empresa utiliza PostgreSQL para "
        "su sistema CRM."
    )

    guardar_memoria(
        organizacion,
        usuario,
        "Las reuniones comerciales se realizan "
        "normalmente los lunes."
    )

    resultados = buscar_memorias(
        organizacion,
        usuario,
        "¿En qué idioma debo preparar el informe?"
    )

    for memoria in resultados:
        print(memoria)

Paso 4. Comprender el funcionamiento

Cuando ejecutamos guardar_memoria(), el programa envía el texto al modelo de embeddings y recibe un vector.

Posteriormente almacena tanto el contenido original como su representación vectorial.

Cuando ejecutamos buscar_memorias(), genera un embedding de la consulta y busca los registros más similares.

La consulta SQL utiliza el operador <=> de pgvector para calcular la distancia coseno y transforma esa distancia en una puntuación de similitud mediante 1 - distancia.

En nuestro ejemplo, una pregunta sobre el idioma preferido debería recuperar con alta relevancia el recuerdo relacionado con los informes en español.

El orden exacto y las puntuaciones dependen de los embeddings generados y de los datos almacenados.

Paso 5. Integrar la memoria con un agente de IA

El siguiente paso sería registrar buscar_memorias() como una herramienta de consulta dentro de un agente.

El agente podría llamar a esa herramienta cuando necesite recuperar información persistente.

Los recuerdos encontrados se introducirían en su contexto como datos de referencia.

Una implementación más avanzada incorporaría reglas para determinar qué información se puede guardar, cuánto tiempo debe conservarse y cuándo necesita revisión.

Consideraciones de producción: este ejemplo utiliza identificadores de demostración. En una aplicación real deben obtenerse de una sesión autenticada, nunca confiar en identificadores proporcionados libremente por el modelo, y reforzar el aislamiento con autorización del servidor y, cuando corresponda, Row-Level Security de PostgreSQL. También deben implementarse políticas de eliminación, límites de volumen, filtrado de datos sensibles y evaluación de los resultados de recuperación.

Además, conviene estudiar la búsqueda exacta o híbrida cuando los filtros de organización y usuario sean muy restrictivos, porque el comportamiento de recuperación aproximada puede verse afectado por los índices y los filtros.

¿Quién es el coach?

Ben Ruiz Oatts es la perspicaz mente maestra detrás de esta plataforma de coaching. Centrado en el desarrollo personal y profesional, Ben ofrece fantásticos programas de coaching que dan vida a la experiencia y los conocimientos.

Obtén estadísticas semanales

Sabemos que los retos de la vida son únicos y complejos para todos. El coaching está aquí para ayudarte a encontrarte a ti mismo y a comprender todo tu potencial.

Sabemos que los retos de la vida son únicos y complejos para todos. El coaching está aquí para ayudarte a encontrarte a ti mismo y a comprender todo tu potencial.

Descubre más desde Agentes y Automatización

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo