PTENES
MÓDULO 4.3

🤖 Agentes: locales, programados y por evento

Una skill es un proceso que tú activa. Un agente es diferente: tú entregas el resultado deseado y razona, se adapta, pregunta y se autocorrige cuando algo falla. En este módulo práctico, pasarás de un agente local bajo demanda, pasa por el programado por cron y llega al por evento a través de un webhook — y descubre la "brecha agéntica" que cambia la forma en que diseñas todo lo que se ejecuta en la nube.

8
Temas
~55
Minutos
Práctico
Nivel
Agentes
Tipo
Progreso del módulo 0% · 0 de 8

🤖 Cómo leer este módulo

El gran cambio es dejar de pensar en "pasos que yo activo" y empezar a pensar en "un resultado que delego en alguien que razona". Los tres tipos de agente solo se diferencian en disparador — tú (local), el reloj (programado/cron) o un evento externo (webhook). Cada término nuevo (cron, webhook, payload, agentic gap) se define en un recuadro «¿Qué es?» la primera vez que aparece.

Antes de los ocho temas, mira el mapa. Tres disparadores diferentes activan el mismo tipo de cerebro: un agente que razona sobre el resultado. Lo único que cambia es quién presiona el botón — tú, el reloj o una campanilla digital.

Tres disparadores → 🖥️ LOCAL tú lo activas, bajo demanda ⏰ PROGRAMADO cron · el reloj se activa 🔔 POR EVENTO webhook · suena el timbre 🤖 Agente coordinador razona sobre el resultado se adapta · pregunta · se autocorrige el cerebro es el mismo en los tres casos resultado entregado

Diagrama ilustrativo — el tipo de agente se define por el disparador, no por el cerebro. Las automatizaciones locales, programadas y activadas por eventos usan el mismo razonamiento; lo único que cambia es quién (o qué) las activa.

1

🤖 Qué es un agente

Qué es

En la automatización tradicional, conectas cada paso: nodo 1 → nodo 2 → nodo 3, en un camino fijo y predecible. Un agente recibe el resultado deseado — no la secuencia, sino que razona sobre cómo llegar allí. Elige herramientas, se adapta cuando cambia la situación, hace preguntas aclaratorias cuando falta contexto y si se autocorrige cuando algo se rompe a mitad del proceso.

¿Qué es?Determinístico = la misma entrada siempre produce la misma salida, siguiendo el mismo camino (la automatización tradicional). No determinista = el agente decide el camino en el momento, así que puede resolverlo de distintas maneras, pero cumple el objetivo. El agente es no determinista por naturaleza.

La mejor analogía es salir a cenar. Cocinar por la receta es automatización: sigues los pasos exactos y, si falta un ingrediente, el proceso se bloquea. Pedir un bistec en el restaurante es el agente: tú dices el resultado («bife a término medio, con papas fritas»), y la cocina resuelve el «cómo»: sustituye lo que falta, ajusta el fuego, lo vuelve a hacer si se cae al suelo. Es como contratar a un desarrollador experimentado en lugar de dictar cada línea: delegas el objetivo, no el procedimiento.

Por qué aprender

Cuando entiendes que un agente razona, dejas de microgestionar y empiezas a diseñar bien el resultado e o contexto. Esto es lo que desbloquea la velocidad: describes el destino y dejas que el agente trace (y vuelva a trazar) la ruta.

  • •Se adapta: las situaciones nuevas no requieren un flujo nuevo: el agente improvisa.
  • •Pregunta: cuando la solicitud es ambigua, aclara en vez de adivinar.
  • •Autorreparación: se produce un error, lo diagnostica y prueba otra vía por su cuenta.

Conceptos clave

Resultado

Delegas el «qué».

Razona

Elige el camino en el momento.

No determinista

Puede variar; cumple el objetivo.

Autorreparación

Se rompe, diagnostica, rehace.

2

🖥️ Agente bajo demanda (local)

Qué es

O agente local es el asistente que funciona como tu agente personal, ahí en tu máquina: tú pides, él investiga, crea archivos, itera contigo y se vuelve más inteligente con cada uso. Tú eres el disparador — nada se ejecuta sin que lo pidas. Es la forma más sencilla de agente: sin deploy, sin servidor ni horario. Solo conversación.

¿Qué es?Bajo demanda (on-demand) — se ejecuta solo cuando tú lo llamas. Deploy — poner algo en funcionamiento en un servidor, fuera de tu máquina, de forma continua. El agente local no necesita deploy: vive en el mismo lugar donde conversas con él.

Por qué aprender

Empieza siempre por lo local. Es donde tú construye intuición: ves al agente razonar, notas cuándo acierta y cuándo se pierde, y aprendes a darle resultados y contexto. Todo lo que dominas aquí se transfiere después a lo programado y a los eventos — solo que sin que estés cerca para corregir.

🎯 Consejo práctico

Usa el agente local como banco de pruebas de lo que después se convertirá en una tarea programada. Ejecuta la misma solicitud allí tres o cuatro veces, observa dónde tropieza y solo pásala a la nube cuando funcione sin problemas. Lo que no hayas corregido localmente te perseguirá en producción.

Conceptos clave

Tú lo ejecutas

Disparador = tu solicitud.

Sin deploy

Funciona en tu máquina.

Itera contigo

Se vuelve más inteligente con cada uso.

Desarrolla la intuición

La base para los otros tipos.

3

♻️ El ciclo de automejora en la práctica

Qué es

O ciclo de autom mejora es el superpoder del agente local: ejecutas el workflow, encuentra un error, diagnostica lo que falló, arregla la herramienta que se rompió y actualiza el workflow para que ese error no vuelva a ocurrir. Cada ronda hace que el proceso sea más fluido y rápido. No eres tú quien lo repara: el agente integra la solución de vuelta en su propio flujo.

1

Ejecuta el workflow — el agente ejecuta el proceso de principio a fin, frente a ti.

2

Aparece un error — una tool devuelve un error, una fuente desaparece, un formato cambia.

3

Diagnostica — lee el error, identifica la causa (no el síntoma) y propone la solución.

4

Repara la tool — corrige el script o la llamada que falló.

5

Actualiza el workflow — integra la corrección para que el mismo error no vuelva a aparecer. Las siguientes rondas serán fluidas y rápidas.

Por qué aprender

Es este ciclo el que hace que el agente local parezca mágico: no solo se equivoca menos, sino que aprende con cada ejecución. Pero hay una advertencia importante: este superpoder desaparece cuando el agente pasa a producción. Cuando se ejecuta solo en la nube, nadie está observando para cerrar el ciclo. Guárdalo: es el gancho para el tema 6, el "agentic gap".

🎯 Consejo práctico

Cada vez que el loop cierre un error, pídele al agente que escribir en el workflow una defensa explícita contra ese caso (un try/catch, una validación, un fallback). Así, la solución pasa a ser parte permanente del flujo y sigue funcionando cuando ya no estés cerca.

Conceptos clave

Diagnostica

Encuentra la causa del error.

Repara la tool

Corrige lo que se rompió.

Actualiza el flujo

El error no vuelve.

Desaparece en producción

Nadie cierra el ciclo allí.

4

⏰ Agente programado (cron): anatomía

Qué es

O agente programado se ejecuta sola a la hora programada — el disparador es el reloj. La hora se define mediante una expresión cron, un patrón de cinco campos: minuto, hora, día del mes, mes y día de la semana. Por ejemplo, 0 7 * * * significa «a las 7 h, todos los días». El agente se despierta, hace el trabajo y vuelve a dormir, sin que nadie supervise (sin supervisión).

¿Qué es?Cron — una forma compacta de decir «cuándo ejecutar», heredada de Unix. Son cinco campos separados por espacios; el asterisco * quiere decir "cualquier/todo". Unattended — se ejecuta sin supervisión humana, a la hora programada, aunque tú estés durmiendo.

Los 5 campos del cron 0 7 * * * minuto hora día-del-mes mes día-semana 0–59 0–23 1–31 1–12 0–6 (0=dom) 0 7 * * * = todos los días, justo a las 7 h

Diagrama ilustrativo — lee de izquierda a derecha. Otros ejemplos: */15 * * * * = cada 15 min; 0 9 * * 1 = todos los lunes a las 9 h; 0 0 1 * * = el día 1 de cada mes a medianoche.

Por qué aprender

Lo programado es lo que convierte una tarea que harías a mano en un hábito automático. Ejemplo clásico: se activa cron → el agente investiga un tema → sintetiza lo que encontró → registra una fila en una hoja de cálculo; todo unattended, cada día, antes de que despiertes. Lo diseñas una vez y lo aprovechas para siempre.

🎯 Objetivo: crear un agente programado que investiga y registra en una hoja de cálculo, por sí solo
Crie um agente AGENDADO com cron <0 7 * * *> (todo dia às 7h).
A cada execução ele deve, sem supervisão:
1. Pesquisar na web o tópico <novidades em automação com IA>;
2. Sintetizar os achados em 3 bullets curtos (1 frase cada);
3. Gravar UMA linha nova na planilha <Radar IA / aba "diário">
   com as colunas: data | resumo | 3 links.

Exigências: inputs fixos (tópico e planilha são constantes),
saída estruturada (sempre as mesmas colunas, nessa ordem),
trate erro de cada chamada externa, e logue cada passo.
Cómo verificar: espera la primera ejecución programada (o fuerza una manual). Comprueba si apareció una nueva fila en la hoja de cálculo, con la fecha correcta y tres enlaces válidos. Ejecútalo dos días seguidos: las columnas deben ser idénticas en orden y formato. Abre el log y confirma que cada paso (investigación, síntesis, registro) haya anotado éxito o un error identificado.

Conceptos clave

5 campos

min h día mes día-sem.

Asterisco

* = cualquiera/todo.

Se activa el reloj

Disparador = la hora programada.

Unattended

Se ejecuta sin que nadie lo supervise.

5

🔔 Agente por evento (webhook) — anatomía

Qué es

O agente por evento se activa cuando algo sucede afuera — el activador es un webhook: una URL que queda a la escucha. Cuando un sistema externo llama a esa URL, envía junto con ella un payload (los datos del evento). Es la timbre digital: alguien lo activa (llama a la URL), el agente responde y actúa sobre lo recibido. Ejemplo: se envía un formulario → se activa el webhook → el agente genera un informe.

¿Qué es?Webhook — una URL que expone tu agente y que otros sistemas llaman para avisar: «ocurrió algo, actúa ahora». Payload — el paquete de datos que viene junto con la llamada (p. ej., los campos del formulario, en JSON). Es la diferencia entre un timbre y uno que ya te entrega el paquete.

¿Qué es?Authorization: Bearer — un encabezado (header) que la llamada debe enviar con una clave secreta, demostrando que quien tocó el timbre tiene permiso. Sin la clave correcta, el webhook rechaza la solicitud. Eso impide que cualquiera active tu agente.

Por qué aprender

El por evento es lo que conecta tu agente con mundo real, en tiempo real: un lead llena el formulario y en segundos recibe el informe; llega un pago y la factura se emite de inmediato. En lugar de esperar la siguiente ejecución del cron, responde en el instante del evento. Y la autenticación mediante header es lo que mantiene segura esa puerta.

🎯 Objetivo: activar un agente por evento mediante un webhook autenticado
# Chamada que ACORDA o agente — um sistema externo faz isto:
POST <https://seu-agente.exemplo.com/webhook/lead>
Authorization: Bearer <SUA_CHAVE_SECRETA>
Content-Type: application/json

# payload (os dados do evento, em JSON):
{
  "evento": "novo_lead",
  "nome": "Maria Souza",
  "email": "maria@exemplo.com",
  "empresa": "Acme Ltda",
  "mensagem": "Quero um orçamento de automação."
}

# Prompt do agente por evento:
Crie um agente POR EVENTO exposto no webhook acima.
Ao receber o payload, ele deve: validar a chave Bearer;
gerar um relatório do lead (resumo + próxima ação sugerida);
e responder 200 com o relatório. Trate erro e logue cada passo.
Cómo verificar: haz la llamada con la clave correcta — debe devolver 200 con el informe. Vuelve a hacerlo sin el encabezado Authorization (o con una clave incorrecta); debe devolver 401/403 y no no procesar nada. Envía un payload con un campo faltante (p. ej., sin email) y revisa en el log si el agente manejó el error en vez de fallar.

Conceptos clave

Webhook

URL que escucha eventos.

Payload

Los datos del evento (JSON).

Timbre digital

Se activa → el agente responde.

Bearer <chave>

Header que autentica.

6

🕳️ La brecha agéntica

Qué es

O agentic gap es la brecha que aparece cuando el agente deja el entorno local y pasa a la nube para ejecutarse según una agenda o un evento: el asistente ya no está mirando para cerrar el ciclo de automejora. ¿Recuerdas el tema 3? Allí, cuando algo se rompía, el agente diagnosticaba y reparaba el problema frente a ti. En producción, se ejecuta, pero no se adapta de la misma manera — y un fallo puede pasar completamente desapercibido.

¿Qué es?Brecha agéntica — la diferencia entre el agente «inteligente» que ves en local (que se autocorrige porque estás con él y cierras el ciclo) y el agente «en piloto automático» en producción, que se ejecuta sin que nadie esté allí para detectar y corregir lo que salió mal.

✓ Local (se autocorrige)

  • ✓Observas: ves el error en el instante en que ocurre.
  • ✓El loop se cierra: diagnostica, corrige la tool, actualiza el flujo.
  • ✓Se adapta a casos nuevos ahí mismo, con tus comentarios.
  • ✓La falla se convierte en un aprendizaje permanente del workflow.

✗ Producción (sin autocuración)

  • ✗Nadie lo supervisa: el error ocurre y sigue siendo invisible.
  • ✗El ciclo no se cierra: se ejecuta, pero no se corrige por sí solo.
  • ✗Un caso nuevo implica un comportamiento imprevisto, sin comentarios.
  • ✗La falla puede pasar desapercibida durante días.

Por qué aprender

La brecha agéntica no es motivo para evitar producción: es lo que define cómo diseñas. Como nadie cerrará el ciclo por ti, la solución debe estar integrada desde el primer prompt: manejo de errores, logs en cada paso y resultados predecibles. Compensas la ausencia de autocuración en vivo incorporando resiliencia al agente (ese es precisamente el tema del tópico 7).

🎯 Consejo práctico

Antes de promover un agente a la nube, pregúntate: "si esto falla a las 3 de la mañana, ¿cómo me entero?". Si la respuesta es "no me quedo", todavía estás en el agentic gap. Agrega una alerta (por correo electrónico o mensaje directo en caso de error) antes de subirlo.

Conceptos clave

Nadie mirando

El loop no se cierra solo.

Ejecutar ≠ adaptarse

Ejecuta, pero no se cura.

Fallo invisible

Puede pasar desapercibida.

Define el proyecto

Resiliencia integrada.

7

🧱 Entradas fijas, salida estructurada, error y registro desde el primer prompt

Qué es

Son las cuatro requisitos de cualquier build unattended — el antídoto contra el agentic gap. Como nadie estará mirando, el agente debe nacer resiliente: inputs fijos (nada de «¿qué fuente uso hoy?»), salida estructurada/predecible (siempre el mismo formato), manejo de errores integrado (try/catch en cada llamada externa) y log en cada paso. Y todo esto se integra desde el primer prompt, no como un parche posterior.

¿Qué es?try/catch — «intenta hacer esto; si da error, haz aquello» en vez de fallar. Log — un registro de lo que hizo el agente en cada paso, que lees después para entender qué ocurrió cuando nadie estaba mirando.

✓1. Inputs fijos

Fuente, hoja de cálculo, tema: todo constante. El agente no pregunta nada en mitad de la noche.

✓2. Salida estructurada

Siempre las mismas columnas/campos, en el mismo orden. Predecible para quien lo consume después.

✓3. Manejo de errores

try/catch en cada llamada externa (API, scraping, hoja de cálculo). Fallar no puede significar "bloquearse".

✓4. Log en cada paso

Un registro por etapa. Es lo único que te permite ver cuando no estás mirando.

Por qué aprender

Quien gestiona los errores y los registra desde el inicio transforma una falla silenciosa en una mensaje claro. La diferencia entre despertarte y descubrir que "el radar se detuvo hace tres días y nadie se dio cuenta" y leer "Firecrawl devolvió 429 en la fuente 3 ayer a las 7h" es toda la diferencia entre un juguete y algo confiable.

🎯 Consejo práctico

Registra específico, no genérico. "Firecrawl 429 (rate limit) na fonte 3 às 07:02" dice qué hacer; "task failed" no dice nada y te cuesta una hora de investigación. Un buen registro nombra qué, dónde e cuándo.

🎯 Objetivo: pedir ya los 4 requisitos en el primer prompt del agente
Construa o agente <radar diário> para rodar UNATTENDED, com:

[Inputs FIXOS]   fonte = <lista de 4 sites>; destino = <planilha X>.
                 Nada de perguntar nada em tempo de execução.

[Saída ESTRUTURADA]  sempre as colunas: data | titulo | resumo | url,
                     nessa ordem, mesmo que algum campo venha vazio.

[Tratamento de ERRO]  envolva CADA chamada externa em try/catch;
                      se uma fonte falhar, pule-a e continue as demais.

[LOG por passo]  registre início/fim de cada etapa e todo erro,
                 nomeando fonte + código (ex.: "fonte 3: HTTP 429").
                 Em caso de falha, me avise por <e-mail/DM>.
Cómo verificar: derriba a propósito una de las fuentes (usa una URL inválida) y ejecútalo. El agente debe saltar la fuente defectuosa, procesar las demás, registrar el error identificado (p. ej., "fuente 3: HTTP 404") y aun así guardar el resultado con las columnas correctas. Confirma que llegó el aviso de error al canal elegido: no puede fallar en silencio.

Conceptos clave

Entradas fijas

Nada de preguntar a mitad de camino.

Salida predecible

Siempre el mismo formato.

Error gestionado

try/catch externo.

Log específico

Nombra qué/dónde/cuándo.

8

📜 Cuando un "agente" es solo un script (y está bien)

Qué es

No todo necesita razonar. Si la tarea es fija y previsible — siempre los mismos pasos, sobre los mismos datos, con el mismo resultado: un script determinístico es más barato (no consume tokens razonando), más rápido y más confiable que un agente. Elegir el script aquí no es «menos avanzado»: es la ingeniería correcta. Lo simple es hermoso — lo aburrido es hermoso.

¿Qué es?Script — un pequeño programa que realiza exactamente los mismos pasos cada vez (determinístico). No razona, no se adapta ni cuesta por token: hace lo que está escrito, punto. Para tareas que nunca cambian, eso es una ventaja.

✓ Usa un AGENTE cuando…

  • ✓La entrada varía mucho y requiere interpretación (lenguaje natural).
  • ✓El camino no es fijo: hay que elegir herramientas sobre la marcha.
  • ✓Aparecen casos nuevos y hay que adaptarse o improvisar.
  • ✓Hay una ambigüedad real que justifica preguntar o razonar.

✗ Usa un SCRIPT cuando…

  • ▸La tarea es fija: siempre los mismos pasos, en el mismo orden.
  • ▸La entrada es predecible y está bien estructurada (no necesita interpretación).
  • ▸La confiabilidad y el costo importan más que la flexibilidad.
  • ▸"Aburrido y repetible" es exactamente lo que quieres.

Por qué aprender

La madurez de quien construye no consiste en usar agentes para todo, sino en saber cuando no usar. Usar un agente costoso y no determinístico para una tarea que resolvería un script de diez líneas es un desperdicio y abre la puerta a errores donde no los había. Elegir la herramienta adecuada para el problema es lo que distingue a quien juega de quien entrega.

Conceptos clave

Fijo → script

Lo predecible no necesita razonar.

Más barato

No gastes tokens en vano.

Más confiable

Haz lo mismo cada vez.

Lo simple es hermoso

Elección válida y madura.

Un agente funciona en la nube con cron, todos los días a las 7h, y ayer falló una fuente, pero recién hoy te diste cuenta de que faltan datos. ¿Qué concepto lo explica?

📌 Resumen del módulo

✓
Agente ≠ automatización — delegas el resultado; razona, se adapta, pregunta y se corrige solo (no determinista). Bife en un restaurante, no una receta.
✓
Local (bajo demanda) — tú eres el disparador; sin deploy; aquí es donde se desarrolla la intuición.
✓
Loop de mejora continua — se ejecuta → se equivoca → diagnostica → corrige la tool → actualiza el flujo. Este superpoder desaparece en producción.
✓
Programado (cron) — el reloj se activa; 5 campos (min h día mes día-sem.); 0 7 * * * = todos los días a las 7 h; se ejecuta sin supervisión.
✓
Por evento (webhook) — URL que escucha + payload (campanilla digital); autentica con Authorization: Bearer <chave>.
✓
Brecha agéntica — en la nube, nadie cierra el ciclo; el agente se ejecuta, pero no se adapta, y el fallo puede pasar desapercibido.
✓
Los 4 requisitos — inputs fijos, salida estructurada, error manejado (try/catch) y log específico — desde el 1.er prompt.
✓
A veces solo es un script — tarea fija y predecible: un script determinista es más barato y confiable. Lo simple funciona.

Siguiente módulo:

Ruta 5 — Proyectos prácticos (End-to-End)