cursos:sdd:presentacion
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| cursos:sdd:presentacion [2026/11/02 13:15] – Precios por API: solo los de entrada claude | cursos:sdd:presentacion [2026/11/02 15:04] (actual) – Añade patrones agénticos antes de guardarraíles deterministas claude | ||
|---|---|---|---|
| Línea 69: | Línea 69: | ||
| [[cursos: | [[cursos: | ||
| - | ===== 7. Tú haces la arquitectura, | + | ===== 7. ¿Hace falta conocer el framework o el lenguaje? ===== |
| + | |||
| + | La IA los conoce mejor que tú: la sintaxis y la API las pone ella. El problema es que **hay que revisar el código**, y no puedes revisar lo que no entiendes. Hay que conocerlos lo suficiente para leerlos y juzgarlos, no para escribirlos de memoria. | ||
| + | |||
| + | [[cursos: | ||
| + | |||
| + | ===== 8. SDD: especificar antes de programar ===== | ||
| + | |||
| + | «Hay que poder exportar los pedidos» esconde cinco decisiones, y el agente las toma solo y sin avisar. SDD las saca a documentos antes del código, y esos documentos son la entrada del agente. **Entre fase y fase, una persona aprueba.** | ||
| + | |||
| + | ^ Documento ^ Qué contesta ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | [[cursos: | ||
| + | |||
| + | ==== ¿Realmente funciona? ==== | ||
| + | |||
| + | No como dogma. La prueba de Scott Logic: Spec Kit frente a su forma habitual, con incrementos pequeños y prompts sencillos: | ||
| + | |||
| + | ^ ^ Agente ^ Revisión humana ^ Markdown ^ Código ^ | ||
| + | | Con Spec Kit | 33 min | 3,5 h | 2.577 líneas | 689 líneas | | ||
| + | | Sin especificación | 8 min | 24 min | 0 | 1.000 líneas | | ||
| + | |||
| + | Especifica lo que no cabe en una frase, y que la especificación sea corta: lo que vale es el diseño, no el volumen de // | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ===== 9. SDD centrado en la arquitectura ===== | ||
| + | |||
| + | Variante de SDD: el documento principal no describe cada funcionalidad, | ||
| + | |||
| + | * '' | ||
| + | * Tareas pequeñas, abarcables en una sola interacción. | ||
| + | * Cada resultado se valida con tests y contra la arquitectura. | ||
| + | |||
| + | Su punto débil: nadie escribe los criterios de aceptación de cada funcionalidad. | ||
| + | |||
| + | [[cursos: | ||
| + | |||
| + | ==== Tú haces la arquitectura, | ||
| La IA es una máquina de implementar: | La IA es una máquina de implementar: | ||
| Línea 75: | Línea 116: | ||
| [[https:// | [[https:// | ||
| - | ===== 8. El diseño detallado, antes que el código | + | ==== El diseño detallado, antes que el código ==== |
| Si le dejas, decide él el alcance, los componentes y las interfaces. Se acuerda de lo abstracto a lo concreto: capacidades, | Si le dejas, decide él el alcance, los componentes y las interfaces. Se acuerda de lo abstracto a lo concreto: capacidades, | ||
| Línea 81: | Línea 122: | ||
| [[https:// | [[https:// | ||
| - | ===== 9. El prompt se puede ignorar, la arquitectura no ===== | + | ==== El prompt se puede ignorar, la arquitectura no ==== |
| Tú escribes el esqueleto (clases base, contratos, seguridad, gestión de errores) y la IA rellena los huecos. No puede saltarse lo que no controla. | Tú escribes el esqueleto (clases base, contratos, seguridad, gestión de errores) y la IA rellena los huecos. No puede saltarse lo que no controla. | ||
| Línea 87: | Línea 128: | ||
| [[https:// | [[https:// | ||
| - | ===== 10. Una tarea pequeña cada vez ===== | + | ==== Una tarea pequeña cada vez ==== |
| Se pide un trozo, se prueba y se sigue. Si sale mal, no le pidas que lo deshaga: vuelve al último punto bueno y empieza una sesión nueva con más límites. | Se pide un trozo, se prueba y se sigue. Si sale mal, no le pidas que lo deshaga: vuelve al último punto bueno y empieza una sesión nueva con más límites. | ||
| Línea 93: | Línea 134: | ||
| [[https:// | [[https:// | ||
| - | ===== 11. Guardarraíles deterministas | + | ===== 10. Patrones agénticos |
| - | La IA no da dos veces el mismo resultado, sus comprobaciones sí tienen | + | Le pides algo a la IA y lo hace mal. Le dices que lo revise y encuentra el error. ¿WTF? La IA es así y hay que vivir con ello. Programar con IA es saber trabajar con ella para que funcione bien, y para eso hay una serie de patrones: |
| - | * **JUnit**: que hace lo que tiene que hacer. | + | ^ Patrón ^ En qué consiste ^ |
| - | * **ArchUnit**: | + | | Planificador-Ejecutor | Uno hace el plan y se revisa antes de tocar nada | |
| - | * **Métricas**: | + | | Ejecutor-Revisor | Uno hace el trabajo y otro lo revisa con criterios claros | |
| + | | Adversarios | Uno intenta romper lo que ha hecho el otro | | ||
| + | | Razonador-Refutador | Uno propone | ||
| + | | Best-of-N | Varios intentos, y se queda el mejor | | ||
| - | [[cursos:sdd: | + | Empieza por lo más simple: cada patrón añade coste y tiempo. |
| - | ===== 12. SDD, ¿realmente funciona? ===== | + | [[cursos: |
| - | No como dogma. La prueba de Scott Logic: Spec Kit frente a su forma habitual, con incrementos pequeños y prompts sencillos: | + | ===== 11. Guardarraíles deterministas ===== |
| - | ^ ^ Agente ^ Revisión humana ^ Markdown ^ Código ^ | + | Como no se acaba de confiar en la IA, se añade software determinista: |
| - | | Con Spec Kit | 33 min | 3,5 h | 2.577 líneas | 689 líneas | | + | |
| - | | Sin especificación | 8 min | 24 min | 0 | 1.000 líneas | | + | |
| - | Especifica | + | * **JUnit**: que hace lo que tiene que hacer. |
| + | * **ArchUnit**: que respeta la arquitectura. | ||
| + | * **Métricas**: | ||
| - | [[https:// | + | [[cursos: |
| - | + | ||
| - | ===== 13. ¿Es necesario conocer un framework? ===== | + | |
| - | + | ||
| - | Sus conceptos sí, porque sin ellos no puedes revisar lo que sale. Su API de memoria no: eso lo pone el agente, con la documentación de la versión que usas. | + | |
| - | + | ||
| - | [[cursos: | + | |
cursos/sdd/presentacion.1793621752.txt.gz · Última modificación: por claude
