IA Generativa en el desarrollo de software: el papel del ingeniero de prompts

La IA generativa está modificando una de las actividades más importantes dentro de los equipos tecnológicos: la forma de desarrollar software.
Generar funciones, explicar código, crear tests o proponer soluciones a un error fueron algunas de las primeras aplicaciones. Las herramientas actuales pueden trabajar sobre repositorios completos, modificar múltiples archivos, ejecutar comandos, comprobar tests y participar en tareas de ingeniería que requieren varios pasos.
Si deseas estar informado sobre gestión de talento tecnológico, su contratación y nuevas tendencias, suscríbete.
Este cambio también está transformando el papel del Prompt Engineer dentro del desarrollo de software.
Saber formular una buena instrucción continúa siendo útil, pero resulta insuficiente cuando un sistema de IA debe comprender una arquitectura, respetar convenciones internas, utilizar herramientas y producir cambios que terminarán integrándose en un producto real.
El trabajo empieza a desplazarse desde escribir prompts aislados hacia proporcionar contexto, restricciones, herramientas, criterios de aceptación y mecanismos de validación.
Para los equipos de software, esta evolución plantea una cuestión más amplia: si producir código resulta cada vez más sencillo, ¿qué capacidades pasan a ser realmente importantes para un desarrollador?
La IA generativa ya participa en más etapas del desarrollo
Las primeras herramientas de programación asistida por IA estaban especialmente orientadas al autocompletado. El desarrollador comenzaba una función y el sistema sugería las siguientes líneas.
Después llegaron interfaces conversacionales capaces de generar componentes, explicar errores, crear consultas SQL o proponer refactorizaciones a partir de instrucciones en lenguaje natural. Los coding agents actuales amplían considerablemente ese modelo.
Herramientas como Codex pueden planificar modificaciones, escribir código, ejecutar tests y preparar cambios para revisión. Esto permite delegar tareas más amplias que una generación puntual de código.
El cambio puede resumirse en varias etapas:
Autocompletado: la IA propone fragmentos mientras el desarrollador programa.
Conversación: el desarrollador describe una tarea y recibe código o explicaciones.
Context-aware coding: la herramienta trabaja utilizando información del repositorio.
Coding agents: el sistema inspecciona, modifica, ejecuta y valida diferentes pasos.
Agentic workflows: varios agentes y herramientas participan en partes distintas del ciclo de desarrollo.
A medida que aumenta la autonomía, también aumenta la importancia de definir correctamente el entorno en el que trabaja la IA.
El Prompt Engineer está evolucionando hacia Context Engineering
Un prompt funciona bien cuando contiene suficiente información para que el modelo interprete correctamente la tarea.
En ingeniería de software, esa información puede ser considerable.
El agente necesita conocer qué quiere construir el equipo, qué parte del repositorio puede modificar, qué arquitectura utiliza el proyecto, qué convenciones debe respetar y qué resultado se considerará correcto. Una instrucción como “crea un sistema de autenticación” deja demasiadas decisiones abiertas.
Una tarea preparada para un entorno de ingeniería puede especificar el mecanismo de autenticación existente, los componentes que pueden modificarse, las restricciones de seguridad, los tests que deben mantenerse y los criterios de aceptación.
El trabajo deja entonces de consistir exclusivamente en encontrar la mejor formulación lingüística.
El ingeniero necesita construir el contexto operativo dentro del cual la IA puede tomar decisiones útiles.
Esta evolución está estrechamente relacionada con Software Architecture, porque un agente necesita comprender los límites arquitectónicos del sistema antes de realizar modificaciones significativas.
Más contexto tampoco significa mejores resultados automáticamente
Una estrategia aparentemente sencilla sería proporcionar al modelo acceso a todo el repositorio.
Eso puede introducir otro problema: no toda la información disponible resulta relevante para cada tarea. Repositorios empresariales pueden contener miles de archivos, documentación histórica, dependencias, configuraciones, código legacy y múltiples servicios.
El objetivo del Context Engineering consiste en proporcionar información suficiente para tomar una decisión sin llenar innecesariamente el contexto con elementos que pueden distraer al sistema.
Esto puede implicar identificar archivos relevantes, explicar dependencias, incluir documentación interna o proporcionar ejemplos existentes que representen el patrón correcto. También puede ser necesario establecer reglas persistentes para el repositorio.
Las herramientas agentic actuales permiten precisamente introducir instrucciones sobre estándares, workflows y formas de trabajar del equipo para que los agentes las utilicen durante sus tareas.
El repositorio empieza así a necesitar documentación pensada tanto para desarrolladores humanos como para agentes.
De generar código a delegar tareas completas
El cambio más importante aparece cuando la IA deja de producir únicamente respuestas y empieza a ejecutar acciones. Un coding agent puede recibir una tarea, inspeccionar diferentes partes del repositorio, desarrollar una solución, ejecutar pruebas y corregir errores encontrados durante el proceso.
Anthropic describe el loop de sus herramientas agentic como un proceso donde el agente puede leer, planificar, actuar y observar sobre un repositorio real. OpenAI, por su parte, describe workflows donde Codex lleva tareas desde un issue hasta código probado y preparado para revisión.
Esto modifica la interacción entre ingeniero e IA.
| Etapa | Interacción con IA | Responsabilidad del ingeniero |
|---|---|---|
| Autocompletado | Sugerencias de código | Revisar implementación |
| Chat de programación | Prompt → respuesta | Definir correctamente la tarea |
| Context-aware coding | IA accede al repositorio | Gestionar contexto y restricciones |
| Coding agents | IA ejecuta múltiples pasos | Definir objetivos y límites |
| Agentic workflows | Agentes + herramientas + CI/CD | Diseñar, evaluar y supervisar el sistema |
El ingeniero empieza a dedicar menos tiempo a indicar cómo escribir cada línea y más a establecer qué resultado necesita.
Los agentes pueden trabajar sobre tareas cada vez más amplias
Una herramienta de IA integrada dentro del ciclo de desarrollo puede participar en múltiples tipos de trabajo. Generación de funcionalidades continúa siendo una aplicación evidente, pero también aparecen debugging, refactoring, documentación, migraciones, creación de tests y revisión de código.
Codex, por ejemplo, está diseñado actualmente para tareas que van desde fixes y cobertura de tests hasta refactorizaciones y migraciones complejas.
Esto resulta especialmente relevante para los Full Stack Developers, que trabajan habitualmente entre diferentes capas de una aplicación.
Un agente puede ayudar a comprender código existente antes de modificarlo o ejecutar tareas repetitivas mientras el desarrollador mantiene el control sobre las decisiones que afectan al producto.
El valor aparece cuando la automatización libera capacidad para trabajar sobre problemas que requieren mayor comprensión del sistema.
Frontend y Backend también cambian con los coding agents
En Frontend, la IA puede generar componentes, adaptar interfaces, crear tests o ayudar durante una migración de framework. Sin embargo, construir una interfaz funcional no garantiza una experiencia correcta.
Los Frontend Developers continúan necesitando evaluar accesibilidad, rendimiento, comportamiento responsive, arquitectura de componentes y consistencia con el sistema de diseño.
Backend presenta una situación similar.
Un agente puede generar endpoints, modelos, migraciones o tests, pero decisiones sobre integridad de datos, concurrencia, seguridad, contratos entre servicios o rendimiento requieren comprender las consecuencias dentro del sistema.
Los Backend Developers necesitan revisar estas implicaciones incluso cuando gran parte de la implementación inicial ha sido generada automáticamente.
La IA aumenta la capacidad de producir cambios. Esa velocidad hace todavía más importante saber cuáles deberían integrarse.
El código generado sigue necesitando validación
Que un modelo produzca código sintácticamente correcto no demuestra que la solución sea adecuada para producción.
Puede existir un error lógico que solamente aparece bajo determinadas condiciones. También pueden introducirse dependencias innecesarias, vulnerabilidades, problemas de rendimiento o implementaciones que contradicen decisiones arquitectónicas existentes. La revisión humana continúa teniendo un papel central.
Los equipos necesitan comprobar al menos tres dimensiones: que el cambio resuelve correctamente el requisito, que mantiene los estándares técnicos del proyecto y que no introduce regresiones.
Los QA Engineers pueden adquirir un papel especialmente relevante dentro de estos workflows. Cuanto mayor sea el volumen de cambios producido con asistencia de IA, mayor será también la necesidad de disponer de mecanismos automatizados capaces de comprobarlos.
Tests unitarios, integración, end-to-end y validaciones dentro de CI/CD proporcionan feedback que un agente puede utilizar durante su propio proceso de ejecución.
Los tests se convierten en instrucciones ejecutables para los agentes
En un workflow tradicional, los tests ayudan a detectar regresiones y comprobar que determinadas funcionalidades continúan funcionando. En un entorno agentic tienen una utilidad adicional: proporcionan al sistema una señal objetiva sobre el resultado de su trabajo.
Un desarrollador puede definir una tarea mediante lenguaje natural, pero un test expresa programáticamente una condición que debe cumplirse. El agente puede modificar código, ejecutar las pruebas, observar qué falla y continuar trabajando.
Esto convierte la infraestructura de testing en parte del entorno que permite delegar tareas con mayor seguridad.
Un repositorio con buena cobertura, documentación actualizada y procesos de validación claros proporciona mejores mecanismos de feedback que otro donde la única forma de saber si una modificación funciona consiste en comprobarla manualmente.
El desarrollador empieza a diseñar también el entorno del agente
Una de las transformaciones más interesantes aparece alrededor del propio repositorio.
Si los agentes van a trabajar continuamente sobre una base de código, la organización necesita facilitarles información que anteriormente podía existir solamente en la cabeza de los desarrolladores.
Convenciones de nombres, límites arquitectónicos, procedimientos de testing, comandos de desarrollo, requisitos de seguridad y criterios para modificar determinados componentes necesitan estar documentados.
OpenAI describe este enfoque como harness engineering: los humanos proporcionan intención, entornos y feedback loops mientras los agentes ejecutan una parte mayor del trabajo de implementación. Esto introduce una nueva dimensión en la calidad de ingeniería.
Un repositorio bien estructurado resulta más fácil de comprender para nuevos desarrolladores y también puede proporcionar mejores condiciones para agentes de software.
Prompt Engineering continúa siendo importante, pero cambia su función
La evolución hacia Context Engineering no elimina los prompts.
Una instrucción ambigua puede provocar que un agente dedique tiempo a resolver el problema equivocado, incluso si dispone de acceso al repositorio completo. El ingeniero necesita expresar objetivos con precisión.
Una buena tarea debería permitir identificar qué resultado se espera, qué restricciones existen y cómo comprobar que el trabajo está terminado. En software, esta capacidad está estrechamente relacionada con competencias que ya existían antes de la IA: análisis de requisitos, descomposición de problemas y diseño técnico.
La diferencia es que ahora esas instrucciones pueden ser ejecutadas por sistemas capaces de realizar una parte considerable de la implementación.
Usar IA para desarrollar software y desarrollar productos de IA son dos cosas diferentes
Esta distinción resulta importante cuando una empresa define qué perfil necesita contratar. Un desarrollador puede utilizar coding assistants o agentes para aumentar su productividad sin convertirse por ello en Prompt Engineer.
En este escenario, saber trabajar con IA se convierte progresivamente en una competencia dentro del propio perfil técnico. Otra situación aparece cuando el producto que está construyendo la empresa depende directamente de modelos generativos.
Un sistema RAG, un agente empresarial o una aplicación basada en LLMs puede necesitar diseñar prompts, contextos, herramientas, evaluaciones y mecanismos para controlar el comportamiento del modelo.
Ahí puede existir una especialización mayor.
Los especialistas en Inteligencia Artificial pueden trabajar junto con equipos de software para diseñar estos sistemas cuando la IA forma parte de la arquitectura del producto y no únicamente de las herramientas utilizadas para construirlo.
Qué cambia al contratar desarrolladores en un entorno AI-native
La capacidad para utilizar herramientas generativas empieza a formar parte del trabajo cotidiano de ingeniería.
Sin embargo, evaluar a un desarrollador únicamente por la cantidad de código que puede producir con IA ofrece una señal limitada.
Si generar implementación resulta progresivamente más rápido, otras competencias ganan peso:
Capacidad para descomponer problemas ambiguos en tareas verificables.
Comprensión de arquitectura y consecuencias entre diferentes componentes.
Habilidad para proporcionar contexto relevante a los agentes.
Criterio para revisar código generado y detectar soluciones aparentemente correctas.
Dominio de testing, debugging y mecanismos de validación.
Capacidad para supervisar tareas delegadas sin perder ownership técnico.
Los datos disponibles sobre herramientas agentic también apuntan en esa dirección. Un estudio de Anthropic sobre aproximadamente 400.000 sesiones de Claude Code encontró que los usuarios aportaban la mayor parte de las decisiones de planificación mientras el agente asumía una proporción mayor de las decisiones de ejecución; además, una mayor experiencia de dominio estaba asociada con mejores resultados.
La experiencia técnica continúa siendo valiosa precisamente porque permite delegar mejor.
La IA puede producir más código; el equipo sigue siendo responsable del software
La automatización del desarrollo puede acelerar significativamente la ejecución, pero una empresa continúa necesitando ownership sobre aquello que llega a producción.
Los agentes pueden escribir código, ejecutar tests y preparar cambios. Los ingenieros necesitan decidir qué cambios tienen sentido dentro del producto, qué riesgos son aceptables y qué estándares deben mantenerse.
La seguridad también necesita controles específicos cuando los agentes pueden ejecutar comandos o interactuar con herramientas. OpenAI describe mecanismos de governance orientados a limitar qué recursos puede utilizar un coding agent, cuándo necesita aprobación humana y qué telemetría debe conservarse para auditar sus acciones.
A medida que aumenta la autonomía, definir estos límites se vuelve más importante.
El ingeniero de prompts evoluciona junto con la ingeniería de software
La IA generativa comenzó ayudando a escribir código. Los coding agents están ampliando ese alcance hacia tareas completas de ingeniería.
Esta transición cambia también el significado de Prompt Engineering.
La capacidad relevante deja de concentrarse en encontrar una frase capaz de obtener una buena respuesta. El ingeniero necesita estructurar objetivos, contexto, restricciones, herramientas y mecanismos de feedback para que un sistema de IA pueda trabajar de forma fiable. En algunos equipos esta función seguirá formando parte de las competencias de Frontend, Backend, Full Stack, QA o Software Architecture. En productos construidos directamente alrededor de modelos y agentes puede convertirse en una especialización mucho más profunda.
En ambos escenarios, el principio es similar.
La IA generativa está reduciendo progresivamente el esfuerzo necesario para producir código, pero sigue siendo necesario decidir qué código debe existir, cómo debe integrarse con el sistema y qué evidencia demuestra que funciona correctamente.
El desarrollador que domine esa combinación de criterio técnico, contexto y supervisión estará mejor preparado para trabajar con la siguiente generación de herramientas de ingeniería de software.



