Programar con IA no es ni magia ni imposible, es un reto: trucos y estrategias exprimir la IA para programar

Usar IA para programar no es tan fácil como parece. ¿Por qué algunas personas tienen resultados increíbles y otras solo frustración? Todo está en el contexto, las instrucciones y cómo pruebas el código. Aquí te contamos cómo sacarle el máximo provecho a los modelos de lenguaje para escribir código más rápido y sin errores.

Si alguien te dice que usar modelos de lenguaje (LLMs) para programar es pan comido, o te está engañando o ha tenido la suerte de dar con una fórmula que a la mayoría se le escapa. Porque, seamos sinceros, hacer que un LLM te escriba buen código no es intuitivo. Es como tener un asistente que puede ser increíblemente eficiente… o totalmente impredecible.

Aquí está el dilema: hay quienes sacan resultados espectaculares y quienes terminan frustrados con respuestas incoherentes o código que simplemente no funciona. ¿Cuál es la diferencia? Las expectativas y la estrategia.

Así que me he basado en el artículo de Simon Willison, programador británico prestigioso, para reunir aquí las mejores estrategias para que la IA sea tu compañera de viaje a partir de ahora (de las que no estás deseando llegar para que se baje del coche).

Primero, hay que asumir que los LLMs no son herramientas mágicas. Son modelos que predicen la siguiente palabra basándose en patrones, y aunque esto los hace tremendamente útiles, también los convierte en impredecibles. Se les da genial escribir código, pero no significa que siempre lo hagan bien. A veces, pueden inventar funciones que no existen o cometer errores que un humano jamás haría.

El truco está en entender que un LLM no reemplaza al programador, sino que amplifica su capacidad.

No se trata de soltar una idea vaga y esperar código listo para producción, sino de aprovecharlos como un asistente rápido, capaz de generar ejemplos, automatizar tareas repetitivas y ayudarte a explorar nuevas formas de resolver un problema.

Pero claro, también tienen sus límites. Su conocimiento está anclado a la fecha en la que fueron entrenados, así que si un framework cambió radicalmente después de ese momento, el modelo no tendrá idea. Para lidiar con esto, toca darle información actualizada o verificar a fondo lo que genera.

Así que, primera lección: 💡 si esperas que un LLM te haga el trabajo sin supervisión, te vas a llevar un chasco. Pero si lo usas como un refuerzo estratégico, puedes ganar velocidad y creatividad en tu código como nunca antes.

El truco está en el contexto: cómo sacarle el jugo a los LLMs

Si hay un secreto para sacarle provecho a un modelo de lenguaje cuando programas, es este: el contexto lo es todo. No importa si estás usando ChatGPT, Claude o Gemini, la diferencia entre recibir código útil o un desastre absoluto depende en gran medida de cómo manejas la información que le das.

Primero, hay que entender cómo funcionan estos modelos. No tienen memoria a largo plazo; lo único que saben en un momento dado es lo que está dentro del contexto de la conversación. ☝🏼 Cada vez que inicias un nuevo chat, es como si estuvieras hablando con alguien que acaba de nacer y no tiene ni idea de lo que le dijiste antes. Esto significa que si la conversación se empieza a torcer, a veces lo mejor es reiniciar desde cero.

Ahora bien, algunos entornos de desarrollo que integran LLMs han encontrado formas de mejorar esto. Herramientas como Cursor o VS Code Copilot pueden alimentar automáticamente el contexto con el contenido de los archivos abiertos o incluso con documentación relevante. Eso hace que el modelo trabaje con más información y pueda dar respuestas mucho más precisas.

Pero incluso sin herramientas avanzadas, hay maneras de mejorar el contexto manualmente. ☝🏼 Una de las mejores estrategias es darle ejemplos concretos. En lugar de pedirle algo de manera genérica, dale código previo que siga la estructura que necesitas y pídele que lo adapte. Otra opción es alimentar el modelo con varias soluciones parecidas y pedirle que cree una nueva basándose en esos patrones.

También es clave saber cuándo alimentar el modelo con documentación externa. Si estás usando una librería que el modelo no conoce (porque salió después de su última actualización), puedes copiar y pegar ejemplos recientes y hacer que los tome en cuenta.

Y algo que mucha gente no aprovecha: ☝🏼 los LLMs pueden mejorar mucho si los haces trabajar en iteraciones. No esperes que den la respuesta perfecta a la primera. Prueba pedir una versión simple, revisa si va bien y luego pídele que la optimice o la haga más avanzada. Así tienes control sobre el resultado y puedes moldearlo a tu necesidad.

💡 Segunda lección importante: si aprendes a gestionar el contexto, puedes hacer que un LLM pase de ser un loro repetitivo a un verdadero asistente de programación.

De becario digital a compañero de código: instrucciones claras, mejores resultados

Aquí va otra clave fundamental: ☝🏼 los LLMs trabajan mejor cuando les dices exactamente qué hacer. Si los tratas como un compañero de equipo experimentado que “ya sabe” cómo funciona todo, te van a decepcionar. Pero si los ves como un becario digital que necesita instrucciones precisas, la cosa cambia.

Cuando le pides código a un LLM, la diferencia entre un resultado mediocre y uno útil está en cómo le explicas la tarea. No es lo mismo decir:

🔴 “Hazme una función en Python para descargar un archivo”

que

🟢 “Escribe una función en Python llamada download_file(url: str) -> pathlib.Path que use httpx para descargar un archivo y lo guarde en una carpeta temporal. Si el archivo supera los 5MB, debe lanzar un error. Devuelve la ruta del archivo guardado.”

El primer prompt es demasiado vago y el modelo podría inventar cualquier cosa. El segundo ya deja claro qué tiene que hacer, cómo debe llamarse la función, qué parámetros debe recibir, qué tecnología usar, qué restricciones seguir y qué debe devolver.

Otra estrategia infalible: ☝🏼 hacer que el modelo escriba código en bloques. Primero, pídele la función principal. Luego, dile que escriba las pruebas unitarias con pytest. Después, pídele que agregue manejo de errores. Así mantienes el control y puedes corregir en cada paso.

Y algo que sorprende a muchos: ☝🏼 dictar código en inglés puede ser más eficiente. Aunque los LLMs entienden múltiples idiomas, su entrenamiento suele basarse en documentación y código en inglés, así que muchas veces logran mejores resultados si les das las instrucciones en ese idioma.

¿El resultado final? Si sabes dar instrucciones claras, el LLM no solo ahorra tiempo, sino que te devuelve código más limpio y con menos errores.

Velocidad, aprendizaje y errores: el combo ganador de los LLMs

Si hay algo en lo que los LLMs realmente brillan es en la velocidad. No es que hagan todo perfecto, pero cuando aprendes a usarlos bien, te permiten desarrollar más rápido y probar ideas que de otra forma ni te molestarías en intentar.

Piensa en esos proyectos que tienes en mente, pero que nunca empiezas porque te da pereza investigar cada detalle desde cero. Ahí es donde un LLM puede cambiar el juego. En vez de perder horas buscando cómo estructurar algo, puedes pedirle un prototipo en minutos y partir de ahí… Y sí, el código inicial puede no ser perfecto, pero al menos ya tienes un punto de partida.

Además, ☝🏼 usar LLMs es una manera brutal de aprender. Si les das buen contexto y sabes guiarlos, pueden explicarte código, sugerirte mejoras y hasta mostrarte alternativas que no habías considerado. Es como tener un tutor que no se cansa de responder preguntas, sin importar cuántas veces le preguntes lo mismo.

Eso sí, hay que tener una cosa clara: ☝🏼 los errores son parte del proceso. No puedes confiar ciegamente en lo que te devuelve un modelo de IA. Siempre, siempre tienes que probar el código. No importa qué tan convincente suene la respuesta, si no lo ejecutas y validas, no puedes asumir que funciona.

Pero aquí viene lo interesante: los errores también ayudan a entender los límites de la herramienta. Si descubres que un modelo siempre falla en cierta tarea, puedes anticiparte, darle más contexto o incluso cambiar tu enfoque.

En definitiva, los LLMs no son una varita mágica, pero si los usas bien, te pueden hacer programar más rápido, aprender más y llevar tus proyectos a otro nivel. Eso sí, el control final siempre debe estar en manos del humano.

DESCUBRE MÁS SOBRE EL TEMA

IAs relacionadas

Capaz de Generar código de programación

Capaz de Asistir en aprendizaje y escritura,

Capaz de Conversar con humanos, Generar código

Este artículo fue escrito por Miguel Ángel G.P. y habla sobre y Programación. Se publicó el 12 de marzo de 2025.

+ sobre IA 🤖

Deja el primer comentario