Programar con IA: Aliada, aprendiz y fuente inagotable de bugs
18 May, 2025 / 4 MIN read
(Un artículo de Gonzalo Méndez, Tech Lead en Interactiv4)
Hace unas semanas asistí a la CommitConf y, cómo no, el tema protagonista fue la Inteligencia Artificial. Charlas técnicas, debates intensos, algún momento fan… y muchas preguntas sobre cómo encaja (y descoloca) la IA en nuestra forma de desarrollar software.
Una en especial, de los cracks de Codely, mostraba lo fácil que es integrar un agente IA en una aplicación. Fácil, sí, pero ¿realmente útil?
IA, ¿la nueva Bluetooth?
La IA se ha convertido en la nueva palabra mágica. Todo tiene que llevar IA. Como ese cepillo de dientes que compré hace años con Bluetooth (aún no sé para qué) y ahora tiene una versión “con IA”. ¿Hace algo más? ¿Te habla? ¿Te corrige la técnica? Nadie lo sabe, pero ahí está la etiqueta.
Así que está claro: tus clientes, nuestros clientes, los clientes de cualquiera… van a pedir que sus aplicaciones tengan IA. ¿Para qué? Eso ya lo decidirá negocio.
Cómo (no) programamos con IA
En mi día a día la uso constantemente. Pero no para integrarla, sino como compañera de código. Y sí, la cosa ha cambiado. Y cambia tan rápido que probablemente lo que estás leyendo aquí quede obsoleto en semanas.
Hay entusiasmo, hay recelo. Hay dudas sobre su “aprendizaje”, sobre cómo programa, sobre cuánto podemos confiar en ella.
Un dato curioso que vi en una charla de @vilojona:
29% del código generado por Copilot es correcto.
20% es parcialmente correcto.
51% es erróneo.
Lo que no se le puede negar es imaginación. Tiene mucha tendencia, por su propia estructura, a “alucinar”. Es una gran ingeniera del Invent. Y como no estés pendiente te la puede colar. Si te despistas, te mete un mix entre DDD y el Señor de los Anillos en el mismo snippet.
¿Entonces solo hay que pedirle bien las cosas?
¿Y si usamos un lenguaje específico para decirle a la IA exactamente qué queremos que haga?
Un momento… usar un lenguaje preciso para que la máquina haga exactamente lo que quieres… eso ya existe. Lo llamamos programación.
La IA, al final, podría ser simplemente otro nivel de abstracción. Uno por encima de los lenguajes que usamos. Pero sigue necesitando lo mismo: contexto, estructura, intención.
Cómo conseguir código decente (con IA de copiloto)
Aquí algunas prácticas que aplico (y recomiendo) si programas con ayuda de IA:
🧠 1. Diseña antes de escribir
No empieces pidiendo código sin tener claro qué quieres. Incluso puedes conversar con la IA para elegir patrones. A veces acierta… y sabe cómo se llaman, cosa que yo no siempre.
🧼 2. Código limpio, siempre
Facilita que la IA entienda el contexto. Cuanto más claro y ordenado esté el código, mejor será la calidad de lo que te devuelve.
🔧 3. Divide y vencerás
Sí, es un tópico. SOLID y todo eso… Pero es así. Pide piezas pequeñas. Clases cortas. Funciones específicas. No pretendas que haga un evolutivo entero. No funciona. En serio. Cuanto más difícil o largo es lo que le pides a la IA, más probable es que se equivoque o alucine.
Olvídate del código spaghetti. Ya suele salir mal de base. Si lo hace la IA puede ser un desastre.
La tendencia “natural” de la IA es a alucinar. A inventarse las cosas. Intenta procesar demasiadas cosas, y todavía es joven. Parafraseando a @rafaoe y @javier.ferrer, “Si tú revisas un PR de 50 líneas lo vas a revisar bien. A uno de 5000 le vas a decir que todo guay, para alante”. A la IA le pasa algo parecido.
🏷️ 4. Usa nombres adecuados
La IA completa mejor si usas nombres descriptivos. No es magia. Es predictivo. Pero se nota.
🧪 5. Testea todo
Siempre. Y más si lo genera la IA. Haz TDD si puedes. Y si no puedes, al menos asegúrate de que lo que te entrega se comporta como esperas.
Si le pides a la IA que genere los test, revísalos, reconstrúyelos, ten incluso más cuidado con el test que con el código.
🌀 6. Refactoriza sin miedo
Lo que genera suele funcionar… pero no brilla. Reescribe, limpia, mejora. Tu IDE también está para ayudarte. Está mucho más especializado en lo que quieres, y está mucho más probado.
🏗 7. Arquitecturas limpias
La IA no te lo va a sugerir, pero tú sí puedes organizar el código pensando en escalabilidad y mantenibilidad. Tu yo del futuro te lo agradecerá. Además es mucho más molón.
Calidad de código: por qué sigue siendo vital
Algunas cifras:
- En 2022, el código de mala calidad costó a EE.UU. unos 2 billones de dólares.
- Los desarrolladores invertimos unos 4 días al mes corrigiendo errores.
- El 90% del tiempo lo pasamos leyendo código, no escribiéndolo.
¿Hace falta más para convencernos de que escribir buen código importa?
IA y el futuro de la ingeniería
Mi opinión —tan cambiante como el algoritmo del mes— es que la IA no va a quitarnos el trabajo (de momento). Pero sí nos obliga a ser mejores ingenieros, no sólo programadores.
Nos pide que pensemos en diseño, arquitectura, estructura.
Nos empuja a educarnos más y mejor.
Y plantea dos retos grandes:
1.- Educativo: ¿Cómo van a aprender a programar los nuevos ingenieros si aceptan todo lo que les sugiere la IA?
2.- Empresarial: ¿Cómo explicamos a los decisores que el código más barato y rápido generado por IA puede salir muy caro a largo plazo?
No tengo las respuestas. Sólo muchas preguntas. El futuro de la programación con IA es tan claro como mi código un lunes por la mañana. Solo espero que, cuando las máquinas tomen el control, al menos tengan la decencia de dejarnos los trabajos de depuración. ¡Alguien tendrá que arreglar sus bugs existenciales!
P.D.: El párrafo final fue generado por IA. Sí, también sabe hacer chistes. A veces. ¿Graciosos? Bueno… 🤖