El agente lo arregla solo.

Agentic Developer

enaina

Check-in

enaina

El agente terminó. Los tests pasan. ¿Hizo lo que le pedisteis?

enaina

¿Qué pasa si vuestro ADW completa 50 tareas incorrectamente sin que os enteréis?

enaina

Agenda

Tests vs. Validaciones
El bucle cerrado
Request-Validate-Resolve
Lab Demo: El agente que se autocorrige
Práctica en proyecto
enaina

La fiabilidad no se supervisa — se diseña.

enaina
Tests técnicos Validaciones de comportamiento
¿Funciona el código? ¿Hizo lo que se pidió?
Linter · Unit tests · Compilación E2E · Playwright · UI automation
Detectan: código roto Detectan: feature mal implementada
No detectan: intención incumplida No detectan: bugs técnicos internos
enaina

Tests y validaciones son la ley del codebase.

Nunca se ignoran — siempre se arreglan.

enaina
graph LR A([Ejecuta]) --> B{Valida} B -->|Pasa| C([Listo ✓]) B -->|Falla| D([Corrige]) D --> B
enaina

Demo

enaina

La fiabilidad no se supervisa — se diseña.

Antes revisabais cada ejecución. Ahora el sistema se valida solo.

enaina

El agente trabaja solo y se corrige solo. Dentro de seis meses, ¿sabrá alguien del equipo cómo funciona?

enaina

Check-out

enaina

Gracias

enaina

🎯 Portada — Contexto emocional Fase 5: confianza en el sistema que se corrige 💬 S4: sistemas que trabajan solos Hoy: sistemas que saben si lo hicieron bien El salto de esta sesión: de autonomía a fiabilidad 🎬 No adelantar contenido Pasar directamente al check-in 📌 Duración total: ~150 min. Tono: confianza creciente. La supervisión se reemplaza con diseño. ⏱ 1 min ➡️ Pasar directamente al check-in

🎯 Check-in — Conexión humana, tomar temperatura del grupo 💬 Ronda rápida: cómo llegamos Una palabra o frase corta Sin relación con el contenido de la sesión 🎬 Dar 30 seg de reflexión individual Ronda rápida, no comentar las respuestas Si el grupo está bajo de energía, añadir: "¿Qué esperamos de hoy?" ⏱ 5 min ➡️ Pasar a la pregunta provocativa

🎯 Provocación — Abrir el gap entre "tests pasan" y "feature funciona" 💬 Tests pasan ≠ feature implementada correctamente El linter, el unit test, la compilación: todos OK El diálogo de confirmación de borrado: no aparece Solo el E2E lo detecta — y nadie lo tenía en el prompt La sesión responde esta pregunta progresivamente 🎬 Mostrar la slide Silencio de 5-10 seg antes de hablar No responder — dejar la incomodidad aterrizar No adelantar el contenido 💡 Visceral para cualquier dev que haya vivido que los tests pasen pero la feature esté mal implementada. Ese dolor es el punto de entrada. ⏱ 3 min ➡️ "En S4 conseguisteis que el agente trabajara solo. Pero hay algo que todavía no sabe."

🎯 Recap — Activar la necesidad antes de ofrecer la solución 💬 El ADW trabaja solo — pero está ciego No sabe si rompió algo ni si implementó lo que se pidió 50 tareas incorrectas en silencio = deuda invisible y acumulada 🎬 Hacer la pregunta directamente al grupo Recoger 2-3 respuestas Anotar en pizarra: "¿Qué consecuencias tendría?" Cerrar: "Hoy les damos ojos." 👂 Respuestas esperadas: bugs en producción, tiempo perdido corrigiéndolo, pérdida de confianza en el flujo Si alguien dice "pero tenemos tests": "¿Tests técnicos o validaciones de comportamiento? Eso es exactamente lo que vamos a ver." ⏱ 5 min ➡️ "Vamos a ver qué necesita exactamente para dejar de estar ciego. Agenda."

🎯 Agenda — Orientar sobre el arco de la sesión 💬 5 bloques: de concepto a práctica propia Orden: distinción → patrón → framework → demo en vivo → práctica real El lab demo es el momento definitorio — crear anticipación 🎬 Leer los bloques brevemente No entrar en detalle ni tiempos Mencionar: "El lab demo de hoy es diferente — vais a ver algo que no habíais visto antes." ⏱ 1 min ➡️ "Pero antes de entrar, una frase que resume lo que vamos a descubrir hoy."

🎯 Hook post-agenda — Plantar la tesis de la sesión antes de enseñar los mecanismos 💬 Antes: revisión humana después de cada ejecución agéntica Hoy: diseñamos el sistema para que se valide solo El shift no es de herramienta — es de mentalidad Esta frase volverá al cierre — es el arco de la sesión 🎬 Leer la frase en voz alta, pausa de 3-5 seg No explicar todavía "Esta es la promesa de hoy. Veamos cómo se construye." 💡 Esta frase es el anzuelo. Al cierre tendrá peso porque el grupo habrá vivido el bucle en acción. ⏱ 1 min ➡️ "Para diseñarla, primero necesitamos una distinción que la mayoría no tiene en sus prompts agénticos."

🎯 Distinción fundamental — La que falta en los prompts agénticos de los devs 💬 Tests técnicos = ¿el código está bien escrito? Validaciones de comportamiento = ¿el agente hizo lo que el usuario esperaba? Ejemplo concreto de S4: el diálogo de confirmación de borrado Linter OK, unit OK, compilación OK — el diálogo no aparece Solo el Playwright test lo detecta Ambas capas son necesarias y van juntas en el bloque Validate del R-V-R 🎬 Presentar la tabla columna a columna, no de golpe Preguntar: "¿Cuál de las dos tenéis en vuestros ADWs hoy?" Recoger respuestas "El gap entre estas dos columnas es donde los ADWs ciegos fallan en silencio." 👂 La mayoría tendrá solo tests técnicos (linter/CI) o ninguno Si alguien tiene E2E: "Perfecto — eso es lo que vamos a integrar hoy en el prompt agéntico" ⏱ 5 min ➡️ "Y hay un principio sobre cómo tratar ambas capas que no es negociable."

🎯 Principio — Establecer la autoridad absoluta del testing en el flujo agéntico 💬 Tests como ley = autoridad máxima, no sugerencia Cuando fallan: arreglar el código, o arreglar el test — nunca ignorar El agente no rodea el test — lo respeta como señal de verdad Si el test está mal: arreglarlo primero, luego el código Este principio da peso real a las instrucciones del bloque Validate 🎬 Enunciar la frase en voz alta Breve pausa "Cuando un agente recibe instrucciones de Validate, estas tienen autoridad máxima. No son opcionales." 💡 Sin este principio, un agente puede "pasar los tests" comentándolos o desactivándolos. La ley del codebase previene ese atajo. ⏱ 2 min ➡️ "Bien. Ahora veamos el patrón completo: cómo un agente con esta ley integrada ejecuta su trabajo."

🎯 El bucle cerrado — Visualizar el patrón de auto-corrección 💬 4 pasos: ejecuta → valida → corrige → re-valida El bucle puede iterar varias veces antes de alcanzar "Listo" Sin este bucle: el ADW es un ejecutor ciego Con este bucle: el ADW sabe si lo hizo bien antes de terminar 🎬 Recorrer cada nodo en voz alta siguiendo el grafo Señalar el loop: "Puede dar varias vueltas — hasta que pase" Preguntar: "¿Cuántas ejecuciones han tenido donde el agente terminó pero no sabíais si el resultado era correcto?" 👂 Respuestas típicas: muchas, casi todas, normalmente lo comprobamos a mano después "A partir de hoy, el agente lo sabe antes que vosotros." ⏱ 5 min ➡️ "Vamos a verlo en acción."

🎯 Lab Demo — Crear anticipación y enmarcar lo que el grupo va a observar 💬 3 rondas progresivas: linter → unit tests → E2E con Playwright En cada ronda: el agente falla, lee el error, corrige, re-valida — sin intervención humana La Ronda C es el momento definitorio: el browser se mueve solo "Progressive Validation Stacking" = empezar con una capa y añadir progresivamente 🎬 Anunciar las 3 rondas antes de empezar "Observad específicamente cómo el agente LEE el error antes de corregir — eso es el nodo Refleja del bucle" Ronda A (~8 min): ESLint — error de estilo en React. Agente: falla → lee el error → corrige el código → vuelve a pasar Ronda B (~8 min): Jest — bug de lógica. Agente: stacktrace → localiza el bug → corrige → pasa Ronda C (~14 min): Playwright MCP — diálogo de borrado roto. Agente: abre browser, hace screenshot, detecta que el modal no aparece, lee el DOM del componente React, localiza el handler comentado, lo restaura, re-ejecuta el test E2E, el diálogo aparece, pasa Al terminar la Ronda C: "El agente acaba de hacer lo que un QA manual haría. Solo que lo hará en cada PR, para siempre." 📌 Setup: demo app rama S5 con ESLint, Jest, RSpec, Playwright MCP configurado en Claude Code del facilitador, proyector visible, demo app corriendo en local Si algo falla en la demo en vivo: "Un fallo real también es válido — es el patrón en acción" 💡 El momento de impacto es cuando el browser se mueve solo (Ronda C). No interrumpir — dejarlo respirar. El silencio del grupo es la respuesta. ⏱ 65 min (30 demo + 35 práctica en proyecto) ➡️ "Bien. Cerremos."

🎯 Síntesis — Cerrar el arco con la misma frase que lo abrió: el hook ahora tiene peso 💬 La frase ya tiene significado — el grupo la ha vivido en el lab y en su proyecto Antes: supervisión manual de cada ejecución agéntica Ahora: el sistema detecta y corrige sin intervención Identidad: construimos sistemas que generan código — y que saben si lo hicieron bien Conexión S4+S5: el primer flujo verdaderamente autónomo Y fiable del equipo 🎬 Leer la frase en voz alta Breve pausa "Al principio de la sesión os planté esta frase. Ahora tiene significado." Recoger respuestas breves — no abrir debate 💡 El subtexto es el shift de identidad: de supervisores de agentes a diseñadores de fiabilidad ⏱ 3 min ➡️ "Y eso abre la siguiente pregunta."

🎯 Preview S6 — Abrir la tensión de documentación como cierre del flujo agéntico 💬 S5 resolvió: el agente sabe si lo hizo bien Nueva tensión: el agente evoluciona — ¿y la documentación del sistema? Escalar agentes sin documentar = caja negra para el equipo que crece S6 responderá: cómo documentar automáticamente lo que los agentes hacen 🎬 Leer la pregunta en voz alta Dejar 5 seg de silencio "Esta es la pregunta de la siguiente sesión. Hoy no la respondemos." No abrir debate ⏱ 1 min ➡️ "Por hoy, check-out."

🎯 Check-out — Cierre emocional del grupo 💬 Ronda rápida: cómo nos vamos Una palabra o frase corta Sin relación con el contenido — es cierre ritual 🎬 "¿Cómo nos vamos después de hoy?" Ronda rápida sin comentarios sobre las respuestas Terminar puntual ⏱ 5 min ➡️ Slide de fin

🎯 Fin — Cierre ceremonial del deck ⏱ 0 min ➡️ —