# Agentes de IA en el desarrollo: Diferencias clave con desarrolladores humanos y su impacto
Un agente basado en LLM genera documentación arquitectónica para un sistema Java legado con 17 módulos sin documentar. El resultado: diagramas detallados de dependencias, descripciones de interfaces y anotaciones de componentes. El documento imita una especificación de un equipo maduro. Pero en puntos con soluciones provisionales históricas —como una capa proxy en lugar de colas de mensajes—, el agente lo presenta como arquitectura estándar, inventando lógica inexistente sin advertencias.
Un desarrollador humano se detendría a consultar al autor original para aclaraciones. El agente solo trabaja con código visible, rellenando explicaciones sin mencionar suposiciones. Cuanto más preciso es el resultado promedio, más difícil es detectar errores.
Cinco diferencias fundamentales entre agentes y desarrolladores
Sin memoria de proyecto
Los agentes manejan tareas de forma aislada, sin contexto acumulado. En un proyecto de contabilidad de campo (informes offline de capataces), los conflictos de sincronización se resuelven a favor del servidor por bugs pasados de duplicados. Un desarrollador recuerda la migración con un índice único. El agente necesita que esa historia se le proporcione en documentos de contexto.
Para utilidades catastrales (GKN/EGRN), analizar formatos en conjunto tomó una semana: diferencias de campos, atributos obligatorios. Sin ello, el agente genera código sensato pero inutilizable.
Solución: Mantén archivos de contexto con decisiones arquitectónicas y conocimiento del dominio.
Cumplimiento literal de especificaciones
Tarea: Diálogo para selección de versión en conflicto de sincronización. El agente escribe un componente React para un solo campo. En producción, falla en conflictos multifield (fecha, volumen, comentario) —los otros cambios se pierden.
Un desarrollador aclara ambigüedades: un diálogo único o por campo, escenarios offline. El agente ignora modelos del mundo real.
// Ejemplo: Código del agente para un campo
const ConflictDialog = ({ field, localValue, serverValue }) => (
<Dialog>
<p>{field}: {localValue} vs {serverValue}</p>
<button>Local</button>
<button>Servidor</button>
</Dialog>
);
Puerta de calidad en SENAR: Define objetivos, criterios de aceptación y escenarios negativos desde el principio.
Multiplicación de errores
Al generar 11 utilidades catastrales, un error en la fórmula de coordenadas (varios cm de desfase, crítico para levantamientos topográficos) se repitió en tres. La velocidad del agente amplifica aciertos y fallos.
- Verifica múltiples módulos de un conjunto, no solo uno.
- Errores de patrones se copian en todos los archivos similares.
Ignora la arquitectura a largo plazo
Tarea: Búsqueda de enlaces en Sortula. El agente hace consulta directa desde el manejador. Bien para un script, pero un proyecto en crecimiento necesita una capa de servicio para caché, ranking, pruebas A/B.
Tras agregar una sección de arquitectura al contexto, el agente usa consistentemente la capa.
Sin responsabilidad por efectos downstream
Migración de BD: Borrado en cascada en capataz elimina informes y fotos. Las pruebas no lo detectan —son basadas en esquema. El agente olvida la tarea al instante.
Los desarrolladores anticipan bugs a un mes vista. Responsabilidad del líder: Revisiones manuales de migraciones.
Tres implicaciones para procesos de ingeniería
- Puntos de doble verificación: Los agentes aceleran, pero exigen validación en etapas clave —arquitectura, migraciones, casos límite.
- Contexto como base: Almacena decisiones arquitectónicas, info de dominio e historia en el repo. SENAR lo estandariza.
- Filtro humano: Agentes ejecutan; humanos estrategizan. Iniciativa y responsabilidad siguen siendo humanas.
Lecciones clave
- Los agentes destacan en análisis de código estático, pero inventan detalles de lógica invisible sin disclaimers.
- La ejecución literal exige especificaciones detalladas con casos límite.
- Los errores se multiplican en series de módulos —las verificaciones aleatorias son esenciales.
- Alimenta decisiones arquitectónicas al contexto desde el inicio.
- La responsabilidad total en producción recae en el desarrollador líder.
— Editorial Team
Aún no hay comentarios.