Zarządzanie zależnościami z pomocą AI

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Problem

Dwa komputery pokazujące różne wyniki

 

 

  • ✅ Atlas działa na moim komputerze
  • ❌ Instalacja nie powiodła się na serwerze produkcyjnym
  • 🔀 Ten sam kod, różne wyniki
Zaawansowane programowanie wspomagane przez AI dla deweloperów

Konflikty zależności

 

Diagram konfliktu zależności

 

  • Atlas zależy od wielu bibliotek
  • Środowisko nie jest reprodukowalne
  • Znane jako konflikty zależności
Zaawansowane programowanie wspomagane przez AI dla deweloperów

AI analizuje błąd

Błąd instalacji:

installation-error2.png

🤖 Krótki prompt diagnostyczny:

Oto moja specyfikacja zależności i wynik błędu instalacji. Wyjaśnij główną przyczynę konfliktu wersji.

Zaawansowane programowanie wspomagane przez AI dla deweloperów
Zaawansowane programowanie wspomagane przez AI dla deweloperów

Reprodukowalne środowiska

 

  • 📦 Jedno polecenie tworzy dokładne środowisko
  • 🤖 AI może pomóc wygenerować polecenia konfiguracyjne
  • 💻 Spójne środowisko dla wszystkich współpracowników i maszyn

Reprodukowalne środowiska

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Generowanie poleceń konfiguracyjnych

🤖 Prompt: reprodukowalna konfiguracja:

Na podstawie tej struktury projektu zaproponuj reprodukowalną konfigurację środowiska Python przy użyciu pip-tools. Wygeneruj dokładne pliki i polecenia potrzebne do utworzenia środowiska, zablokowania zależności i deterministycznej instalacji. Wyjaśnij sposób korzystania ze środowiska wirtualnego w pliku README.md projektu.

Odpowiedź modelu: ai-virtual-env.png

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Zależności przechodnie

Diagram zależności przechodnich

 

  • 📦 Biblioteki pobierają wiele pakietów
  • ❗ Podatna biblioteka pobrana pośrednio: zależność przechodnia

 

  • ✔ Wykrywanie problemów za pomocą narzędzi audytowych
  • 🤖 AI interpretuje raporty, sugeruje bezpieczniejsze wersje i wskazuje zmiany w kodzie
Zaawansowane programowanie wspomagane przez AI dla deweloperów

Utrzymywalne zależności

🤖 Prompt: audyt zależności:

Na podstawie tego repozytorium Python chcę przeprowadzić audyt utrzymywalności zależności i zgodności licencji.

Wygeneruj polecenie tworzące raport licencji w formacie JSON dla aktywnego środowiska Python, uwzględniając adresy URL pakietów i pliki licencji, i zapisz go do reports/licenses.json.

  • ✔ Aktywnie utrzymywane = niższe ryzyko

 

Odpowiedź AI: ai-licenses.png

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Analiza raportów

Sugestia AI: ai-licenses-command.png

Raport licencji: licenses-output.png

Zaawansowane programowanie wspomagane przez AI dla deweloperów

AI proponuje alternatywy

🤖 Prompt: alternatywy:

Oto reports/licenses.json z pip-licenses, który właśnie wygenerowaliśmy.

Podsumuj wyniki w krótkiej tabeli zawierającej: pakiet, wersję, licencję i poziom ryzyka dla użytku komercyjnego. Oznacz wszystko, co jest nietypowe, nieznane lub pozbawione licencji.

Zaproponuj jedną bezpieczniejszą alternatywę dla zależności o najwyższym ryzyku.

Odpowiedź AI: models-risk.png

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Automatyzacja konfiguracji środowiska

Przepływ automatyzacji konfiguracji środowiska

 

 

  • 💻 Konfiguracja jednym poleceniem dla nowych programistów
  • ✅ CI weryfikuje środowisko przy każdej zmianie
Zaawansowane programowanie wspomagane przez AI dla deweloperów

Część codziennego workflow

ai-ci-licenses-emergency.png

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Czas na ćwiczenia!

Zaawansowane programowanie wspomagane przez AI dla deweloperów

Preparing Video For Download...