Inspiration En cada rodaje, algo sale mal: un actor se enferma, cambia el clima, cancelan una locación, se ajusta el presupuesto. Hoy, adaptar el guion ante estos imprevistos es un proceso manual, lento y propenso a errores de continuidad — vestuario que no coincide, líneas de tiempo rotas, personajes que "saben" algo que aún no debería haber pasado. Quisimos ver si un sistema multiagente podía tomar ese trabajo y resolverlo en segundos, no en horas.
What it does Guion Vivo recibe eventos de disrupción de producción (actor no disponible, locación cancelada, cambio de clima, cambio de presupuesto, nueva tecnología, conflicto de agenda) y orquesta automáticamente: Reescribe las escenas afectadas manteniendo tono y intención narrativa Verifica continuidad (vestuario, timeline, límites de conocimiento de cada personaje) y corrige automáticamente hasta 2 veces si detecta blockers Evalúa factibilidad de recursos y sugiere alternativas tecnológicas cuando algo no es viable Guarda el historial de versiones en SQLite y Markdown, con auditoría completa de cada decisión tomada Si tras los reintentos sigue habiendo conflictos de continuidad, el sistema no aprueba a ciegas: marca el caso para revisión humana.
How we built it Construimos un Coordinator Agent sobre Google ADK que orquesta 4 sub-agentes especializados (Rewriter, Continuity, Resources, Memory), cada uno impulsado por Gemini con lógica de reintentos ante fallos de la API. El estado canónico del guion vive en SQLite con snapshots en Markdown versionados. El ciclo central es un loop de corrección: el Rewriter propone cambios, el Continuity Checker los audita, y si hay bloqueos, el Rewriter recibe ese feedback y vuelve a intentar — hasta un máximo configurable de reintentos antes de escalar a revisión humana. (Aquí agrega: qué integración con tu partner track elegiste — IBM / Grafana / Parallel / Clickhouse / Replit — y cómo se conecta al flujo)
Challenges we ran into Hacer que el ciclo de corrección rewriter↔continuity fuera determinista y no entrara en loops infinitos ante blockers persistentes Manejar con elegancia los fallos de la API de Gemini (rate limits, timeouts) sin que un solo fallo tumbara todo el pipeline de un evento Una auditoría de seguridad previa al push detectó una API key expuesta en .env.example, paths hardcodeados a nuestra máquina de desarrollo, dependencias sin versionar, y uso de Path.is_relative_to() (Python 3.12+) que rompería en 3.11 — los resolvimos todos antes de abrir el repositorio Diseñar run_async() para integrarse con el runner de ADK sabiendo que, en su forma actual, aún bloquea el event loop — dejamos esto documentado como trabajo pendiente en vez de ocultarlo Accomplishments that we're proud of 221 tests, todos pasando, sin una sola llamada real a la API en el suite de pruebas Los 4 agentes reales funcionando end-to-end con Gemini, incluyendo el ciclo completo de corrección automática Pasamos una auditoría de seguridad completa antes de abrir el código: cero credenciales expuestas, cero paths hardcodeados, builds reproducibles Un sistema de auditoría real: cada decisión de cada agente queda registrada, trazable y explicable What we learned
Que un sistema multiagente confiable necesita tanto verificación como generación — el valor no está solo en que el Rewriter escriba bien, sino en que el Continuity Checker sepa cuándo no aprobar algo y devolver el trabajo. También aprendimos, de la manera correcta, a tratar la seguridad como parte del ciclo de desarrollo y no como un paso final: la auditoría pre-lanzamiento nos salvó de exponer una key real en un repositorio público.
What's next for Guion Vivo Despliegue en Cloud Run con Dockerfile y app.yaml para producción CI/CD con GitHub Actions run_async() verdaderamente asíncrono, integrado de forma nativa con el runner de ADK Sistema de migraciones de base de datos y logging estructurado para producción Expandir tipos de disrupción soportados y afinar el modelo de confianza del Continuity Checker
Built With
- bob
- gemini
- sdk

Log in or sign up for Devpost to join the conversation.