Descargar

AI Task Scheduler — Guía del usuario | YoBench

Cómo usar el AI Task Scheduler en YoBench: ejecuciones de IA por cron, flujo de aprobación para planes peligrosos, timeline en vivo, whitelist de herramientas e historial completo.

Para qué sirve el módulo «AI Task Scheduler»

AI Task Scheduler ejecuta el asistente de IA según una programación. Defines un prompt, eliges un proveedor y un contexto, asocias un toolset opcional, y le indicas al planificador cuándo correr — cada minuto, cada hora, a diario, semanalmente o mensualmente. El asistente trabaja de forma autónoma; si construye un plan marcado como peligroso, la ejecución se pausa con un claro Approve / Deny (aprobar / denegar) en lugar de fallar.

Lo que obtienes:

  • Ejecuciones de IA por cron — cinco tipos de programación (minuto, hora, día, semana, mes).
  • Ejecuciones manuales bajo demandaRun Now en cualquier tarea.
  • Aislamiento por tarea — cada tarea elige su propio proveedor, contexto, system prompt, temperatura, máximo de iteraciones y herramientas permitidas.
  • Flujo de aprobación — los planes peligrosos se persisten como pending_approval para que los revises antes de continuar.
  • Timeline en vivo — mensajes y resultados de herramientas en tiempo real mientras la ejecución avanza.
  • Historial de ejecuciones con estado, tipo de disparo, duración, tokens y coste.
  • Cancelación con scope — cada ejecución tiene una scope key única; las herramientas largas se limpian al cancelar.

Conceptos

Término Significado
Task (tarea) Configuración de IA reutilizable: prompt, proveedor, programación, whitelist de herramientas.
Run (ejecución) Una corrida de la tarea. Disparada manualmente o por cron.
Trigger (disparo) manual (botón) o cron (programación).
Status (estado) running / done / error / pending_approval / cancelled.
Approval (aprobación) Punto de pausa donde el asistente pide confirmación antes de ejecutar un plan que él mismo marcó como peligroso.
Scope Raíz de cancelación de una ejecución (scheduler-run:{runId}). Todas las herramientas que lance la run pertenecen a este scope.

Tipos de programación

Las programaciones se guardan como schedule_type más campos auxiliares y se traducen a una expresión cron sobre la marcha.

Tipo Configura Ejemplo
Minute Intervalo en minutos cada 15 minutos
Hour HH:MM dentro de la hora XX:30 cada hora
Day HH:MM todos los días a las 09:00
Week Día de la semana (1=Lun … 7=Dom) + HH:MM cada lunes a las 08:30
Month Día del mes (1–31) + HH:MM el 1 de cada mes a las 00:05

Los disparos manuales (Run Now) ignoran la programación.

Control de herramientas

Cada tarea puede:

  • Correr con todas las herramientas disponibles (tareas heredadas / nuevas con tools_enabled activo y la lista de herramientas vacía/null), o
  • Correr con una whitelist — eliges los IDs exactos de las herramientas que el asistente puede llamar (búsqueda web, automatización de navegador, terminal, sistema de ficheros, herramientas documentales, etc.), o
  • Correr con las herramientas deshabilitadas por completo — el asistente solo dispone de su prompt y su contexto.

Esta es la palanca principal para una tarea programada segura: una tarea diaria de reporting probablemente no necesita acceso a terminal; una tarea de code-review quizá solo quiere web y browser.

Flujo de aprobación

El pipeline corre en modo autónomo — todo plan que no esté marcado como peligroso se ejecuta sin preguntar. Cuando el asistente emite un plan con requiresConfirmation = true:

  1. La ejecución pasa a pending_approval.
  2. El plan se persiste; la run queda en pausa.
  3. La UI muestra el plan con dos botones: Approve y Deny.
  4. Approve — el pipeline retoma desde el punto guardado.
  5. Deny — la ejecución termina con estado cancelled y razón «Rechazado por el usuario».

Las aprobaciones pendientes se ven tanto en la vista de la run como en una lista dedicada Pending Approvals en la parte superior de la página, para que no se pierdan.

Ciclo de vida de una ejecución

se dispara la programación (o Run Now)
        │
        ▼
   crear ejecución
   status = running
        │
        ▼
  ─── los mensajes fluyen al timeline ───
        │
        ├─ done            → status = done
        ├─ error           → status = error  (mensaje de error guardado)
        ├─ usuario cancela → status = cancelled
        └─ plan peligroso  → status = pending_approval
                                  │
                                  ├─ approve → status = running → continúa
                                  └─ deny    → status = cancelled

Cada ejecución registra: trigger, timestamps de inicio/fin, duración, uso de tokens, coste en dólares, mensaje de error (si lo hay) y el log completo de mensajes.

Ajustes

Una tarea se crea desde Scheduler → Create, que abre el drawer del formulario. Campos:

  • Title (título) — nombre visible.
  • Prompt — la instrucción principal que el asistente ejecuta en cada tick.
  • System Prompt — rol / comportamiento persistente opcional. Vacío por defecto.
  • Provider — el proveedor de IA usado por la ejecución.
  • Contextcontexto RAG opcional inyectado en la run.
  • Temperature — 0.0 – 1.0, valor por defecto 0.3.
  • Max auto-iterations — tope de rondas de uso de herramientas dentro de una run, por defecto 5.
  • Schedule type + los campos correspondientes de hora / día / día de la semana.
  • Is active — toggle para pausar la programación sin borrar la tarea.
  • Tools enabled — on/off global del toolset.
  • Allowed tools — selección múltiple, se usa cuando las herramientas están activas.

El formulario también permite guardar la tarea como borrador sin activarla.

Flujo de uso

1. Crea una tarea programada

  1. Abre Scheduler desde el menú lateral.
  2. Pulsa Create → se desliza el drawer de la tarea.
  3. Rellena título, prompt y elige un proveedor.
  4. (Opcional) asocia un contexto, ajusta el system prompt, baja la temperatura.
  5. Elige el tipo de programación y la hora.
  6. Decide la política de herramientas: activas + whitelist, activas + abiertas, o desactivadas.
  7. Activa Is active y guarda.

2. Ejecuta bajo demanda

  • Abre la tarea → Run Now → la ejecución aparece en el timeline al instante.
  • Mira fluir los mensajes en vivo y los resultados de las herramientas.
  • Detén en cualquier momento con Stop — el scope se cancela y las herramientas largas se desmontan.

3. Resuelve una aprobación pendiente

  1. O bien la insignia de la run pasa a amarillo (pending), o bien aparece una entrada nueva en la lista Pending Approvals.
  2. Abre la run → revisa el plan propuesto.
  3. Approve — la run continúa. Deny — la run se cancela.

4. Revisa el historial

  • La vista de la tarea lista cada ejecución con estado, trigger, duración, uso de tokens y coste.
  • Pulsa una run para abrir el log completo de mensajes y las salidas de herramientas.
  • Los errores incluyen el mensaje completo; las cancelaciones registran quién / qué las disparó.

Consejos y limitaciones

  • Usa ejecuciones manuales para probar un prompt antes de activar la programación.
  • Mantén el system prompt específico de la tarea — la persona global vive en los ajustes del AI Chat.
  • Los números de tokens / coste vienen de la respuesta del proveedor; en modelos locales self-hosted el coste figura como cero.
  • El planificador corre dentro de la app de escritorio — cuando YoBench está cerrada, el cron no dispara. Plánifica en torno a eso o deja la app abierta en la bandeja.
  • Empieza con valores conservadores en max auto-iterations; súbelos cuando confíes en el prompt.

Siguientes pasos

  • Conecta un proveedor de IA y al menos un contexto.
  • Combina una tarea programada con DB Manager — por ejemplo, una run nocturna que resuma los logs de slow-queries.
  • Para trabajos periódicos no-IA (cron puro + scripts) usa las DB tasks embebidas o el módulo Scenarios.

Ayuda y comentarios

¿Encontraste un bug o quieres un nuevo tipo de programación? Escríbenos a través del formulario de contacto.