Programar con IA usando Spec-Driven Development
Explicación accesible de cómo el DTI usa inteligencia artificial y OpenSpec para construir software ordenado, con un ejercicio práctico y comparación con vibecoding.
En el DTI estamos adoptando inteligencia artificial para programar. Este artículo explica, sin jerga técnica, qué cambia cuando lo hacemos con orden y por qué decidimos usar un enfoque llamado Spec-Driven Development.
1. ¿Qué significa “programar”?
Programar es darle instrucciones claras a una máquina para que haga una tarea: calcular una nota, mostrar un listado, enviar un correo. Hasta hace poco, esas instrucciones las escribía exclusivamente una persona (un programador). Hoy podemos apoyarnos en inteligencia artificial (IA) para que escriba buena parte de esas instrucciones por nosotros.
Una buena forma de imaginar la diferencia: imagina que estás cocinando.
- Antes la persona escribía la receta paso a paso.
- Ahora la IA puede proponer la receta y muchos de los pasos.
- Pero la decisión de qué plato cocinar y cómo debe quedar sigue siendo nuestra.
Programar con IA bien hecha no es dejar que la máquina cocine sola en la cocina y ver qué sale. Es darle una receta clara, supervisarla y aprobar el resultado.
2. Dos formas de pedirle a la IA que programe
Hay dos estilos para trabajar con IA en programación. Ambos son válidos, pero sirven para cosas distintas.
Vibecoding
“IA, hazme una página que muestre los alumnos.”
La persona le pide algo a la IA en lenguaje natural y va viendo qué sale. Si no le gusta, lo ajusta sobre la marcha. Es rápido, exploratorio y útil para prototipos o ideas que aún no sabemos si vamos a usar.
El problema: si el proyecto crece, nadie tiene claro qué se acordó construir. Cuando alguien pregunta “¿por qué este sistema funciona así?”, la única respuesta es “porque así salió ese día”. Eso es difícil de mantener y de auditar.
Spec-Driven Development (SDD)
“IA, antes de escribir código, propongamos por escrito qué queremos y por qué.”
Aquí cambia el orden. En lugar de pedirle a la IA que escriba código de inmediato, primero le pedimos que proponga un acuerdo: una pequeña ficha que explica el cambio, qué problema resuelve, qué hay que construir, qué pruebas debe pasar. Recién cuando esa ficha está revisada y aprobada por una persona, la IA implementa.
Diferencias prácticas frente a vibecoding:
- La IA propone; el humano aprueba.
- Queda registro escrito de cada decisión.
- Las personas no técnicas (jefaturas, dirección académica) pueden leer el acuerdo y opinar.
- Si algo sale mal después, podemos rastrear en qué punto se equivocó la decisión, no sólo el código.
3. OpenSpec, el flujo que usamos en el DTI
OpenSpec es la herramienta concreta que usamos para llevar este orden. No es magia: es una serie de archivos de texto que la IA aprende a respetar.
El flujo tiene cuatro momentos:
propose → apply → verify → archive
- Propose — la IA crea una propuesta con cuatro documentos: el porqué, el cómo, el qué debe cumplir y la lista de tareas.
- Apply — la IA implementa esas tareas una por una, marcando cada una como hecha.
- Verify — revisamos que lo construido coincida realmente con lo propuesto.
- Archive — el cambio se guarda en la memoria del proyecto.
La gracia es que en cada paso hay una persona del DTI mirando y aprobando. La IA no merge nada por su cuenta.
4. Ejercicio: agregar un campo “teléfono”
Imaginemos que en Sigae queremos agregar un campo teléfono al perfil de cada usuario. Veamos cómo se vería con OpenSpec.
Paso 1 — proponer
Le pedimos a la IA:
/opsx:propose agregar campo teléfono al perfil de usuario
La IA genera automáticamente cuatro archivos:
proposal.md— explica el porqué del cambio.design.md— explica el cómo se va a construir.specs/— lista los requisitos que el cambio debe cumplir.tasks.md— lista paso a paso lo que hay que hacer.
Paso 2 — revisar
Una persona del DTI lee los cuatro documentos. Si algo no calza —por ejemplo, falta validar el formato del teléfono— lo corrige antes de que se escriba código.
Paso 3 — implementar
Le pedimos a la IA:
/opsx:apply
La IA empieza a recorrer la lista de tareas. Por cada tarea modifica el código, marca un casillero como hecho y pasa a la siguiente. La persona del DTI puede pausar en cualquier momento.
Paso 4 — verificar y archivar
Cuando todas las tareas están hechas, ejecutamos:
/opsx:verify
/opsx:archive
La IA comprueba que el código final coincide con lo propuesto. Si todo calza, el cambio se archiva con su historia completa.
Para reproducir este ejercicio se requiere
openspec >= 1.3instalado localmente. El comandoopenspec --versionconfirma la versión.
5. Beneficios y contras
| Beneficios | Contras | |
|---|---|---|
| Vibecoding | Rapidez. Bueno para prototipos. Bajo costo para descartar ideas. | Difícil de mantener. Sin registro de decisiones. No conviene en proyectos importantes. |
| SDD con IA | Decisiones por escrito. Auditable. Cualquier persona del equipo entiende qué se hizo. Reduce sorpresas. | Más lento al inicio. Requiere disciplina. No tiene sentido para cambios triviales (ej. cambiar un texto). |
Regla práctica que usamos:
- Cambios triviales o experimentos cortos → vibecoding con sentido común.
- Cambios reales en sistemas en producción → SDD con OpenSpec, sin excepciones.
6. Nuestra recomendación en el DTI
En el DTI estamos comenzando a incorporar IA al flujo de desarrollo. Hoy nuestros sistemas —Sacint, Sigae, Carga Horaria, Recursos Humanos y Ciclos de Calidad— se mantienen y evolucionan con desarrollo tradicional. Pero a medida que pongamos a la IA dentro del flujo, proponemos hacerlo desde el inicio con SDD.
La recomendación concreta:
- Si un proyecto del DTI va a integrar IA para generar código, partamos con OpenSpec desde el primer cambio.
- Cada cambio importante pasa por la secuencia propose → apply → verify → archive.
- La IA propone, el humano siempre aprueba.
- Queda registro escrito para auditoría futura.
Esto nos permite que, si en seis meses alguien pregunta “¿por qué este sistema funciona así?”, podamos abrir el repositorio y leer la propuesta original en lenguaje claro, junto con la decisión técnica y las tareas que se hicieron. La inteligencia artificial nos ayuda a redactarlo todo más rápido; la responsabilidad de decidir y aprobar sigue siendo del equipo del DTI.
Versión presentación
A continuación está la misma información en formato presentación. Usa las flechas o haz clic en los controles para avanzar. Para proyectarla en sala, abre la versión a pantalla completa.
¿Quieres aplicar SDD con IA a tu próximo proyecto en la universidad? Escríbenos al DTI y vemos cómo acompañarte.