INTELIGENCIA ARTIFICIAL. CRITERIO HUMANO.Un paso adelante, cada día ↗
Guías y tutoriales
Lectura accesible · Para empezar

Cómo construir agentes proactivos con el Schedules SDK de LangChain: memoria, recordatorios y tareas automáticas

LangChain explica cómo utilizar el Schedules SDK de Managed Deep Agents para crear agentes de IA que actúan de forma programada, mantienen memoria, gestionan recordatorios y supervisan tareas. Más del 70% de las ejecuciones de Managed Deep Agents en LangSmith ya se originan en programaciones automáticas.

Ilustración editorial: Cómo construir agentes proactivos con el Schedules SDK de LangChain: memoria, recordatorios y tareas automáticas

Antes de empezar

LangChain explica cómo utilizar el Schedules SDK de Managed Deep Agents para crear agentes de IA que actúan de forma programada, mantienen memoria, gestionan recordatorios y supervisan tareas. Más del 70% de las ejecuciones de Managed Deep Agents en LangSmith ya se originan en programaciones automáticas.

  • Los crons convierten a los agentes en sistemas proactivos: permiten ejecutar prompts de manera automática sin depender de un nuevo mensaje del usuario.
  • Más del 70% de las ejecuciones de Managed Deep Agents en LangSmith son programadas, según los datos compartidos por LangChain.
  • La memoria puede actualizarse mediante dreaming: las tareas en segundo plano condensan conversaciones anteriores en memoria a largo plazo.
  • Los agentes pueden realizar triaje inteligente y seguimiento: las programaciones permiten revisar Slack o correo cada diez minutos y activar recordatorios futuros.
  • El Schedules SDK permite gestionar horarios dinámicamente: las herramientas set_schedule, list_schedules y delete_schedule administran las programaciones del usuario.
  • Managed Deep Agents integra la infraestructura de programación: admite horarios estáticos, herramientas dinámicas y ejecuciones únicas mediante check_in_later, con despliegue a través de LangSmith Deployments.

Cómo construir agentes proactivos con el Schedules SDK de LangChain

Los agentes de inteligencia artificial están evolucionando desde sistemas que esperan instrucciones hacia asistentes capaces de actuar por iniciativa propia. En lugar de depender exclusivamente de los mensajes del usuario, pueden ejecutar tareas periódicas, revisar información pendiente y retomar actividades en momentos determinados.

LangChain explica cómo implementar este comportamiento mediante el Schedules SDK de Managed Deep Agents, utilizando tareas programadas, conocidas como crons, para activar agentes de IA de manera automática.

Este enfoque está presente en lanzamientos como Muse, Instinct, Dots, Claude Duet y Hone.

Su adopción dentro del ecosistema de LangChain ya es significativa: más del 70% de las ejecuciones de Managed Deep Agents en LangSmith proceden de tareas programadas, en lugar de mensajes escritos directamente por personas.

Qué permiten hacer los crons en los agentes de IA

  1. Memoria persistente mediante dreaming

Un agente puede ejecutar una tarea en segundo plano para revisar conversaciones anteriores y condensar la información relevante en memoria a largo plazo. Este mecanismo se conoce coloquialmente como dreaming. Por ejemplo, una ejecución diaria puede reunir información de interacciones previas y actualizar la memoria que el agente utilizará posteriormente.

  1. Mensajes proactivos que anticipan necesidades

Un cron puede activar al agente a intervalos regulares, como una vez por hora, y pedirle que identifique acciones útiles para avanzar hacia un objetivo. El resultado puede aparecer como un mensaje proactivo dirigido al usuario. Entre las situaciones que puede abordar este comportamiento están los plazos próximos, los hilos de conversación pendientes o las noticias relevantes para sus objetivos.

  1. Triaje inteligente de Slack y correo electrónico

Otra aplicación consiste en programar revisiones frecuentes de flujos de información. Por ejemplo, cada diez minutos puede activarse un agente para examinar eventos procedentes de Slack o del correo electrónico. Su tarea consiste en identificar acontecimientos destacables y avisar al usuario cuando encuentre información que merezca atención.

  1. Recordatorios y seguimiento de tareas

Cuando una persona pide que se le recuerde algo más adelante, el agente puede crear una programación que lo reactive en el momento correspondiente. Este mecanismo facilita los recordatorios y las acciones de seguimiento.

  1. Orquestación de varios agentes

Un agente orquestador distribuye o supervisa subtareas asíncronas y permanece inactivo mientras espera sus resultados. Los crons permiten que despierte periódicamente, compruebe el progreso y continúe la coordinación del trabajo.

Las dos piezas necesarias para construir agentes proactivos

  1. Un servidor de crons robusto

El servidor debe permitir definir el horario y el prompt que ejecutará el agente, además de incorporar las habilidades o los permisos necesarios cuando una tarea los requiera. También debe gestionar situaciones en las que coincidan numerosas ejecuciones: para ello, puede utilizar jitter, un mecanismo que distribuye la carga evitando que todas las tareas se ejecuten exactamente al mismo tiempo.

  1. Una interfaz que el agente pueda utilizar

Cuando un usuario solicita un recordatorio o seguimiento, el agente necesita mecanismos para crear y modificar esas tareas. La interfaz debe permitir estas operaciones de manera gobernada, manteniendo el control sobre las programaciones que el agente administra.

Cómo construir agentes proactivos con Managed Deep Agents

Managed Deep Agents se alojan mediante LangSmith Deployments e incorporan un servidor de crons integrado que puede activar ejecuciones de agentes dinámicamente.

Una ejecución programada consiste en entregar un prompt al agente según un horario determinado. La ejecución utiliza el hilo y la memoria correspondientes al usuario, denominado principal, que creó esa programación.

Los horarios pueden establecerse de dos maneras: mediante definiciones estáticas o dinámicamente a través de herramientas utilizadas por el propio agente.

Paso 1. Definir un horario estático con define_schedule

Para crear una programación fija, LangChain utiliza un archivo de Python dentro del directorio schedules:

schedules/daily_digest.py

from managed_deepagents import define_schedule

schedule = define_schedule(
    cron="0 8 * * 1-5",
    timezone="America/Los_Angeles",
    prompt="Inspect the sales report using your tools and send a KPI readout.",
)

El ejemplo programa una ejecución a las 8:00 de la mañana, de lunes a viernes, según la zona horaria configurada. La instrucción solicita al agente inspeccionar un informe de ventas utilizando sus herramientas y enviar un resumen de indicadores clave de rendimiento (KPI).

Paso 2. Crear horarios dinámicos con el Schedules SDK

Las programaciones también pueden gestionarse dinámicamente mediante herramientas que el agente utiliza. Para ello, LangChain muestra cómo envolver las operaciones del Schedules SDK en tres herramientas:

  • set_schedule: crea una programación para el usuario actual.
  • list_schedules: enumera las programaciones existentes de ese usuario.
  • delete_schedule: elimina una programación determinada.

El código se coloca en tools/scheduling.py:

from langchain.tools import tool
from managed_deepagents import ManagedDeepAgentRuntime

@tool
async def set_schedule(prompt: str, cron: str, runtime: ManagedDeepAgentRuntime) -> str:
    """Run a prompt for the current user on a cron schedule."""
    item = await runtime.schedules.create(owner={"type": "user"}, cron=cron, prompt=prompt)
    return f"Created schedule {item['id']}."

@tool
async def list_schedules(runtime: ManagedDeepAgentRuntime) -> str:
    """List the current user's schedules."""
    page = await runtime.schedules.list(owner={"type": "user"})
    return str(page["items"])

@tool
async def delete_schedule(schedule_id: str, runtime: ManagedDeepAgentRuntime) -> str:
    """Delete one of the current user's schedules."""
    await runtime.schedules.delete(schedule_id, owner={"type": "user"})
    return f"Deleted schedule {schedule_id}."

Paso 3. Crear un recordatorio de ejecución única con check_in_later

Para activar al agente una sola vez en el futuro, LangChain presenta la herramienta check_in_later. Su funcionamiento consiste en calcular una fecha futura a partir de la hora actual y una cantidad de minutos indicada.

from datetime import datetime, timedelta, timezone
from langchain.tools import tool
from managed_deepagents import ManagedDeepAgentRuntime

@tool
async def check_in_later(prompt: str, minutes: int, runtime: ManagedDeepAgentRuntime) -> str:
    """Run a prompt once for the current user, a number of minutes from now."""
    at = datetime.now(timezone.utc) + timedelta(minutes=minutes)
    item = await runtime.schedules.create(owner={"type": "user"}, at=at, prompt=prompt)
    return f"Scheduled a check-in {item['id']}."

A diferencia de una tarea recurrente definida mediante cron, esta herramienta crea una ejecución única para un momento futuro.

Paso 4. Inicializar y desplegar el agente

LangChain señala que el punto de partida para distribuir un agente proactivo dentro de una organización está en los comandos:

  • mda init
  • mda deploy

La documentación de Managed Deep Agents está disponible en langch.in/mda.

LangChain en contexto

Managed Deep Agents se alojan mediante LangSmith Deployments, que proporciona el entorno para sus ejecuciones programadas.

El sistema incorpora un servidor de crons y permite definir horarios de forma estática mediante define_schedule o dinámicamente mediante herramientas que utilizan el Schedules SDK.

Fuentes

✳

Una idea más. Un paso adelante.

Sigue aprendiendo

También te puede interesar

Buscar en Aitualizate

Artículos, herramientas, prompts y código en una sola búsqueda.

Escribe al menos dos caracteres. Puedes buscar sin tildes.

Explora:GuíasHerramientasPrompts