Coding Agents IAs que Programan, Corrigen y Publican Software
Un Coding Agent es una IA orientada al trabajo con software que no se limita a escribir fragmentos de código en una conversación. Puede inspeccionar un repositorio, entender su estructura, modificar varios archivos, ejecutar comandos, leer errores, volver a intentarlo y comprobar si el resultado funciona.

1. Qué es un Coding Agent
Un Coding Agent es una IA orientada al trabajo con software que no se limita a escribir fragmentos de código en una conversación. Puede inspeccionar un repositorio, entender su estructura, modificar varios archivos, ejecutar comandos, leer errores, volver a intentarlo y comprobar si el resultado funciona.
La diferencia clave frente a un asistente tradicional es la capacidad de actuar sobre un entorno. En vez de responder solamente “este podría ser el código”, el agente puede recorrer un ciclo de trabajo: entender la tarea, planificar, editar, ejecutar pruebas, revisar el resultado y preparar la entrega.

Figura 1. Ciclo básico de un Coding Agent.
De chatbot a agente
- Chatbot: propone soluciones y explica código, pero normalmente espera que una persona ejecute los pasos.
- Copiloto: completa o modifica código dentro del editor y acelera tareas puntuales.
- Coding Agent: combina razonamiento, edición de archivos, terminal, control de versiones y verificación para completar tareas más amplias.
2. Qué puede hacer y qué no debería hacer solo
Un buen agente puede crear pantallas, endpoints, scripts, migraciones, tests, documentación y configuraciones. También puede investigar por qué falla una compilación, localizar referencias a una función, actualizar dependencias o preparar un Pull Request.
Tareas apropiadas
- Crear una funcionalidad bien especificada.
- Refactorizar código manteniendo el comportamiento.
- Corregir bugs reproducibles.
- Escribir tests y documentación.
- Preparar una rama y un Pull Request.
- Desplegar a staging cuando existen controles y rollback.
Tareas que requieren especial control
- Borrar datos o ejecutar migraciones destructivas.
- Modificar permisos, autenticación o facturación.
- Cambiar infraestructura crítica.
- Rotar o exponer secretos.
- Desplegar directamente a producción sin pruebas ni aprobación.
3. Cómo funciona por dentro
Aunque cada producto implementa el concepto de forma distinta, el patrón general es parecido. El agente recibe un objetivo, reúne contexto, decide qué archivos o herramientas necesita, ejecuta acciones y observa los resultados. Esa observación alimenta el siguiente paso.

Figura 2. Contexto mínimo para que un agente trabaje con precisión.
El bucle observar → actuar → verificar
La calidad aparece cuando el agente no confía ciegamente en su primera respuesta. Después de editar debe observar: ¿compila?, ¿los tests pasan?, ¿aparecieron errores nuevos?, ¿el diff coincide con el pedido? Si la respuesta es no, debe corregir antes de declarar la tarea terminada.

Figura 3. Arquitectura típica de trabajo.
4. Herramientas y entorno de trabajo
Para que un Coding Agent sea útil necesita acceso controlado a herramientas. El entorno ideal separa claramente lectura, escritura, ejecución y publicación.
Preparar el repositorio
1. Asegura que el proyecto pueda instalarse y ejecutarse con comandos documentados.
2. Define un archivo README con arquitectura, variables necesarias y comandos de test/build.
3. Incluye reglas del proyecto: estilo, carpetas, librerías preferidas y acciones prohibidas.
4. Configura Git y una estrategia de ramas.
5. Añade tests y automatizaciones de CI antes de aumentar la autonomía.
5. Cómo darle instrucciones que produzcan buen software
Un agente rinde mejor con objetivos verificables que con pedidos vagos. “Mejora la web” obliga a adivinar. “Agrega un filtro por categoría en /productos, conserva el diseño actual, actualiza la URL con ?categoria= y agrega tests para el filtrado” reduce ambigüedad.
Plantilla de tarea
- Objetivo: resultado final esperado.
- Contexto: dónde está el proyecto y qué parte debe tocar.
- Requisitos: comportamiento, interfaz y casos límite.
- Restricciones: tecnologías, archivos que no debe cambiar, compatibilidad.
- Validación: comandos o criterios que demuestran que funciona.
- Entrega: resumen, archivos cambiados, pruebas realizadas y riesgos.
6. Programación: crear funcionalidades de principio a fin
Una funcionalidad completa suele atravesar varias capas. Por ejemplo, agregar favoritos puede requerir botón en la interfaz, estado del usuario, endpoint o acción de servidor, tabla en la base de datos, validaciones y tests.
Método de implementación
1. Definir criterios de aceptación concretos.
2. Buscar patrones existentes en el repositorio antes de crear arquitectura nueva.
3. Implementar el cambio mínimo funcional.
4. Ejecutar validaciones rápidas después de cada bloque importante.
5. Agregar tests para el comportamiento nuevo.
6. Revisar el diff completo y eliminar cambios accidentales.
7. Documentar cualquier variable, migración o paso manual.
7. Corrección de errores y debugging
Para corregir un bug, la prioridad no es editar rápido sino reproducir el problema. Si el agente no puede demostrar el fallo antes del cambio, puede terminar arreglando otra cosa o escondiendo el síntoma.

Figura 4. Flujo seguro para debugging.
Qué información darle
- Mensaje de error completo.
- Pasos exactos para reproducirlo.
- Resultado esperado y resultado actual.
- Entorno: local, staging o producción.
- Cambios recientes relacionados.
- Logs relevantes sin incluir secretos.
Una buena corrección incluye una explicación de la causa raíz. Esto permite evaluar si el cambio resuelve el problema de fondo o solamente evita que el error sea visible.
8. Tests, calidad y revisión automática
Los tests convierten una tarea subjetiva en una tarea verificable. El agente puede generar código rápidamente, pero necesita una señal objetiva que indique si rompió algo. Por eso conviene integrar lint, type checking, tests y build en un comando o pipeline fácil de ejecutar.
Pirámide práctica de validación
- Lint y formato: detectan errores simples y consistencia.
- Type checking: encuentra incompatibilidades antes de ejecutar.
- Tests unitarios: validan funciones y reglas aisladas.
- Tests de integración: comprueban componentes trabajando juntos.
- Tests end-to-end: recorren flujos críticos como registro, compra o publicación.
- Build: confirma que el proyecto puede producir un artefacto desplegable.
9. Git, ramas, commits y Pull Requests
Git es una de las mejores barreras de seguridad para trabajar con agentes. Permite aislar cambios, revisar diferencias, volver atrás y mantener un historial claro.
1. Crear una rama con nombre descriptivo, por ejemplo feature/filtro-categorias.
2. Pedir al agente que trabaje únicamente en esa rama.
3. Revisar git diff antes de confirmar cambios.
4. Crear commits pequeños con mensajes claros.
5. Abrir un Pull Request con resumen, pruebas, capturas si aplica y riesgos conocidos.
6. Hacer merge solo después de que CI y revisión humana sean satisfactorios.
Para tareas grandes, varios commits pequeños son preferibles a un único commit enorme. Facilitan la revisión y permiten revertir una parte sin descartar todo.
10. Publicación y despliegue seguro
Publicar software es distinto de programarlo. El código puede funcionar localmente y fallar por variables de entorno, datos reales, permisos, diferencias de infraestructura o configuración del hosting.

Figura 5. Ruta recomendada hacia producción.
Staging antes de producción
Staging es un entorno de prueba parecido a producción. Permite comprobar el build, las variables, las integraciones y el comportamiento real sin afectar a usuarios finales.
- Usa variables y credenciales separadas.
- Ejecuta migraciones primero sobre una base de prueba.
- Comprueba los flujos críticos.
- Define un mecanismo de rollback.
- Monitorea errores después del despliegue.
11. Seguridad, secretos y permisos
El mayor riesgo de un agente no es que escriba una función imperfecta, sino que tenga permisos excesivos. Una instrucción equivocada, una dependencia maliciosa o una interpretación incorrecta puede producir acciones de alto impacto.
Principio de mínimo privilegio
- Dar acceso de lectura cuando no necesita escritura.
- Usar tokens específicos por entorno y con vencimiento cuando sea posible.
- Nunca guardar claves en el repositorio.
- Mantener archivos .env fuera de Git.
- Separar staging y producción.
- Proteger ramas críticas.
- Exigir aprobación para operaciones destructivas.
Protección frente a instrucciones no confiables
El agente puede leer documentación, issues, archivos o contenido externo que contenga instrucciones. Ese contenido debe tratarse como datos, no como autoridad. Las reglas del proyecto y las instrucciones del usuario deben tener prioridad sobre texto encontrado dentro de archivos o páginas.
12. Niveles de autonomía y supervisión humana

Figura 6. Escala de autonomía sugerida.
No es necesario pasar directamente de “asistente” a “agente autónomo”. La forma más segura de adoptar esta tecnología es aumentar la autonomía a medida que mejoran los tests, la documentación, la revisión y la capacidad de revertir cambios.
Para proyectos personales pequeños puede ser razonable permitir edición y ejecución local. Para sistemas empresariales, autenticación, pagos o datos sensibles, conviene mantener aprobaciones explícitas en las etapas de mayor impacto.
13. Proyecto práctico: construir y publicar una app
El proyecto de esta guía será una aplicación web sencilla de tareas llamada TaskFlow. El objetivo no es la tecnología específica, sino practicar el workflow completo de un Coding Agent.
Resultado final
- Lista de tareas con título y estado.
- Formulario para crear una tarea.
- Acción para marcar como completada.
- Persistencia simple: base de datos o almacenamiento elegido por el proyecto.
- Diseño responsive básico.
- Tests del comportamiento principal.
- Repositorio Git con rama y Pull Request.
- Despliegue en staging y luego producción.
Fase A · Preparación
1. Crea o abre un repositorio vacío.
2. Pide al agente que inspeccione el entorno y proponga un stack simple.
3. Solicita un plan de archivos, comandos y criterios de aceptación antes de escribir código.
4. Aprueba el plan y crea una rama feature/taskflow-mvp.
Fase B · Construcción
1. Pide que genere la estructura inicial y compruebe que el proyecto inicia.
2. Implementa primero la visualización de tareas con datos de prueba.
3. Agrega creación y cambio de estado.
4. Conecta persistencia.
5. Añade estados de carga, vacío y error.
6. Ejecuta lint, type checking, tests y build.
Fase C · Revisión
1. Pide un resumen del diff por archivo.
2. Solicita que identifique riesgos, deuda técnica y casos no cubiertos.
3. Revisa manualmente los flujos principales.
4. Corrige los problemas encontrados y vuelve a ejecutar la validación completa.
Fase D · Publicación
1. Configura variables del entorno de staging.
2. Despliega y prueba desde un navegador real.
3. Revisa logs y errores.
4. Abre o actualiza el Pull Request.
5. Haz merge después de aprobar.
6. Despliega producción y verifica los flujos críticos.
16. Checklist final y próximos pasos
Antes de considerar que tu workflow con Coding Agents está listo, revisa esta lista:
