Skip to main content
Saltar al contenido principal

Humanos y Agentes: Patrones de Colaboración desde el IDE hasta el Pull Request

· 15 min de lectura
David Sanchez
David Sanchez

La Colaboración Ya Está Sucediendo — La Pregunta Es Si Está Estructurada

Si las bases de DevOps preparan el sistema y la evolución del Ingeniero de Software redefine el rol, la siguiente pregunta lógica es:

¿Cómo colaboran realmente los humanos y los agentes en la práctica?

No en teoría. No en demos. No en videos de marketing.

Sino en repositorios reales, IDEs reales, pull requests reales y sistemas de producción reales.

Humanos y Agentes

La ingeniería de software agéntica no se trata de generación autónoma de código en aislamiento. Se trata de colaboración estructurada entre contribuyentes humanos y no humanos. Y esa colaboración ocurre principalmente en dos lugares:

  1. Dentro del IDE donde la intención se explora y se moldea
  2. Dentro del Pull Request donde la intención se formaliza y se gobierna

Estas no son solo herramientas. Son las nuevas superficies de colaboración de la ingeniería de software moderna, y entender cómo usar cada una de manera efectiva marca la diferencia entre equipos que entregan con confianza y equipos que entregan con ansiedad.


El IDE: Donde la Intención Se Forma (y Se Refina)

El IDE ya no es solo un editor de código. Se ha convertido en un espacio de trabajo conversacional un lugar donde los ingenieros piensan en voz alta con un compañero de IA.

Con copilots de IA y capacidades agénticas integradas directamente en entornos de desarrollo como VS Code y GitHub Copilot, los ingenieros cada vez más:

  • 💬 Refinan la intención a través de prompts y guía en línea: "Haz que esta función maneje entradas nulas de manera elegante" es más que un comentario; es una decisión de diseño expresada conversacionalmente
  • 🔄 Iteran sobre decisiones de diseño de manera interactiva: explorando múltiples enfoques de implementación antes de comprometerse con uno
  • 🗺️ Exploran opciones de implementación: preguntando "¿Cuáles son tres formas diferentes de implementar esta estrategia de caché?" y evaluando compensaciones en tiempo real
  • 🏗️ Generan scaffolding, pruebas y documentación bajo demanda: reduciendo el tiempo hasta la primera iteración de horas a minutos

El Ciclo de Colaboración en el IDE

Los ingenieros más efectivos siguen un ciclo de retroalimentación cerrado dentro del IDE:

Definir Intención → Generar → Evaluar → Refinar → Aceptar o Rechazar → Repetir

Este ciclo es rápido, iterativo y de bajo riesgo. Puedes experimentar, rechazar sugerencias, refinar restricciones y clarificar la intención, todo sin afectar a nadie más. La colaboración es de ciclo cerrado e inmediata.

Qué Hace Efectiva la Colaboración en el IDE

No todas las interacciones en el IDE son igualmente productivas. Esto es lo que separa la colaboración de alto valor de la generación ruidosa:

Patrón de Alto ValorPatrón de Bajo Valor
Proporcionar contexto: "Este servicio usa el patrón repositorio con inyección de dependencias"Prompts vagos: "Escríbeme algo de código"
Especificar restricciones: "Debe manejar acceso concurrente y reintentar en fallos transitorios"Sin restricciones: la IA adivina los requisitos
Iterar sobre el resultado: "Buena estructura, pero usa async/await en vez de callbacks"Aceptar la primera salida sin revisión
Usar contexto del workspace: referenciando interfaces y patrones existentesIgnorar las convenciones del código existente
Dividir tareas complejas en pasosPedir una funcionalidad completa en un solo prompt

El Límite Crítico: El IDE No Es el Sistema de Registro

Aquí está la distinción clave que los equipos maduros entienden:

El IDE es donde ocurre la exploración. No es donde ocurre la gobernanza.

No importa cuán productiva sea la conversación en el IDE, produce un borrador. Ese borrador debe pasar por un proceso de revisión estructurado antes de convertirse en parte de tu sistema.

Por eso existe el Pull Request, y por eso importa más que nunca.


El Pull Request: Donde la Intención Se Formaliza

Si el IDE es donde se explora la intención, el Pull Request (PR) es donde la intención se formaliza.

En el desarrollo tradicional, los PRs se centraban principalmente en:

  • Revisión de código y aseguramiento de calidad
  • Compartir conocimiento en el equipo
  • Crear un registro histórico de cambios

En un mundo agéntico, los PRs se convierten en algo más fundamental:

El contrato entre humanos y agentes.

Un PR responde preguntas críticas que ninguna sesión de IDE puede:

PreguntaPor Qué Importa
¿Qué cambió?Visibilidad del diff y evaluación del radio de impacto
¿Por qué cambió?Documentación de la intención para futuros mantenedores
¿Quién (o qué) lo inició?Responsabilidad y trazabilidad
¿Bajo qué restricciones?Cumplimiento de políticas y validación de seguridad
¿Con qué validaciones?Verificaciones automatizadas que controlan la calidad
¿Cuál es el plan de rollback?Gestión de riesgos para sistemas en producción

Sin un proceso de PR estructurado, las contribuciones agénticas se vuelven opacas y riesgosas. Con él, se vuelven auditables, gobernables y confiables.


Diseñando PRs para la Colaboración Humano–Agente

Si los agentes van a participar de manera significativa en la entrega de software, el diseño de los PRs debe evolucionar más allá de la revisión de código tradicional.

1. Cambios Pequeños y Determinísticos

Las modificaciones grandes y amplias aumentan la carga cognitiva y el riesgo. Los cambios generados por agentes deben tener un alcance limitado:

  • Responsabilidad única por PR: un cambio lógico, un contexto de revisión
  • Vinculación clara a issues o especificaciones: cada PR debe responder "¿por qué existe esto?"
  • Diffs predecibles: los revisores deberían poder entender el cambio en minutos, no en horas
  • Entrega incremental: enviar una serie de cambios pequeños y seguros en lugar de un PR monolítico

Por qué esto importa para los agentes: Cuando GitHub Copilot coding agent genera un PR, un alcance enfocado hace dramáticamente más fácil para los revisores humanos evaluar la corrección, detectar casos extremos y aprobar con confianza.

2. Intención Explícita en las Descripciones

Las descripciones de PR no deberían ser algo secundario. Son el puente narrativo entre la intención y la implementación.

Una descripción de PR bien estructurada para cambios generados por agentes debería incluir:

## Declaración del Problema
¿Qué issue o requisito aborda esto?

## Enfoque
¿Cómo se diseñó la solución? ¿Qué alternativas se consideraron?

## Cambios Realizados
- Resumen archivo por archivo de qué cambió y por qué

## Evaluación de Riesgos
- ¿Qué podría salir mal?
- ¿Qué áreas necesitan revisión cuidadosa?

## Validación
- Pruebas agregadas o modificadas
- Pruebas manuales realizadas
- Casos extremos considerados

## Generado Por
- Agente: GitHub Copilot coding agent
- Revisión humana: [Requerida / En Progreso / Completada]

Los agentes pueden ayudar a redactar estas descripciones, pero los humanos deben validarlas. La descripción es tan importante como el código mismo.

3. Señales Legibles por Máquinas

A medida que los sistemas maduran, los PRs deberían incluir metadatos estructurados que permitan la automatización sin eliminar la supervisión:

  • 🏷️ Etiquetas que indiquen contenido generado por agentes (ej., agent-generated, copilot-pr)
  • 🔗 Requisitos vinculados o items de trabajo que conecten con la intención original
  • 🚦 Puertas de ambiente o política que deben pasar antes del merge
  • 📊 Señales de confianza de los agentes (cuando estén disponibles) indicando niveles de certeza
  • 🔍 Listas de verificación de revisión personalizadas para el tipo de cambio

Estos metadatos permiten a los equipos construir dashboards, rastrear patrones de contribución de agentes y mejorar continuamente sus flujos de colaboración.


El Modelo de Colaboración de Dos Velocidades

La colaboración humano–agente opera a dos velocidades fundamentalmente diferentes, y ambas son necesarias:

Velocidad 1: Velocidad del IDE 🏎️

  • Iteración y experimentación rápidas
  • Refinamiento conversacional de ideas
  • Implementación exploratoria y prototipado
  • Ciclos de retroalimentación de bajo riesgo y alta frecuencia
  • Optimizada para el flujo y la creatividad

Velocidad 2: Gobernanza del PR 🛡️

  • Revisión estructurada con múltiples perspectivas
  • Validación automatizada (pruebas, seguridad, linting, cumplimiento)
  • Aplicación de políticas y flujos de aprobación
  • Puntos de decisión explícitos con responsabilidad clara
  • Optimizada para la confianza y la seguridad

Los equipos de alto rendimiento abrazan ambas velocidades simultáneamente.

Optimizan el IDE para el flujo, eliminando fricción, proporcionando contexto rico y habilitando iteración rápida.

Optimizan el PR para la confianza, aplicando puertas de calidad, requiriendo revisión significativa y manteniendo responsabilidad clara.

Confundir las dos lleva a fallos predecibles:

ErrorConsecuencia
Aplicar fricción de gobernanza dentro del IDELos ingenieros pierden el estado de flujo y la productividad cae
Omitir la gobernanza del PR para cambios "rápidos"Regresiones silenciosas, desvíos de seguridad, modificaciones imposibles de rastrear
Tratar la revisión del PR como opcional para la salida del agenteRiesgo distribuido y erosión de confianza
Moverse demasiado lento en los IDEsLos equipos abandonan las herramientas de IA debido a la fricción percibida

Humano en el Ciclo Es una Decisión Arquitectónica

Existe la tentación de medir el éxito por cuán poca intervención humana queda. Esto es un error.

Humano en el ciclo no es un fallo de la autonomía. Es una característica de los sistemas responsables.

Los sistemas agénticos más efectivos definen explícitamente los límites entre el comportamiento autónomo y el supervisado:

Espectro de Autonomía

Autonomía Total ←————————————————————————→ Control Humano Total
| | |
Auto-merge Revisión Requerida Solo Manual
actualizaciones para cambios de para despliegues
de dependencias lógica de negocio en producción

Los ingenieros deberían definir explícitamente:

DecisiónEjemplo de Política
Cuándo se permite la autonomíaActualizaciones de dependencias, correcciones de formato, errores tipográficos en documentación
Cuándo se requiere revisiónNuevas funcionalidades, corrección de bugs, cambios de API, actualizaciones de configuración
Cuándo la aprobación humana es obligatoriaDespliegues a producción, cambios sensibles de seguridad, cambios que rompen la API
Qué verificaciones de seguridad no son negociablesEscaneo de secretos, análisis SAST, cumplimiento de licencias

Las reglas de protección de ramas, las verificaciones de estado requeridas y las aprobaciones de ambiente no son burocracia. Son barreras de protección que permiten que la autonomía escale de manera segura.


Identidad y Responsabilidad: ¿Quién Hizo Qué?

Uno de los cambios más importantes en la colaboración agéntica es la claridad de identidad. Cuando los agentes contribuyen a tu base de código, el sistema debe responder de manera definitiva:

  • 🆔 ¿Quién autorizó este cambio? El humano que activó o aprobó el trabajo del agente
  • 🔑 ¿Qué permisos tenía el agente? Acceso delimitado siguiendo principios de mínimo privilegio
  • 📋 ¿Bajo qué política? Qué reglas y restricciones gobernaron el comportamiento del agente
  • 🔒 ¿Con qué nivel de privilegio? Acceso de lectura vs. escritura vs. administrador a diferentes recursos

Por Qué Importa la Identidad

La ambigüedad en la identidad erosiona la confianza de manera sistémica. Si tu equipo no puede distinguir entre:

  • Un PR abierto por un ingeniero
  • Un PR abierto por un agente en nombre de un ingeniero
  • Un PR abierto por un agente de manera autónoma

...entonces tu trazabilidad está comprometida, tu modelo de responsabilidad está roto y tu postura de seguridad tiene una brecha.

Patrones Prácticos de Identidad

PatrónImplementación
Identidades de agente distintasLos agentes operan bajo su propia identidad de GitHub (ej., copilot[bot])
Atribución claraLas descripciones de PR y mensajes de commit indican tanto el agente como el humano autorizante
Permisos delimitadosLos agentes usan tokens de GitHub de grano fino con el acceso mínimo requerido
Registro de auditoríaTodas las acciones del agente se registran y son consultables

La responsabilidad no desaparece cuando los agentes participan. Se vuelve más estructural.


Qué Se Rompe Cuando la Disciplina del PR Se Debilita

Eliminar o debilitar la disciplina del PR en un entorno agéntico introduce modos de fallo predecibles que se acumulan con el tiempo:

Modo de FalloCómo SucedeImpacto
Regresiones silenciosasCambios de agente que pasan CI pero rompen casos extremos en producciónBugs que afectan al cliente y son difíciles de rastrear
Desvío de seguridadPatrones vulnerables introducidos sin revisión de seguridadSuperficie de ataque en expansión
Cambios imposibles de rastrearSin registro de por qué algo cambióImposible depurar, auditar o revertir efectivamente
Radio de impacto crecientePequeños cambios no revisados que se convierten en problemas sistémicosInterrupciones que afectan múltiples servicios
Brechas de conocimientoEl equipo no entiende el código que los agentes escribieronIncapacidad de mantener o extender el sistema

Autonomía sin revisión no es innovación. Es riesgo distribuido.

Si los agentes pueden modificar sistemas de producción sin pasar por un punto de control visible y gobernado, el sistema está fundamentalmente desalineado.


Patrones de Colaboración del Mundo Real

Veamos ejemplos concretos de cómo estos patrones se desarrollan en la práctica:

Patrón 1: Desarrollo de Funcionalidades Asistido por Agentes

1. El ingeniero crea un GitHub Issue detallado con criterios de aceptación
2. GitHub Copilot coding agent toma el issue y abre un PR borrador
3. El pipeline de CI/CD se ejecuta automáticamente (pruebas, escaneos de seguridad, linting)
4. El ingeniero revisa el PR:
- Valida la alineación arquitectónica
- Verifica la corrección de la lógica de negocio
- Solicita cambios si es necesario (el agente itera)
5. Los revisores requeridos aprueban
6. El PR se fusiona después de que todas las verificaciones de estado pasen
7. El despliegue sigue una estrategia de rollout progresivo

Patrón 2: Actualizaciones Automatizadas de Dependencias

1. Dependabot detecta una dependencia desactualizada o vulnerable
2. Abre un PR con la actualización de versión y changelog
3. CI ejecuta la suite completa de pruebas
4. Si las pruebas pasan y el cambio es de bajo riesgo → auto-merge habilitado
5. Si las pruebas fallan o el cambio es mayor → revisión humana requerida
6. El equipo de seguridad es notificado para CVEs críticos

Patrón 3: Flujo de Trabajo del IDE al PR

1. El ingeniero explora la implementación en VS Code con GitHub Copilot
2. Itera sobre el enfoque: genera, evalúa, refina
3. Crea una rama bien estructurada con commits atómicos
4. Abre un PR con descripción clara vinculada a los requisitos
5. Etiqueta el PR apropiadamente (ej., asistido-por-agente, funcionalidad, necesita-revisión)
6. Las verificaciones automatizadas validan las puertas de calidad
7. La revisión por pares se enfoca en la intención y la arquitectura, no en la sintaxis

Recomendaciones Prácticas para Equipos

Para equipos que introducen o maduran capacidades agénticas, aquí hay pasos accionables:

Gobernanza

  1. Mantener los PRs obligatorios para todos los cambios no triviales, sin excepciones para código generado por agentes
  2. Aplicar verificaciones automatizadas de manera consistente, pruebas, escaneos de seguridad, linting y cumplimiento
  3. Usar etiquetado claro para contribuciones generadas por agentes, la transparencia construye confianza
  4. Mantener protección estricta de ramas para ramas críticas, main y production deberían ser inmutables sin revisión

Herramientas

  1. Configurar CODEOWNERS para asegurar que los expertos del dominio revisen cambios en sus áreas
  2. Configurar GitHub Environments con puertas de aprobación apropiadas para cada destino de despliegue
  3. Habilitar GitHub Advanced Security para escaneo integral en cada PR
  4. Usar GitHub Actions para automatizar todo el ciclo de vida de validación

Cultura

  1. Asegurar que las identidades usadas por agentes sigan principios de mínimo privilegio
  2. Invertir en documentación clara y estructura de repositorio para reducir ambigüedad tanto para humanos como para agentes
  3. Revisar PRs de agentes con el mismo rigor que los PRs humanos, el estándar es el estándar
  4. Normalizar dar retroalimentación a las salidas de IA, tratando las sugerencias como borradores, no como verdades

Más Allá del PR: El Cambio Cultural

En última instancia, la colaboración entre humanos y agentes no es solo un desafío técnico. Es una transformación cultural.

Los equipos deben normalizar:

  • 🔍 Revisar código escrito por no humanos con el mismo ojo crítico aplicado al código escrito por humanos
  • 💬 Dar retroalimentación a prompts y configuraciones mejorando cómo se dirigen los agentes, no solo lo que producen
  • 📝 Tratar las salidas de los agentes como borradores, no como verdades la IA es confiada incluso cuando se equivoca
  • 🤝 Compartir patrones y estrategias de prompts como compartir fragmentos de código, pero para la colaboración humano–agente
  • 📊 Medir la efectividad de la colaboración rastreando la calidad de las contribuciones del agente, tiempos de revisión y tasas de incidentes

Los equipos más maduros no preguntarán:

"¿Lo escribió un humano o un agente?"

Preguntarán:

"¿Cumple con nuestros estándares?"

Ese cambio de mentalidad es fundamental. Cuando la calidad es el punto de referencia en lugar de la autoría, los equipos desbloquean todo el potencial de la colaboración humano–agente.


Los Tres Pilares Trabajando Juntos

Esta publicación completa una serie de tres partes sobre ingeniería de software agéntica:

PublicaciónEnfoqueIdea Clave
Fundaciones DevOps AgénticasSistemasLas prácticas sólidas de DevOps son prerrequisitos, no algo secundario
Evolución del Ingeniero de SoftwarePersonasLos ingenieros evolucionan de autores de código a diseñadores de sistemas y orquestadores
Humanos y Agentes (esta publicación)ColaboraciónLas superficies de colaboración estructurada (IDE + PR) determinan el éxito o el fracaso

Juntos, describen un modelo donde:

  • El IDE se convierte en un espacio de pensamiento colaborativo
  • El Pull Request se convierte en un contrato formal
  • El pipeline se convierte en un motor de validación
  • El ingeniero se convierte en un orquestador de intención

Reflexiones Finales

La ingeniería de software agéntica no se trata de eliminar a los humanos del ciclo.

Se trata de redefinir dónde los humanos agregan más valor.

Los humanos aportan juicio, contexto, ética y responsabilidad. Los agentes aportan velocidad, consistencia, amplitud e incansabilidad. La magia ocurre cuando ambos operan en sus áreas de fortaleza, conectados por patrones de colaboración estructurada que preservan la confianza.

Los humanos y los agentes no son competidores. Son colaboradores operando en diferentes capas del sistema, alineados por la intención, restringidos por la política y unidos por la responsabilidad.

Los equipos que dominen este modelo de colaboración no solo entregarán más rápido. Entregarán mejor, con más confianza, más seguridad y más innovación de la que humanos o agentes podrían lograr solos.

Pregúntame sobre mi sitio web

Impulsado por Azure OpenAI

👋 ¡Hola Amig@!

Puedes preguntarme sobre:

  • Publicaciones de blog o artículos técnicos.
  • Proyectos y contribuciones.
  • Temas de charlas y presentaciones
  • Tecnología detrás del sitio web.