Hijos de la línea magenta
"Programar está resuelto" suena audaz hasta que recuerda a pilotos que siguieron una línea magenta hacia una montaña.
8 min de lectura
29.05.2026, Por Stephan Schwab
La programación agéntica no volvió obsoletos los viejos hábitos del desarrollo de software. Los volvió más visibles. Cuando una máquina puede producir código a velocidad absurda, las disciplinas que generaciones de desarrolladores aprendieron a golpes importan todavía más: pasos pequeños, feedback rápido, responsabilidades claras y una sola fuente de verdad para cada regla. El agente es nuevo. La física no.
Si no trabajas en software todos los días, el problema central igual es fácil de entender: la máquina escribe rápido, pero rápido no significa coherente. Mucho software falla por la misma razón que falla una cocina mal organizada. Cuchillos en un cajón, tenedores en otro, especias por todas partes excepto donde se cocina, y tres bolsas de arroz abiertas porque nadie sabía que ya había arroz en casa. El trabajo sigue. El desperdicio se multiplica.
El software cae en ese mismo caos cuando una persona o una máquina copia la misma regla en cinco archivos, inventa una clase nueva por cada capricho o refactoriza código solo porque le produce picazón intelectual. Puede que el resultado siga funcionando. Solo se vuelve caro cambiarlo.
Extreme Programming fue construido para un mundo donde el software cambia constantemente y los desarrolladores se equivocan varias veces al día. Ese mundo no desapareció porque un modelo de lenguaje aprendiera a autocompletar archivos enteros.
Los hábitos de XP que importaban en 2000 importan aún más con agentes en 2026:
Nada de esto es glamoroso. La buena práctica rara vez lo es. La buena práctica casi siempre se parece a negarse a mentirse.
La programación agéntica sube la apuesta porque el modelo puede producir mucho disparate plausible antes de que un humano termine el café. Por eso los tests superan a las instrucciones. El hábito importa porque importa el bucle de feedback. Si lo quitas, te quedas con velocidad y esperanza, que es la forma elegante de producir errores caros en serie.
DRY suele reducirse a un eslogan sobre escribir menos. Ese no es el punto. El punto no es teclear menos. El punto es asegurarse de que una regla de negocio no se bifurque en silencio en varias versiones que compiten entre sí.
Si la lógica de descuentos vive en un controlador, un proceso en segundo plano, un servicio de pago y un script de informes, eso no es reutilización. Son cuatro desacuerdos futuros esperando el fin de semana de despliegue.
Ese es exactamente el tipo de suciedad que crean los agentes cuando falta disciplina. El modelo ve código parecido en dos sitios y pega con gusto una tercera versión porque eso resuelve la tarea inmediata. No es malicia. Es oportunismo. La salida rápida sin presión de diseño siempre deriva hacia la duplicación.
Por eso la regla vieja sigue importando:
Ese es el trabajo humano cuando se colabora con un agente. No romantizar el oficio mientras se tolera duplicación evitable. El viejo hábito sigue ganando: dejar la regla en un solo sitio y defender ese sitio cada vez que el código cambia.
Para quien no vive dentro del software, DRY es simplemente esto: cuando cambia una política de empresa, quieres actualizarla en un lugar y no olvidarla en siete.
La programación orientada a objetos también se maltrata a manos de gente que confunde vocabulario con diseño. Una jerarquía de clases no es arquitectura. Muy a menudo es solo la ruta larga hacia el arrepentimiento.
Buena OOP, sobre todo en programación agéntica, significa unas pocas cosas sencillas:
Esto importa porque a los agentes les encanta inventar abstracciones. Dales un prompt vago y producirán BaseManagerFactoryAdapter como si la sátira fuera un patrón de diseño.
El hábito que mantiene esto bajo control es más viejo que la ola actual de herramientas: preferir objetos pequeños con responsabilidades claras, extender una abstracción existente solo cuando el código que la rodea ya usa ese patrón, y no introducir una capa nueva mientras la actual no esté fallando.
La prueba práctica es brutalmente simple: si un desarrollador humano no puede explicar dónde vive una regla y por qué, el agente tampoco va a mantenerla coherente.
Muchos equipos dicen que quieren que el modelo haga TDD cuando en realidad quieren decir: “escribe también algunos tests para que esto parezca respetable”. Eso no es TDD. Eso es papeleo con assertions.
Si quieres que un agente se comporte como un desarrollador disciplinado, el bucle de desarrollo tiene que seguir intacto en vez de convertir los tests en burocracia decorativa.
El bucle es viejo y sigue invicto:
Eso le da ritmo al modelo. Reduce el espacio de búsqueda. Convierte la tarea de “escribe algo impresionante” en “cumple este contrato concreto sin romper el resto”. Los modelos necesitan esa disciplina más que los humanos, porque son muy buenos sonando correctos mientras están estructuralmente equivocados.
Si quieres el alegato completo contra el prompting freestyle, está aquí: el vibe coding no es desarrollo de software. Es improvisación con mejor autocompletado.
La mayoría de los malos archivos de instrucciones comparten el mismo fallo: intentan anticipar cada decisión de código en prosa. Eso está perdido de antemano. El archivo se hincha, aparecen contradicciones y el agente escoge el patrón de tokens que le resulte más cómodo en contexto.
El mejor enfoque es más pequeño y más duro. Un buen archivo de instrucciones debería cubrir sobre todo esto:
Eso basta para moldear comportamiento sin fingir que Markdown puede reemplazar el juicio.
Dicho de otra manera: los archivos de instrucciones son para hábitos. Los tests son para pruebas. Los linters son para consistencia. Cada herramienta debería hacer su propio trabajo.
Hay una fantasía tentadora alrededor de la programación agéntica: escribir una vez un prompt maestro brillante y dejar que la máquina cargue con el oficio. Esa fantasía sobrevive porque las primeras demos suelen funcionar.
Luego llega la realidad. El modelo duplica lógica. Cambia una interfaz que nadie quería tocar. Agrega un helper que casi coincide con el helper existente, pero no del todo. De pronto el equipo está escribiendo derecho procesal de prompts en vez de software.
La cura no es más drama en el prompt. La cura es un repositorio que diga la verdad:
Cuando esas tres cosas encajan, hacer prompts se vuelve más simple. Puedes decir: “Añade IVA suizo para facturas”, y confiar en que el agente entrará por la puerta principal en vez de romper una ventana.
Eso también importa para quien desarrolla solo. Un repositorio personal también puede convertirse en pantano. De hecho suele convertirse en pantano más rápido, porque no hay nadie alrededor que se queje antes de que los juncos lleguen al hombro.
Los ejemplos de abajo son intencionalmente cortos. No intentan serializar todo el oficio del desarrollo de software en Markdown. Establecen disciplina y luego devuelven la aplicación de esa disciplina a tests y herramientas.
Róbalos. Recórtalos. Ajústalos a tu stack. Pero deja el centro de gravedad donde corresponde: bucles de feedback pequeños, responsabilidades claras y menos estupidez duplicada.
Hablemos de tu situación real. ¿Quieres acelerar la entrega, quitar bloqueos técnicos o validar si una idea merece más inversión? Escucho tu contexto y te doy 1-2 recomendaciones prácticas. Sin compromiso ni discurso comercial. Confidencial y directo.
Empecemos a trabajar juntosUn desarrollador experimentado para tu equipo
Nuestro Developer Advocate programa código productivo con tu equipo, mejora el pipeline y acelera la entrega. 60-70% código, 30-40% coaching. Un compañero de equipo temporal que entrega desde el primer día.