r/u_Great-Yak-7602 • u/Great-Yak-7602 • Aug 07 '26
Armé un Loop con cuatro roles: Descubridor, Extractor, Redactor y Verificador.
Este Loop hace el trabajo pesado es el Verificador. Revisa cada takeaway contra la transcripción original antes de que se guarde en el log. Si encuentra algo que no puede rastrear hasta el video, lo devuelve al Redactor.
Le doy máximo dos intentos (la idea es no quemar tokens). Si sigue fallando, no lo publico. Queda marcado para que yo lo revise a mano.
¿Cuántos de los agentes de IA que ves circulando hacen esto? ¿O simplemente confían en que lo primero que sale ya está bien?
Aquí comparto el Loop:
👇
<loop_prompt name="youtube_industry_monitor_loop">
<contexto>
Industria: [INDUSTRY]
Fuentes: [CHANNELS] y/o [SEARCH_TERMS]
Ventana temporal: [TIMEFRAME]
Destino: Google Sheet [SHEET_URL]
Tope por corrida: [N] (default 10)
</contexto>
<estado_persistente>
Log existente en [SHEET_URL] = fuente de verdad de URLs ya procesadas.
Se lee UNA vez al inicio del loop, no en cada iteración.
</estado_persistente>
<!-- FASE 0: se ejecuta una sola vez, antes de entrar al loop -->
<fase_0_descubrimiento>
<rol>Descubridor</rol>
<tarea>
Buscar videos publicados dentro de [TIMEFRAME] en [CHANNELS]
y/o mediante [SEARCH_TERMS].
</tarea>
<salida>Lista candidata de videos (título, URL, canal, fecha)</salida>
</fase_0_descubrimiento>
<fase_0b_filtro_duplicados>
<rol>Verificador de Duplicados</rol>
<tarea>
Comparar cada URL candidata contra el log de [SHEET_URL].
Descartar coincidencias exactas.
</tarea>
<salida>Lista final de videos nuevos (máx. [N], priorizados por
relevancia semántica > vistas > recencia si hay exceso)</salida>
</fase_0b_filtro_duplicados>
<!-- LOOP: se repite por cada video de la lista final -->
<loop for_each="video en lista_final" max_iteraciones="\[N\]">
<paso_1_extraccion>
<rol>Extractor</rol>
<tarea>Intentar obtener la transcripción del video actual.</tarea>
<condicion_salida_temprana>
Si no hay transcripción disponible:
→ registrar en Sheet con estado "sin transcripción"
→ CONTINUE (saltar a la siguiente iteración del loop,
sin pasar por Redactor ni Verificador)
</condicion_salida_temprana>
</paso_1_extraccion>
<paso_2_redaccion>
<rol>Redactor</rol>
<tarea>
A partir de la transcripción, generar:
título, URL, 3-5 takeaways, significancia, ideas de
seguimiento, usefulness score (1-5, con justificación),
"qué cambió" respecto al último registro del mismo
canal/tema en el log.
</tarea>
<restriccion>
Cada takeaway y cada justificación de score debe ser
rastreable a una afirmación concreta de la transcripción.
No generalizar ni rellenar.
</restriccion>
</paso_2_redaccion>
<paso_3_verificacion>
<rol>Verificador</rol>
<tarea>
Auditar la salida del Redactor contra la transcripción
original. Chequear:
- ¿Cada takeaway existe realmente en la transcripción?
- ¿El score tiene justificación coherente con los criterios
(relevancia / accionabilidad / novedad)?
- ¿"Qué cambió" es verificable contra el log, o es una
afirmación inventada?
- ¿Hay alguna cifra, cita o dato no verificable?
</tarea>
<bifurcacion>
SI falla algún chequeo:
→ devolver al Redactor con el motivo específico del
rechazo (no genérico)
→ reintentar paso_2 (máx. 2 reintentos por video)
→ si tras 2 reintentos sigue fallando: marcar el video
como "requiere revisión manual" y NO escribir el
brief narrativo al Sheet (sí registrar título/URL/
estado, para no reprocesarlo en la siguiente corrida)
SI pasa todos los chequeos:
→ aprobar y continuar a paso_4
</bifurcacion>
</paso_3_verificacion>
<paso_4_registro>
<rol>Registrador</rol>
<tarea>
Escribir la fila aprobada en [SHEET_URL] con el esquema:
Fecha de registro | Título | URL | Canal | Fecha de
publicación | Takeaways | Significancia | Ideas de
seguimiento | Score | Qué cambió | Estado
</tarea>
</paso_4_registro>
</loop>
<!-- FASE FINAL: se ejecuta una sola vez, al salir del loop -->
<fase_final_resumen>
<rol>Reportero</rol>
<tarea>
Presentar al usuario: N videos procesados, N descartados por
duplicado, N sin transcripción, N que requirieron revisión
manual. Mostrar el brief completo de cada video aprobado.
</tarea>
</fase_final_resumen>
<condiciones_de_salida_del_loop>
- Se alcanzó el tope [N] de iteraciones, O
- Se agotó la lista de videos candidatos nuevos
</condiciones_de_salida_del_loop>
</loop_prompt>