Gestión de dependencias con IA

Programación asistida por IA avanzada para desarrolladores

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

El problema

Dos ordenadores mostrando resultados distintos

 

 

  • ✅ Atlas funciona en mi máquina
  • ❌ La instalación falla en producción
  • 🔀 Mismo código, resultados distintos
Programación asistida por IA avanzada para desarrolladores

Conflictos de dependencias

 

Diagrama de conflicto de dependencias

 

  • Atlas depende de muchas librerías
  • Entorno no reproducible
  • Conocido como conflictos de dependencias
Programación asistida por IA avanzada para desarrolladores

La IA analiza el error

Error de instalación:

installation-error2.png

🤖 Prompt de diagnóstico corto:

Aquí tienes mi especificación de dependencias y el error de instalación. Explica la causa raíz del conflicto de versiones.

Programación asistida por IA avanzada para desarrolladores
Programación asistida por IA avanzada para desarrolladores

Entornos reproducibles

 

  • 📦 Un comando crea el entorno exacto
  • 🤖 La IA puede generar los comandos de setup
  • 💻 Entorno consistente entre personas y máquinas

Entornos reproducibles

Programación asistida por IA avanzada para desarrolladores

Generar comandos de setup

🤖 Prompt de setup reproducible:

Dada esta estructura de proyecto, propone un setup de entorno Python reproducible usando pip-tools. Genera los archivos y comandos exactos para crear el entorno, bloquear dependencias e instalar de forma determinista. Explica cómo usar el entorno virtual en el README.md del proyecto.

Respuesta del modelo: ai-virtual-env.png

Programación asistida por IA avanzada para desarrolladores

Dependencias transitivas

Diagrama de dependencias transitivas

 

  • 📦 Toolboxes traen muchos paquetes
  • ❗ Biblioteca vulnerable incluida indirectamente: dependencia transitiva

 

  • ✔ Detecta problemas con herramientas de auditoría
  • 🤖 La IA interpreta informes, sugiere versiones más seguras y señala cambios de código
Programación asistida por IA avanzada para desarrolladores

Dependencias mantenibles

🤖 Prompt de auditoría de dependencias:

Dado este repositorio Python, quiero auditar mantenibilidad de dependencias y cumplimiento de licencias.

Genera el comando para producir un informe JSON de licencias para el entorno Python activo, con URLs de paquetes y archivos de licencia, y escríbelo en reports/licenses.json.

  • ✔ Mantenimiento activo = menor riesgo

 

Respuesta de la IA: ai-licenses.png

Programación asistida por IA avanzada para desarrolladores

Inspeccionar informes

Sugerencia de la IA: ai-licenses-command.png

Informe de licencias: licenses-output.png

Programación asistida por IA avanzada para desarrolladores

La IA propone alternativas

🤖 Prompt de alternativas:

Aquí está reports/licenses.json de pip-licenses que acabamos de generar.

Resume los resultados en una tabla corta con: paquete, versión, licencia y nivel de riesgo para uso comercial. Señala lo inusual, desconocido o sin licencia.

Propón una alternativa más segura para la dependencia de mayor riesgo.

Respuesta de la IA: modelos-riesgo.png

Programación asistida por IA avanzada para desarrolladores

Automatizar el setup del entorno

Flujo de automatización del setup de entorno

 

 

  • 💻 Setup en un comando para nuevas personas dev
  • ✅ CI valida el entorno en cada cambio
Programación asistida por IA avanzada para desarrolladores

Parte del flujo diario

ai-ci-licenses-emergency.png

Programación asistida por IA avanzada para desarrolladores

¡Vamos a practicar!

Programación asistida por IA avanzada para desarrolladores

Preparing Video For Download...